Better zustand support by creating an alias for use-sync-external-store
. (#980)
See lynx-family/lynx-stack#893 for more details.
Updated dependencies [acc0d80
]:
Fix lazy bundle build failed on Rspeedy v0.9.8 (with output.iife: true
). (#972)
Updated dependencies [81361f3
, 7097f52
, 43cd520
]:
The default value of output.inlineScripts
should be true
on @lynx-js/rspeedy
<= v0.9.6. (#923)
Updated dependencies []:
jsx
option. (#903)Support output.inlineScripts
, which controls whether to inline scripts into Lynx bundle (.lynx.bundle
). (#874)
Only background thread scripts can remain non-inlined, whereas the main thread script is always inlined.
example:
Support @lynx-js/react
v0.109.0. (#840)
Use WebEncodePlugin
instead of WebWebpackPlugin
. (#904)
Updated dependencies [7beb35e
, b6e27da
, 5ddec12
, 77524bc
, fdab5dc
, ff63b58
, fdab5dc
, 2b83934
, 3520031
]:
e599635
, c38c737
, d16522e
]:
Fix runtime error: "SyntaxError: Identifier 'i' has already been declared". (#651)
Enable runtime profiling when performance.profile
is set to true. (#722)
fix: resolve page crash on development mode when enabling experimental_isLazyBundle: true
(#653)
Support @lynx-js/react
v0.108.0. (#649)
Updated dependencies [ea4da1a
, ca15dda
, f8d369d
, ea4da1a
]:
Support @lynx-js/react v0.107.0 (#438)
fix(web): :root
not work on web platform (#607)
Note: To solve this issue, you need to upgrade your react-rsbuild-plugin
Refactor: Replace built-in background-only
implementation with npm package (#602)
Previously we maintained custom files:
empty.ts
for background threaderror.ts
for main thread validationNow adopting the standard background-only
npm package
fix(web): css selector not work for selectors with combinator and pseudo-class on WEB (#608)
like .parent > :not([hidden]) ~ :not([hidden])
you will need to upgrade your react-rsbuild-plugin
to fix this issue
Updated dependencies [6a5fc80
, 06bb78a
, f3afaf6
, bf9c685
, 5269cab
]:
Support overriding SWC configuration. (#563)
Now you can override configuration like useDefineForClassFields
using tools.swc
.
Updated dependencies [f1ca29b
]:
ea42e62
, 12e3afe
]:
fix: add enableCSSInvalidation for encodeCSS of css HMR, this will fix pseudo-class (such as :active
) not working in HMR. (#435)
Disable module.generator.json.JSONParse
option as it increases the bundle size of main-thread.js
. For more detail, please see this issue. (#402)
Updated dependencies [3e7988f
, 7243242
]:
feat: add extractStr option to pluginReactLynx (#391)
Convert background-only files from js to ts (#346)
Updated dependencies [f849117
, d730101
, 42217c2
, f03bd4a
]:
Support @lynx-js/react
v0.106.0. (#239)
Fix the issue where the canary version of React was not included in the rule.include
configuration. (#275)
Updated dependencies [ba26a4d
, 462e97b
, aa1fbed
, d2d55ef
, 6af0396
]:
Avoid entry IIFE in main-thread.js
(#206)
Enable CSS minification for scoped CSS. (#205)
Should generate .rspeedy/[name]/main-thread.js
instead of .rspeedy/[name]__main-thread/main-thread.js
(#180)
Updated dependencies [984a51e
, 5e01cef
, 315ba3b
, 315ba3b
]:
Support NPM provenance. (#30)
fix(rspeedy/plugin-react): mkdir main:background fails in windows (#76)
fix(rspeedy/plugin-react): use path.posix.join for backgroundName to ensure consistent path separators across platforms. (#122)
Updated dependencies [c617453
, 870106f
, ea82ef6
]:
targetSdkVersion
has been deprecated. Please use engineVersion
instead, as targetSdkVersion
is now an alias for engineVersion
.@lynx-js/react
v0.105.0targetSdkVersion
to 3.2.environment.lynx
or environment.web
, the default value of output.filename now is [name].[platform].bundle
.@lynx-js/react
v0.104.0e2e23e2: BREAKING CHANGE: Change the default output.filename
to [name].lynx.bundle
.
a589e2e: BREAKING CHANGE: Enable CSS minification by default.
You may turn it off using output.minify.css: false
:
Or you may use @rsbuild/plugin-css-minimizer to use cssnano
as CSS minimizer.
enableICU
to the options of pluginReactLynx, and change the default value to false
.background.js.map
.7b84edf: feat(web): introduce new output chunk format
39efd7c: Change enableRemoveCSSScope
defaults from undefined
to true
, now enableRemoveCSSScope
can be:
true
(by default): All CSS files are treated as global CSS.false
: All CSS files are treated as scoped CSS, and only take effect in the component that explicitly imports it.undefined
: Only use scoped CSS for CSS Modules, and treat other CSS files as global CSS. Scoped CSS is faster than global CSS, thus you can use CSS Modules to speedy up your CSS if there are performance issues.f1d6095: Add pipelineSchedulerConfig
option.
Updated dependencies [39efd7c]
Updated dependencies [a2f8bad]
Updated dependencies [3bf5830]
Updated dependencies [7b84edf]
Updated dependencies [f1d6095]
e8039f2: Add defineDCE
in plugin options. Often used to define custom macros.
Different from define
provided by bundlers like webpack, defineDCE
works at transform time and a extra DCE (Dead Code Elimination) pass will be performed.
For example, import
initialized by dead code will be removed:
will be transformed to:
Updated dependencies [8dd6cca]
Updated dependencies [e8039f2]
958efda: feat(web): bundle background.js into main-thread.js for web
To enable this feature:
all-in-one
mode:'production'
to buildThe output will be only one file.
958efda: fix(web): do not set publicPath to auto for all-in-one chunk
Updated dependencies [958efda]
Updated dependencies [89248b7]
Updated dependencies [bf9ec8c]
a30c83d: Add compat.removeComponentAttrRegex
.
NOTE: This feature is deprecated and will be removed in the future. Use CodeMod instead.
5f8d492: BREAKING CHANGE: Require @lynx-js/react
v0.103.0.
5f8d492: Deprecate compat.simplifyCtorLikeReactLynx2
36f8e4c: Add enableAccessibilityElement
.
b37e3d9: Enforced build-time errors for importing background-only
modules in the main-thread
.
use import 'background-only'
to mark a module as restricted to the background environment. Any attempt to import such a module in the main thread will result in a build-time error.
For example:
If bar
is called in main-thread
, build time error will be triggered.
'background-only' cannot be imported from a main-thread module.
Additionally, rspeedy now supports stats.modulesSpace
, which provides detailed dependency tracing to pinpoint the exact file or dependency causing the error.
Updated dependencies [36f8e4c]
Updated dependencies [a30c83d]
Updated dependencies [5f8d492]
Updated dependencies [84cbdfe]
Updated dependencies [a30c83d]
Updated dependencies [5f8d492]
Updated dependencies [5f8d492]
@lynx-js/react
v0.102.0options.shake
to allow custom package names to be shaken.@lynx-js/react
v0.101.091c267b: feat: enable auto publicPath
for environment.web
In many case, users cannot set a correct output.assertPrefix
configuration. Typically those chunks will be uploaded after chunk dumped. Developers may be not able to know the url before those chunks are uploaded.
In this commit, we allow webpack to infer the correct public path by the import.meta.url.
587a782: BRAKING CHANGE: Require @lynx-js/react
v0.100.0
@lynx-js/react
optional.