Module

health.validators.assets

Asset validator - checks asset processing and optimization.

Validates:

  • Asset files copied to output
  • Asset hashing/fingerprinting works (if enabled)
  • Minification applied (if enabled)
  • No duplicate assets
  • Reasonable asset sizes

Classes

AssetValidator 6
Validates asset processing and optimization. Checks: - Assets directory exists and has files - Ass…

Validates asset processing and optimization.

Checks:

  • Assets directory exists and has files
  • Asset types are present (CSS, JS, images)
  • No duplicate assets (same content, different names)
  • Asset sizes are reasonable
  • Minification hints (file size analysis)

Methods

validate 2 list[CheckResult]
Run asset validation checks.
def validate(self, site: SiteLike, build_context: BuildContext | Any | None = None) -> list[CheckResult]
Parameters
Name Type Description
site
build_context Default:None
Returns
list[CheckResult]
Internal Methods 5
_check_asset_types 1 list[CheckResult]
Check expected asset types are present. These checks are theme-agnostic - they…
def _check_asset_types(self, assets_dir: Path) -> list[CheckResult]

Check expected asset types are present.

These checks are theme-agnostic - they detect when assets weren't copied at all, regardless of which theme is being used.

Parameters
Name Type Description
assets_dir
Returns
list[CheckResult]
_check_empty_assets 1 list[CheckResult]
Check for empty (0-byte) asset files. Empty CSS/JS files are almost always a b…
def _check_empty_assets(self, assets_dir: Path) -> list[CheckResult]

Check for empty (0-byte) asset files.

Empty CSS/JS files are almost always a bug - they'll be included in HTML but do nothing, causing silent failures.

Parameters
Name Type Description
assets_dir
Returns
list[CheckResult]
_check_asset_sizes 2 list[CheckResult]
Check asset sizes are reasonable.
def _check_asset_sizes(self, assets_dir: Path, site: SiteLike) -> list[CheckResult]
Parameters
Name Type Description
assets_dir
site
Returns
list[CheckResult]
_check_duplicate_assets 1 list[CheckResult]
Check for duplicate assets (same size and name pattern).
def _check_duplicate_assets(self, assets_dir: Path) -> list[CheckResult]
Parameters
Name Type Description
assets_dir
Returns
list[CheckResult]
_check_minification_hints 2 list[CheckResult]
Check if assets appear to be minified based on file size patterns.
def _check_minification_hints(self, assets_dir: Path, site: SiteLike) -> list[CheckResult]
Parameters
Name Type Description
assets_dir
site
Returns
list[CheckResult]