ember-fastboot / fastboot

FastBoot is a library for rendering Ember.js applications in Node.js.
http://ember-fastboot.com/
158 stars 71 forks source link

Introduce html oriented manifest format (introduces better Embroider interop) #272

Closed thoov closed 4 years ago

thoov commented 4 years ago

This PR introduces a new htmlEntrypoint property on the manifest which allows this entry point to be the source of truth finding assets instead of them being defined as apart of the manifest itself. The primary use case for this is to allow embroider's asset chunking to more naturally work. This is a simplification from an earlier attempt (https://github.com/ember-fastboot/ember-cli-fastboot/pull/753) which can be closed after this is merged.

This also introduces a concept of <fastboot-script src=""></fastboot-script> which is used to ignore scripts not intended for the browser. Here is how embroider uses these scripts:

embroider usage 1 / embroider usage 2

These changes are opt-in and backwards compatible.

cc: @rwjblue / @kratiahuja

This PR is co-authored by @ef4

ef4 commented 4 years ago

I pushed a new (squashed) commit that incorporates the feedback to become the true v5 schema. This created a couple opportunities for simplification. Here is a summary of the complete new format:

In package.json, the v5 schema supports:

All other fields that used to be supported in v4 under fastboot are gone. There is no manifest (the HTML is really our manifest now), and there is no config (the HTML already contains the config too, no need for redundancy).

The HTML entrypoint file is any valid HTML, plus these fastboot-specific extensions:

ef4 commented 4 years ago

We found one issue while testing this against some apps -- we need to account for the configured rootURL. I will add another commit that covers this case.

kratiahuja commented 4 years ago
tags work like Githubissues.
  • Githubissues is a development platform for aggregating issues.