You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the same source code is built multiple times, the result should be completely the same. This includes the order of imports, names of minified variables, and hashes in filenames.
😯 Current Behavior
The order in which files imported with glob import are included in the bundle can be different each time. This also causes the filename hashes to differ.
Here are two build results, produced after running yarn build from the same source (available below) multiple times:
There is a difference between the order of bundled JSON files in manage.6e285bee.js and manage.5d13f5f6.js. Specifically, the import ihRmT is on different positions. I've also seen other variations, but I haven't saved them.
Note that in this case, the first version here is the most common. I had to run yarn build around 5 times before the second version was generated. But in another attempt, variations were more common.
🔦 Context
I'm using Parcel to build a Firefox extension. Because of this non-deterministic builds, the extension failed the review, as Firefox policies require that all extensions are reproducible from source.
💻 Code Sample
The extension I'm trying to build is available on GitHub.
The exact line where I'm using glob imports is here. I also have a custom transformer here for locales, but I'm not sure if this if the reason for the issue.
The exact source that I used to build the above examples (same as in the repository, but with version set in a few files):
🐛 bug report
When using glob imports, the order of imports in the bundle can differ each time the package is built.
🎛 Configuration (.babelrc, package.json, cli command)
See in the code sample below.
🤔 Expected Behavior
When the same source code is built multiple times, the result should be completely the same. This includes the order of imports, names of minified variables, and hashes in filenames.
😯 Current Behavior
The order in which files imported with glob import are included in the bundle can be different each time. This also causes the filename hashes to differ.
Here are two build results, produced after running
yarn build
from the same source (available below) multiple times:There is a difference between the order of bundled JSON files in
manage.6e285bee.js
andmanage.5d13f5f6.js
. Specifically, the importihRmT
is on different positions. I've also seen other variations, but I haven't saved them.Note that in this case, the first version here is the most common. I had to run
yarn build
around 5 times before the second version was generated. But in another attempt, variations were more common.🔦 Context
I'm using Parcel to build a Firefox extension. Because of this non-deterministic builds, the extension failed the review, as Firefox policies require that all extensions are reproducible from source.
💻 Code Sample
The extension I'm trying to build is available on GitHub.
The exact line where I'm using glob imports is here. I also have a custom transformer here for locales, but I'm not sure if this if the reason for the issue.
The exact source that I used to build the above examples (same as in the repository, but with version set in a few files):
🌍 Your Environment
The text was updated successfully, but these errors were encountered: