From a8c5638f0b75b0ca9419f946d23a5d327df9b70d Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Tue, 15 Aug 2023 13:41:02 +0200 Subject: [PATCH] test: add test for restricted test suite --- pnpm-lock.yaml | 208 +++++++++++++++------------- test/restricted/package.json | 12 ++ test/restricted/src/math.js | 3 + test/restricted/tests/basic.spec.js | 7 + test/restricted/vitest.config.ts | 29 ++++ test/restricted/vitest.setup.js | 1 + 6 files changed, 166 insertions(+), 94 deletions(-) create mode 100644 test/restricted/package.json create mode 100644 test/restricted/src/math.js create mode 100644 test/restricted/tests/basic.spec.js create mode 100644 test/restricted/vitest.config.ts create mode 100644 test/restricted/vitest.setup.js diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9b54a997e11..c15d3aae104f 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.4.6 + version: 20.5.0 '@types/react': specifier: latest - version: 18.2.18 + version: 18.2.20 '@vitejs/plugin-react': specifier: latest version: 4.0.4(vite@4.3.9) @@ -774,7 +774,7 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: latest - version: 2.4.3(svelte@4.0.5)(vite@4.3.9) + version: 2.4.5(svelte@4.0.5)(vite@4.3.9) '@testing-library/svelte': specifier: ^4.0.3 version: 4.0.3(svelte@4.0.5) @@ -1834,6 +1834,15 @@ importers: specifier: workspace:* version: link:../../packages/vitest + test/restricted: + devDependencies: + jsdom: + specifier: ^22.1.0 + version: 22.1.0 + vitest: + specifier: workspace:* + version: link:../../packages/vitest + test/run: devDependencies: vite: @@ -2366,7 +2375,7 @@ packages: gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 - resolve: 1.22.2 + resolve: 1.22.3 semver: 5.7.1 source-map: 0.5.7 transitivePeerDependencies: @@ -2654,7 +2663,7 @@ packages: '@babel/traverse': 7.22.8 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.2 + resolve: 1.22.3 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -2670,7 +2679,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.2 + resolve: 1.22.3 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -2686,7 +2695,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.2 + resolve: 1.22.3 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5992,7 +6001,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.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -6013,7 +6022,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -6050,7 +6059,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 jest-mock: 27.5.1 dev: true @@ -6067,7 +6076,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.4.6 + '@types/node': 18.16.19 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -6096,7 +6105,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -6209,7 +6218,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 '@types/yargs': 15.0.14 chalk: 4.1.2 dev: true @@ -6220,7 +6229,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -6232,7 +6241,7 @@ packages: '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 '@types/yargs': 17.0.12 chalk: 4.1.2 dev: true @@ -6756,7 +6765,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 playwright-core: 1.28.0 dev: true @@ -6976,7 +6985,7 @@ packages: builtin-modules: 3.3.0 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.2 + resolve: 1.22.3 rollup: 2.79.1 dev: true @@ -8488,7 +8497,7 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@3.59.1)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@3.59.1)(vite@4.3.9) '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.2 @@ -8507,7 +8516,7 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@3.59.1)(vite@4.3.9): + /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@3.59.1)(vite@4.3.9): resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -8515,7 +8524,7 @@ packages: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@3.59.1)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@3.59.1)(vite@4.3.9) debug: 4.3.4(supports-color@8.1.1) svelte: 3.59.1 vite: 4.3.9(@types/node@18.16.19)(less@4.1.3) @@ -8523,7 +8532,7 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.0.5)(vite@4.3.9): + /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@4.0.5)(vite@4.3.9): resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -8531,7 +8540,7 @@ packages: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@4.0.5)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.0.5)(vite@4.3.9) debug: 4.3.4(supports-color@8.1.1) svelte: 4.0.5 vite: 4.3.9(@types/node@18.16.19)(less@4.1.3) @@ -8539,40 +8548,40 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.4.3(svelte@3.59.1)(vite@4.3.9): - resolution: {integrity: sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==} + /@sveltejs/vite-plugin-svelte@2.4.5(svelte@3.59.1)(vite@4.3.9): + resolution: {integrity: sha512-UJKsFNwhzCVuiZd06jM/psscyNJNDwjQC+qIeb7GBJK9iWeQCcIyfcPWDvbCudfcJggY9jtxJeeaZH7uny93FQ==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@3.59.1)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@3.59.1)(vite@4.3.9) debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.1 + magic-string: 0.30.2 svelte: 3.59.1 - svelte-hmr: 0.15.2(svelte@3.59.1) + svelte-hmr: 0.15.3(svelte@3.59.1) vite: 4.3.9(@types/node@18.16.19)(less@4.1.3) vitefu: 0.2.4(vite@4.3.9) transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.4.3(svelte@4.0.5)(vite@4.3.9): - resolution: {integrity: sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==} + /@sveltejs/vite-plugin-svelte@2.4.5(svelte@4.0.5)(vite@4.3.9): + resolution: {integrity: sha512-UJKsFNwhzCVuiZd06jM/psscyNJNDwjQC+qIeb7GBJK9iWeQCcIyfcPWDvbCudfcJggY9jtxJeeaZH7uny93FQ==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.0.5)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@4.0.5)(vite@4.3.9) debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.1 + magic-string: 0.30.2 svelte: 4.0.5 - svelte-hmr: 0.15.2(svelte@4.0.5) + svelte-hmr: 0.15.3(svelte@4.0.5) vite: 4.3.9(@types/node@18.16.19)(less@4.1.3) vitefu: 0.2.4(vite@4.3.9) transitivePeerDependencies: @@ -8843,7 +8852,7 @@ packages: /@types/cheerio@0.22.31: resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/codemirror@5.60.8: @@ -8882,7 +8891,7 @@ packages: resolution: {integrity: sha512-xryQlOEIe1TduDWAOphR0ihfebKFSWOXpIsk+70JskCfRfW+xALdnJ0r1ZOTo85F9Qsjk6vtlU7edTYHbls9tA==} dependencies: '@types/cheerio': 0.22.31 - '@types/react': 18.2.18 + '@types/react': 18.2.20 dev: true /@types/eslint-scope@3.7.4: @@ -8919,27 +8928,27 @@ packages: /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/glob@8.0.0: resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} dependencies: '@types/minimatch': 5.1.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/graceful-fs@4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/hast@2.3.4: @@ -9011,7 +9020,7 @@ packages: /@types/jsdom@21.1.1: resolution: {integrity: sha512-cZFuoVLtzKP3gmq9eNosUL1R50U+USkbLtUQ1bYVgl/lKp0FZM7Cq4aIHAL8oIvQ17uSHi7jXPtfDOdjPwBE7A==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -9023,7 +9032,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/lodash@4.14.195: @@ -9057,7 +9066,7 @@ packages: /@types/node-fetch@2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 form-data: 3.0.1 dev: true @@ -9080,6 +9089,10 @@ packages: resolution: {integrity: sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==} dev: true + /@types/node@20.5.0: + resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==} + dev: true + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -9106,7 +9119,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 kleur: 3.0.3 dev: true @@ -9130,19 +9143,19 @@ packages: /@types/react-dom@18.0.6: resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.20 dev: true /@types/react-dom@18.0.8: resolution: {integrity: sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw==} dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.20 dev: true /@types/react-is@17.0.3: resolution: {integrity: sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==} dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.20 dev: false /@types/react-test-renderer@17.0.2: @@ -9154,7 +9167,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.18 + '@types/react': 18.2.20 dev: false /@types/react@17.0.49: @@ -9173,8 +9186,8 @@ packages: csstype: 3.1.0 dev: true - /@types/react@18.2.18: - resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + /@types/react@18.2.20: + resolution: {integrity: sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 @@ -9183,7 +9196,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/resolve@1.20.2: @@ -9200,7 +9213,7 @@ packages: /@types/set-cookie-parser@2.4.2: resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/sinonjs__fake-timers@8.1.1: @@ -9242,7 +9255,7 @@ packages: /@types/through@0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true /@types/tough-cookie@4.0.2: @@ -9280,7 +9293,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -9288,7 +9301,7 @@ packages: /@types/webpack@4.41.32: resolution: {integrity: sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.0 '@types/webpack-sources': 3.2.0 @@ -9332,7 +9345,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 dev: true optional: true @@ -9744,7 +9757,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.9) '@rollup/pluginutils': 4.2.1 react-refresh: 0.13.0 - resolve: 1.22.2 + resolve: 1.22.3 transitivePeerDependencies: - supports-color dev: true @@ -9774,7 +9787,7 @@ packages: '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.9) react-refresh: 0.14.0 - vite: 4.3.9(@types/node@20.4.6) + vite: 4.3.9(@types/node@20.5.0) transitivePeerDependencies: - supports-color dev: true @@ -10274,14 +10287,14 @@ packages: resolution: {integrity: sha512-VZ1WFHTNKjR8Ga97TtV2SZM6fvRjWbYI2i/f4pJB4PtusorKvONAMJf2LQcUBIyzbVobqr7KSrcjmSwRolI+yw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 dev: true /@wdio/types@8.10.4: resolution: {integrity: sha512-aLJ1QQW+hhALeRK3bvMLjIrlUVyhOs3Od+91pR4Z4pLwyeNG1bJZCJRD5bAJK/mm7CnFa0NsdixPS9jJxZcRrw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 dev: true /@wdio/utils@8.12.1: @@ -11391,7 +11404,7 @@ packages: dependencies: '@babel/runtime': 7.18.9 cosmiconfig: 7.0.1 - resolve: 1.22.2 + resolve: 1.22.3 /babel-plugin-polyfill-corejs2@0.3.2(@babel/core@7.18.13): resolution: {integrity: sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==} @@ -12267,7 +12280,7 @@ packages: engines: {node: '>=12.13.0'} hasBin: true dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.3.0 @@ -13566,7 +13579,7 @@ packages: resolution: {integrity: sha512-R72raQLN1lDSqbr2DVj9SRh07JRyojzmrcLa33VBa2nw3cf5ZyHOHe0DgxlJ/5c2Dfs1+wGNJy16gWKGBq+xgg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 '@wdio/config': 8.12.1 '@wdio/logger': 8.11.0 '@wdio/protocols': 8.11.0 @@ -14573,7 +14586,7 @@ packages: dependencies: debug: 3.2.7(supports-color@8.1.1) is-core-module: 2.12.1 - resolve: 1.22.2 + resolve: 1.22.3 transitivePeerDependencies: - supports-color dev: true @@ -17586,7 +17599,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -17722,7 +17735,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -17740,7 +17753,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -17761,7 +17774,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.5 - '@types/node': 20.4.6 + '@types/node': 18.16.19 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -17784,7 +17797,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.5 - '@types/node': 20.4.6 + '@types/node': 18.16.19 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -17824,7 +17837,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -17904,7 +17917,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.4.6 + '@types/node': 18.16.19 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -17951,7 +17964,7 @@ packages: jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) jest-util: 27.5.1 jest-validate: 27.5.1 - resolve: 1.22.2 + resolve: 1.22.3 resolve.exports: 1.1.1 slash: 3.0.0 dev: true @@ -17965,7 +17978,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.10 @@ -18022,7 +18035,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 graceful-fs: 4.2.10 dev: true @@ -18030,7 +18043,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.4.6 + '@types/node': 18.16.19 graceful-fs: 4.2.10 dev: true @@ -18069,7 +18082,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 20.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 graceful-fs: 4.2.10 is-ci: 2.0.0 @@ -18081,7 +18094,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.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -18093,7 +18106,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.0.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -18118,7 +18131,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.6 + '@types/node': 18.16.19 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -18129,7 +18142,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -18138,7 +18151,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.4.6 + '@types/node': 18.16.19 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -19047,6 +19060,13 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -19906,7 +19926,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 + resolve: 1.22.3 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -21498,7 +21518,7 @@ packages: estree-to-babel: 3.2.1 neo-async: 2.6.2 node-dir: 0.1.17 - resolve: 1.22.2 + resolve: 1.22.3 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color @@ -22171,6 +22191,7 @@ packages: is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true /resolve@1.22.3: resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==} @@ -22179,7 +22200,6 @@ packages: is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /responselike@3.0.0: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} @@ -23594,20 +23614,20 @@ packages: - sugarss dev: true - /svelte-hmr@0.15.2(svelte@3.59.1): - resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} + /svelte-hmr@0.15.3(svelte@3.59.1): + resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: - svelte: ^3.19.0 || ^4.0.0-next.0 + svelte: ^3.19.0 || ^4.0.0 dependencies: svelte: 3.59.1 dev: true - /svelte-hmr@0.15.2(svelte@4.0.5): - resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} + /svelte-hmr@0.15.3(svelte@4.0.5): + resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: - svelte: ^3.19.0 || ^4.0.0-next.0 + svelte: ^3.19.0 || ^4.0.0 dependencies: svelte: 4.0.5 dev: true @@ -24754,7 +24774,7 @@ packages: local-pkg: 0.4.3 magic-string: 0.30.1 minimatch: 9.0.3 - resolve: 1.22.2 + resolve: 1.22.3 unplugin: 1.3.2 vue: 3.3.4 transitivePeerDependencies: @@ -24783,7 +24803,7 @@ packages: local-pkg: 0.4.3 magic-string: 0.30.1 minimatch: 9.0.3 - resolve: 1.22.2 + resolve: 1.22.3 unplugin: 1.3.2 vue: 3.3.4 transitivePeerDependencies: @@ -25170,7 +25190,7 @@ packages: fsevents: 2.3.2 dev: false - /vite@4.3.9(@types/node@20.4.6): + /vite@4.3.9(@types/node@20.5.0): resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -25195,7 +25215,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 esbuild: 0.17.18 postcss: 8.4.24 rollup: 3.23.0 @@ -25507,7 +25527,7 @@ packages: resolution: {integrity: sha512-Ca+MUYUXfl5gsnX40xAIUgfoa76qQsfX7REGFzMl09Cb7vHKtM17bEOGDaTbXIX4kbkXylyUSAuBpe3gCtDDKg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 '@types/ws': 8.5.5 '@wdio/config': 8.12.1 '@wdio/logger': 8.11.0 @@ -25527,7 +25547,7 @@ packages: resolution: {integrity: sha512-lW0Qo3fy64cVbYWWAZbXxLIOK0pbTARgpY89J+0Sr6zh2K2NKtd/0D11k3WfMeYxd0b0he7E7XC1b6M6w4h75A==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.6 + '@types/node': 20.5.0 '@wdio/config': 8.12.1 '@wdio/logger': 8.11.0 '@wdio/protocols': 8.11.0 diff --git a/test/restricted/package.json b/test/restricted/package.json new file mode 100644 index 000000000000..6a7c5e6c1afe --- /dev/null +++ b/test/restricted/package.json @@ -0,0 +1,12 @@ +{ + "name": "@vitest/test-restricted", + "private": true, + "scripts": { + "test": "vitest", + "coverage": "vitest run --coverage" + }, + "devDependencies": { + "jsdom": "^22.1.0", + "vitest": "workspace:*" + } +} diff --git a/test/restricted/src/math.js b/test/restricted/src/math.js new file mode 100644 index 000000000000..b99ad1b10661 --- /dev/null +++ b/test/restricted/src/math.js @@ -0,0 +1,3 @@ +export function multiply(a, b) { + return a * b +} diff --git a/test/restricted/tests/basic.spec.js b/test/restricted/tests/basic.spec.js new file mode 100644 index 000000000000..712aa95767fa --- /dev/null +++ b/test/restricted/tests/basic.spec.js @@ -0,0 +1,7 @@ +import { expect, it } from 'vitest' +import { multiply } from '../src/math' + +it('2 x 2 = 4', () => { + expect(multiply(2, 2)).toBe(4) + expect(multiply(2, 2)).toBe(Math.sqrt(16)) +}) diff --git a/test/restricted/vitest.config.ts b/test/restricted/vitest.config.ts new file mode 100644 index 000000000000..7ccc9dc48994 --- /dev/null +++ b/test/restricted/vitest.config.ts @@ -0,0 +1,29 @@ +import { resolve } from 'pathe' +import { defineConfig } from 'vite' + +export default defineConfig({ + plugins: [ + { + // simulates restrictive FS + name: 'restrict-fs', + config() { + return { + server: { + fs: { + allow: [ + resolve(__dirname, 'src'), + ], + }, + }, + } + }, + }, + ], + test: { + environment: 'jsdom', + include: ['tests/**/*.spec.{js,ts}'], + setupFiles: [ + './vitest.setup.js', + ], + }, +}) diff --git a/test/restricted/vitest.setup.js b/test/restricted/vitest.setup.js new file mode 100644 index 000000000000..69ad9ac10420 --- /dev/null +++ b/test/restricted/vitest.setup.js @@ -0,0 +1 @@ +globalThis.SOME_TEST_VARIABLE = '3'