diff --git a/.changeset/bump-wyw-1-0-x.md b/.changeset/bump-wyw-1-0-x.md new file mode 100644 index 000000000..605a31016 --- /dev/null +++ b/.changeset/bump-wyw-1-0-x.md @@ -0,0 +1,22 @@ +--- +'@linaria/atomic': major +'@linaria/babel-plugin-interop': major +'@linaria/core': major +'@linaria/postcss-linaria': major +'@linaria/react': major +'@linaria/server': major +'@linaria/stylelint': major +'@linaria/stylelint-config-standard-linaria': major +'@linaria/testkit': major +linaria: major +--- + +BREAKING: bump `@wyw-in-js/*` dependencies to `^1.0.0` (stable). + +This release updates Linaria's build-time evaluation engine (WyW). See https://wyw-in-js.dev/stability for practical guidance and common pitfalls. + +Notes: + +- If you import JSON from code that is evaluated by WyW, add `.json` to `extensions` and ensure `.json` is ignored by evaluation rules (so it's parsed as JSON, not by Babel). +- Rollup users: WyW 1.x serializes `transform()` by default (`serializeTransform: true`). If you hit Rollup "Unexpected early exit" (unresolved plugin promises / deadlock during resolve), set `serializeTransform: false` (see `examples/rollup/rollup.config.mjs`). +- WyW 1.x promotes fully-statically-evaluatable modules to `only: ['*']` and can re-evaluate modules when cached exports are incomplete (cached export values might not be reused). diff --git a/README.md b/README.md index 70c75f32b..cc2fae4a0 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,12 @@ Linaria is now built on top of [wyw-in-js.dev](https://wyw-in-js.dev/). It suppo See [Configuration](https://wyw-in-js.dev/configuration) to customize how Linaria processes your files. +## Stability + +Linaria relies on WyW (`@wyw-in-js/*`) to evaluate your modules at build time and extract CSS. If you hit issues like slow builds, invalidation storms, or unexpected code being executed during the build, it’s usually related to the WyW evaluation model and how your modules are structured. + +See https://wyw-in-js.dev/stability for practical guidance and common pitfalls. + ## Syntax Linaria can be used with any framework, with additional helpers for React. The basic syntax looks like this: diff --git a/docs/MIGRATION_GUIDE.md b/docs/MIGRATION_GUIDE.md index 003b61336..0542888c2 100644 --- a/docs/MIGRATION_GUIDE.md +++ b/docs/MIGRATION_GUIDE.md @@ -1,5 +1,16 @@ # Migration Guide +# 7.x from 6.x + +## For Users + +Linaria 7 updates the WyW toolchain (`@wyw-in-js/*`) to `^1.0.0` (stable). This affects build-time evaluation (CSS extraction) and can surface previously hidden issues in evaluated modules. + +- Review https://wyw-in-js.dev/stability for the evaluation model, common pitfalls, and performance guidance. +- If you rely on WyW cache internals, note that WyW 1.x can promote fully-statically-evaluatable modules to `only: ['*']` and may re-evaluate modules when cached exports are incomplete. +- If you import JSON from code that is evaluated by WyW, add `.json` to `extensions` and ensure `.json` is ignored by evaluation rules (so it's parsed as JSON, not by Babel). +- Rollup users on WyW 1.0.6: WyW serializes `transform()` by default; if you hit Rollup "Unexpected early exit" (unresolved plugin promises), try `serializeTransform: false` in the WyW Rollup plugin config. + # 6.x from 5.x, 4.x, 3.x ## For Users diff --git a/examples/astro-solid/package.json b/examples/astro-solid/package.json index 498efba15..fb582908a 100644 --- a/examples/astro-solid/package.json +++ b/examples/astro-solid/package.json @@ -8,7 +8,7 @@ "@astrojs/solid-js": "^1.2.3", "@babel/core": "^7.23.5", "@linaria/core": "workspace:^", - "@wyw-in-js/vite": "^0.6.0", + "@wyw-in-js/vite": "^1.0.6", "astro": "^1.6.10", "solid-js": "^1.6.2", "vite": "^3", diff --git a/examples/esbuild/package.json b/examples/esbuild/package.json index d014c61db..128314efa 100644 --- a/examples/esbuild/package.json +++ b/examples/esbuild/package.json @@ -7,7 +7,7 @@ "linaria-website": "workspace:^" }, "devDependencies": { - "@wyw-in-js/esbuild": "^0.6.0", + "@wyw-in-js/esbuild": "^1.0.6", "esbuild": "^0.15.16" }, "scripts": { diff --git a/examples/rollup/package.json b/examples/rollup/package.json index 4941dc7f4..71637ec27 100644 --- a/examples/rollup/package.json +++ b/examples/rollup/package.json @@ -13,8 +13,8 @@ "@rollup/plugin-commonjs": "^25.0.4", "@rollup/plugin-image": "^3.0.2", "@rollup/plugin-node-resolve": "^15.2.1", - "@wyw-in-js/rollup": "^0.6.0", - "rollup": "^3.29.5", + "@wyw-in-js/rollup": "^1.0.6", + "rollup": "^4.0.0", "rollup-plugin-css-only": "^4.3.0" }, "scripts": { diff --git a/examples/rollup/rollup.config.mjs b/examples/rollup/rollup.config.mjs index 31cda424b..814daa57f 100644 --- a/examples/rollup/rollup.config.mjs +++ b/examples/rollup/rollup.config.mjs @@ -15,6 +15,8 @@ export default { image(), wyw({ sourceMap: process.env.NODE_ENV !== 'production', + // Rollup can deadlock when WyW resolves imports during transform. + serializeTransform: false, }), css({ output: 'styles.css', diff --git a/examples/vite/package.json b/examples/vite/package.json index d1f08b11b..23fdfa197 100644 --- a/examples/vite/package.json +++ b/examples/vite/package.json @@ -11,7 +11,7 @@ "devDependencies": { "@rollup/plugin-node-resolve": "^15.2.1", "@vitejs/plugin-react": "^2.1.0", - "@wyw-in-js/vite": "^0.6.0", + "@wyw-in-js/vite": "^1.0.6", "vite": "^3.2.10" }, "scripts": { diff --git a/examples/vpssr-linaria-solid/package.json b/examples/vpssr-linaria-solid/package.json index 84766dfc6..9d7a430ac 100644 --- a/examples/vpssr-linaria-solid/package.json +++ b/examples/vpssr-linaria-solid/package.json @@ -11,7 +11,7 @@ "license": "ISC", "dependencies": { "@linaria/core": "workspace:^", - "@wyw-in-js/vite": "^0.6.0", + "@wyw-in-js/vite": "^1.0.6", "babel-preset-solid": "^1.6.2", "compression": "^1.7.4", "express": "^4.20.0", diff --git a/examples/webpack5/package.json b/examples/webpack5/package.json index 0855c862c..43b7fed1e 100644 --- a/examples/webpack5/package.json +++ b/examples/webpack5/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@babel/core": "^7.23.5", - "@wyw-in-js/webpack-loader": "^0.6.0", + "@wyw-in-js/webpack-loader": "^1.0.6", "babel-loader": "^9.1.0", "cross-env": "^7.0.3", "css-hot-loader": "^1.4.4", diff --git a/packages/atomic/package.json b/packages/atomic/package.json index 5af06a602..09ed8681c 100644 --- a/packages/atomic/package.json +++ b/packages/atomic/package.json @@ -51,8 +51,8 @@ "dependencies": { "@linaria/core": "workspace:^", "@linaria/react": "workspace:^", - "@wyw-in-js/processor-utils": "^0.6.0", - "@wyw-in-js/shared": "^0.6.0", + "@wyw-in-js/processor-utils": "^1.0.4", + "@wyw-in-js/shared": "^1.0.4", "known-css-properties": "^0.24.0", "postcss": "^8.4.31", "stylis": "^4.3.0", diff --git a/packages/core/package.json b/packages/core/package.json index a65771ea3..5ede54aad 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -58,7 +58,7 @@ "watch": "pnpm build:dist --watch & pnpm build:declarations --watch" }, "dependencies": { - "@wyw-in-js/processor-utils": "^0.6.0" + "@wyw-in-js/processor-utils": "^1.0.4" }, "devDependencies": { "@babel/traverse": "^7.23.5", diff --git a/packages/react/package.json b/packages/react/package.json index 0012fee04..4c30c6e02 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -60,8 +60,8 @@ "dependencies": { "@emotion/is-prop-valid": "^1.2.0", "@linaria/core": "workspace:^", - "@wyw-in-js/processor-utils": "^0.6.0", - "@wyw-in-js/shared": "^0.6.0", + "@wyw-in-js/processor-utils": "^1.0.4", + "@wyw-in-js/shared": "^1.0.4", "minimatch": "^9.0.3", "react-html-attributes": "^1.4.6", "resolve": "^1.22.8", diff --git a/packages/stylelint/package.json b/packages/stylelint/package.json index 9692f9ad5..999a69925 100644 --- a/packages/stylelint/package.json +++ b/packages/stylelint/package.json @@ -30,8 +30,8 @@ "watch": "pnpm build:lib --watch & pnpm build:esm --watch & pnpm build:declarations --watch" }, "dependencies": { - "@wyw-in-js/shared": "^0.6.0", - "@wyw-in-js/transform": "^0.6.0" + "@wyw-in-js/shared": "^1.0.4", + "@wyw-in-js/transform": "^1.0.6" }, "devDependencies": { "@types/node": "^17.0.39" diff --git a/packages/testkit/package.json b/packages/testkit/package.json index 397aa2c65..a4c67af84 100644 --- a/packages/testkit/package.json +++ b/packages/testkit/package.json @@ -26,9 +26,9 @@ "@babel/traverse": "^7.23.5", "@linaria/react": "workspace:^", "@swc/core": "^1.3.20", - "@wyw-in-js/processor-utils": "^0.6.0", - "@wyw-in-js/shared": "^0.6.0", - "@wyw-in-js/transform": "^0.6.0", + "@wyw-in-js/processor-utils": "^1.0.4", + "@wyw-in-js/shared": "^1.0.4", + "@wyw-in-js/transform": "^1.0.6", "debug": "^4.3.4", "dedent": "^1.5.1", "esbuild": "^0.15.16", diff --git a/packages/testkit/src/__fixtures__/foo-nonstatic.js b/packages/testkit/src/__fixtures__/foo-nonstatic.js new file mode 100644 index 000000000..b77abadb9 --- /dev/null +++ b/packages/testkit/src/__fixtures__/foo-nonstatic.js @@ -0,0 +1,3 @@ +export const foo1 = String('foo1'); +export const foo2 = String('foo2'); +export const foo3 = () => 'foo3'; diff --git a/packages/testkit/src/__snapshots__/babel.test.ts.snap b/packages/testkit/src/__snapshots__/babel.test.ts.snap index 0224a2eb8..f8126e167 100644 --- a/packages/testkit/src/__snapshots__/babel.test.ts.snap +++ b/packages/testkit/src/__snapshots__/babel.test.ts.snap @@ -17,7 +17,7 @@ Dependencies: ./__fixtures__/assignToExport `; exports[`strategy shaker cache should cache evaluation 1`] = ` -"import { foo2 } from "./__fixtures__/foo"; +"import { foo2 } from "./__fixtures__/foo-nonstatic"; export const text = "text_t13jq05";" `; @@ -27,43 +27,43 @@ CSS: .text_t13jq05 {font-size: foo1} -Dependencies: ./__fixtures__/foo +Dependencies: ./__fixtures__/foo-nonstatic `; -exports[`strategy shaker cache should use cached value 1`] = `"export const text = "text_t13jq05";"`; +exports[`strategy shaker cache should reprocess module when cached exports are incomplete 1`] = `"export const text = "text_t13jq05";"`; -exports[`strategy shaker cache should use cached value 2`] = ` +exports[`strategy shaker cache should reprocess module when cached exports are incomplete 2`] = ` CSS: -.text_t13jq05 {font-size: cached-foo1} +.text_t13jq05 {font-size: foo1foo2} -Dependencies: ./__fixtures__/foo +Dependencies: ./__fixtures__/foo-nonstatic `; -exports[`strategy shaker cache should use cached value even if only part is required 1`] = `"export const text = "text_t13jq05";"`; +exports[`strategy shaker cache should use cached value 1`] = `"export const text = "text_t13jq05";"`; -exports[`strategy shaker cache should use cached value even if only part is required 2`] = ` +exports[`strategy shaker cache should use cached value 2`] = ` CSS: .text_t13jq05 {font-size: cached-foo1} -Dependencies: ./__fixtures__/foo +Dependencies: ./__fixtures__/foo-nonstatic `; -exports[`strategy shaker cache should use partially cached value 1`] = `"export const text = "text_t13jq05";"`; +exports[`strategy shaker cache should use cached value even if only part is required 1`] = `"export const text = "text_t13jq05";"`; -exports[`strategy shaker cache should use partially cached value 2`] = ` +exports[`strategy shaker cache should use cached value even if only part is required 2`] = ` CSS: -.text_t13jq05 {font-size: cached-foo1foo2} +.text_t13jq05 {font-size: cached-foo1} -Dependencies: ./__fixtures__/foo +Dependencies: ./__fixtures__/foo-nonstatic `; @@ -195,8 +195,8 @@ exports[`strategy shaker compiles atomic styled with dynamic interpolations as u "/* @flow */ import { styled } from '@linaria/atomic'; -const _exp2 = /*#__PURE__*/() => props => props.color; -const _exp3 = /*#__PURE__*/() => props => props.backgroundColor; +const _exp2 = () => props => props.color; +const _exp3 = () => props => props.backgroundColor; const Component = /*#__PURE__*/styled('div')({ name: "Component", class: "atm_7l_15g95l5 atm_4b_15g95l5 atm_2d_1en4k16 Component_c13jq05", @@ -207,8 +207,8 @@ const Component = /*#__PURE__*/styled('div')({ }, atomic: true }); -const _exp4 = /*#__PURE__*/() => props => props.color; -const _exp5 = /*#__PURE__*/() => props => props.color || "black"; +const _exp4 = () => props => props.color; +const _exp5 = () => props => props.color || "black"; const Component2 = /*#__PURE__*/styled('div')({ name: "Component2", class: "atm_7l_15g95l5 atm_4b_1kgl01d Component2_c1vhermz", @@ -239,7 +239,7 @@ exports[`strategy shaker compiles atomic styled with plain css, static and dynam "/* @flow */ import { styled } from '@linaria/atomic'; -const _exp2 = /*#__PURE__*/() => props => props.color; +const _exp2 = () => props => props.color; const Component = /*#__PURE__*/styled('div')({ name: "Component", class: "atm_7l_13q2bts atm_e2_12xxubj atm_gi_12am3vd atm_2d_15g95l5 Component_c13jq05", @@ -329,7 +329,7 @@ const Component = /*#__PURE__*/styled('div')({ propsAsIs: false, atomic: true }); -const _exp = /*#__PURE__*/() => Component; +const _exp = () => Component; const ComponentCompositing = /*#__PURE__*/styled(_exp())({ name: "ComponentCompositing", class: "atm_26_5scuol atm_e2_1nzxncv ComponentCompositing_c1vhermz", @@ -357,7 +357,7 @@ exports[`strategy shaker compiles atoms that are shared between css and styled t import { styled } from '@linaria/atomic'; const x = "atm_26_5scuol atm_e2_12xxubj"; -const _exp2 = /*#__PURE__*/() => props => props.color; +const _exp2 = () => props => props.color; const Component = /*#__PURE__*/styled('div')({ name: "Component", class: "atm_26_5scuol atm_e2_12xxubj atm_gi_19bvopo atm_7l_15g95l5 Component_c1vhermz", @@ -583,8 +583,8 @@ exports[`strategy shaker do not include in dependencies expressions from interpo "import { styled } from '@linaria/react'; import constant from './broken-dependency-1'; import modifier from './broken-dependency-2'; -const _exp = /*#__PURE__*/() => props => props.size + constant; -const _exp2 = /*#__PURE__*/() => props => modifier(props.size); +const _exp = () => props => props.size + constant; +const _exp2 = () => props => modifier(props.size); export const Box = /*#__PURE__*/styled('div')({ name: "Box", class: "Box_b13jq05", @@ -851,7 +851,7 @@ exports[`strategy shaker evaluates dependencies with sequence expression 1`] = ` "import { styled } from '@linaria/react'; let external = 0; const color = (external, () => 'blue'); -const _exp = /*#__PURE__*/() => color; +const _exp = () => color; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -987,7 +987,7 @@ Dependencies: ./__fixtures__/enums exports[`strategy shaker evaluates interpolations with sequence expression 1`] = ` "import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => (0, () => "blue"); +const _exp = () => (0, () => "blue"); export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1263,7 +1263,7 @@ Dependencies: NA exports[`strategy shaker handles dashes in variableNameConfig 1`] = ` "import { styled as atomicStyled } from '@linaria/atomic'; import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => props => props.size; +const _exp = () => props => props.size; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1272,7 +1272,7 @@ export const Title = /*#__PURE__*/styled('h1')({ "t13jq05-0": [_exp(), "px"] } }); -const _exp2 = /*#__PURE__*/() => props => props.size; +const _exp2 = () => props => props.size; export const Body = /*#__PURE__*/atomicStyled('h1')({ name: "Body", class: "atm_c8_trva6l Body_b1vhermz", @@ -1342,7 +1342,7 @@ Dependencies: NA exports[`strategy shaker handles fn passed in variableNameSlug 1`] = ` "import { styled as atomicStyled } from '@linaria/atomic'; import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => props => props.size; +const _exp = () => props => props.size; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1351,7 +1351,7 @@ export const Title = /*#__PURE__*/styled('h1')({ "_qqvhyq__Title__font-size": [_exp(), "px"] } }); -const _exp2 = /*#__PURE__*/() => props => props.size; +const _exp2 = () => props => props.size; export const Body = /*#__PURE__*/atomicStyled('h1')({ name: "Body", class: "atm_c8_f3y1j4 Body_b1vhermz", @@ -1386,7 +1386,7 @@ const Title = /*#__PURE__*/styled('h1')({ propsAsIs: false }); const hoc = Cmp => Cmp; -const _exp = /*#__PURE__*/() => hoc(Title); +const _exp = () => hoc(Title); export const CustomTitle = /*#__PURE__*/styled(_exp())({ name: "CustomTitle", class: "CustomTitle_c1vhermz", @@ -1415,19 +1415,19 @@ exports[`strategy shaker handles interpolation followed by unit 1`] = ` const size = () => 100; const shadow = () => 5; const unit = () => 1; -const _exp = /*#__PURE__*/() => size; -const _exp2 = /*#__PURE__*/() => shadow; -const _exp3 = /*#__PURE__*/() => size; -const _exp4 = /*#__PURE__*/() => props => props.width; -const _exp5 = /*#__PURE__*/() => props => { +const _exp = () => size; +const _exp2 = () => shadow; +const _exp3 = () => size; +const _exp4 = () => props => props.width; +const _exp5 = () => props => { if (true) { return props.height; } else { return 200; } }; -const _exp7 = /*#__PURE__*/() => unit; -const _exp8 = /*#__PURE__*/() => function (props) { +const _exp7 = () => unit; +const _exp8 = () => function (props) { return 200; }; export const Title = /*#__PURE__*/styled('h1')({ @@ -1467,7 +1467,7 @@ Dependencies: NA exports[`strategy shaker handles interpolation in css function followed by unit 1`] = ` "import { styled } from '@linaria/atomic'; -const _exp = /*#__PURE__*/() => props => props.$rotateDeg; +const _exp = () => props => props.$rotateDeg; export const Container = /*#__PURE__*/styled('div')({ name: "Container", class: "atm_tr_18309cv atm_vy_uuw12j Container_c13jq05", @@ -1493,7 +1493,7 @@ Dependencies: NA exports[`strategy shaker handles nested blocks 1`] = ` "import { styled } from '@linaria/react'; const regular = () => "arial"; -const _exp = /*#__PURE__*/() => regular; +const _exp = () => regular; export const Button = /*#__PURE__*/styled('button')({ name: "Button", class: "Button_b13jq05", @@ -1564,7 +1564,7 @@ Dependencies: NA exports[`strategy shaker handles raw in variableNameConfig 1`] = ` "import { styled as atomicStyled } from '@linaria/atomic'; import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => props => props.size; +const _exp = () => props => props.size; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1573,7 +1573,7 @@ export const Title = /*#__PURE__*/styled('h1')({ "t13jq05-0": [_exp(), "px"] } }); -const _exp2 = /*#__PURE__*/() => props => props.size; +const _exp2 = () => props => props.size; export const Body = /*#__PURE__*/atomicStyled('h1')({ name: "Body", class: "atm_c8_1s69o7d Body_b1vhermz", @@ -1601,7 +1601,7 @@ Dependencies: NA exports[`strategy shaker handles val in variableNameConfig 1`] = ` "import { styled as atomicStyled } from '@linaria/atomic'; import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => props => props.size; +const _exp = () => props => props.size; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1610,7 +1610,7 @@ export const Title = /*#__PURE__*/styled('h1')({ "t13jq05-0": [_exp(), "px"] } }); -const _exp2 = /*#__PURE__*/() => props => props.size; +const _exp2 = () => props => props.size; export const Body = /*#__PURE__*/atomicStyled('h1')({ name: "Body", class: "atm_c8_1g7eom2 Body_b1vhermz", @@ -1644,13 +1644,13 @@ const Title = /*#__PURE__*/styled('h1')({ class: "Title_t13jq05", propsAsIs: false }); -const _exp = /*#__PURE__*/() => Title; +const _exp = () => Title; export const BlueTitle = /*#__PURE__*/styled(_exp())({ name: "BlueTitle", class: "BlueTitle_b1vhermz", propsAsIs: true }); -const _exp2 = /*#__PURE__*/() => BlueTitle; +const _exp2 = () => BlueTitle; export const GreenTitle = /*#__PURE__*/styled(_exp2())({ name: "GreenTitle", class: "GreenTitle_g1egpet8", @@ -1703,7 +1703,7 @@ Dependencies: NA exports[`strategy shaker ignores external expressions 1`] = ` "import { styled } from '@linaria/react'; const generate = props => props.content; -const _exp = /*#__PURE__*/() => generate; +const _exp = () => generate; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1730,7 +1730,7 @@ Dependencies: NA exports[`strategy shaker ignores inline arrow function expressions 1`] = ` "import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => props => props.content; +const _exp = () => props => props.content; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -1757,7 +1757,7 @@ Dependencies: NA exports[`strategy shaker ignores inline vanilla function expressions 1`] = ` "import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => function (props) { +const _exp = () => function (props) { return props.content; }; export const Title = /*#__PURE__*/styled('h1')({ @@ -1982,8 +1982,8 @@ exports[`strategy shaker prevents class name collision 1`] = ` "import { styled } from '@linaria/react'; const size = () => 100; const regular = () => "arial"; -const _exp = /*#__PURE__*/() => size; -const _exp2 = /*#__PURE__*/() => props => props.color; +const _exp = () => size; +const _exp2 = () => props => props.color; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_twgemqq", @@ -1993,7 +1993,7 @@ export const Title = /*#__PURE__*/styled('h1')({ "twgemqq-1": [_exp2()] } }); -const _exp3 = /*#__PURE__*/() => regular; +const _exp3 = () => regular; export function Something() { const Title = /*#__PURE__*/styled('h1')({ name: "Title", @@ -2117,7 +2117,7 @@ Dependencies: NA exports[`strategy shaker should eval component from a linaria library 1`] = ` "import { styled } from "@linaria/react"; import { Title } from "./__fixtures__/linaria-ui-library/components/index"; -const _exp = /*#__PURE__*/() => Title; +const _exp = () => Title; export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s13jq05", @@ -2139,7 +2139,7 @@ exports[`strategy shaker should eval wrapped component from a linaria library 1` "import { styled } from "@linaria/react"; import { connect } from "./__fixtures__/linaria-ui-library/hocs"; import { Title } from "./__fixtures__/linaria-ui-library/components/index"; -const _exp = /*#__PURE__*/() => connect(Title); +const _exp = () => connect(Title); export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s13jq05", @@ -2195,7 +2195,7 @@ exports[`strategy shaker should import react as namespace 1`] = ` "import { styled } from "@linaria/react"; import * as React from "react"; const Cmp = React.memo(() => null); -const _exp = /*#__PURE__*/() => Cmp; +const _exp = () => Cmp; export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s13jq05", @@ -2264,7 +2264,7 @@ Dependencies: ./__fixtures__/reexports exports[`strategy shaker should not eval components from a non-linaria library 1`] = ` "import { styled } from "@linaria/react"; import { Title } from "./__fixtures__/non-linaria-ui-library/index"; -const _exp = /*#__PURE__*/() => Title; +const _exp = () => Title; export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s13jq05", @@ -2285,7 +2285,7 @@ Dependencies: NA exports[`strategy shaker should not eval non-linaria component from a linaria library 1`] = ` "import { styled } from "@linaria/react"; import { Title } from "./__fixtures__/linaria-ui-library/non-linaria-components"; -const _exp = /*#__PURE__*/() => Title; +const _exp = () => Title; export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s13jq05", @@ -2307,7 +2307,7 @@ exports[`strategy shaker should not eval wrapped component from a non-linaria li "import { styled } from "@linaria/react"; import { connect } from "./__fixtures__/linaria-ui-library/hocs"; import { Title } from "./__fixtures__/non-linaria-ui-library/index"; -const _exp = /*#__PURE__*/() => connect(Title); +const _exp = () => connect(Title); export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s13jq05", @@ -2341,7 +2341,7 @@ const Gate = (props: { const Component = map.get(type); return ; }; -const _exp = /*#__PURE__*/() => Gate; +const _exp = () => Gate; export const StyledTitle = /*#__PURE__*/styled(_exp())({ name: "StyledTitle", class: "StyledTitle_s18alru3", @@ -2585,7 +2585,7 @@ const Editor = () => { const initial: IModel = {}; return
; }; -const _exp = /*#__PURE__*/() => Editor; +const _exp = () => Editor; export const StyledEditor = /*#__PURE__*/styled(_exp())({ name: "StyledEditor", class: "StyledEditor_s18alru3", @@ -2700,7 +2700,7 @@ exports[`strategy shaker should wrap memoized components 1`] = ` "import React from 'react'; import { styled } from '@linaria/react'; const MyComponent = React.memo(() =>
); -const _exp = /*#__PURE__*/() => MyComponent; +const _exp = () => MyComponent; export default /*#__PURE__*/styled(_exp())({ name: "source0", class: "source0_swgemqq", @@ -2739,13 +2739,13 @@ const ComplexFunctionComponent = props => { } return null; }; -const _exp = /*#__PURE__*/() => FuncComponent; +const _exp = () => FuncComponent; export const StyledFunc = /*#__PURE__*/styled(_exp())({ name: "StyledFunc", class: "StyledFunc_swgemqq", propsAsIs: true }); -const _exp2 = /*#__PURE__*/() => ClassComponent; +const _exp2 = () => ClassComponent; export const StyledClass = /*#__PURE__*/styled(_exp2())({ name: "StyledClass", class: "StyledClass_sjtmpns", @@ -2777,7 +2777,7 @@ import constant from './broken-dependency'; const A = () => ReactNS.createElement('div', {}, constant); const B = () => createElement(A, {}, constant); const C = () => React.createElement(FuncComponent, {}, constant); -const _exp = /*#__PURE__*/() => C; +const _exp = () => C; export const D = /*#__PURE__*/styled(_exp())({ name: "D", class: "D_dwgemqq", @@ -2805,7 +2805,7 @@ var constant = require('./broken-dependency').default; const A = () => React.createElement('div', {}, constant); const B = () => React.createElement(A, {}, constant); const C = () => React.createElement(FuncComponent, {}, constant); -const _exp = /*#__PURE__*/() => C; +const _exp = () => C; exports.D = /*#__PURE__*/styled(_exp())({ name: "source0", class: "source0_swgemqq", @@ -2984,7 +2984,7 @@ const StyledComponent = /*#__PURE__*/reactStyled('div')({ class: "StyledComponent_s13jq05", propsAsIs: false }); -const _exp = /*#__PURE__*/() => StyledComponent; +const _exp = () => StyledComponent; const StyledComponent2 = /*#__PURE__*/reactStyled(_exp())({ name: "StyledComponent2", class: "StyledComponent2_s1vhermz", @@ -2996,7 +2996,7 @@ const AtomicComponent = /*#__PURE__*/atomicStyled('div')({ propsAsIs: false, atomic: true }); -const _exp2 = /*#__PURE__*/() => AtomicComponent; +const _exp2 = () => AtomicComponent; const AtomicComponent2 = /*#__PURE__*/atomicStyled(_exp2())({ name: "AtomicComponent2", class: "atm_26_13q2bts AtomicComponent2_avc9xb3", @@ -3072,7 +3072,7 @@ Dependencies: NA exports[`strategy shaker transpiles styled template literal with function and component 1`] = ` "import { styled } from '@linaria/react'; const Heading = () => null; -const _exp = /*#__PURE__*/() => Heading; +const _exp = () => Heading; export const Title = /*#__PURE__*/styled(_exp())({ name: "Title", class: "Title_t13jq05", @@ -3140,7 +3140,7 @@ type Props = { className?: string; children?: React.ReactNode; }; -const _exp = /*#__PURE__*/() => (props: Props) => props.className; +const _exp = () => (props: Props) => props.className; export const Title = /*#__PURE__*/styled('div')({ name: "Title", class: "Title_t9vkbjs", @@ -3208,7 +3208,7 @@ Dependencies: NA exports[`strategy shaker uses string passed in variableNameSlug 1`] = ` "import { styled as atomicStyled } from '@linaria/atomic'; import { styled } from '@linaria/react'; -const _exp = /*#__PURE__*/() => props => props.size; +const _exp = () => props => props.size; export const Title = /*#__PURE__*/styled('h1')({ name: "Title", class: "Title_t13jq05", @@ -3217,7 +3217,7 @@ export const Title = /*#__PURE__*/styled('h1')({ "Title_t13jq05_StyledProcessor_1qqvhyq_0": [_exp(), "px"] } }); -const _exp2 = /*#__PURE__*/() => props => props.size; +const _exp2 = () => props => props.size; export const Body = /*#__PURE__*/atomicStyled('h1')({ name: "Body", class: "atm_c8_1cjuufw Body_b1vhermz", @@ -3244,7 +3244,7 @@ Dependencies: NA exports[`strategy shaker uses the same custom property for the same expression 1`] = ` "import { styled } from '@linaria/react'; -const _exp2 = /*#__PURE__*/() => props => props.size; +const _exp2 = () => props => props.size; export const Box = /*#__PURE__*/styled('div')({ name: "Box", class: "Box_b13jq05", @@ -3271,7 +3271,7 @@ Dependencies: NA exports[`strategy shaker uses the same custom property for the same identifier 1`] = ` "import { styled } from '@linaria/react'; const size = () => 100; -const _exp2 = /*#__PURE__*/() => size; +const _exp2 = () => size; export const Box = /*#__PURE__*/styled('div')({ name: "Box", class: "Box_b13jq05", diff --git a/packages/testkit/src/babel.test.ts b/packages/testkit/src/babel.test.ts index 5433b0428..6958e6ed4 100644 --- a/packages/testkit/src/babel.test.ts +++ b/packages/testkit/src/babel.test.ts @@ -70,12 +70,25 @@ const getLinariaConfig = ( linariaConfig: PartialOptions, presets: PluginItem[], stage?: Stage -): PluginOptions => - loadWywOptions({ +): PluginOptions => { + const { features: customFeatures, ...restConfig } = linariaConfig; + + return loadWywOptions({ babelOptions: { presets, plugins: [], }, + extensions: [ + '.cjs', + '.cts', + '.js', + '.jsx', + '.mjs', + '.mts', + '.ts', + '.tsx', + '.json', + ], displayName: true, rules: [ { @@ -90,13 +103,20 @@ const getLinariaConfig = ( test: /[\\/]node_modules[\\/](?!@linaria)/, action: 'ignore', }, + { + test: /\.json$/, + action: 'ignore', + }, ], features: { + ...customFeatures, + happyDOM: false, softErrors: false, }, stage, - ...linariaConfig, + ...restConfig, }); +}; async function transform( originalCode: string, @@ -3217,15 +3237,17 @@ describe('strategy shaker', () => { }; it('should cache evaluation', async () => { - const filename = require.resolve(join(dirName, './__fixtures__/foo')); + const filename = require.resolve( + join(dirName, './__fixtures__/foo-nonstatic') + ); const cache = new TransformCacheCollection(); const { code, metadata } = await transform( dedent` import { css } from "@linaria/core"; - import { foo1, foo2 } from "./__fixtures__/foo"; + import { foo1, foo2 } from "./__fixtures__/foo-nonstatic"; export const text = css\`font-size: ${'${foo1}'}\`; - `, + `, [evaluator], cache ); @@ -3235,7 +3257,29 @@ describe('strategy shaker', () => { const exports = getCachedExports(cache, filename); expect(exports.foo1).toBe('foo1'); - expect(exports.foo2).toBe(undefined); // foo2 is not used and should not be evaluated + expect(exports.foo2).toBe(undefined); + }); + + it('promotes statically evaluatable modules to "*"', async () => { + const filename = require.resolve(join(dirName, './__fixtures__/foo')); + const cache = new TransformCacheCollection(); + + await transform( + dedent` + import { css } from "@linaria/core"; + import { foo1 } from "./__fixtures__/foo"; + + export const text = css\`font-size: ${'${foo1}'}\`; + `, + [evaluator], + cache + ); + + const cachedFoo = cache.get('entrypoints', filename); + expect(cachedFoo?.evaluatedOnly).toContain('*'); + + const exports = getCachedExports(cache, filename); + expect(exports.foo2).toBe('foo2'); }); const createCacheFor = async ( @@ -3253,6 +3297,7 @@ describe('strategy shaker', () => { }); cache.add('entrypoints', filename, { + dependencies: new Map(), evaluated: true, evaluatedOnly: only, generation: 1, @@ -3266,16 +3311,18 @@ describe('strategy shaker', () => { }; it('should use cached value', async () => { - const filename = require.resolve(join(dirName, './__fixtures__/foo')); + const filename = require.resolve( + join(dirName, './__fixtures__/foo-nonstatic') + ); const cache = await createCacheFor(filename, { foo1: 'cached-foo1' }); const { code, metadata } = await transform( dedent` import { css } from "@linaria/core"; - import { foo1 } from "./__fixtures__/foo"; + import { foo1 } from "./__fixtures__/foo-nonstatic"; export const text = css\`font-size: ${'${foo1}'}\`; - `, + `, [evaluator], cache ); @@ -3284,28 +3331,35 @@ describe('strategy shaker', () => { expect(metadata).toMatchSnapshot(); }); - it('should use partially cached value', async () => { - const filename = require.resolve(join(dirName, './__fixtures__/foo')); + it('should reprocess module when cached exports are incomplete', async () => { + const filename = require.resolve( + join(dirName, './__fixtures__/foo-nonstatic') + ); const cache = await createCacheFor(filename, { foo1: 'cached-foo1' }); const { code, metadata } = await transform( dedent` import { css } from "@linaria/core"; - import { foo1, foo2 } from "./__fixtures__/foo"; + import { foo1, foo2 } from "./__fixtures__/foo-nonstatic"; export const text = css\`font-size: ${'${foo1 + foo2}'}\`; - `, + `, [evaluator], cache ); expect(code).toMatchSnapshot(); expect(metadata).toMatchSnapshot(); + + const exports = getCachedExports(cache, filename); + expect(exports.foo1).toBe('foo1'); + expect(exports.foo2).toBe('foo2'); }); - // it('should use cached value even if only part of it is required', async () => { it('should use cached value even if only part is required', async () => { - const filename = require.resolve(join(dirName, './__fixtures__/foo')); + const filename = require.resolve( + join(dirName, './__fixtures__/foo-nonstatic') + ); const cache = await createCacheFor(filename, { foo1: 'cached-foo1', foo2: 'cached-foo2', @@ -3314,10 +3368,10 @@ describe('strategy shaker', () => { const { code, metadata } = await transform( dedent` import { css } from "@linaria/core"; - import { foo1 } from "./__fixtures__/foo"; + import { foo1 } from "./__fixtures__/foo-nonstatic"; export const text = css\`font-size: ${'${foo1}'}\`; - `, + `, [evaluator], cache ); diff --git a/packages/testkit/src/transform.test.ts b/packages/testkit/src/transform.test.ts index 1a6ff92b5..a7550c2b9 100644 --- a/packages/testkit/src/transform.test.ts +++ b/packages/testkit/src/transform.test.ts @@ -15,6 +15,13 @@ const rules = [ }, ]; +const basePluginOptions = { + features: { + happyDOM: false, + }, + rules, +}; + describe('transformUrl', () => { type TransformUrlArgs = Parameters; const dataset: Record = { @@ -64,7 +71,7 @@ it('rewrites a relative path in url() declarations', async () => { filename: './test.js', outputFilename: './.linaria-cache/test.css', pluginOptions: { - rules, + ...basePluginOptions, }, }, }, @@ -90,7 +97,7 @@ it('rewrites multiple relative paths in url() declarations', async () => { filename: './test.js', outputFilename, pluginOptions: { - rules, + ...basePluginOptions, }, }, }, @@ -117,7 +124,7 @@ it("doesn't rewrite an absolute path in url() declarations", async () => { filename: './test.js', outputFilename, pluginOptions: { - rules, + ...basePluginOptions, }, }, }, @@ -144,7 +151,7 @@ it('respects passed babel options', async () => { filename: './test.js', outputFilename, pluginOptions: { - rules, + ...basePluginOptions, babelOptions: { babelrc: false, configFile: false, @@ -171,7 +178,7 @@ it('respects passed babel options', async () => { filename: './test.js', outputFilename, pluginOptions: { - rules, + ...basePluginOptions, babelOptions: { babelrc: false, configFile: false, @@ -206,7 +213,7 @@ it("doesn't throw due to duplicate preset", async () => { filename: './test.js', outputFilename, pluginOptions: { - rules, + ...basePluginOptions, babelOptions: { babelrc: false, configFile: false, @@ -241,7 +248,7 @@ it('should return transformed code even when file only contains unused linaria c filename: './test.js', outputFilename, pluginOptions: { - rules, + ...basePluginOptions, }, }, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a5b4c8d0..28209a9f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,7 +137,7 @@ importers: devDependencies: '@astrojs/solid-js': specifier: ^1.2.3 - version: 1.2.3(@babel/core@7.23.5)(solid-js@1.6.2)(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)) + version: 1.2.3(@babel/core@7.23.5)(solid-js@1.6.2)(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)) '@babel/core': specifier: ^7.23.5 version: 7.23.5 @@ -145,20 +145,20 @@ importers: specifier: workspace:^ version: link:../../packages/core '@wyw-in-js/vite': - specifier: ^0.6.0 - version: 0.6.0(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)) + specifier: ^1.0.6 + version: 1.0.6(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)) astro: specifier: ^1.6.10 - version: 1.6.10(@types/node@17.0.39)(terser@5.39.0) + version: 1.6.10(@types/node@25.0.10)(terser@5.39.0) solid-js: specifier: ^1.6.2 version: 1.6.2 vite: specifier: ^3 - version: 3.2.7(@types/node@17.0.39)(terser@5.39.0) + version: 3.2.7(@types/node@25.0.10)(terser@5.39.0) vite-plugin-inspect: specifier: ^0.7.33 - version: 0.7.33(rollup@3.29.5)(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)) + version: 0.7.33(rollup@3.29.5)(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)) examples/esbuild: dependencies: @@ -167,8 +167,8 @@ importers: version: link:../../website devDependencies: '@wyw-in-js/esbuild': - specifier: ^0.6.0 - version: 0.6.0(esbuild@0.15.16) + specifier: ^1.0.6 + version: 1.0.6(esbuild@0.15.16) esbuild: specifier: ^0.15.16 version: 0.15.16 @@ -187,25 +187,25 @@ importers: version: 7.23.3(@babel/core@7.23.5) '@rollup/plugin-babel': specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.23.5)(@types/babel__core@7.20.5)(rollup@3.29.5) + version: 6.0.3(@babel/core@7.23.5)(@types/babel__core@7.20.5)(rollup@4.56.0) '@rollup/plugin-commonjs': specifier: ^25.0.4 - version: 25.0.4(rollup@3.29.5) + version: 25.0.4(rollup@4.56.0) '@rollup/plugin-image': specifier: ^3.0.2 - version: 3.0.2(rollup@3.29.5) + version: 3.0.2(rollup@4.56.0) '@rollup/plugin-node-resolve': specifier: ^15.2.1 - version: 15.2.1(rollup@3.29.5) + version: 15.2.1(rollup@4.56.0) '@wyw-in-js/rollup': - specifier: ^0.6.0 - version: 0.6.0(rollup@3.29.5) + specifier: ^1.0.6 + version: 1.0.6(rollup@4.56.0) rollup: - specifier: ^3.29.5 - version: 3.29.5 + specifier: ^4.0.0 + version: 4.56.0 rollup-plugin-css-only: specifier: ^4.3.0 - version: 4.3.0(rollup@3.29.5) + version: 4.3.0(rollup@4.56.0) examples/vite: dependencies: @@ -218,13 +218,13 @@ importers: version: 15.2.1(rollup@3.29.5) '@vitejs/plugin-react': specifier: ^2.1.0 - version: 2.1.0(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)) + version: 2.1.0(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)) '@wyw-in-js/vite': - specifier: ^0.6.0 - version: 0.6.0(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)) + specifier: ^1.0.6 + version: 1.0.6(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)) vite: specifier: ^3.2.10 - version: 3.2.10(@types/node@17.0.39)(terser@5.39.0) + version: 3.2.10(@types/node@25.0.10)(terser@5.39.0) examples/vpssr-linaria-solid: dependencies: @@ -232,8 +232,8 @@ importers: specifier: workspace:^ version: link:../../packages/core '@wyw-in-js/vite': - specifier: ^0.6.0 - version: 0.6.0(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)) + specifier: ^1.0.6 + version: 1.0.6(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)) babel-preset-solid: specifier: ^1.6.2 version: 1.6.3(@babel/core@7.23.5) @@ -251,13 +251,15 @@ importers: version: 1.6.2 vite: specifier: ^3.2.10 - version: 3.2.10(@types/node@17.0.39)(terser@5.39.0) + version: 3.2.10(@types/node@25.0.10)(terser@5.39.0) vite-plugin-solid: specifier: ^2.4.0 - version: 2.4.0(solid-js@1.6.2)(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)) + version: 2.4.0(solid-js@1.6.2)(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)) vite-plugin-ssr: specifier: ^0.4.54 - version: 0.4.54(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)) + version: 0.4.54(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)) + + examples/vpssr-linaria-solid/dist/server: {} examples/webpack5: dependencies: @@ -269,8 +271,8 @@ importers: specifier: ^7.23.5 version: 7.23.5 '@wyw-in-js/webpack-loader': - specifier: ^0.6.0 - version: 0.6.0(webpack@5.98.0) + specifier: ^1.0.6 + version: 1.0.6(webpack@5.98.0) babel-loader: specifier: ^9.1.0 version: 9.1.0(@babel/core@7.23.5)(webpack@5.98.0) @@ -305,11 +307,11 @@ importers: specifier: workspace:^ version: link:../react '@wyw-in-js/processor-utils': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 '@wyw-in-js/shared': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 known-css-properties: specifier: ^0.24.0 version: 0.24.0 @@ -339,8 +341,8 @@ importers: packages/core: dependencies: '@wyw-in-js/processor-utils': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 devDependencies: '@babel/traverse': specifier: ^7.23.5 @@ -428,11 +430,11 @@ importers: specifier: workspace:^ version: link:../core '@wyw-in-js/processor-utils': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 '@wyw-in-js/shared': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 minimatch: specifier: ^9.0.3 version: 9.0.3 @@ -481,11 +483,11 @@ importers: packages/stylelint: dependencies: '@wyw-in-js/shared': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 '@wyw-in-js/transform': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.6 + version: 1.0.6 devDependencies: '@types/node': specifier: ^17.0.39 @@ -521,14 +523,14 @@ importers: specifier: ^1.3.20 version: 1.3.20 '@wyw-in-js/processor-utils': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 '@wyw-in-js/shared': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.4 + version: 1.0.4 '@wyw-in-js/transform': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.6 + version: 1.0.6 debug: specifier: ^4.3.4 version: 4.3.4 @@ -658,11 +660,11 @@ importers: specifier: workspace:^ version: link:../packages/stylelint '@wyw-in-js/babel-preset': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.6 + version: 1.0.6 '@wyw-in-js/webpack-loader': - specifier: ^0.6.0 - version: 0.6.0(webpack@5.98.0) + specifier: ^1.0.6 + version: 1.0.6(webpack@5.98.0) babel-loader: specifier: ^8.2.5 version: 8.2.5(@babel/core@7.23.5)(webpack@5.98.0) @@ -1994,6 +1996,140 @@ packages: rollup: optional: true + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.56.0': + resolution: {integrity: sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.56.0': + resolution: {integrity: sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.56.0': + resolution: {integrity: sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.56.0': + resolution: {integrity: sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.56.0': + resolution: {integrity: sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.56.0': + resolution: {integrity: sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.56.0': + resolution: {integrity: sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.56.0': + resolution: {integrity: sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.56.0': + resolution: {integrity: sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.56.0': + resolution: {integrity: sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.56.0': + resolution: {integrity: sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.56.0': + resolution: {integrity: sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.56.0': + resolution: {integrity: sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.56.0': + resolution: {integrity: sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.56.0': + resolution: {integrity: sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.56.0': + resolution: {integrity: sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.56.0': + resolution: {integrity: sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.56.0': + resolution: {integrity: sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.56.0': + resolution: {integrity: sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.56.0': + resolution: {integrity: sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.56.0': + resolution: {integrity: sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.56.0': + resolution: {integrity: sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.56.0': + resolution: {integrity: sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.56.0': + resolution: {integrity: sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.56.0': + resolution: {integrity: sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==} + cpu: [x64] + os: [win32] + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -2120,6 +2256,9 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/express-serve-static-core@4.17.28': resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} @@ -2192,6 +2331,9 @@ packages: '@types/node@17.0.39': resolution: {integrity: sha512-JDU3YLlnPK3WDao6/DlXLOgSNpG13ct+CwIO17V8q0/9fWJyeMJJ/VyZ1lv8kDprihvZMydzVwf0tQOqGiY2Nw==} + '@types/node@25.0.10': + resolution: {integrity: sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==} + '@types/normalize-package-data@2.4.1': resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -2255,6 +2397,12 @@ packages: '@types/unist@2.0.6': resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@types/ws@8.5.3': resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} @@ -2482,43 +2630,43 @@ packages: webpack-dev-server: optional: true - '@wyw-in-js/babel-preset@0.6.0': - resolution: {integrity: sha512-BJwM89pKYagrw9+Go65547ujUHAgzfdBPRrdX3YpjOOMhD8zkV/m3u6bvnetMk4zBrLrMvCpGbFsLM7+qLewhg==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/babel-preset@1.0.6': + resolution: {integrity: sha512-XPb8rnl/9mqsoeRuclHR4J2pUu8RNZFmsxR13BW2UgXXG4Iy+ymnpvJ8p1CGpvHq8wxGBhCMIocxNM1+1ytAjw==} + engines: {node: '>=20.0.0'} - '@wyw-in-js/esbuild@0.6.0': - resolution: {integrity: sha512-xjQ8AdvMW1k9OxGLKHmlRcLwg86bJADZMxW09axA3dV1y0dMdSy10Ww2bftCMJRzKw2pQ8ioqY6G5YIXu4SZqQ==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/esbuild@1.0.6': + resolution: {integrity: sha512-Y4bhaBtJalppGicO5w77Mf7IMnS3Pn8WpIKZhCmX6VUF8ufAJVOAS3zg5Kqxpcp0N7dlwri2gjSTA/JSvSKyiw==} + engines: {node: '>=20.0.0'} peerDependencies: esbuild: '>=0.12.0' - '@wyw-in-js/processor-utils@0.6.0': - resolution: {integrity: sha512-5YAZMUmF+S2HaqheKfew6ybbYBMnF10PjIgI7ieyuFxCohyqJNF4xdo6oHftv2z5Z4vCQ0OZHtDOQyDImBYwmg==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/processor-utils@1.0.4': + resolution: {integrity: sha512-g9hfcK9qNRd+3aJfvMS0b/ek/SH9mio1zeQrPciOBNpDtXkJxUEzBHLDCrTgPzV7GYu7MljKRv/CfPlHrP3t/w==} + engines: {node: '>=20.0.0'} - '@wyw-in-js/rollup@0.6.0': - resolution: {integrity: sha512-BC1f6oEHTxVjKY6p1L5SVcSSAfjB/f7CQtvZFWEjFtmMBYWUB2jTfITTlwJTrW0cUF6XBHBRRPShT39XjqZQSA==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/rollup@1.0.6': + resolution: {integrity: sha512-XzsCLEoSLg1OszTr02cx1weYzEh+JI1o6eVQPbUSmEDFifpqz0J1tWePb4V4HnGBrRII3bsllL2ywB2e+VnQhQ==} + engines: {node: '>=20.0.0'} peerDependencies: - rollup: 1.20.0||^2.0.0||^3.0.0 + rollup: 1.20.0||^2.0.0||^3.0.0||^4.0.0 - '@wyw-in-js/shared@0.6.0': - resolution: {integrity: sha512-BozBos29AuMWOvjjKf+bYYN+Vku0Nar6+y5oxrJXIZzUEKiWTVnIxO256vi8cUBGfo/DH44o+qZTkkdSN2pPXw==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/shared@1.0.4': + resolution: {integrity: sha512-lH29Vy1HVo+os8slxTP/E1qZ8Mo48WhzyYR8dDyplyI2qXwOGHqwkkFmuFI4q1/J3vf1i8v8k/+gkP1T5fNTZA==} + engines: {node: '>=20.0.0'} - '@wyw-in-js/transform@0.6.0': - resolution: {integrity: sha512-/Rxw8e3KcmSjnqWs/6flmpcNTa4jLw8NViIyNwqem498AfSWXrPnYf3RyjWed9zDVL72q7Xjei6TcRqMupl3Eg==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/transform@1.0.6': + resolution: {integrity: sha512-fObTiuRgcOgl4K+cK1LuT+knCjbAWCoM/nrpHuFfwQqYLcUfM2WPFVvlXoTFxhI4svJrPBysmW7VryjwDYxEzw==} + engines: {node: '>=20.0.0'} - '@wyw-in-js/vite@0.6.0': - resolution: {integrity: sha512-nGeH/dFrjecHRJfxd5/71cJu4V2YWakUmnEoAUpS0iTnVVC4GWjKqt1dLtsJvtKZIm2OeNoTzzdFrP4bxyXYxQ==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/vite@1.0.6': + resolution: {integrity: sha512-Q0u3UeIy/kluLTayGED6hDqJG8E1rU5KfJITRaOP6T1jTM02i0SOg5lD+T/j5b+lZ5kni9xaScTbx0vWruDClQ==} + engines: {node: '>=20.0.0'} peerDependencies: vite: '>=3.2.7' - '@wyw-in-js/webpack-loader@0.6.0': - resolution: {integrity: sha512-MIgY1DgQKMIbElNbPdckr2CDfq3U7dd8Dd8Mnkhz4SJoS0Vl0M98CnxkrWpXKspYZ8ZMafLd+a5yI/Ksug1Fkg==} - engines: {node: '>=16.0.0'} + '@wyw-in-js/webpack-loader@1.0.6': + resolution: {integrity: sha512-/EdKmzVYdN3ZD0W9kdT35ConT5fBSe/X0/C4gDrLrRL7TtnbxrxpcBWl0Of4158Yhplxm91hGkl+HRiYD9GJHQ==} + engines: {node: '>=20.0.0'} peerDependencies: webpack: ^5.76.0 @@ -2800,12 +2948,6 @@ packages: '@babel/core': ^7.12.0 webpack: '>=5' - babel-merge@3.0.0: - resolution: {integrity: sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - '@babel/core': ^7.0.0 - babel-plugin-file-loader@1.1.1: resolution: {integrity: sha512-ORBZGJHxXv2Pd+lFsVqu4gwraBTTo32ue17MzdbWduT65k3rws9AlVWWmgDP59nFLJCfVkEcLLIbuR2C4lKVjw==} @@ -3514,10 +3656,6 @@ packages: resolution: {integrity: sha512-Ka3Kb21tiWjvQvS9U+1Dx+aqFAHsdTnMdYptLTmC2VAmDFMugWMY1e15aTODstipmCun8iNuqeSfcx6rsUUk0Q==} engines: {node: '>=12.4.0'} - deepmerge@2.2.1: - resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==} - engines: {node: '>=0.10.0'} - deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -4616,9 +4754,9 @@ packages: handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - happy-dom@15.11.7: - resolution: {integrity: sha512-KyrFvnl+J9US63TEzwoiJOQzZBJY7KgBushJA8X61DMbNsH+2ONkDuLDnCnwUiPTF42tLoEmrPyoqbenVA5zrg==} - engines: {node: '>=18.0.0'} + happy-dom@20.3.7: + resolution: {integrity: sha512-sb5IzoRl1WJKsUSRe+IloJf3z1iDq5PQ7Yk/ULMsZ5IAQEs9ZL7RsFfiKBXU7nK9QmO+iz0e59EH8r8jexTZ/g==} + engines: {node: '>=20.0.0'} har-schema@2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} @@ -5014,10 +5152,6 @@ packages: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -6002,6 +6136,10 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@3.0.2: resolution: {integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==} engines: {node: '>= 4'} @@ -6204,10 +6342,6 @@ packages: object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} - object.omit@3.0.0: - resolution: {integrity: sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==} - engines: {node: '>=0.10.0'} - object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} @@ -6438,6 +6572,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -6997,6 +7135,11 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true + rollup@4.56.0: + resolution: {integrity: sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} engines: {node: '>=12'} @@ -7853,6 +7996,9 @@ packages: unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + unherit@3.0.1: resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} @@ -8178,10 +8324,6 @@ packages: webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - webpack-cli@4.9.2: resolution: {integrity: sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==} engines: {node: '>=10.13.0'} @@ -8342,6 +8484,18 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + ws@8.19.0: + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.7.0: resolution: {integrity: sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==} engines: {node: '>=10.0.0'} @@ -8492,11 +8646,11 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/solid-js@1.2.3(@babel/core@7.23.5)(solid-js@1.6.2)(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0))': + '@astrojs/solid-js@1.2.3(@babel/core@7.23.5)(solid-js@1.6.2)(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0))': dependencies: babel-preset-solid: 1.6.3(@babel/core@7.23.5) solid-js: 1.6.2 - vitefu: 0.2.3(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)) + vitefu: 0.2.3(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)) transitivePeerDependencies: - '@babel/core' - vite @@ -10066,32 +10220,32 @@ snapshots: optionalDependencies: npmlog: 4.1.2 - '@rollup/plugin-babel@6.0.3(@babel/core@7.23.5)(@types/babel__core@7.20.5)(rollup@3.29.5)': + '@rollup/plugin-babel@6.0.3(@babel/core@7.23.5)(@types/babel__core@7.20.5)(rollup@4.56.0)': dependencies: '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.15 - '@rollup/pluginutils': 5.0.4(rollup@3.29.5) + '@rollup/pluginutils': 5.0.4(rollup@4.56.0) optionalDependencies: '@types/babel__core': 7.20.5 - rollup: 3.29.5 + rollup: 4.56.0 - '@rollup/plugin-commonjs@25.0.4(rollup@3.29.5)': + '@rollup/plugin-commonjs@25.0.4(rollup@4.56.0)': dependencies: - '@rollup/pluginutils': 5.0.4(rollup@3.29.5) + '@rollup/pluginutils': 5.0.4(rollup@4.56.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 optionalDependencies: - rollup: 3.29.5 + rollup: 4.56.0 - '@rollup/plugin-image@3.0.2(rollup@3.29.5)': + '@rollup/plugin-image@3.0.2(rollup@4.56.0)': dependencies: - '@rollup/pluginutils': 5.0.4(rollup@3.29.5) + '@rollup/pluginutils': 5.0.4(rollup@4.56.0) mini-svg-data-uri: 1.4.4 optionalDependencies: - rollup: 3.29.5 + rollup: 4.56.0 '@rollup/plugin-node-resolve@15.2.1(rollup@3.29.5)': dependencies: @@ -10104,6 +10258,17 @@ snapshots: optionalDependencies: rollup: 3.29.5 + '@rollup/plugin-node-resolve@15.2.1(rollup@4.56.0)': + dependencies: + '@rollup/pluginutils': 5.0.4(rollup@4.56.0) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + optionalDependencies: + rollup: 4.56.0 + '@rollup/pluginutils@5.0.4(rollup@3.29.5)': dependencies: '@types/estree': 1.0.1 @@ -10112,6 +10277,97 @@ snapshots: optionalDependencies: rollup: 3.29.5 + '@rollup/pluginutils@5.0.4(rollup@4.56.0)': + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.56.0 + + '@rollup/pluginutils@5.3.0(rollup@4.56.0)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.56.0 + + '@rollup/rollup-android-arm-eabi@4.56.0': + optional: true + + '@rollup/rollup-android-arm64@4.56.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.56.0': + optional: true + + '@rollup/rollup-darwin-x64@4.56.0': + optional: true + + '@rollup/rollup-freebsd-arm64@4.56.0': + optional: true + + '@rollup/rollup-freebsd-x64@4.56.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.56.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.56.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.56.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.56.0': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.56.0': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.56.0': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.56.0': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.56.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.56.0': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.56.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.56.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.56.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.56.0': + optional: true + + '@rollup/rollup-openbsd-x64@4.56.0': + optional: true + + '@rollup/rollup-openharmony-arm64@4.56.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.56.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.56.0': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.56.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.56.0': + optional: true + '@sinclair/typebox@0.27.8': {} '@sinonjs/commons@3.0.0': @@ -10236,6 +10492,8 @@ snapshots: '@types/estree@1.0.6': {} + '@types/estree@1.0.8': {} + '@types/express-serve-static-core@4.17.28': dependencies: '@types/node': 17.0.39 @@ -10314,6 +10572,10 @@ snapshots: '@types/node@17.0.39': {} + '@types/node@25.0.10': + dependencies: + undici-types: 7.16.0 + '@types/normalize-package-data@2.4.1': {} '@types/parse-json@4.0.0': {} @@ -10369,6 +10631,12 @@ snapshots: '@types/unist@2.0.6': {} + '@types/whatwg-mimetype@3.0.2': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 17.0.39 + '@types/ws@8.5.3': dependencies: '@types/node': 17.0.39 @@ -10550,7 +10818,7 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@2.1.0(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0))': + '@vitejs/plugin-react@2.1.0(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0))': dependencies: '@babel/core': 7.23.5 '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5) @@ -10559,7 +10827,7 @@ snapshots: '@babel/plugin-transform-react-jsx-source': 7.18.6(@babel/core@7.23.5) magic-string: 0.26.7 react-refresh: 0.14.0 - vite: 3.2.10(@types/node@17.0.39)(terser@5.39.0) + vite: 3.2.10(@types/node@25.0.10)(terser@5.39.0) transitivePeerDependencies: - supports-color @@ -10679,38 +10947,44 @@ snapshots: webpack: 5.98.0(@swc/core@1.3.20)(esbuild@0.18.20)(webpack-cli@5.0.0) webpack-cli: 5.0.0(webpack@5.98.0) - '@wyw-in-js/babel-preset@0.6.0': + '@wyw-in-js/babel-preset@1.0.6': dependencies: '@babel/core': 7.23.5 - '@wyw-in-js/transform': 0.6.0 + '@wyw-in-js/transform': 1.0.6 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@wyw-in-js/esbuild@0.6.0(esbuild@0.15.16)': + '@wyw-in-js/esbuild@1.0.6(esbuild@0.15.16)': dependencies: - '@wyw-in-js/shared': 0.6.0 - '@wyw-in-js/transform': 0.6.0 + '@wyw-in-js/shared': 1.0.4 + '@wyw-in-js/transform': 1.0.6 esbuild: 0.15.16 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@wyw-in-js/processor-utils@0.6.0': + '@wyw-in-js/processor-utils@1.0.4': dependencies: '@babel/generator': 7.23.5 - '@wyw-in-js/shared': 0.6.0 + '@wyw-in-js/shared': 1.0.4 transitivePeerDependencies: - supports-color - '@wyw-in-js/rollup@0.6.0(rollup@3.29.5)': + '@wyw-in-js/rollup@1.0.6(rollup@4.56.0)': dependencies: - '@rollup/pluginutils': 5.0.4(rollup@3.29.5) - '@wyw-in-js/shared': 0.6.0 - '@wyw-in-js/transform': 0.6.0 - rollup: 3.29.5 + '@rollup/pluginutils': 5.3.0(rollup@4.56.0) + '@wyw-in-js/shared': 1.0.4 + '@wyw-in-js/transform': 1.0.6 + rollup: 4.56.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@wyw-in-js/shared@0.6.0': + '@wyw-in-js/shared@1.0.4': dependencies: debug: 4.3.4 find-up: 5.0.0 @@ -10718,7 +10992,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@wyw-in-js/transform@0.6.0': + '@wyw-in-js/transform@1.0.6': dependencies: '@babel/core': 7.23.5 '@babel/generator': 7.23.5 @@ -10727,40 +11001,48 @@ snapshots: '@babel/template': 7.22.15 '@babel/traverse': 7.23.5 '@babel/types': 7.23.5 - '@wyw-in-js/processor-utils': 0.6.0 - '@wyw-in-js/shared': 0.6.0 - babel-merge: 3.0.0(@babel/core@7.23.5) + '@wyw-in-js/processor-utils': 1.0.4 + '@wyw-in-js/shared': 1.0.4 cosmiconfig: 8.2.0 - happy-dom: 15.11.7 + happy-dom: 20.3.7 + minimatch: 9.0.5 source-map: 0.7.4 stylis: 4.3.0 ts-invariant: 0.10.3 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@wyw-in-js/vite@0.6.0(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0))': + '@wyw-in-js/vite@1.0.6(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0))': dependencies: - '@wyw-in-js/shared': 0.6.0 - '@wyw-in-js/transform': 0.6.0 - vite: 3.2.10(@types/node@17.0.39)(terser@5.39.0) + '@wyw-in-js/shared': 1.0.4 + '@wyw-in-js/transform': 1.0.6 + vite: 3.2.10(@types/node@25.0.10)(terser@5.39.0) transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@wyw-in-js/vite@0.6.0(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0))': + '@wyw-in-js/vite@1.0.6(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0))': dependencies: - '@wyw-in-js/shared': 0.6.0 - '@wyw-in-js/transform': 0.6.0 - vite: 3.2.7(@types/node@17.0.39)(terser@5.39.0) + '@wyw-in-js/shared': 1.0.4 + '@wyw-in-js/transform': 1.0.6 + vite: 3.2.7(@types/node@25.0.10)(terser@5.39.0) transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@wyw-in-js/webpack-loader@0.6.0(webpack@5.98.0)': + '@wyw-in-js/webpack-loader@1.0.6(webpack@5.98.0)': dependencies: - '@wyw-in-js/shared': 0.6.0 - '@wyw-in-js/transform': 0.6.0 + '@wyw-in-js/shared': 1.0.4 + '@wyw-in-js/transform': 1.0.6 webpack: 5.98.0(@swc/core@1.3.20)(esbuild@0.18.20)(webpack-cli@5.0.0) transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate '@xtuc/ieee754@1.2.0': {} @@ -10988,7 +11270,7 @@ snapshots: astral-regex@2.0.0: {} - astro@1.6.10(@types/node@17.0.39)(terser@5.39.0): + astro@1.6.10(@types/node@25.0.10)(terser@5.39.0): dependencies: '@astrojs/compiler': 0.29.17 '@astrojs/language-server': 0.28.3 @@ -11047,8 +11329,8 @@ snapshots: typescript: 5.2.2 unist-util-visit: 4.1.1 vfile: 5.3.6 - vite: 3.2.7(@types/node@17.0.39)(terser@5.39.0) - vitefu: 0.2.3(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)) + vite: 3.2.7(@types/node@25.0.10)(terser@5.39.0) + vitefu: 0.2.3(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)) yargs-parser: 21.1.1 zod: 3.19.1 transitivePeerDependencies: @@ -11116,12 +11398,6 @@ snapshots: schema-utils: 4.0.0 webpack: 5.98.0(@swc/core@1.3.20)(esbuild@0.18.20)(webpack-cli@5.0.0) - babel-merge@3.0.0(@babel/core@7.23.5): - dependencies: - '@babel/core': 7.23.5 - deepmerge: 2.2.1 - object.omit: 3.0.0 - babel-plugin-file-loader@1.1.1: dependencies: big.js: 5.2.2 @@ -11875,8 +12151,6 @@ snapshots: deepmerge-ts@4.2.2: {} - deepmerge@2.2.1: {} - deepmerge@4.3.1: {} default-browser-id@3.0.0: @@ -13122,11 +13396,17 @@ snapshots: handle-thing@2.0.1: {} - happy-dom@15.11.7: + happy-dom@20.3.7: dependencies: + '@types/node': 25.0.10 + '@types/whatwg-mimetype': 3.0.2 + '@types/ws': 8.18.1 entities: 4.5.0 - webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 + ws: 8.19.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate har-schema@2.0.0: {} @@ -13571,10 +13851,6 @@ snapshots: is-extendable@0.1.1: {} - is-extendable@1.0.1: - dependencies: - is-plain-object: 2.0.4 - is-extglob@2.1.1: {} is-finalizationregistry@1.0.2: @@ -14941,6 +15217,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + minimist-options@3.0.2: dependencies: arrify: 1.0.1 @@ -15141,10 +15421,6 @@ snapshots: define-properties: 1.2.0 es-abstract: 1.22.1 - object.omit@3.0.0: - dependencies: - is-extendable: 1.0.1 - object.values@1.1.7: dependencies: call-bind: 1.0.2 @@ -15382,6 +15658,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.3: {} + pify@2.3.0: {} pify@3.0.0: {} @@ -15992,10 +16270,10 @@ snapshots: semver-compare: 1.0.0 sprintf-js: 1.1.2 - rollup-plugin-css-only@4.3.0(rollup@3.29.5): + rollup-plugin-css-only@4.3.0(rollup@4.56.0): dependencies: - '@rollup/pluginutils': 5.0.4(rollup@3.29.5) - rollup: 3.29.5 + '@rollup/pluginutils': 5.0.4(rollup@4.56.0) + rollup: 4.56.0 rollup@2.79.1: optionalDependencies: @@ -16005,6 +16283,37 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + rollup@4.56.0: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.56.0 + '@rollup/rollup-android-arm64': 4.56.0 + '@rollup/rollup-darwin-arm64': 4.56.0 + '@rollup/rollup-darwin-x64': 4.56.0 + '@rollup/rollup-freebsd-arm64': 4.56.0 + '@rollup/rollup-freebsd-x64': 4.56.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.56.0 + '@rollup/rollup-linux-arm-musleabihf': 4.56.0 + '@rollup/rollup-linux-arm64-gnu': 4.56.0 + '@rollup/rollup-linux-arm64-musl': 4.56.0 + '@rollup/rollup-linux-loong64-gnu': 4.56.0 + '@rollup/rollup-linux-loong64-musl': 4.56.0 + '@rollup/rollup-linux-ppc64-gnu': 4.56.0 + '@rollup/rollup-linux-ppc64-musl': 4.56.0 + '@rollup/rollup-linux-riscv64-gnu': 4.56.0 + '@rollup/rollup-linux-riscv64-musl': 4.56.0 + '@rollup/rollup-linux-s390x-gnu': 4.56.0 + '@rollup/rollup-linux-x64-gnu': 4.56.0 + '@rollup/rollup-linux-x64-musl': 4.56.0 + '@rollup/rollup-openbsd-x64': 4.56.0 + '@rollup/rollup-openharmony-arm64': 4.56.0 + '@rollup/rollup-win32-arm64-msvc': 4.56.0 + '@rollup/rollup-win32-ia32-msvc': 4.56.0 + '@rollup/rollup-win32-x64-gnu': 4.56.0 + '@rollup/rollup-win32-x64-msvc': 4.56.0 + fsevents: 2.3.3 + run-applescript@5.0.0: dependencies: execa: 5.1.1 @@ -16987,6 +17296,8 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + undici-types@7.16.0: {} + unherit@3.0.1: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -17180,7 +17491,7 @@ snapshots: unist-util-stringify-position: 3.0.2 vfile-message: 3.1.3 - vite-plugin-inspect@0.7.33(rollup@3.29.5)(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)): + vite-plugin-inspect@0.7.33(rollup@3.29.5)(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)): dependencies: '@antfu/utils': 0.7.5 '@rollup/pluginutils': 5.0.4(rollup@3.29.5) @@ -17189,12 +17500,12 @@ snapshots: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.3 - vite: 3.2.7(@types/node@17.0.39)(terser@5.39.0) + vite: 3.2.7(@types/node@25.0.10)(terser@5.39.0) transitivePeerDependencies: - rollup - supports-color - vite-plugin-solid@2.4.0(solid-js@1.6.2)(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)): + vite-plugin-solid@2.4.0(solid-js@1.6.2)(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)): dependencies: '@babel/core': 7.23.5 '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5) @@ -17202,12 +17513,12 @@ snapshots: merge-anything: 5.1.4 solid-js: 1.6.2 solid-refresh: 0.4.1(solid-js@1.6.2) - vite: 3.2.10(@types/node@17.0.39)(terser@5.39.0) - vitefu: 0.1.1(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)) + vite: 3.2.10(@types/node@25.0.10)(terser@5.39.0) + vitefu: 0.1.1(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)) transitivePeerDependencies: - supports-color - vite-plugin-ssr@0.4.54(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)): + vite-plugin-ssr@0.4.54(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)): dependencies: '@brillout/import': 0.2.1 '@brillout/json-serializer': 0.5.3 @@ -17218,37 +17529,37 @@ snapshots: picocolors: 1.0.0 resolve: 1.22.8 symlink-dir: 5.1.0 - vite: 3.2.10(@types/node@17.0.39)(terser@5.39.0) + vite: 3.2.10(@types/node@25.0.10)(terser@5.39.0) - vite@3.2.10(@types/node@17.0.39)(terser@5.39.0): + vite@3.2.10(@types/node@25.0.10)(terser@5.39.0): dependencies: esbuild: 0.15.16 postcss: 8.4.31 resolve: 1.22.8 rollup: 2.79.1 optionalDependencies: - '@types/node': 17.0.39 + '@types/node': 25.0.10 fsevents: 2.3.3 terser: 5.39.0 - vite@3.2.7(@types/node@17.0.39)(terser@5.39.0): + vite@3.2.7(@types/node@25.0.10)(terser@5.39.0): dependencies: esbuild: 0.15.16 postcss: 8.4.31 resolve: 1.22.8 rollup: 2.79.1 optionalDependencies: - '@types/node': 17.0.39 + '@types/node': 25.0.10 fsevents: 2.3.3 terser: 5.39.0 - vitefu@0.1.1(vite@3.2.10(@types/node@17.0.39)(terser@5.39.0)): + vitefu@0.1.1(vite@3.2.10(@types/node@25.0.10)(terser@5.39.0)): optionalDependencies: - vite: 3.2.10(@types/node@17.0.39)(terser@5.39.0) + vite: 3.2.10(@types/node@25.0.10)(terser@5.39.0) - vitefu@0.2.3(vite@3.2.7(@types/node@17.0.39)(terser@5.39.0)): + vitefu@0.2.3(vite@3.2.7(@types/node@25.0.10)(terser@5.39.0)): optionalDependencies: - vite: 3.2.7(@types/node@17.0.39)(terser@5.39.0) + vite: 3.2.7(@types/node@25.0.10)(terser@5.39.0) vscode-css-languageservice@6.1.1: dependencies: @@ -17314,8 +17625,6 @@ snapshots: webidl-conversions@4.0.2: {} - webidl-conversions@7.0.0: {} - webpack-cli@4.9.2(webpack-dev-server@4.9.1)(webpack@5.98.0): dependencies: '@discoveryjs/json-ext': 0.5.7 @@ -17592,6 +17901,8 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 + ws@8.19.0: {} + ws@8.7.0: {} xdg-basedir@3.0.0: {} diff --git a/website/package.json b/website/package.json index 71491072f..068f372c0 100644 --- a/website/package.json +++ b/website/package.json @@ -42,8 +42,8 @@ "@babel/cli": "^7.23.4", "@babel/core": "^7.23.5", "@linaria/stylelint": "workspace:^", - "@wyw-in-js/babel-preset": "^0.6.0", - "@wyw-in-js/webpack-loader": "^0.6.0", + "@wyw-in-js/babel-preset": "^1.0.6", + "@wyw-in-js/webpack-loader": "^1.0.6", "babel-loader": "^8.2.5", "babel-plugin-module-resolver": "^4.1.0", "cross-env": "^7.0.3",