github lynx-family/lynx-stack @lynx-js/template-webpack-plugin@0.16.0

Minor Changes

  • Add customSectionNaming, appType and enableSectionBytecode, so a caller can have a bundle assembled entirely from custom sections under names of its own. A FetchBundle lazy bundle is one such caller; an external bundle is another. (#3692)

  • BREAKING CHANGE: Emit the intermediate files into .lynx instead of .rspeedy, since the directory is written by the Lynx build engine rather than by Rspeedy. The directory is no longer configurable: output.distPath.intermediate was documented as never read, and nothing else reads it now either. (#3682)

Patch Changes

  • Record a custom section's real location on the asset it was assembled from. An asset that moved into customSections kept the lepusCode or manifest location it was stamped with before the split, so consumers reading lynx:tasm-section were pointed at a section the bundle does not carry. (#3776)

  • Accept DEBUG=lynx (and lynx:*, lynx:template) for the Lynx debug output and intermediates. It is the recommended form now that the plugins also run under Rslib and Rsbuild; DEBUG=rspeedy keeps working. (#3735)

  • Assemble every main-thread entry of an external bundle into its own section instead of dropping all but the first, and leave no packed chunk of a web external bundle on disk. (#3752)

  • Map an async chunk shared by an unnamed import() and a webpackChunkName import to the lazy bundle derived from its modules, regardless of build order. (#3751)

  • pluginReactLynx registers the encoders and the background runtime wrapper for every caller, and WebEncodePlugin routes the custom sections of a bundle without a root into the slots the web runtime reads. @lynx-js/lynx-bundle-rslib-config only sets the template plugin and the main-thread wrapper up now. (#3744)

  • Stop emitting a lazy bundle for a dynamic import whose module is also imported statically. Rspack puts such a module in the initial chunk and drops the now-empty async chunk, but keeps the chunk group, so the template was still emitted with an empty payload that nothing loads -- and the web target crashed encoding it. (#3633)

  • Updated dependencies [5dfe399, 76126fc, 5f35429, f9fe5ae, 0047e35, b2a8367, 8ec51e4, 4d81264, 1c50924, b4dc3e1]:

    • @lynx-js/web-core@0.26.0
    • @lynx-js/webpack-runtime-globals@0.0.8

Don't miss a new lynx-stack release

NewReleases is sending notifications on new releases.