Master punch list for resolving Fastboot 1.0 build issues
See original GitHub issueThis issue with track the things we need to do in order to resolve the fastboot build. This issue supersedes #264, #246 etc. Once this master list is resolved, fastboot build and serve issues should be resolved.
Pre requisites
With the help of ember-cli
team, we have come up with a viable solution to resolve the double builds. The solution is described in the meeting notes here.
Build blockers
Following are the things we need to do in ember-cli-fastboot
. The sub items under each section are more of a checklist:
- Build fastboot overrides using
treeForPublic
hook per the new build spec. It will works as follows:- Collect the
fastboot-app
tree from the project addons and create a funnel for every addon tree with destDir asappName-fastboot
- Collect the
fastboot-app
tree from the root app and create a funnel for the app fastboot tree with destDir asappName-fastboot
- Merge the trees collected from the addons and app and create a new Funnel
- Run the JS transpilation on the new funneled tree using
ember-cli-preprocess-registry/preprocessors
API. Use thepreprocessJs
method from the preprocessors with providing the registry - Concat the output of transpilation with
outputFile
set toassets/appName-fastboot.js
- Merge the above output tree with the tree returned from
treeForPublic
- Collect the
- Make sure the
fastboot-app
tree in app is a watched directory tree. Most likely it will be otherwise followtreeForGenerator
does here - Update
FastBootConfig
broccoli plugin to addassets/appName-fastboot.js
inappFiles
manifest list of package.json. The corresponding code is here - Update existing intializers of
ember-cli-fastboot
per the new spec - Expose a hook to add to manifest files
- Remove the old fastboot double build spec
- Remove usage of private
ember-cli
patching fromember-cli-fastboot
. See example here - Remove invoking
fastboot-filter-initializers
inember-cli-fastboot
. See relevant example changes here - Remove
config
function fromember-cli-fastboot/index.js
- Set
app-boot
contentFor correctly. See example here - Fix
config-module
contentFor hook to not rely on__is_building_fastboot__
flag. See example fix here - Remove
preconcat
function as it will be unused in new build spec - In
postprocessTree
hook, we should invokeFastBootConfig
broccoli plugin directly instead of invokingFastBootBuild
broccoli plugin. See example changes here - Remove
FastBootBuild
broccoli plugin as it will be unused
- Remove usage of private
- Update tests
- Kill
ember fastboot
command 🔪 - Kill usage of
process.env.EMBER_CLI_FASTBOOT
flag as it will be unavailable in new build spec 🔪 - Doc updates
- Update addon guide to not have usage of
process.env.EMBER_CLI_FASTBOOT
flag - Update user guide with example to how to add/override fastboot specific functionality in app using
fastboot-app
andapp
folders. - Update addon user guide on how to write to
vendorFiles
orappFiles
array. Only meant for advanced usage.
- Update addon guide to not have usage of
- Update some of the exisiting addons to not rely on
process.env.EMBER_CLI_FASTBOOT
flag or not containapp/[instance-]initializers/[browser|fastboot]/*.js
folder structure. These addons should follow the new build spec- ember-network
- ember-cli-head
- Identify other addons that need to be updated
- Decide FastBoot release version number with the new build spec. Should we do 1.0 or 2.0? (owners: @rwjblue @tomdale )
- Close all open issues in
ember-cli-fastboot
related to build and/or serve since the new build spec should resolve it. - Release FastBoot! 🎉
- Blog on FastBoot? (owners: @rwjblue @tomdale )
Issue Analytics
- State:
- Created 7 years ago
- Comments:12 (12 by maintainers)
Top Results From Across the Web
Ember FastBoot - GitHub
To solve this, the fastboot service has deferRendering method that accepts a promise. It will chain all promises passed to it, and the...
Read more >[LIVE-ISO][FWUL]adb/fastboot without any installation and ...
Hi, thanks for your work. I'm trying to flash a Pixel C with it. It can't boot. Using a regular USB Drive. Some...
Read more >Android AOSP 7.1 build for DragonBoard 410c
I tried putting flashing the build onto my DragonBoard 410c with fastboot and ended up bricking it. I'm going to put Android 5.1...
Read more >[SPEC-4621] AGL build failed for TI- Jacinto7 platform - Jira
We are trying to Build AGL OS for TI Jacinto 7 platform. But the build is getting failed due to below errors: Summary:...
Read more >Old resolved bugs and features - Yocto Project Wiki
ID E P Assignee Milestone Status Resolution
4018 1 Medium Ross Burton 2.1 RESOLVED OBSOLETE
6169 4 Medium Ed Bartosh 2.1 RESOLVED FIXED
6774 3 Medium...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@simonihmig Thank you soo much for starting the migration work! I’ll take a look at these PRs later tonight. Thanks a bunch once again!
Btw, started to work on preparing an already FastBoot enabled app for the changes in #369, which does use a whole bunch of addons, which are now causing trouble - as expected because of the breaking changes involved.
Started to create some PRs fixing these. Referenced this issue in those PRs, so you see the references to those PRs here. Hopefully might be useful for other addon authors to see what has to change. And hope that my changes there do make some sense in the first place!? 😬