From 953ed553e712de287d2072f6339cc3af53c83fe5 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Sun, 19 Jun 2022 15:02:10 +0300 Subject: [PATCH 1/5] fix: consider transform mode when resolving ids --- packages/vite-node/src/server.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite-node/src/server.ts b/packages/vite-node/src/server.ts index a6bd79efda19..066019c7557d 100644 --- a/packages/vite-node/src/server.ts +++ b/packages/vite-node/src/server.ts @@ -54,7 +54,8 @@ export class ViteNodeServer { async resolveId(id: string, importer?: string): Promise { if (importer && !importer.startsWith(this.server.config.root)) importer = join(this.server.config.root, importer) - return this.server.pluginContainer.resolveId(id, importer, { ssr: true }) + const mode = this.getTransformMode(id) + return this.server.pluginContainer.resolveId(id, importer, { ssr: mode === 'ssr' }) } async fetchModule(id: string): Promise { From 0d4d1de2d1c529137d647afa8d3b168ffbb5fdc6 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Sun, 19 Jun 2022 15:15:29 +0300 Subject: [PATCH 2/5] test: testing resolveId --- pnpm-lock.yaml | 380 ++++++++++++----------------- test/vite-node/package.json | 13 + test/vite-node/test/server.test.ts | 29 +++ test/vite-node/vitest.config.ts | 7 + 4 files changed, 206 insertions(+), 223 deletions(-) create mode 100644 test/vite-node/package.json create mode 100644 test/vite-node/test/server.test.ts create mode 100644 test/vite-node/vitest.config.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 26e57f842866..9c70b901ad1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -109,9 +109,9 @@ importers: fast-glob: 3.2.11 https-localhost: 4.7.1 unocss: 0.38.2_vite@2.9.10 - unplugin-vue-components: 0.19.6_wuxm4j6bgrlfg6ha3fbo625rke + unplugin-vue-components: 0.19.6_vite@2.9.10+vue@3.2.37 vite-plugin-pwa: 0.12.0_vite@2.9.10 - vitepress: 1.0.0-alpha.1_ohobp6rpsmerwlq5ipwfh5yigy + vitepress: 1.0.0-alpha.1 workbox-window: 6.5.3 examples/basic: @@ -162,7 +162,7 @@ importers: lit: 2.2.5 devDependencies: '@vitest/ui': link:../../packages/ui - happy-dom: 5.2.0 + happy-dom: 5.3.1 vite: 2.9.10 vitest: link:../../packages/vitest @@ -176,7 +176,7 @@ importers: vitest: workspace:* zustand: 4.0.0-rc.1 dependencies: - '@vueuse/integrations': 8.5.0_axios@0.26.1+vue@3.2.37 + '@vueuse/integrations': 8.5.0_axios@0.26.1 axios: 0.26.1 tinyspy: 0.3.2 devDependencies: @@ -198,7 +198,7 @@ importers: typescript: 4.6.3 vitest: workspace:* dependencies: - next: 12.1.5_ezdxe4hg7n3pawg24sxf3xmgta + next: 12.1.5_zpnidt7m3osuk7shl3s4oenomq react: 18.0.0 react-dom: 18.0.0_react@18.0.0 devDependencies: @@ -258,15 +258,15 @@ importers: vite: ^2.9.10 vitest: workspace:* dependencies: - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 devDependencies: '@types/react': 17.0.45 '@types/react-dom': 17.0.17 '@vitejs/plugin-react': 1.3.1 '@vitest/ui': link:../../packages/ui enzyme: 3.11.0 - enzyme-adapter-react-16: 1.15.6_7ltvq4e2railvf5uya4ffxpe2a + enzyme-adapter-react-16: 1.15.6_j6bpv5pizkyfppcg2tmva6pmii vite: 2.9.10 vitest: link:../../packages/vitest @@ -294,14 +294,14 @@ importers: dependencies: '@emotion/react': 11.9.0_3dj5wppwohj5ocihzt4m54mr2a '@emotion/styled': 11.8.1_3zgpe2oef7sbs566rsy6a7qm7i - '@mui/lab': 5.0.0-alpha.85_xjii3a7ufdwggkrf6imrcribfm + '@mui/lab': 5.0.0-alpha.86_xjii3a7ufdwggkrf6imrcribfm '@mui/material': 5.8.3_rikzftoujo3cmwul4lespwcm6i history: 5.3.0 notistack: 2.0.5_ozyq7dscrvuimqma7xstouyo4e react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-router-dom: 6.3.0_sfoxds7t5ydpegc3knd667wn6m - recharts: 2.1.10_oxfzelaz5ynxsop2v2nu2h2m64 + recharts: 2.1.10_sfoxds7t5ydpegc3knd667wn6m swr: 1.3.0_react@17.0.2 devDependencies: '@testing-library/jest-dom': 5.16.4 @@ -459,7 +459,7 @@ importers: solid-js: 1.4.3 devDependencies: jsdom: 19.0.0 - solid-start: 0.1.0-alpha.88_rr56xi33h37vhc4tv5jhq4mlhy + solid-start: 0.1.0-alpha.89_cx4i3ppfurm56vukdsqk745yba solid-testing-library: 0.3.0_solid-js@1.4.3 vitest: link:../../packages/vitest @@ -874,6 +874,16 @@ importers: pathe: 0.2.0 vitest: link:../../packages/vitest + test/vite-node: + specifiers: + vite: ^2.9.10 + vite-node: workspace:* + vitest: workspace:* + devDependencies: + vite: 2.9.10 + vite-node: link:../../packages/vite-node + vitest: link:../../packages/vitest + test/web-worker: specifiers: '@vitest/web-worker': workspace:* @@ -3017,15 +3027,14 @@ packages: resolution: {integrity: sha512-bh5IskwkkodbvC0FzSg1AxMykfDl95hebEKwxNoq4e5QaGzOXSBgW8+jnMFZ7JU4sTBiB04vZWoUSzNrPboLZA==} dev: true - /@docsearch/js/3.1.0_ohobp6rpsmerwlq5ipwfh5yigy: + /@docsearch/js/3.1.0: resolution: {integrity: sha512-5XSK+xbP0hcTIp54MECqxkWLs6kf7Ug4nWdxWNtx8cUpLiFNFnKXDxCb35wnyNpjukmrx7Q9DkO5tFFsmNVxng==} dependencies: '@docsearch/react': 3.1.0_ohobp6rpsmerwlq5ipwfh5yigy + '@types/react': 18.0.9 preact: 10.7.2 - transitivePeerDependencies: - - '@types/react' - - react - - react-dom + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 dev: true /@docsearch/react/3.1.0_ohobp6rpsmerwlq5ipwfh5yigy: @@ -3148,6 +3157,8 @@ packages: '@emotion/weak-memoize': 0.2.5 hoist-non-react-statics: 3.3.2 react: 17.0.2 + transitivePeerDependencies: + - supports-color dev: false /@emotion/serialize/0.11.16: @@ -3225,6 +3236,8 @@ packages: '@emotion/serialize': 1.0.3 '@emotion/utils': 1.1.0 react: 17.0.2 + transitivePeerDependencies: + - supports-color dev: false /@emotion/stylis/0.8.5: @@ -3741,8 +3754,31 @@ packages: react-is: 17.0.2 dev: false - /@mui/lab/5.0.0-alpha.85_xjii3a7ufdwggkrf6imrcribfm: - resolution: {integrity: sha512-GaPl5azVXr9dbwZe1DiKr3GO9Bg3nbZ48oRTDZoMxWYMB8dm4f73GrY2Sv1Sf03z19YzlD7Ixskr6rGcKGPWlw==} + /@mui/base/5.0.0-alpha.85_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-ONlQJOmQrxmR+pYF9AqH69FOG4ofwzVzNltwb2xKAQIW3VbsNZahcHIpzhFd70W6EIU+QHzB9TzamSM+Fg/U7w==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.17.9 + '@emotion/is-prop-valid': 1.1.2 + '@mui/types': 7.1.4 + '@mui/utils': 5.8.4_react@17.0.2 + '@popperjs/core': 2.11.5 + clsx: 1.1.1 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + react-is: 17.0.2 + dev: false + + /@mui/lab/5.0.0-alpha.86_xjii3a7ufdwggkrf6imrcribfm: + resolution: {integrity: sha512-5dx9/vHldiE5KFu99YUtEGKyUgwTiq8wM+IhEnNKkU+YjEMULVYV+mgS9nvnf6laKtgqy2hOE4JivqRPIuOGdA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -3774,10 +3810,10 @@ packages: '@babel/runtime': 7.17.9 '@emotion/react': 11.9.0_3dj5wppwohj5ocihzt4m54mr2a '@emotion/styled': 11.8.1_3zgpe2oef7sbs566rsy6a7qm7i - '@mui/base': 5.0.0-alpha.84_sfoxds7t5ydpegc3knd667wn6m + '@mui/base': 5.0.0-alpha.85_sfoxds7t5ydpegc3knd667wn6m '@mui/material': 5.8.3_rikzftoujo3cmwul4lespwcm6i '@mui/system': 5.8.3_bgqmsvm4hz6izcmpcwescmz73y - '@mui/utils': 5.8.0_react@17.0.2 + '@mui/utils': 5.8.4_react@17.0.2 '@mui/x-date-pickers': 5.0.0-alpha.1_syliijkev7edv25o5eguf6n2ti clsx: 1.1.1 date-fns: 2.28.0 @@ -3899,6 +3935,15 @@ packages: optional: true dev: false + /@mui/types/7.1.4: + resolution: {integrity: sha512-uveM3byMbthO+6tXZ1n2zm0W3uJCQYtwt/v5zV5I77v2v18u0ITkb8xwhsDD2i3V2Kye7SaNR6FFJ6lMuY/WqQ==} + peerDependencies: + '@types/react': '*' + peerDependenciesMeta: + '@types/react': + optional: true + dev: false + /@mui/utils/5.8.0_react@17.0.2: resolution: {integrity: sha512-7LgUtCvz78676iC0wpTH7HizMdCrTphhBmRWimIMFrp5Ph6JbDFVuKS1CwYnWWxRyYKL0QzXrDL0lptAU90EXg==} engines: {node: '>=12.0.0'} @@ -3913,6 +3958,20 @@ packages: react-is: 17.0.2 dev: false + /@mui/utils/5.8.4_react@17.0.2: + resolution: {integrity: sha512-BHYErfrjqqh76KaDAm8wZlhEip1Uj7Cmco65NcsF3BWrAl3FWngACpaPZeEbTgmaEwyWAQEE6LZhsmy43hfyqQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + react: ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.17.9 + '@types/prop-types': 15.7.5 + '@types/react-is': 17.0.3 + prop-types: 15.8.1 + react: 17.0.2 + react-is: 17.0.2 + dev: false + /@mui/x-date-pickers/5.0.0-alpha.1_syliijkev7edv25o5eguf6n2ti: resolution: {integrity: sha512-dLPkRiIn2Gr0momblxiOnIwrxn4SijVix+8e08mwAGWhiWcmWep1O9XTRDpZsjB0kjHYCf+kZjlRX4dxnj2acg==} engines: {node: '>=12.0.0'} @@ -3941,7 +4000,7 @@ packages: '@date-io/moment': 2.13.1 '@mui/material': 5.8.3_rikzftoujo3cmwul4lespwcm6i '@mui/system': 5.8.3_bgqmsvm4hz6izcmpcwescmz73y - '@mui/utils': 5.8.0_react@17.0.2 + '@mui/utils': 5.8.4_react@17.0.2 clsx: 1.1.1 date-fns: 2.28.0 prop-types: 15.8.1 @@ -4164,7 +4223,7 @@ packages: slash: 3.0.0 dev: true - /@rollup/plugin-babel/5.3.1_xrrjiapkmykkmovg76xtzegu3a: + /@rollup/plugin-babel/5.3.1_wwj6nrjtrryxuar2uaqwelbtjy: resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -4177,8 +4236,8 @@ packages: dependencies: '@babel/core': 7.18.2 '@babel/helper-module-imports': 7.16.7 - '@rollup/pluginutils': 3.1.0_rollup@2.75.5 - rollup: 2.75.5 + '@rollup/pluginutils': 3.1.0_rollup@2.75.6 + rollup: 2.75.6 dev: true /@rollup/plugin-commonjs/21.1.0_rollup@2.75.6: @@ -4235,19 +4294,19 @@ packages: rollup: 2.75.6 dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.75.5: + /@rollup/plugin-node-resolve/11.2.1_rollup@2.75.6: resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.75.5 + '@rollup/pluginutils': 3.1.0_rollup@2.75.6 '@types/resolve': 1.17.1 builtin-modules: 3.3.0 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.22.0 - rollup: 2.75.5 + rollup: 2.75.6 dev: true /@rollup/plugin-node-resolve/13.3.0_rollup@2.75.6: @@ -4265,26 +4324,14 @@ packages: rollup: 2.75.6 dev: true - /@rollup/plugin-replace/2.4.2_rollup@2.75.5: + /@rollup/plugin-replace/2.4.2_rollup@2.75.6: resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.75.5 + '@rollup/pluginutils': 3.1.0_rollup@2.75.6 magic-string: 0.25.9 - rollup: 2.75.5 - dev: true - - /@rollup/pluginutils/3.1.0_rollup@2.75.5: - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.75.5 + rollup: 2.75.6 dev: true /@rollup/pluginutils/3.1.0_rollup@2.75.6: @@ -4726,27 +4773,6 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@storybook/addons/6.5.7_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-tUZ2c1uegUcwY31ztNQZGU/HUwAEEGIR8fEOvvO8S0TNQGoo6cwFtZmWBh3mTSRGcmzK2SNBjFHZua5Ee9TefA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/api': 6.5.7_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channels': 6.5.7 - '@storybook/client-logger': 6.5.7 - '@storybook/core-events': 6.5.7 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.7_sfoxds7t5ydpegc3knd667wn6m - '@storybook/theming': 6.5.7_sfoxds7t5ydpegc3knd667wn6m - '@types/webpack-env': 1.16.4 - core-js: 3.22.2 - global: 4.4.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.9 - dev: true - /@storybook/addons/6.5.8_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-L3LmbsYP9tDHHvpr/yv8YuEkzym7SXp/jZ0km31tpG3EuZmgGu7MXPrZ2ymEw4PkAhQzztgRr23VTfKobGUojA==} peerDependencies: @@ -4822,33 +4848,6 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/api/6.5.7_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-QCNypz4X+lYuFW7EzvRPXMf8uS3gfSIV8sqXtEe5XoMb0HQXhy6AGU7/4iAeuUimtETqLTxq+kOxaSg4uPowxg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/channels': 6.5.7 - '@storybook/client-logger': 6.5.7 - '@storybook/core-events': 6.5.7 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.7_sfoxds7t5ydpegc3knd667wn6m - '@storybook/semver': 7.3.2 - '@storybook/theming': 6.5.7_sfoxds7t5ydpegc3knd667wn6m - core-js: 3.22.2 - fast-deep-equal: 3.1.3 - global: 4.4.0 - lodash: 4.17.21 - memoizerific: 1.11.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.9 - store2: 2.13.2 - telejson: 6.0.8 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/api/6.5.8_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-/MueV+wLCvy9gFA3ih4g7QYjDmn14i+D2ydonfaEC7R+agFGXxXwJGPKkz3yBNrRpNkBwcbY9mAmv8lE2AqgqQ==} peerDependencies: @@ -5025,14 +5024,6 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/channels/6.5.7: - resolution: {integrity: sha512-v880fWBpWgiWrDmZesTIstNfMZhrPfgXAtLNcL5Z89NAPahsHskOSszc0BDxKN3gb+ZeTKUqHxY57dQdp+1rhg==} - dependencies: - core-js: 3.22.2 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/channels/6.5.8: resolution: {integrity: sha512-fNql1lEIvWlI1NiRtwFMWOOvfW6qxgeSP6xoqiAJ0b+QYegEFG9UxJDuEvVHq++S81FulgQ5U+p+5R9XSV19tQ==} dependencies: @@ -5085,13 +5076,6 @@ packages: global: 4.4.0 dev: true - /@storybook/client-logger/6.5.7: - resolution: {integrity: sha512-ycDy1kXeXRg3djSTXRGMVxc0kvaWw/UhHDs2VGFmOPScsoeWpdbePHXJMFbsqippxuexpsofqTryBwH2b6BPhw==} - dependencies: - core-js: 3.22.2 - global: 4.4.0 - dev: true - /@storybook/client-logger/6.5.8: resolution: {integrity: sha512-dH6HSaVuOIMHy1+rpsqcD3SJxVZEEbuEtsNpdUGwLJaIuduhUJJpM2xQfUW0siZDyrgwoa+znll+G0YNUbv7sg==} dependencies: @@ -5328,12 +5312,6 @@ packages: core-js: 3.22.2 dev: true - /@storybook/core-events/6.5.7: - resolution: {integrity: sha512-epqYy67Ypry5QdCt7FpN57/X9uuS7R2+DLFORZIpL/SJG1dIdN4POQ1icWOhPzHl+eiSgaV7e2oPaUsN+LPhJQ==} - dependencies: - core-js: 3.22.2 - dev: true - /@storybook/core-events/6.5.8: resolution: {integrity: sha512-lzG4Lg65WFYvjs2k/E3CP4+eyPexEGrDyRMO9Pbj9H9x+eosYptauEbT/wXF83bmUWZKLWWVUAZX7hDcxBO8cw==} dependencies: @@ -5854,19 +5832,6 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@storybook/router/6.5.7_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-edWEdAb8O0rSgdXoBZDDuNlQg2cOmC/nJ6gXj9zBotzmXqsbxWyjKGooG1dU6dnKshUqE1RmWF7/N1WMluLf0A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/client-logger': 6.5.7 - core-js: 3.22.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.9 - dev: true - /@storybook/router/6.5.8_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-tseNJpZ2ZzVYowjekUMpGJVVRMrwOkttieD9mRbHrhh+2n7b+SoMKnuLi3ow0xeOyPL8ZDng2FgRjQzQHXA5Sw==} peerDependencies: @@ -6052,19 +6017,6 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@storybook/theming/6.5.7_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-6zp1V84DSBcS8BtFOCJlF2/nIonjQmr+dILPxaM3lCm/X003i2jAQrBKTfPlmzCeDn07PBhzHaRJ3wJskfmeNw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/client-logger': 6.5.7 - core-js: 3.22.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.9 - dev: true - /@storybook/theming/6.5.8_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-1VaKHqj38Ls1bJwDpg3+aEOlvVib/DCFkP6WYrP/AQtNAzxiyw5WkaoRlTVJZvCdu5TxjpG4O6/Ai5TI9QftIg==} peerDependencies: @@ -7473,7 +7425,7 @@ packages: vue: 3.2.37 vue-demi: 0.12.5_vue@3.2.37 - /@vueuse/integrations/8.5.0_axios@0.26.1+vue@3.2.37: + /@vueuse/integrations/8.5.0_axios@0.26.1: resolution: {integrity: sha512-tZNYg5T07OacF1x4evGoRZK1BMU0ge7MqF4tzR3eJLD0EPiq4jd6+HUzCloPtMZ14wNPwaP1B8xYUyYxucPJ3w==} peerDependencies: axios: '*' @@ -7508,10 +7460,10 @@ packages: '@vueuse/core': 8.5.0_vue@3.2.37 '@vueuse/shared': 8.5.0_vue@3.2.37 axios: 0.26.1 + vue: 3.2.37 vue-demi: 0.12.5_vue@3.2.37 transitivePeerDependencies: - '@vue/composition-api' - - vue dev: false /@vueuse/metadata/8.5.0: @@ -7821,7 +7773,7 @@ packages: symbol.prototype.description: 1.0.5 dev: true - /airbnb-prop-types/2.16.0_react@17.0.2: + /airbnb-prop-types/2.16.0_react@16.14.0: resolution: {integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==} peerDependencies: react: ^0.14 || ^15.0.0 || ^16.0.0-alpha @@ -7834,7 +7786,7 @@ packages: object.entries: 1.1.5 prop-types: 15.8.1 prop-types-exact: 1.2.0 - react: 17.0.2 + react: 16.14.0 react-is: 16.13.1 dev: true @@ -10957,7 +10909,7 @@ packages: engines: {node: '>=0.12'} dev: true - /enzyme-adapter-react-16/1.15.6_7ltvq4e2railvf5uya4ffxpe2a: + /enzyme-adapter-react-16/1.15.6_j6bpv5pizkyfppcg2tmva6pmii: resolution: {integrity: sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==} peerDependencies: enzyme: ^3.0.0 @@ -10965,31 +10917,31 @@ packages: react-dom: ^16.0.0-0 dependencies: enzyme: 3.11.0 - enzyme-adapter-utils: 1.14.0_react@17.0.2 + enzyme-adapter-utils: 1.14.0_react@16.14.0 enzyme-shallow-equal: 1.0.4 has: 1.0.3 object.assign: 4.1.2 object.values: 1.1.5 prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 react-is: 16.13.1 - react-test-renderer: 16.14.0_react@17.0.2 + react-test-renderer: 16.14.0_react@16.14.0 semver: 5.7.1 dev: true - /enzyme-adapter-utils/1.14.0_react@17.0.2: + /enzyme-adapter-utils/1.14.0_react@16.14.0: resolution: {integrity: sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==} peerDependencies: react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0 dependencies: - airbnb-prop-types: 2.16.0_react@17.0.2 + airbnb-prop-types: 2.16.0_react@16.14.0 function.prototype.name: 1.1.5 has: 1.0.3 object.assign: 4.1.2 object.fromentries: 2.0.5 prop-types: 15.8.1 - react: 17.0.2 + react: 16.14.0 semver: 5.7.1 dev: true @@ -12824,8 +12776,8 @@ packages: - encoding dev: true - /happy-dom/5.2.0: - resolution: {integrity: sha512-WbMaOZjadH7/c15U1I1GheswXX12g/QxTPjs9gYHZQGl+Xx9X5eQEj84BQ5ivjFLFR6oJ56lL5+jcesXP0FLjg==} + /happy-dom/5.3.1: + resolution: {integrity: sha512-zVb0VUIK73lMZR4e9ntaEQSRTf8/Rrz9MlO2VQMOn68aZAC3qoMPS/81Rkfva4vMR+bKXDqkeHiw7HumvvBmag==} dependencies: css.escape: 1.5.1 he: 1.2.0 @@ -15652,7 +15604,7 @@ packages: peerDependencies: msw: '>=0.35.0 <1.0.0' dependencies: - '@storybook/addons': 6.5.7_sfoxds7t5ydpegc3knd667wn6m + '@storybook/addons': 6.5.8_sfoxds7t5ydpegc3knd667wn6m is-node-process: 1.0.1 msw: 0.39.2 transitivePeerDependencies: @@ -15763,7 +15715,7 @@ packages: resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: true - /next/12.1.5_ezdxe4hg7n3pawg24sxf3xmgta: + /next/12.1.5_zpnidt7m3osuk7shl3s4oenomq: resolution: {integrity: sha512-YGHDpyfgCfnT5GZObsKepmRnne7Kzp7nGrac07dikhutWQug7hHg85/+sPJ4ZW5Q2pDkb+n0FnmLkmd44htIJQ==} engines: {node: '>=12.22.0'} hasBin: true @@ -15786,7 +15738,7 @@ packages: postcss: 8.4.5 react: 18.0.0 react-dom: 18.0.0_react@18.0.0 - styled-jsx: 5.0.1_uyynoipo3v3vrfv6si7tyrw7ku + styled-jsx: 5.0.1_react@18.0.0 optionalDependencies: '@next/swc-android-arm-eabi': 12.1.5 '@next/swc-android-arm64': 12.1.5 @@ -17243,6 +17195,17 @@ packages: - supports-color dev: true + /react-dom/16.14.0_react@16.14.0: + resolution: {integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==} + peerDependencies: + react: ^16.14.0 + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + prop-types: 15.8.1 + react: 16.14.0 + scheduler: 0.19.1 + /react-dom/17.0.2_react@17.0.2: resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} peerDependencies: @@ -17420,14 +17383,14 @@ packages: refractor: 3.6.0 dev: true - /react-test-renderer/16.14.0_react@17.0.2: + /react-test-renderer/16.14.0_react@16.14.0: resolution: {integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==} peerDependencies: react: ^16.14.0 dependencies: object-assign: 4.1.1 prop-types: 15.8.1 - react: 17.0.2 + react: 16.14.0 react-is: 16.13.1 scheduler: 0.19.1 dev: true @@ -17472,6 +17435,14 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false + /react/16.14.0: + resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + prop-types: 15.8.1 + /react/17.0.2: resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} engines: {node: '>=0.10.0'} @@ -17585,7 +17556,7 @@ packages: decimal.js-light: 2.5.1 dev: false - /recharts/2.1.10_oxfzelaz5ynxsop2v2nu2h2m64: + /recharts/2.1.10_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-me6c8m2Gs88X/nuM2gDSTDIhpSLNMbiTrlE4Cu53hjZNegT3g3xLlTrbYSAQuBCFWuWJAZXCmEuMr6AwizLyaA==} engines: {node: '>=12'} peerDependencies: @@ -17598,6 +17569,7 @@ packages: d3-shape: 2.1.0 eventemitter3: 4.0.7 lodash: 4.17.21 + prop-types: 15.8.1 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-is: 16.13.1 @@ -17605,8 +17577,6 @@ packages: react-smooth: 2.0.0_oxfzelaz5ynxsop2v2nu2h2m64 recharts-scale: 0.4.5 reduce-css-calc: 2.1.8 - transitivePeerDependencies: - - prop-types dev: false /redent/1.0.0: @@ -17995,14 +17965,14 @@ packages: spdx-satisfies: 5.0.1 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.75.5: + /rollup-plugin-terser/7.0.2_rollup@2.75.6: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 dependencies: '@babel/code-frame': 7.16.7 jest-worker: 26.6.2 - rollup: 2.75.5 + rollup: 2.75.6 serialize-javascript: 4.0.0 terser: 5.12.1 dev: true @@ -18033,13 +18003,6 @@ packages: fsevents: 2.3.2 dev: true - /rollup/2.75.5: - resolution: {integrity: sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - /rollup/2.75.6: resolution: {integrity: sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==} engines: {node: '>=10.0.0'} @@ -18152,7 +18115,6 @@ packages: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - dev: true /scheduler/0.20.2: resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} @@ -18481,8 +18443,8 @@ packages: - supports-color dev: true - /solid-app-router/0.3.3_solid-js@1.4.3: - resolution: {integrity: sha512-JEn0gi6q8Pq9M2Ml3CLeNzenxuBrOrQg4aQyeIZTNjOAeEil/9YiaAJk+US78sIdVcqflTneN5KZgJMIGJ0rFQ==} + /solid-app-router/0.4.1_solid-js@1.4.3: + resolution: {integrity: sha512-RKHyFQ+J5lXyE/SoyJVHgTBeBck2etYVJn1/9F7ehlzyD2pIOMqLpNXD1GfWQljHqNdXZBSyE+xB/Cck5l9Q/g==} peerDependencies: solid-js: ^1.3.5 dependencies: @@ -18511,7 +18473,7 @@ packages: solid-js: 1.4.3 dev: true - /solid-start-node/0.1.0-alpha.82_rg23sq3othatmmcq7gaspvqd4y: + /solid-start-node/0.1.0-alpha.82_qvworw424gikhemp7joh3g3msi: resolution: {integrity: sha512-v0S/y260wcFBNSZ9gShJvZjw6MWD8OfHHruPqDWgzquD0izCXtYfAoU6+YpkejF482Nt/ZfPWXB5LKR+3GdxrQ==} requiresBuild: true peerDependencies: @@ -18526,7 +18488,7 @@ packages: polka: 1.0.0-next.22 rollup: 2.75.6 sirv: 1.0.19 - solid-start: 0.1.0-alpha.88_rr56xi33h37vhc4tv5jhq4mlhy + solid-start: 0.1.0-alpha.89_cx4i3ppfurm56vukdsqk745yba undici: 4.16.0 vite: 2.9.10 transitivePeerDependencies: @@ -18534,11 +18496,11 @@ packages: dev: true optional: true - /solid-start/0.1.0-alpha.88_rr56xi33h37vhc4tv5jhq4mlhy: - resolution: {integrity: sha512-sML6krhbYg0oW+UVnVA0XIJjiXifP7GWKMwAKMyx9Ut9mYPiLhGTq61NEzSMr34F2z3SUq2PK9XmvvSCqMt+AA==} + /solid-start/0.1.0-alpha.89_cx4i3ppfurm56vukdsqk745yba: + resolution: {integrity: sha512-ZTVLt9eUAAGLkwt6UKEp3pSYsoLKdR9uYJgSuiiRZryDUm2nOj32cG2vO52nL9FXx4vD5Kpdh5xl0vB5jL5I0Q==} hasBin: true peerDependencies: - solid-app-router: ^0.3.1 + solid-app-router: ^0.4.1 solid-js: ^1.4.0 solid-meta: ^0.27.2 vite: ^2.8.6 @@ -18563,7 +18525,7 @@ packages: rollup-route-manifest: 1.0.0_rollup@2.75.6 sade: 1.8.1 sirv: 1.0.19 - solid-app-router: 0.3.3_solid-js@1.4.3 + solid-app-router: 0.4.1_solid-js@1.4.3 solid-js: 1.4.3 solid-meta: 0.27.5_solid-js@1.4.3 undici: 4.16.0 @@ -18571,7 +18533,7 @@ packages: vite-plugin-inspect: 0.3.15_vite@2.9.10 vite-plugin-solid: 2.2.6 optionalDependencies: - solid-start-node: 0.1.0-alpha.82_rg23sq3othatmmcq7gaspvqd4y + solid-start-node: 0.1.0-alpha.82_qvworw424gikhemp7joh3g3msi transitivePeerDependencies: - less - sass @@ -19072,7 +19034,7 @@ packages: inline-style-parser: 0.1.1 dev: true - /styled-jsx/5.0.1_uyynoipo3v3vrfv6si7tyrw7ku: + /styled-jsx/5.0.1_react@18.0.0: resolution: {integrity: sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -19085,7 +19047,6 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.18.2 react: 18.0.0 dev: false @@ -19504,7 +19465,7 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /tr46/1.0.1: - resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=} + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.1.1 dev: true @@ -20107,7 +20068,7 @@ packages: - webpack dev: true - /unplugin-vue-components/0.19.6_wuxm4j6bgrlfg6ha3fbo625rke: + /unplugin-vue-components/0.19.6_vite@2.9.10+vue@3.2.37: resolution: {integrity: sha512-APvrJ9Hpid1MLT0G4PWerMJgARhNw6dzz0pcCwCxaO2DR7VyvDacMqjOQNC6ukq7FSw3wzD8VH+9i3EFXwkGmw==} engines: {node: '>=14'} peerDependencies: @@ -20129,7 +20090,7 @@ packages: magic-string: 0.26.2 minimatch: 5.0.1 resolve: 1.22.0 - unplugin: 0.6.3_rollup@2.75.5+vite@2.9.10 + unplugin: 0.6.3_vite@2.9.10 vue: 3.2.37 transitivePeerDependencies: - esbuild @@ -20194,30 +20155,6 @@ packages: webpack-virtual-modules: 0.4.3 dev: true - /unplugin/0.6.3_rollup@2.75.5+vite@2.9.10: - resolution: {integrity: sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==} - peerDependencies: - esbuild: '>=0.13' - rollup: ^2.50.0 - vite: ^2.3.0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - dependencies: - chokidar: 3.5.3 - rollup: 2.75.5 - vite: 2.9.10 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.4.3 - dev: true - /unplugin/0.6.3_rollup@2.75.6+vite@2.9.10: resolution: {integrity: sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==} peerDependencies: @@ -20266,7 +20203,7 @@ packages: dev: true /unset-value/1.0.0: - resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} dependencies: has-value: 0.3.1 @@ -20298,7 +20235,7 @@ packages: dev: true /urix/0.1.0: - resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} deprecated: Please see https://github.com/lydell/urix#deprecated dev: true @@ -20320,7 +20257,7 @@ packages: dev: true /url/0.11.0: - resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=} + resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} dependencies: punycode: 1.3.2 querystring: 0.2.0 @@ -20351,7 +20288,7 @@ packages: dev: true /util/0.10.3: - resolution: {integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk=} + resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} dependencies: inherits: 2.0.1 dev: true @@ -20655,17 +20592,17 @@ packages: esbuild: 0.14.42 postcss: 8.4.14 resolve: 1.22.0 - rollup: 2.75.5 + rollup: 2.75.6 optionalDependencies: fsevents: 2.3.2 - /vitepress/1.0.0-alpha.1_ohobp6rpsmerwlq5ipwfh5yigy: + /vitepress/1.0.0-alpha.1: resolution: {integrity: sha512-yA0QIl+mB3fQ2j+keQVa0DTT0waP2AeWM/p9VYfUAT9vOkQEGass4/oYmMGPCQrBwCaO3cpOxJL3ZFVooyvybQ==} engines: {node: '>=14.6.0'} hasBin: true dependencies: '@docsearch/css': 3.1.0 - '@docsearch/js': 3.1.0_ohobp6rpsmerwlq5ipwfh5yigy + '@docsearch/js': 3.1.0 '@vitejs/plugin-vue': 2.3.3_vite@2.9.10+vue@3.2.37 '@vueuse/core': 8.6.0_vue@3.2.37 body-scroll-lock: 4.0.0-beta.0 @@ -20673,11 +20610,8 @@ packages: vite: 2.9.10 vue: 3.2.37 transitivePeerDependencies: - - '@types/react' - '@vue/composition-api' - less - - react - - react-dom - sass - stylus dev: true @@ -21100,7 +21034,7 @@ packages: dev: true /wordwrap/1.0.0: - resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=} + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true /workbox-background-sync/6.5.3: @@ -21124,9 +21058,9 @@ packages: '@babel/core': 7.18.2 '@babel/preset-env': 7.16.11_@babel+core@7.18.2 '@babel/runtime': 7.17.9 - '@rollup/plugin-babel': 5.3.1_xrrjiapkmykkmovg76xtzegu3a - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.75.5 - '@rollup/plugin-replace': 2.4.2_rollup@2.75.5 + '@rollup/plugin-babel': 5.3.1_wwj6nrjtrryxuar2uaqwelbtjy + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.75.6 + '@rollup/plugin-replace': 2.4.2_rollup@2.75.6 '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.11.0 common-tags: 1.8.2 @@ -21135,8 +21069,8 @@ packages: glob: 7.2.3 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 2.75.5 - rollup-plugin-terser: 7.0.2_rollup@2.75.5 + rollup: 2.75.6 + rollup-plugin-terser: 7.0.2_rollup@2.75.6 source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 diff --git a/test/vite-node/package.json b/test/vite-node/package.json new file mode 100644 index 000000000000..4a91e74b3c2a --- /dev/null +++ b/test/vite-node/package.json @@ -0,0 +1,13 @@ +{ + "name": "@vitest/test-vite-node", + "private": true, + "scripts": { + "test": "vitest", + "coverage": "vitest run --coverage" + }, + "devDependencies": { + "vite": "^2.9.10", + "vitest": "workspace:*", + "vite-node": "workspace:*" + } +} diff --git a/test/vite-node/test/server.test.ts b/test/vite-node/test/server.test.ts new file mode 100644 index 000000000000..9540576fcc6f --- /dev/null +++ b/test/vite-node/test/server.test.ts @@ -0,0 +1,29 @@ +import type { ViteDevServer } from 'vite' +import { ViteNodeServer } from 'vite-node/server' +import { describe, expect, test, vi } from 'vitest' + +const mockDevServer = (options: any = {}) => { + return options as ViteDevServer +} + +describe('server works correctly', async () => { + test('resolve id considers transform mode', async () => { + const resolveId = vi.fn() + + const vnServer = new ViteNodeServer(mockDevServer({ + pluginContainer: { resolveId }, + config: {}, + }), { + transformMode: { + web: [/web/], + ssr: [/ssr/], + }, + }) + + await vnServer.resolveId('/web path') + expect(resolveId).toHaveBeenCalledWith('/web path', undefined, { ssr: false }) + + await vnServer.resolveId('/ssr path') + expect(resolveId).toHaveBeenCalledWith('/ssr path', undefined, { ssr: true }) + }) +}) diff --git a/test/vite-node/vitest.config.ts b/test/vite-node/vitest.config.ts new file mode 100644 index 000000000000..1515dfeb73a4 --- /dev/null +++ b/test/vite-node/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + clearMocks: true, + }, +}) From 085b0a51ecdd53f8ee425953498943346ef81f3d Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Sun, 19 Jun 2022 15:18:41 +0300 Subject: [PATCH 3/5] chore: cleanup --- test/vite-node/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/vite-node/package.json b/test/vite-node/package.json index 4a91e74b3c2a..6cc633488489 100644 --- a/test/vite-node/package.json +++ b/test/vite-node/package.json @@ -7,7 +7,7 @@ }, "devDependencies": { "vite": "^2.9.10", - "vitest": "workspace:*", - "vite-node": "workspace:*" + "vite-node": "workspace:*", + "vitest": "workspace:*" } } From 2225b5786717d67872fe45abf8961216cd123772 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Mon, 20 Jun 2022 14:05:20 +0300 Subject: [PATCH 4/5] chore: use importer to get transform mode when resolving id --- packages/vite-node/src/server.ts | 2 +- test/vite-node/test/server.test.ts | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/vite-node/src/server.ts b/packages/vite-node/src/server.ts index 066019c7557d..929b663c33c3 100644 --- a/packages/vite-node/src/server.ts +++ b/packages/vite-node/src/server.ts @@ -54,7 +54,7 @@ export class ViteNodeServer { async resolveId(id: string, importer?: string): Promise { if (importer && !importer.startsWith(this.server.config.root)) importer = join(this.server.config.root, importer) - const mode = this.getTransformMode(id) + const mode = (importer && this.getTransformMode(importer)) || 'ssr' return this.server.pluginContainer.resolveId(id, importer, { ssr: mode === 'ssr' }) } diff --git a/test/vite-node/test/server.test.ts b/test/vite-node/test/server.test.ts index 9540576fcc6f..9e407dad3c9a 100644 --- a/test/vite-node/test/server.test.ts +++ b/test/vite-node/test/server.test.ts @@ -12,7 +12,9 @@ describe('server works correctly', async () => { const vnServer = new ViteNodeServer(mockDevServer({ pluginContainer: { resolveId }, - config: {}, + config: { + root: '/', + }, }), { transformMode: { web: [/web/], @@ -20,10 +22,10 @@ describe('server works correctly', async () => { }, }) - await vnServer.resolveId('/web path') - expect(resolveId).toHaveBeenCalledWith('/web path', undefined, { ssr: false }) + await vnServer.resolveId('/path', '/web path') + expect(resolveId).toHaveBeenCalledWith('/path', '/web path', { ssr: false }) - await vnServer.resolveId('/ssr path') - expect(resolveId).toHaveBeenCalledWith('/ssr path', undefined, { ssr: true }) + await vnServer.resolveId('/ssr', '/ssr path') + expect(resolveId).toHaveBeenCalledWith('/ssr', '/ssr path', { ssr: true }) }) }) From b986d2547bd294a3bd024996afaf74562ac496c0 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Tue, 21 Jun 2022 12:03:06 +0300 Subject: [PATCH 5/5] chore: update lockfile --- pnpm-lock.yaml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9224e20df87..8de30507a22a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18119,13 +18119,6 @@ packages: fsevents: 2.3.2 dev: true - /rollup/2.75.5: - resolution: {integrity: sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - /rollup/2.75.7: resolution: {integrity: sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==} engines: {node: '>=10.0.0'} @@ -20760,7 +20753,7 @@ packages: esbuild: 0.14.42 postcss: 8.4.14 resolve: 1.22.0 - rollup: 2.75.6 + rollup: 2.75.7 optionalDependencies: fsevents: 2.3.2