docs(documentation): Add RFC 0019 Bundle-Info Preload#1194
docs(documentation): Add RFC 0019 Bundle-Info Preload#1194RandomByte wants to merge 5 commits intomainfrom
Conversation
bd95b01 to
9d93942
Compare
9d93942 to
b0a47ea
Compare
JIRA: CPOUI5FOUNDATION-1025
b0a47ea to
569e3d3
Compare
|
|
||
| The presence of `"bundleVersion": 2` signals to the UI5 runtime that the library uses the "Bundle-Info Preload" format. The runtime can then safely and efficiently load the `library-preload.js` bundles for any lazy dependencies. If this flag is absent, the runtime can assume a legacy bundling format and issue a warning or error, as it expects all libraries for UI5 2.0+ to be built with a compatible UI5 CLI version. | ||
|
|
||
| Note that this manifest attribute will only be added in a later manifest version. Therefore, the UI5 CLI must also adapt the manifest version accordingly when building libraries. |
There was a problem hiding this comment.
What manifest version would that be? A 2.x version? Can there be side-effects when a manifest version is updated during the build? What about a bump from 1.x to 2.x?
There was a problem hiding this comment.
I can't really judge on that. Looping in @codeworrior, @loginger, @H4ze
There was a problem hiding this comment.
Yes, a 2.x version - the first 2.x version that lists the flag in the schema. For libraries, the schema version is not used as a switch at runtime, so I don't expect side effects when bumping it from 1.x to 2.x.
BTW: for many libs (especially. all framework libs) the manifest is anyhow generated.
rfcs/0019-bundle-info-preload.md
Outdated
|
|
||
| UI5 releases prior to version 1.74 do not provide all required UI5 loader features, making the new bundling incompatible with these versions. Developers still targeting older releases (such as 1.71) will need to stick with an older release of UI5 CLI where the new bundling is not used. | ||
|
|
||
| Similarly, the addition of the manifest flag requires the use of a specific manifest version which might not be supported by older UI5 releases. However, due to lack of validation of the manifest version in older UI5 releases, this is not expected to cause practical issues. |
There was a problem hiding this comment.
What about manifest version checks during deployment?
There was a problem hiding this comment.
I'm not familiar with those so I didn't know. I updated the text to now basically say the opposite and point out the problem. Also added this to the unresolved questions
rfcs/0019-bundle-info-preload.md
Outdated
|
|
||
| ## Drawbacks | ||
|
|
||
| UI5 releases prior to version 1.74 do not provide all required UI5 loader features, making the new bundling incompatible with these versions. Developers still targeting older releases (such as 1.71) will need to stick with an older release of UI5 CLI where the new bundling is not used. |
There was a problem hiding this comment.
Does that mean that there needs to be a maintained UI5 CLI release compatible with UI5 1.71, as long as that UI5 version is supported?
There was a problem hiding this comment.
Either that or we provide a switch to turn off the new bundling (which might also solve the manifest version problem). Updated the text.
Read the rendered markdown here
JIRA: CPOUI5FOUNDATION-1025