-
Notifications
You must be signed in to change notification settings - Fork 159
Closed
Description
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
treeForPublichook per the new build spec. It will works as follows:- Collect the
fastboot-apptree from the project addons and create a funnel for every addon tree with destDir asappName-fastboot - Collect the
fastboot-apptree 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/preprocessorsAPI. Use thepreprocessJsmethod from the preprocessors with providing the registry - Concat the output of transpilation with
outputFileset toassets/appName-fastboot.js - Merge the above output tree with the tree returned from
treeForPublic
- Collect the
- Make sure the
fastboot-apptree in app is a watched directory tree. Most likely it will be otherwise followtreeForGeneratordoes here - Update
FastBootConfigbroccoli plugin to addassets/appName-fastboot.jsinappFilesmanifest list of package.json. The corresponding code is here - Update existing intializers of
ember-cli-fastbootper the new spec - Expose a hook to add to manifest files
- Remove the old fastboot double build spec
- Remove usage of private
ember-clipatching fromember-cli-fastboot. See example here - Remove invoking
fastboot-filter-initializersinember-cli-fastboot. See relevant example changes here - Remove
configfunction fromember-cli-fastboot/index.js - Set
app-bootcontentFor correctly. See example here - Fix
config-modulecontentFor hook to not rely on__is_building_fastboot__flag. See example fix here - Remove
preconcatfunction as it will be unused in new build spec - In
postprocessTreehook, we should invokeFastBootConfigbroccoli plugin directly instead of invokingFastBootBuildbroccoli plugin. See example changes here - Remove
FastBootBuildbroccoli plugin as it will be unused
- Remove usage of private
- Update tests
- Kill
ember fastbootcommand 🔪 - Kill usage of
process.env.EMBER_CLI_FASTBOOTflag as it will be unavailable in new build spec 🔪 - Doc updates
- Update addon guide to not have usage of
process.env.EMBER_CLI_FASTBOOTflag - Update user guide with example to how to add/override fastboot specific functionality in app using
fastboot-appandappfolders. - Update addon user guide on how to write to
vendorFilesorappFilesarray. 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_FASTBOOTflag or not containapp/[instance-]initializers/[browser|fastboot]/*.jsfolder 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-fastbootrelated to build and/or serve since the new build spec should resolve it. - Release FastBoot! 🎉
- Blog on FastBoot? (owners: @rwjblue @tomdale )
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels