question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Master punch list for resolving Fastboot 1.0 build issues

See original GitHub issue

This 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 as appName-fastboot
    • Collect the fastboot-app tree from the root app and create a funnel for the app fastboot tree with destDir as appName-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 the preprocessJs method from the preprocessors with providing the registry
    • Concat the output of transpilation with outputFile set to assets/appName-fastboot.js
    • Merge the above output tree with the tree returned from treeForPublic
  • Make sure the fastboot-app tree in app is a watched directory tree. Most likely it will be otherwise follow treeForGenerator does here
  • Update FastBootConfig broccoli plugin to add assets/appName-fastboot.js in appFiles 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 from ember-cli-fastboot. See example here
    • Remove invoking fastboot-filter-initializers in ember-cli-fastboot. See relevant example changes here
    • Remove config function from ember-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 invoke FastBootConfig broccoli plugin directly instead of invoking FastBootBuild broccoli plugin. See example changes here
    • Remove FastBootBuild broccoli plugin as it will be unused
  • 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 and app folders.
    • Update addon user guide on how to write to vendorFiles or appFiles array. Only meant for advanced usage.
  • Update some of the exisiting addons to not rely on process.env.EMBER_CLI_FASTBOOT flag or not contain app/[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 )

cc: @danmcclain @rwjblue @tomdale @leitsubomi @arjansingh

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:12 (12 by maintainers)

github_iconTop GitHub Comments

2reactions
kratiahujacommented, Apr 13, 2017

@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!

2reactions
simonihmigcommented, Apr 13, 2017

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!? 😬

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found