-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate lockfile at build time. #668
Comments
So far as I can tell the only way to accomplish this task consistently for
Doing this would sidestep the issue for #669. |
I agree that we should have a way to make the fastboot assets include a lock file, however I'm not sure that I agree with the assumptions in your list. For example:
My gut feeling is that this should be the responsibility of the thing preparing a specific build for actual use. Maybe that means |
Agreed, the very first line of my issue is "When creating a production build". 😜 The question of "who should be responsible" is kind of nebulous (it's code, we can make any entity responsible), but I tend toward "whatever component is producing the I actually did create a version that works with a custom build task in Ember CLI but I no longer believe that is the right place to do it. Going and looking for a possibly-emitted
This was me exploring ways to create a reproducible build from only the packages that were pulled down for the asset already. For correctness, the
This is too late and doesn't actually solve the problem. The produced artifact needs to bundle the lockfile. (This is also the asset you would build as a standalone thing before passing it off to N testing servers.) The Also, in terms of motivation, this isn't theoretical. I've encountered an issue in the past where I was unable to deploy a production hotfix (!) because FastBoot dependencies weren't pinned and we were picking up a new and incompatible version of a package. |
Alternative paths explored that sidestep the two installation passes:
... all this to say that the unfortunate double build is likely the best of the options. 😒 |
When creating a production build of an application, the build should be repeatable. In order for a build to be repeatable, any dependencies and transitives should be locked.
This is not presently possible using
ember-cli-fastboot
as it only spits out apackage.json
file. We should extend it to also emit apackage-lock.json
oryarn.lock
.The text was updated successfully, but these errors were encountered: