diff --git a/apps/css-workshop/package.json b/apps/css-workshop/package.json index 4db32c3defb..406b63e5440 100644 --- a/apps/css-workshop/package.json +++ b/apps/css-workshop/package.json @@ -17,11 +17,12 @@ "dev": "astro dev", "start": "astro dev", "build": "astro build", - "preview": "astro preview --host", + "preview": "npx -y serve dist --listen 3050 -L", "clean": "rimraf dist && rimraf node_modules && rimraf .turbo", "approve": "backstop --config=./backstop/backstop.cjs approve", "test:only": "backstop --config=./backstop/backstop.cjs test --docker", - "test": "npm-run-all -p -r \"preview\" \"test:only {1}\" --" + "test:only:wait-for-preview": "npx -y wait-on http://localhost:3050 && pnpm run test:only", + "test": "npm-run-all -p -r \"preview\" \"test:only:wait-for-preview {1}\" --" }, "prettier": "configs/prettier-astro-config.js" } diff --git a/packages/itwinui-react/package.json b/packages/itwinui-react/package.json index 75ffe376048..a62759237c9 100644 --- a/packages/itwinui-react/package.json +++ b/packages/itwinui-react/package.json @@ -128,7 +128,7 @@ "react": "^18.0.0", "react-dom": "^18.0.0", "typescript": "5", - "vite": "~5.1.8", + "vite": "~5.4.14", "vitest": "^1.2.1" }, "peerDependencies": { diff --git a/packages/itwinui-react/src/styles.js/vite.config.mjs b/packages/itwinui-react/src/styles.js/vite.config.mjs index ed8ea8445a8..4b3b391a7f0 100644 --- a/packages/itwinui-react/src/styles.js/vite.config.mjs +++ b/packages/itwinui-react/src/styles.js/vite.config.mjs @@ -35,6 +35,18 @@ export default defineConfig({ }, }, plugins: [ + // https://github.com/vitejs/vite/pull/16051#issuecomment-2076616816 + { + name: 'css-module-side-effectful', + enforce: 'post', + transform(_, id) { + if (id.endsWith('.module.css')) { + return { + moduleSideEffects: 'no-treeshake', + }; + } + }, + }, { name: 'copy-files-after-build', closeBundle: async () => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9a30d71a8d3..d66e1472387 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -362,7 +362,7 @@ importers: version: 1.5.28(@swc/helpers@0.5.11) '@testing-library/jest-dom': specifier: ^6.3.0 - version: 6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0)) + version: 6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)) '@testing-library/react': specifier: ^13.2.0 version: 13.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -380,7 +380,7 @@ importers: version: 18.2.18 '@vitest/coverage-v8': specifier: ^1.2.1 - version: 1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0)) + version: 1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)) eslint: specifier: ^8 version: 8.56.0 @@ -403,11 +403,11 @@ importers: specifier: ~5.5.2 version: 5.5.2 vite: - specifier: ~5.1.8 - version: 5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + specifier: ~5.4.14 + version: 5.4.14(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) vitest: specifier: ^1.2.1 - version: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0) + version: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) packages/itwinui-variables: devDependencies: @@ -486,7 +486,7 @@ importers: devDependencies: '@remix-run/dev': specifier: ^2.15.2 - version: 2.15.2(@remix-run/react@2.15.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.5.2))(@remix-run/serve@2.15.2(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)(typescript@5.5.2)(vite@6.0.11(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(yaml@2.5.0)) + version: 2.15.2(@remix-run/react@2.15.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.5.2))(@remix-run/serve@2.15.2(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@6.0.11(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(yaml@2.5.0)) '@types/react': specifier: 18.2.14 version: 18.2.14 @@ -581,7 +581,7 @@ importers: version: 1.42.1 '@remix-run/dev': specifier: ^2.8.0 - version: 2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)) + version: 2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)) '@types/node': specifier: '*' version: 22.5.5 @@ -14494,6 +14494,40 @@ packages: terser: optional: true + vite@5.4.14: + resolution: + { + integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vite@6.0.11: resolution: { @@ -16817,7 +16851,7 @@ snapshots: - bare-buffer - supports-color - '@remix-run/dev@2.15.2(@remix-run/react@2.15.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.5.2))(@remix-run/serve@2.15.2(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)(typescript@5.5.2)(vite@6.0.11(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(yaml@2.5.0))': + '@remix-run/dev@2.15.2(@remix-run/react@2.15.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.5.2))(@remix-run/serve@2.15.2(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@6.0.11(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(yaml@2.5.0))': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -16834,7 +16868,7 @@ snapshots: '@remix-run/router': 1.21.0 '@remix-run/server-runtime': 2.15.2(typescript@5.5.2) '@types/mdx': 2.0.11 - '@vanilla-extract/integration': 6.5.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + '@vanilla-extract/integration': 6.5.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) arg: 5.0.2 cacache: 17.1.4 chalk: 4.1.2 @@ -16873,7 +16907,7 @@ snapshots: tar-fs: 2.1.1 tsconfig-paths: 4.2.0 valibot: 0.41.0(typescript@5.5.2) - vite-node: 1.6.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + vite-node: 1.6.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) ws: 7.5.10 optionalDependencies: '@remix-run/serve': 2.15.2(typescript@5.5.2) @@ -16886,6 +16920,7 @@ snapshots: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -16893,7 +16928,7 @@ snapshots: - ts-node - utf-8-validate - '@remix-run/dev@2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0))': + '@remix-run/dev@2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0))': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -16909,7 +16944,7 @@ snapshots: '@remix-run/router': 1.15.3-pre.0 '@remix-run/server-runtime': 2.8.1(typescript@5.5.2) '@types/mdx': 2.0.11 - '@vanilla-extract/integration': 6.5.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + '@vanilla-extract/integration': 6.5.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) arg: 5.0.2 cacache: 17.1.4 chalk: 4.1.2 @@ -16959,6 +16994,7 @@ snapshots: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -17446,7 +17482,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0))': + '@testing-library/jest-dom@6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@adobe/css-tools': 4.3.3 '@babel/runtime': 7.23.9 @@ -17457,7 +17493,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 optionalDependencies: - vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0) + vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) '@testing-library/react@13.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -17723,7 +17759,7 @@ snapshots: modern-ahocorasick: 1.0.1 outdent: 0.8.0 - '@vanilla-extract/integration@6.5.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0)': + '@vanilla-extract/integration@6.5.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)': dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.26.0) @@ -17736,13 +17772,14 @@ snapshots: lodash: 4.17.21 mlly: 1.5.0 outdent: 0.8.0 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) - vite-node: 1.6.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite-node: 1.6.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -17768,7 +17805,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0))': + '@vitest/coverage-v8@1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -17783,7 +17820,7 @@ snapshots: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0) + vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - supports-color @@ -24539,13 +24576,13 @@ snapshots: dependencies: browserslist: 4.23.3 escalade: 3.1.2 - picocolors: 1.1.0 + picocolors: 1.1.1 update-browserslist-db@1.1.1(browserslist@4.24.3): dependencies: browserslist: 4.24.3 escalade: 3.2.0 - picocolors: 1.1.0 + picocolors: 1.1.1 uri-js@4.4.1: dependencies: @@ -24639,35 +24676,37 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-node@1.2.1(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0): + vite-node@1.2.1(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite-node@1.6.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0): + vite-node@1.6.0(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -24718,6 +24757,18 @@ snapshots: sass: 1.72.0 sass-embedded: 1.64.1 + vite@5.4.14(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.37 + rollup: 4.28.1 + optionalDependencies: + '@types/node': 22.5.5 + fsevents: 2.3.3 + lightningcss: 1.29.1 + sass: 1.72.0 + sass-embedded: 1.64.1 + vite@6.0.11(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0)(yaml@2.5.0): dependencies: esbuild: 0.24.2 @@ -24735,7 +24786,7 @@ snapshots: optionalDependencies: vite: 5.4.11(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) - vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass@1.72.0): + vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0): dependencies: '@vitest/expect': 1.2.1 '@vitest/runner': 1.2.1 @@ -24755,8 +24806,8 @@ snapshots: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.1 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) - vite-node: 1.2.1(@types/node@22.5.5)(lightningcss@1.29.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite-node: 1.2.1(@types/node@22.5.5)(lightningcss@1.29.1)(sass-embedded@1.64.1)(sass@1.72.0) why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 22.5.5 @@ -24765,6 +24816,7 @@ snapshots: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color