Skip to content

Fingerprint does not update when content changed after webpack update #323

@fsmanuel

Description

@fsmanuel

We had an incident after updating webpack. Turns out that the webpack update changed the content of vendor-${fingerprint}.js but did not update the fingerprint. We also use ember-cli-sri that adds integrity SHA in index.html which correctly updated. Users opening the site in a new tab got the new index.html with the right integrity SHA and the browsers served the old vendor-1234.js from cache. That resulted in the following error:

Failed to find a valid digest in the 'integrity' attribute for resource
'https://example.com/assets/vendor-1234.js' with computed SHA-512 integrity '03...Ugg=='.
The reosuce has been blocked.

Somehow the order seems to be wrong and the fingerprinting should run after webpack finished its work.

I first thought that renaming this addon from ember-cli-uglify to ember-cli-terser in #230 caused it because ember-cli-sri still refers to ember-cli-uglify here. Then I saw that this addon has its own order infos here introduced in #266.

If broccoli-asset-rev does the fingerprinting this addon should run before broccoli-asset-rev also mentioned in #298

Is the only solution to fix this, to pin ember-cli-terser to 4.0.1?

Edit: Pinning ember-cli-terser to 4.0.1 will not work because it's missing "before": "ember-cli-sri", 😞
Edit: I found the same issue for ember-cli-autoprefixer with the expected fix.

@NullVoxPopuli @mike-engel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions