From b097cef8f42b550a62c000a48e5252de43718221 Mon Sep 17 00:00:00 2001 From: rxliuli Date: Thu, 15 Jun 2023 19:33:03 +0800 Subject: [PATCH] fix(vite-node): fix errors caused by commonjs export circular references (#3570) --- packages/vite-node/src/client.ts | 2 +- pnpm-lock.yaml | 399 +++++++++++---------- test/vite-node/package.json | 2 + test/vite-node/src/self-export-example1.ts | 9 + test/vite-node/src/self-export-example2.ts | 4 + test/vite-node/src/self-export.d.ts | 7 + test/vite-node/src/self-export.js | 3 + test/vite-node/test/self-export.test.ts | 24 ++ 8 files changed, 251 insertions(+), 199 deletions(-) create mode 100644 test/vite-node/src/self-export-example1.ts create mode 100644 test/vite-node/src/self-export-example2.ts create mode 100644 test/vite-node/src/self-export.d.ts create mode 100644 test/vite-node/src/self-export.js create mode 100644 test/vite-node/test/self-export.test.ts diff --git a/packages/vite-node/src/client.ts b/packages/vite-node/src/client.ts index f584feb8ed47..cd7101506a5a 100644 --- a/packages/vite-node/src/client.ts +++ b/packages/vite-node/src/client.ts @@ -330,7 +330,7 @@ export class ViteNodeRunner { set: (_, p, value) => { // treat "module.exports =" the same as "exports.default =" to not have nested "default.default", // so "exports.default" becomes the actual module - if (p === 'default' && this.shouldInterop(modulePath, { default: value })) { + if (p === 'default' && this.shouldInterop(modulePath, { default: value }) && cjsExports !== value) { exportAll(cjsExports, value) exports.default = value return true diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4dd98e1655db..10547219d2c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -325,10 +325,10 @@ importers: version: 13.3.0(react-dom@18.0.0)(react@18.0.0) '@types/node': specifier: latest - version: 20.2.5 + version: 20.3.1 '@types/react': specifier: latest - version: 18.2.9 + version: 18.2.12 '@vitejs/plugin-react': specifier: latest version: 4.0.0(vite@4.3.9) @@ -395,7 +395,7 @@ importers: version: link:../../packages/ui happy-dom: specifier: latest - version: 9.20.3 + version: 9.18.3 jsdom: specifier: latest version: 22.1.0 @@ -804,10 +804,10 @@ importers: version: 22.1.0 unplugin-auto-import: specifier: latest - version: 0.16.4(rollup@3.20.2) + version: 0.15.3(@vueuse/core@10.1.2)(rollup@3.20.2) unplugin-vue-components: specifier: latest - version: 0.25.1(rollup@3.20.2)(vue@3.3.4) + version: 0.24.1(rollup@3.20.2)(vue@3.3.4) vite: specifier: ^4.3.9 version: 4.3.9(@types/node@18.16.3) @@ -1513,7 +1513,7 @@ importers: version: link:../../packages/vitest webdriverio: specifier: latest - version: 8.10.7(typescript@5.0.4) + version: 8.10.2(typescript@5.0.4) test/base: devDependencies: @@ -1636,7 +1636,7 @@ importers: version: 2.3.2(vue@3.3.4) happy-dom: specifier: latest - version: 9.20.3 + version: 9.18.3 istanbul-lib-coverage: specifier: ^3.2.0 version: 3.2.0 @@ -1651,7 +1651,7 @@ importers: version: 3.3.4 webdriverio: specifier: latest - version: 8.10.7(typescript@5.0.4) + version: 8.10.2(typescript@5.0.4) test/css: devDependencies: @@ -1902,9 +1902,15 @@ importers: test/vite-node: devDependencies: + '@types/inquirer': + specifier: ^9.0.3 + version: 9.0.3 execa: specifier: ^6.1.0 version: 6.1.0 + inquirer: + specifier: ^9.2.7 + version: 9.2.7 vite-node: specifier: workspace:* version: link:../../packages/vite-node @@ -1925,7 +1931,7 @@ importers: version: link:../../packages/vitest webdriverio: specifier: latest - version: 8.10.7(typescript@5.0.4) + version: 8.10.2(typescript@5.0.4) test/web-worker: devDependencies: @@ -2194,10 +2200,6 @@ packages: resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} dev: true - /@antfu/utils@0.7.2: - resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} - dev: true - /@antfu/utils@0.7.4: resolution: {integrity: sha512-qe8Nmh9rYI/HIspLSTwtbMFPj6dISG6+dJnOguTlPNXtCvS2uezdxscVBb7/3DrmNbQK49TDqpkSQ1chbRGdpQ==} dev: true @@ -5625,7 +5627,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -5646,7 +5648,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -5683,7 +5685,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 jest-mock: 27.5.1 dev: true @@ -5700,7 +5702,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.2.5 + '@types/node': 20.3.1 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -5729,7 +5731,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -5843,7 +5845,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/yargs': 15.0.14 chalk: 4.1.2 dev: true @@ -5854,7 +5856,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -5866,7 +5868,7 @@ packages: '@jest/schemas': 29.0.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/yargs': 17.0.12 chalk: 4.1.2 dev: true @@ -6386,7 +6388,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 playwright-core: 1.28.0 dev: true @@ -6459,8 +6461,8 @@ packages: - supports-color dev: true - /@puppeteer/browsers@1.3.0(typescript@5.0.4): - resolution: {integrity: sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==} + /@puppeteer/browsers@1.0.1(typescript@5.0.4): + resolution: {integrity: sha512-9wkYhON9zBgtjYRE3FcokGCfjG25zjzNAYmsHpiWitRZ/4DeT3v125/fCUU66SaPJ4nUsxGNPgpS1TOcQ+8StA==} engines: {node: '>=16.0.0'} hasBin: true peerDependencies: @@ -8404,7 +8406,7 @@ packages: /@types/cheerio@0.22.31: resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/codemirror@5.60.7: @@ -8443,7 +8445,7 @@ packages: resolution: {integrity: sha512-xryQlOEIe1TduDWAOphR0ihfebKFSWOXpIsk+70JskCfRfW+xALdnJ0r1ZOTo85F9Qsjk6vtlU7edTYHbls9tA==} dependencies: '@types/cheerio': 0.22.31 - '@types/react': 18.2.9 + '@types/react': 18.2.12 dev: true /@types/eslint-scope@3.7.4: @@ -8475,33 +8477,33 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/glob@8.0.0: resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} dependencies: '@types/minimatch': 5.1.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/graceful-fs@4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/hast@2.3.4: @@ -8518,6 +8520,13 @@ packages: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true + /@types/inquirer@9.0.3: + resolution: {integrity: sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==} + dependencies: + '@types/through': 0.0.30 + rxjs: 7.8.1 + dev: true + /@types/is-function@1.0.1: resolution: {integrity: sha512-A79HEEiwXTFtfY+Bcbo58M2GRYzCr9itHWzbzHVFNEYCcoU/MMGwYYf721gBrnhpj1s6RGVVha/IgNFnR0Iw/Q==} dev: true @@ -8566,7 +8575,7 @@ packages: /@types/jsdom@21.1.1: resolution: {integrity: sha512-cZFuoVLtzKP3gmq9eNosUL1R50U+USkbLtUQ1bYVgl/lKp0FZM7Cq4aIHAL8oIvQ17uSHi7jXPtfDOdjPwBE7A==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -8582,7 +8591,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/lodash@4.14.194: @@ -8616,7 +8625,7 @@ packages: /@types/node-fetch@2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 form-data: 3.0.1 dev: true @@ -8635,8 +8644,8 @@ packages: resolution: {integrity: sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==} dev: false - /@types/node@20.2.5: - resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} + /@types/node@20.3.1: + resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==} dev: true /@types/normalize-package-data@2.4.1: @@ -8665,7 +8674,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 kleur: 3.0.3 dev: true @@ -8689,19 +8698,19 @@ packages: /@types/react-dom@18.0.6: resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} dependencies: - '@types/react': 18.2.9 + '@types/react': 18.2.12 dev: true /@types/react-dom@18.0.8: resolution: {integrity: sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw==} dependencies: - '@types/react': 18.2.9 + '@types/react': 18.2.12 dev: true /@types/react-is@17.0.3: resolution: {integrity: sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==} dependencies: - '@types/react': 18.2.9 + '@types/react': 18.2.12 dev: false /@types/react-test-renderer@17.0.2: @@ -8713,7 +8722,7 @@ packages: /@types/react-transition-group@4.4.5: resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==} dependencies: - '@types/react': 18.2.9 + '@types/react': 18.2.12 dev: false /@types/react@17.0.49: @@ -8732,8 +8741,8 @@ packages: csstype: 3.1.0 dev: true - /@types/react@18.2.9: - resolution: {integrity: sha512-pL3JAesUkF7PEQGxh5XOwdXGV907te6m1/Qe1ERJLgomojS6Ne790QiA7GUl434JEkFA2aAaB6qJ5z4e1zJn/w==} + /@types/react@18.2.12: + resolution: {integrity: sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 @@ -8742,7 +8751,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/resolve@1.20.2: @@ -8759,7 +8768,7 @@ packages: /@types/set-cookie-parser@2.4.2: resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/sinonjs__fake-timers@8.1.1: @@ -8798,6 +8807,12 @@ packages: '@types/jest': 29.0.0 dev: true + /@types/through@0.0.30: + resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} + dependencies: + '@types/node': 20.3.1 + dev: true + /@types/tough-cookie@4.0.2: resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} dev: true @@ -8833,7 +8848,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -8841,7 +8856,7 @@ packages: /@types/webpack@4.41.32: resolution: {integrity: sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.0 '@types/webpack-sources': 3.2.0 @@ -8856,7 +8871,7 @@ packages: /@types/ws@8.5.4: resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@types/yargs-parser@21.0.0: @@ -8885,7 +8900,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true optional: true @@ -9299,7 +9314,7 @@ packages: '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.4) '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.4) react-refresh: 0.14.0 - vite: 4.3.9(@types/node@20.2.5) + vite: 4.3.9(@types/node@20.3.1) transitivePeerDependencies: - supports-color dev: true @@ -9854,13 +9869,13 @@ packages: vue-demi: 0.14.0(vue@3.2.39) dev: false - /@wdio/config@8.10.7: - resolution: {integrity: sha512-m7JX9X/RPM+4KZQkSUhPHXeS3PJJky0UB62ZLh28TYCzVxEKNq1gFb6Cvqfn+w6Ym/UCFBaZzDrRLLXUAgUifw==} + /@wdio/config@8.10.2: + resolution: {integrity: sha512-CBPyxay3vVlAnwF+Dv2zsM4QMOVg8rOiD1HAdm9BilwbID2RnLF5i0IYNIFsAblhSZQhXkn5BXAcFSEIVHwOgA==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.10.6 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.10.7 + '@wdio/logger': 8.6.6 + '@wdio/types': 8.10.2 + '@wdio/utils': 8.10.2 decamelize: 6.0.0 deepmerge-ts: 5.0.0 glob: 10.2.2 @@ -9882,16 +9897,6 @@ packages: read-pkg-up: 9.1.0 dev: true - /@wdio/logger@8.10.6: - resolution: {integrity: sha512-pJYKecNYS0vu0FxDaii6MYQlYkORDLGdRWi70hrihH20sMZofzMA1tvzRMRk1VTrsUUE4TLJXKdmT2JRMN+OPw==} - engines: {node: ^16.13 || >=18} - dependencies: - chalk: 5.2.0 - loglevel: 1.8.1 - loglevel-plugin-prefix: 0.8.4 - strip-ansi: 7.1.0 - dev: true - /@wdio/logger@8.6.6: resolution: {integrity: sha512-MS+Y5yqFGx2zVXMOfuBQAVdFsP4DuYz+/hM552xwiDWjGg6EZHoccqUYgH3J5zpu3JFpYV3R/a5jExFiGGck6g==} engines: {node: ^16.13 || >=18} @@ -9914,7 +9919,7 @@ packages: resolution: {integrity: sha512-VZ1WFHTNKjR8Ga97TtV2SZM6fvRjWbYI2i/f4pJB4PtusorKvONAMJf2LQcUBIyzbVobqr7KSrcjmSwRolI+yw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@wdio/repl@8.6.6: @@ -9924,11 +9929,11 @@ packages: '@types/node': 18.16.3 dev: true - /@wdio/types@8.10.4: - resolution: {integrity: sha512-aLJ1QQW+hhALeRK3bvMLjIrlUVyhOs3Od+91pR4Z4pLwyeNG1bJZCJRD5bAJK/mm7CnFa0NsdixPS9jJxZcRrw==} + /@wdio/types@8.10.2: + resolution: {integrity: sha512-d0oWX82CVE4Z7ipD2GpPhaeFKh7JDaDNzgiQpPYkS74TBSqQV+yrqvqRlrmHD4nmRgFwnjtD8AFOo7ackeURhg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /@wdio/types@8.8.7: @@ -9938,12 +9943,12 @@ packages: '@types/node': 18.16.3 dev: true - /@wdio/utils@8.10.7: - resolution: {integrity: sha512-G9r/bQl4J25WPKeW0e+27gqNvG+x7MyZEOICl6SwyBe0SqO7JBFOBARx4oUEp2zQYmnCRNtCrHa7yM/O4OPuKA==} + /@wdio/utils@8.10.2: + resolution: {integrity: sha512-lMIqztb4Mmi2arsM089SDfubx9v0/a/7Ul+vMOt7P19ZEogiWnbELmIs/CaVOxjEcgaNjXM2s56ORKnAObJfgg==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.10.6 - '@wdio/types': 8.10.4 + '@wdio/logger': 8.6.6 + '@wdio/types': 8.10.2 import-meta-resolve: 3.0.0 p-iteration: 1.1.8 dev: true @@ -11904,7 +11909,7 @@ packages: engines: {node: '>=12.13.0'} hasBin: true dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.3.0 @@ -11926,8 +11931,8 @@ packages: mitt: 3.0.0 dev: true - /chromium-bidi@0.4.9(devtools-protocol@0.0.1120988): - resolution: {integrity: sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==} + /chromium-bidi@0.4.7(devtools-protocol@0.0.1120988): + resolution: {integrity: sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==} peerDependencies: devtools-protocol: '*' dependencies: @@ -12042,6 +12047,11 @@ packages: engines: {node: '>= 10'} dev: true + /cli-width@4.0.0: + resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} + engines: {node: '>= 12'} + dev: true + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -12462,14 +12472,6 @@ packages: transitivePeerDependencies: - encoding - /cross-fetch@3.1.6: - resolution: {integrity: sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==} - dependencies: - node-fetch: 2.6.11 - transitivePeerDependencies: - - encoding - dev: true - /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: @@ -13156,28 +13158,28 @@ packages: resolution: {integrity: sha512-LF+0k1kYkrx2dZsvjLyNY2ySydz4lCy/xFvjuI5mCFGnepk5hC9iXbsdFk6jYma0ZvXaTxl3sGTiVr/GC0knyQ==} dev: true - /devtools-protocol@0.0.1149535: - resolution: {integrity: sha512-vpM8tGaYz2nrN9n8rvUEhQCgU05ocejO5WIJySsftEHxUahQ/fWuNyPxXuQNBEmaISYyMZkxCunhjtSEyBl/Dg==} + /devtools-protocol@0.0.1138159: + resolution: {integrity: sha512-IVXe1ZEQJWkMkeg10hRoZu3luP054z8USOpBIyorCTTABKVg0gBGt4rmwjGmThMEKaTb4nEmjVJkZ3/YxU0whA==} dev: true /devtools-protocol@0.0.981744: resolution: {integrity: sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==} dev: true - /devtools@8.10.7(typescript@5.0.4): - resolution: {integrity: sha512-picJDxsjpaOW7gnQjcQVGDXvxuP1RZ4VNJpvJ+qiy86Gf3l4FGLKYkpJJFAMsIugL0XPs89bIVhjbtIv5NGL1w==} + /devtools@8.10.2(typescript@5.0.4): + resolution: {integrity: sha512-pvnTf0GtY1ILgBBxjGpQmwmiIklPQFQNirW4deluoLnhKLt6ekdKjYRLoK7goNN0rYPx7R/KK6Aqe5mgWKxBaA==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.2.5 - '@wdio/config': 8.10.7 - '@wdio/logger': 8.10.6 + '@types/node': 20.3.1 + '@wdio/config': 8.10.2 + '@wdio/logger': 8.6.6 '@wdio/protocols': 8.10.2 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.10.7 + '@wdio/types': 8.10.2 + '@wdio/utils': 8.10.2 chrome-launcher: 0.15.1 edge-paths: 3.0.5 import-meta-resolve: 3.0.0 - puppeteer-core: 20.3.0(typescript@5.0.4) + puppeteer-core: 20.1.1(typescript@5.0.4) query-selector-shadow-dom: 1.0.1 ua-parser-js: 1.0.34 uuid: 9.0.0 @@ -15091,6 +15093,14 @@ packages: escape-string-regexp: 1.0.5 dev: true + /figures@5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + dev: true + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -15889,8 +15899,8 @@ packages: whatwg-mimetype: 3.0.0 dev: true - /happy-dom@9.20.3: - resolution: {integrity: sha512-eBsgauT435fXFvQDNcmm5QbGtYzxEzOaX35Ia+h6yP/wwa4xSWZh1CfP+mGby8Hk6Xu59mTkpyf72rUXHNxY7A==} + /happy-dom@9.18.3: + resolution: {integrity: sha512-b7iMGYeIXvUryNultA0AHEVU0FPpb2djJ/xSVlMDfP7HG4z7FomdqkCEpWtSv1zDL+t1gRUoBbpqFCoUBvjYtg==} dependencies: css.escape: 1.5.1 entities: 4.5.0 @@ -16460,13 +16470,34 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.0 + rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 7.0.0 dev: true + /inquirer@9.2.7: + resolution: {integrity: sha512-Bf52lnfvNxGPJPltiNO2tLBp3zC339KNlGMqOkW+dsvNikBhcVDK5kqU2lVX2FTPzuXUFX5WJDlsw//w3ZwoTw==} + engines: {node: '>=14.18.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 5.2.0 + cli-cursor: 3.1.0 + cli-width: 4.0.0 + external-editor: 3.1.0 + figures: 5.0.0 + lodash: 4.17.21 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + dev: true + /internal-slot@1.0.3: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} @@ -16918,6 +16949,11 @@ packages: engines: {node: '>=10'} dev: true + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + /is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true @@ -17108,7 +17144,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -17244,7 +17280,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -17262,7 +17298,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -17283,7 +17319,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.5 - '@types/node': 20.2.5 + '@types/node': 20.3.1 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -17306,7 +17342,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.5 - '@types/node': 20.2.5 + '@types/node': 20.3.1 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -17346,7 +17382,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -17426,7 +17462,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -17487,7 +17523,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.10 @@ -17544,7 +17580,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 graceful-fs: 4.2.10 dev: true @@ -17552,7 +17588,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 graceful-fs: 4.2.10 dev: true @@ -17591,7 +17627,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 graceful-fs: 4.2.10 is-ci: 2.0.0 @@ -17603,7 +17639,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 ci-info: 3.7.0 graceful-fs: 4.2.10 @@ -17615,7 +17651,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.0.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 chalk: 4.1.2 ci-info: 3.7.0 graceful-fs: 4.2.10 @@ -17640,7 +17676,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.2.5 + '@types/node': 20.3.1 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -17651,7 +17687,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -17660,7 +17696,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -18215,7 +18251,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.8.0 + rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -18234,7 +18270,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.8.0 + rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -19176,6 +19212,11 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -20745,8 +20786,8 @@ packages: - utf-8-validate dev: true - /puppeteer-core@20.3.0(typescript@5.0.4): - resolution: {integrity: sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==} + /puppeteer-core@20.1.1(typescript@5.0.4): + resolution: {integrity: sha512-iB9F2Om8J+nU4qi30oYw0hMWOw6eQN7kFkLLI/u3UvxONOCx5o0KmM6+byaK2/QGIuQu2ly1mPaJnC1DyoW07Q==} engines: {node: '>=16.0.0'} peerDependencies: typescript: '>= 4.7.4' @@ -20754,12 +20795,17 @@ packages: typescript: optional: true dependencies: - '@puppeteer/browsers': 1.3.0(typescript@5.0.4) - chromium-bidi: 0.4.9(devtools-protocol@0.0.1120988) - cross-fetch: 3.1.6 + '@puppeteer/browsers': 1.0.1(typescript@5.0.4) + chromium-bidi: 0.4.7(devtools-protocol@0.0.1120988) + cross-fetch: 3.1.5 debug: 4.3.4(supports-color@8.1.1) devtools-protocol: 0.0.1120988 + extract-zip: 2.0.1(supports-color@8.1.1) + https-proxy-agent: 5.0.1 + proxy-from-env: 1.1.0 + tar-fs: 2.1.1 typescript: 5.0.4 + unbzip2-stream: 1.4.3 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -21798,6 +21844,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + dev: true + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -21809,8 +21860,8 @@ packages: aproba: 1.2.0 dev: true - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.5.3 dev: true @@ -22715,13 +22766,6 @@ packages: ansi-regex: 6.0.1 dev: true - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - /strip-bom@2.0.0: resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} engines: {node: '>=0.10.0'} @@ -23792,24 +23836,6 @@ packages: vfile: 4.2.1 dev: true - /unimport@3.0.6(rollup@3.20.2): - resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==} - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) - escape-string-regexp: 5.0.0 - fast-glob: 3.2.12 - local-pkg: 0.4.3 - magic-string: 0.30.0 - mlly: 1.2.0 - pathe: 1.1.0 - pkg-types: 1.0.3 - scule: 1.0.0 - strip-literal: 1.0.1 - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - dev: true - /unimport@3.0.7(rollup@3.20.2): resolution: {integrity: sha512-2dVQUxJEGcrSZ0U4qtwJVODrlfyGcwmIOoHVqbAFFUx7kPoEN5JWr1cZFhLwoAwTmZOvqAm3YIkzv1engIQocg==} dependencies: @@ -24003,30 +24029,6 @@ packages: /unplugin-auto-import@0.15.3(@vueuse/core@10.1.2)(rollup@3.20.2): resolution: {integrity: sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==} engines: {node: '>=14'} - peerDependencies: - '@nuxt/kit': ^3.2.2 - '@vueuse/core': '*' - peerDependenciesMeta: - '@nuxt/kit': - optional: true - '@vueuse/core': - optional: true - dependencies: - '@antfu/utils': 0.7.2 - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) - '@vueuse/core': 10.1.2(vue@3.2.47) - local-pkg: 0.4.3 - magic-string: 0.30.0 - minimatch: 9.0.0 - unimport: 3.0.6(rollup@3.20.2) - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - dev: true - - /unplugin-auto-import@0.16.4(rollup@3.20.2): - resolution: {integrity: sha512-xdgBa9NAS3JG8HjkAZHSbGSMlrjKpaWKXGUzaF6RzEtr980RCl1t0Zsu0skUInNYrEQfqaHc7aGWPv41DLTK/w==} - engines: {node: '>=14'} peerDependencies: '@nuxt/kit': ^3.2.2 '@vueuse/core': '*' @@ -24038,6 +24040,7 @@ packages: dependencies: '@antfu/utils': 0.7.4 '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@vueuse/core': 10.1.2(vue@3.2.47) local-pkg: 0.4.3 magic-string: 0.30.0 minimatch: 9.0.1 @@ -24060,7 +24063,7 @@ packages: '@nuxt/kit': optional: true dependencies: - '@antfu/utils': 0.7.2 + '@antfu/utils': 0.7.4 '@rollup/pluginutils': 5.0.2(rollup@2.79.1) chokidar: 3.5.3 debug: 4.3.4(supports-color@8.1.1) @@ -24068,7 +24071,7 @@ packages: local-pkg: 0.4.3 magic-string: 0.30.0 minimatch: 7.4.2 - resolve: 1.22.1 + resolve: 1.22.2 unplugin: 1.3.1 vue: 3.3.4 transitivePeerDependencies: @@ -24089,7 +24092,7 @@ packages: '@nuxt/kit': optional: true dependencies: - '@antfu/utils': 0.7.2 + '@antfu/utils': 0.7.4 '@rollup/pluginutils': 5.0.2(rollup@3.20.2) chokidar: 3.5.3 debug: 4.3.4(supports-color@8.1.1) @@ -24097,7 +24100,7 @@ packages: local-pkg: 0.4.3 magic-string: 0.30.0 minimatch: 7.4.2 - resolve: 1.22.1 + resolve: 1.22.2 unplugin: 1.3.1 vue: 3.2.47 transitivePeerDependencies: @@ -24105,8 +24108,8 @@ packages: - supports-color dev: true - /unplugin-vue-components@0.25.1(rollup@3.20.2)(vue@3.3.4): - resolution: {integrity: sha512-kzS2ZHVMaGU2XEO2keYQcMjNZkanDSGDdY96uQT9EPe+wqSZwwgbFfKVJ5ti0+8rGAcKHColwKUvctBhq2LJ3A==} + /unplugin-vue-components@0.24.1(rollup@3.20.2)(vue@3.3.4): + resolution: {integrity: sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -24125,7 +24128,7 @@ packages: fast-glob: 3.2.12 local-pkg: 0.4.3 magic-string: 0.30.0 - minimatch: 9.0.1 + minimatch: 7.4.2 resolve: 1.22.2 unplugin: 1.3.1 vue: 3.3.4 @@ -24503,7 +24506,7 @@ packages: fsevents: 2.3.2 dev: false - /vite@4.3.9(@types/node@20.2.5): + /vite@4.3.9(@types/node@20.3.1): resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -24528,7 +24531,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 esbuild: 0.17.18 postcss: 8.4.24 rollup: 3.23.0 @@ -24843,17 +24846,17 @@ packages: resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} dev: true - /webdriver@8.10.7: - resolution: {integrity: sha512-pBy29S9e8IYKYHfS0gp91Jp9SUvXJQckJKJdj+VNLNL9toSFo10N7xRpv8W1f7HkniXrgESi9GHYNyc1J/5lLA==} + /webdriver@8.10.2: + resolution: {integrity: sha512-xwoY+JtmEwN9hFx00V08PBlLLbuOHnPcO78ImPn6IzlhDW960f/6C8fzP0oiJkDyjQ7U81gHU6Mjkp/tBNpKEQ==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.2.5 + '@types/node': 20.3.1 '@types/ws': 8.5.4 - '@wdio/config': 8.10.7 - '@wdio/logger': 8.10.6 + '@wdio/config': 8.10.2 + '@wdio/logger': 8.6.6 '@wdio/protocols': 8.10.2 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.10.7 + '@wdio/types': 8.10.2 + '@wdio/utils': 8.10.2 deepmerge-ts: 5.0.0 got: 12.6.1 ky: 0.33.3 @@ -24883,35 +24886,35 @@ packages: - utf-8-validate dev: true - /webdriverio@8.10.7(typescript@5.0.4): - resolution: {integrity: sha512-TkkPE3zBxdLRdcsNLqHct2OARnfMYB9/A0ri4sccmc3C3dVFiW99NAstN88nzD1SYzXAbxALRuITVd5oswqqhg==} + /webdriverio@8.10.2(typescript@5.0.4): + resolution: {integrity: sha512-VrA9oFI17sBhPDvMwywve4CwODHi5FEzjn9gyInN7Nv+6tVaDC+PVGsKV7ZQQSj5C0bzPCn3IgXSoM1Qqn3XeQ==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.2.5 - '@wdio/config': 8.10.7 - '@wdio/logger': 8.10.6 + '@types/node': 20.3.1 + '@wdio/config': 8.10.2 + '@wdio/logger': 8.6.6 '@wdio/protocols': 8.10.2 '@wdio/repl': 8.10.1 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.10.7 + '@wdio/types': 8.10.2 + '@wdio/utils': 8.10.2 archiver: 5.3.1 aria-query: 5.0.2 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools: 8.10.7(typescript@5.0.4) - devtools-protocol: 0.0.1149535 + devtools: 8.10.2(typescript@5.0.4) + devtools-protocol: 0.0.1138159 grapheme-splitter: 1.0.4 import-meta-resolve: 3.0.0 is-plain-obj: 4.1.0 lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 minimatch: 9.0.1 - puppeteer-core: 20.3.0(typescript@5.0.4) + puppeteer-core: 20.1.1(typescript@5.0.4) query-selector-shadow-dom: 1.0.1 resq: 1.11.0 rgb2hex: 0.2.5 serialize-error: 8.1.0 - webdriver: 8.10.7 + webdriver: 8.10.2 transitivePeerDependencies: - bufferutil - encoding diff --git a/test/vite-node/package.json b/test/vite-node/package.json index da3081719db5..7f9c4e573b3e 100644 --- a/test/vite-node/package.json +++ b/test/vite-node/package.json @@ -9,7 +9,9 @@ "debug": "node --inspect-brk ../../packages/vite-node/dist/cli.cjs" }, "devDependencies": { + "@types/inquirer": "^9.0.3", "execa": "^6.1.0", + "inquirer": "^9.2.7", "vite-node": "workspace:*", "vitest": "workspace:*" } diff --git a/test/vite-node/src/self-export-example1.ts b/test/vite-node/src/self-export-example1.ts new file mode 100644 index 000000000000..916be0cc7bae --- /dev/null +++ b/test/vite-node/src/self-export-example1.ts @@ -0,0 +1,9 @@ +// const ansiEscapes = module.exports +// module.exports.default = ansiEscapes +// ansiEscapes.HelloWorld = 1 +// console.log(ansiEscapes.HelloWorld); + +import inquirer from 'inquirer' + +// eslint-disable-next-line no-console +console.log(inquirer.prompt) diff --git a/test/vite-node/src/self-export-example2.ts b/test/vite-node/src/self-export-example2.ts new file mode 100644 index 000000000000..bcd5b2df1972 --- /dev/null +++ b/test/vite-node/src/self-export-example2.ts @@ -0,0 +1,4 @@ +import ansiEscapes, { HelloWorld } from './self-export' + +// eslint-disable-next-line no-console +console.log(ansiEscapes, HelloWorld) diff --git a/test/vite-node/src/self-export.d.ts b/test/vite-node/src/self-export.d.ts new file mode 100644 index 000000000000..7bbc59f9d009 --- /dev/null +++ b/test/vite-node/src/self-export.d.ts @@ -0,0 +1,7 @@ +declare const ansiEscapes : { + HelloWorld: number +} +export default ansiEscapes + +declare const HelloWorld : number +export { HelloWorld } \ No newline at end of file diff --git a/test/vite-node/src/self-export.js b/test/vite-node/src/self-export.js new file mode 100644 index 000000000000..9c04868c3f27 --- /dev/null +++ b/test/vite-node/src/self-export.js @@ -0,0 +1,3 @@ +const ansiEscapes = module.exports +module.exports.default = ansiEscapes +ansiEscapes.HelloWorld = 1 diff --git a/test/vite-node/test/self-export.test.ts b/test/vite-node/test/self-export.test.ts new file mode 100644 index 000000000000..53cfc47dfff4 --- /dev/null +++ b/test/vite-node/test/self-export.test.ts @@ -0,0 +1,24 @@ +import { expect, it } from 'vitest' +import { execa } from 'execa' +import { resolve } from 'pathe' +import ansiEscapes, { HelloWorld } from '../src/self-export' + +it('should export self', () => { + expect(ansiEscapes.HelloWorld).eq(HelloWorld) + expect(Reflect.get(ansiEscapes, 'default').HelloWorld).eq(HelloWorld) + expect(HelloWorld).eq(1) +}) + +const cliPath = resolve(__dirname, '../../../packages/vite-node/src/cli.ts') + +it('example 1', async () => { + const entryPath = resolve(__dirname, '../src/self-export-example1.ts') + const result = await execa('npx', ['esno', cliPath, entryPath], { reject: true }) + expect(result.stdout).includes('Function') +}, 60_000) + +it('example 2', async () => { + const entryPath = resolve(__dirname, '../src/self-export-example2.ts') + const result = await execa('npx', ['esno', cliPath, entryPath], { reject: true }) + expect(result.stdout).includes('HelloWorld: 1').includes('default') +}, 60_000)