Skip to content

feat(esbuild): content-addressable asset building & Vite manifest generation #1206

Description

@shyim

User story

As a developer building extension assets with shopware-cli,
I would like content-addressable filenames (hashed JS & CSS) registered in Vite manifest for Shopware 6.7+ while preserving unhashed filenames for pre-6.7 compatibility,
so that browser caches properly reset when assets are updated without breaking older Shopware versions.

Acceptance criteria

  • Content-addressed filenames (e.g. js/<name>-<hash>.js and css/<name>-<hash>.css) are emitted during esbuild asset compilation using an 8-character content hash (xxhash).
  • .vite/manifest.json and .vite/entrypoints.json are updated to point to the content-addressed JS & CSS asset filenames.
  • Unhashed asset files (js/<name>.js and css/<name>.css) are preserved in the output directory for backward compatibility with Shopware < 6.7.
  • Unit tests are added/updated to verify content-addressable filename generation and Vite manifest content.

Readiness checklist

  • Acceptance criteria are clearly defined.
  • Backward compatibility impact addressed.
  • Documentation written.
  • Tests added or adjusted accordingly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions