diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 48a0bd7773b0d7..beab59a2df5ac9 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -63,7 +63,7 @@ module.exports = defineConfig({ 'node/no-extraneous-import': [ 'error', { - allowModules: ['vite', 'less', 'sass'] + allowModules: ['vite', 'less', 'sass', 'vitest'] } ], 'node/no-extraneous-require': [ @@ -103,13 +103,13 @@ module.exports = defineConfig({ } }, { - files: ['packages/vite/types/**'], + files: ['packages/vite/types/**', '*.spec.ts'], rules: { 'node/no-extraneous-import': 'off' } }, { - files: ['packages/playground/**'], + files: ['playground/**'], rules: { 'node/no-extraneous-import': 'off', 'node/no-extraneous-require': 'off' diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 06fe0e7ea2aaff..17898db2741284 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,11 +1,7 @@ { "extends": ["config:base", "schedule:weekly", "group:allNonMajor"], "labels": ["dependencies"], - "ignorePaths": [ - "packages/playground/**", - "packages/create-vite/template-*/**", - "**/__tests__/**" - ], + "ignorePaths": ["**/__tests__/**"], "pin": false, "rangeStrategy": "bump", "node": false, diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cde7dfb03825ed..b1c663db40e80f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,8 @@ on: - feat/* - fix/* - perf/* + - v1 + - v2 pull_request: workflow_dispatch: @@ -27,12 +29,17 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node_version: [12, 14, 16, 17] + node_version: [14, 16, 18] include: - os: macos-latest node_version: 16 + - os: macos-latest + node_version: 18 - os: windows-latest node_version: 16 + # Maybe bug with jest on windows and node-v18 + # - os: windows-latest + # node_version: 18 fail-fast: false name: "Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}" @@ -42,8 +49,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2 - with: - version: 6 - name: Set node version to ${{ matrix.node_version }} uses: actions/setup-node@v3 @@ -63,6 +68,9 @@ jobs: - name: Build plugin-react run: pnpm run build-plugin-react + - name: Test unit + run: pnpm run test-unit + - name: Test serve run: pnpm run test-serve -- --runInBand @@ -80,8 +88,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2 - with: - version: 6 - name: Set node version to 16 uses: actions/setup-node@v3 diff --git a/.github/workflows/semantic-pull-request.yml b/.github/workflows/semantic-pull-request.yml new file mode 100644 index 00000000000000..df554b38e75246 --- /dev/null +++ b/.github/workflows/semantic-pull-request.yml @@ -0,0 +1,18 @@ +name: Semantic Pull Request + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + +jobs: + main: + runs-on: ubuntu-latest + name: Semantic Pull Request + steps: + - name: Validate PR title + uses: amannn/action-semantic-pull-request@v4 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 44abdd7bf563db..9194d44b544c4e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,15 @@ -.DS_Store -node_modules !**/glob-import/dir/node_modules -dist -dist-ssr -TODOs.md -*.log -temp -explorations +.DS_Store .idea -*.local -/packages/vite/LICENSE *.cpuprofile +*.local +*.log /.vscode/ +/packages/vite/LICENSE +dist +dist-ssr +explorations +node_modules +playground-temp +temp +TODOs.md diff --git a/.prettierignore b/.prettierignore index c624a3a21eecfe..ad4762a457c436 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,6 +8,6 @@ LICENSE.md .prettierignore pnpm-lock.yaml pnpm-workspace.yaml -packages/playground/tsconfig-json-load-error/has-error/tsconfig.json -packages/playground/html/invalid.html -packages/playground/worker/classic-worker.js +playground/tsconfig-json-load-error/has-error/tsconfig.json +playground/html/invalid.html +playground/worker/classic-worker.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b105499159bebb..e620377c75408f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,7 +26,7 @@ If you want to use break point and explore code execution you can use the ["Run 3. Click on the "JavaScript Debug Terminal" button. -4. It will open a terminal, then go to `packages/playground/xxx` and run `pnpm run dev`. +4. It will open a terminal, then go to `playground/xxx` and run `pnpm run dev`. 5. The execution will stop and you'll use the [Debug toolbar](https://code.visualstudio.com/docs/editor/debugging#_debug-actions) to continue, step over, restart the process... @@ -42,7 +42,7 @@ Some errors are masked and hidden away because of the layers of abstraction and 1. In the sources panel in the right column, click the play button to resume execution and allow the tests to run which will open a Chromium instance. -1. Focusing the Chomium instance, you can open the browser devtools and inspect the console there to find the underlying problems. +1. Focusing the Chromium instance, you can open the browser devtools and inspect the console there to find the underlying problems. 1. To close everything, just stop the test process back in your terminal. @@ -67,22 +67,32 @@ And re-run `pnpm install` to link the package. ## Running Tests -Each package under `packages/playground/` contains a `__tests__` directory. The tests are run using [Jest](https://jestjs.io/) + [Playwright](https://playwright.dev/) with custom integrations to make writing tests simple. The detailed setup is inside `jest.config.js` and `scripts/jest*` files. +### Integration Tests -Before running the tests, make sure that [Vite has been built](#repo-setup). On Windows, you may want to [activate Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) to solve [issues with symlink creation for non-admins](https://github.com/vitejs/vite/issues/7390). +Each package under `playground/` contains a `__tests__` directory. The tests are run using [Jest](https://jestjs.io/) + [Playwright](https://playwright.dev/) with custom integrations to make writing tests simple. The detailed setup is inside `jest.config.js` and `scripts/jest*` files. -Each test can be run under either dev server mode or build mode. +Before running the tests, make sure that [Vite has been built](#repo-setup). On Windows, you may want to [activate Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) to solve [issues with symlink creation for non-admins](https://github.com/vitejs/vite/issues/7390). Also you may want to [set git `core.symlinks` to `true` to solve issues with symlinks in git](https://github.com/vitejs/vite/issues/5242). -- `pnpm test` by default runs every test in both serve and build mode. +Each integration test can be run under either dev server mode or build mode. + +- `pnpm test` by default runs every integration test in both serve and build mode, and also unit tests. - `pnpm run test-serve` runs tests only under serve mode. This is just calling `jest` so you can pass any Jest flags to this command. Since Jest will attempt to run tests in parallel, if your machine has many cores this may cause flaky test failures with multiple Playwright instances running at the same time. You can force the tests to run in series with `pnpm run test-serve -- --runInBand`. - `pnpm run test-build` runs tests only under build mode. -- You can also use `pnpm run test-serve -- [match]` or `pnpm run test-build -- [match]` to run tests in a specific playground package, e.g. `pnpm run test-serve -- css` will run tests for both `playground/css` and `playground/css-codesplit` under serve mode. +- You can also use `pnpm run test-serve -- [match]` or `pnpm run test-build -- [match]` to run tests in a specific playground package, e.g. `pnpm run test-serve -- asset` will run tests for both `playground/asset` and `vite/src/node/__tests__/asset` under serve mode and `vite/src/node/__tests__/**/*` just run in serve mode. Note package matching is not available for the `pnpm test` script, which always runs all tests. +### Unit Tests + +Other than tests under `playground/` for integration tests, packages might contains unit tests under their `__tests__` directory. Unit tests are powered by [Vitest](https://vitest.dev/). The detailed config is inside `vitest.config.ts` files. + +- `pnpm run test-unit` runs unit tests under each package. + +- You can also use `pnpm run test-unit -- [match]` to run related tests. + ### Test Env and Helpers Inside playground tests, a global `page` object is automatically available, which is a Playwright [`Page`](https://playwright.dev/docs/api/class-page) instance that has already navigated to the served page of the current playground. So writing a test is as simple as: @@ -93,18 +103,20 @@ test('should work', async () => { }) ``` -Some common test helpers, e.g. `testDir`, `isBuild` or `editFile` are available in `packages/playground/testUtils.ts`. +Some common test helpers, e.g. `testDir`, `isBuild` or `editFile` are available in `playground/testUtils.ts`. + +Note: The test build environment uses a [different default set of Vite config](https://github.com/vitejs/vite/blob/9c6501d9c363eaa3c1e7708d531fb2a92b633db6/scripts/jestPerTestSetup.ts#L102-L122) to skip transpilation during tests to make it faster. This may produce a different result compared to the default production build. ### Extending the Test Suite -To add new tests, you should find a related playground to the fix or feature (or create a new one). As an example, static assets loading are tested in the [assets playground](https://github.com/vitejs/vite/tree/main/packages/playground/assets). In this Vite App, there is a test for `?raw` imports, with [a section is defined in the `index.html` for it](https://github.com/vitejs/vite/blob/71215533ac60e8ff566dc3467feabfc2c71a01e2/packages/playground/assets/index.html#L121): +To add new tests, you should find a related playground to the fix or feature (or create a new one). As an example, static assets loading are tested in the [assets playground](https://github.com/vitejs/vite/tree/main/playground/assets). In this Vite App, there is a test for `?raw` imports, with [a section is defined in the `index.html` for it](https://github.com/vitejs/vite/blob/71215533ac60e8ff566dc3467feabfc2c71a01e2/playground/assets/index.html#L121): ```html

?raw import

``` -This will be modified [with the result of a file import](https://github.com/vitejs/vite/blob/71215533ac60e8ff566dc3467feabfc2c71a01e2/packages/playground/assets/index.html#L151): +This will be modified [with the result of a file import](https://github.com/vitejs/vite/blob/main/playground/assets/index.html#L151): ```js import rawSvg from './nested/fragment.svg?raw' @@ -119,7 +131,7 @@ function text(el, text) { } ``` -In the [spec tests](https://github.com/vitejs/vite/blob/71215533ac60e8ff566dc3467feabfc2c71a01e2/packages/playground/assets/__tests__/assets.spec.ts#L180), the modifications to the DOM listed above are used to test this feature: +In the [spec tests](https://github.com/vitejs/vite/blob/main/playground/assets/__tests__/assets.spec.ts#L180), the modifications to the DOM listed above are used to test this feature: ```js test('?raw import', async () => { @@ -136,7 +148,7 @@ To work around this, playground packages that uses the `file:` protocol should a ```jsonc "scripts": { //... - "postinstall": "ts-node ../../../scripts/patchFileDeps.ts" + "postinstall": "ts-node ../../scripts/patchFileDeps.ts" } ``` diff --git a/README.md b/README.md index 546014a12c7116..a6f13829f2635f 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ In addition, Vite is highly extensible via its [Plugin API](https://vitejs.dev/g ## Packages +> This branch is for the upcoming v3.0, if you are looking for current stable releases, check the [`v2` branch](https://github.com/vitejs/vite/tree/v2) instead. + | Package | Version (click for changelogs) | | ------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | | [vite](packages/vite) | [![vite version](https://img.shields.io/npm/v/vite.svg?label=%20)](packages/vite/CHANGELOG.md) | diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.ts similarity index 94% rename from docs/.vitepress/config.js rename to docs/.vitepress/config.ts index ee76a29986d3fb..4659ea5ab7ae4f 100644 --- a/docs/.vitepress/config.js +++ b/docs/.vitepress/config.ts @@ -1,9 +1,6 @@ -// @ts-check +import { defineConfig } from 'vitepress' -/** - * @type {import('vitepress').UserConfig} - */ -module.exports = { +export default defineConfig({ title: 'Vite', description: 'Next Generation Frontend Tooling', head: [['link', { rel: 'icon', type: 'image/svg+xml', href: '/logo.svg' }]], @@ -64,6 +61,15 @@ module.exports = { } ] }, + { + text: 'v3 (next)', + items: [ + { + text: 'v2.x (stable)', + link: 'https://v2.vitejs.dev' + } + ] + }, { text: 'Languages', items: [ @@ -169,4 +175,4 @@ module.exports = { ] } } -} +}) diff --git a/docs/config/index.md b/docs/config/index.md index d7560e58736a43..666f5f39a5511c 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -28,12 +28,14 @@ vite --config my-config.js ``` ::: tip NOTE -Vite will replace `__filename`, `__dirname`, and `import.meta.url` in **CommonJS** and **TypeScript** config files. Using these as variable names will result in an error: +Vite will replace `__filename`, `__dirname`, and `import.meta.url` in config files and its deps. Using these as variable names or passing as a parameter to a function with string double quote (example `console.log`) will result in an error: ```js const __filename = "value" // will be transformed to const "path/vite.config.js" = "value" + +console.log("import.meta.url") // break error on build ``` ::: @@ -94,23 +96,29 @@ If the config needs to call async function, it can export a async function inste export default defineConfig(async ({ command, mode }) => { const data = await asyncFunction() return { - // build specific config + // vite config } }) ``` ### Environment Variables -Vite doesn't load `.env` files by default as the files to load can only be determined after evaluating the Vite config, for example, the `root` and `envDir` options affects the loading behaviour. However, you can use the exported `loadEnv` helper to load the specific `.env` file if needed. +Environmental Variables can be obtained from `process.env` as usual. + +Note that Vite doesn't load `.env` files by default as the files to load can only be determined after evaluating the Vite config, for example, the `root` and `envDir` options affects the loading behaviour. However, you can use the exported `loadEnv` helper to load the specific `.env` file if needed. ```js import { defineConfig, loadEnv } from 'vite' export default defineConfig(({ command, mode }) => { - // Load env file based on `mode` in the current working directory - const env = loadEnv(mode, process.cwd()) + // Load env file based on `mode` in the current working directory. + // Set the third parameter to '' to load all env regardless of the `VITE_` prefix. + const env = loadEnv(mode, process.cwd(), '') return { - // build specific config + // vite config + define: { + __APP_ENV__: env.APP_ENV + } } }) ``` @@ -158,7 +166,7 @@ export default defineConfig(({ command, mode }) => { - To be consistent with [esbuild behavior](https://esbuild.github.io/api/#define), expressions must either be a JSON object (null, boolean, number, string, array, or object) or a single identifier. - - Replacements are performed only when the match is surrounded by word boundaries (`\b`). + - Replacements are performed only when the match isn't surrounded by other letters, numbers, `_` or `$`. ::: warning Because it's implemented as straightforward text replacements without any syntax analysis, we recommend using `define` for CONSTANTS only. @@ -178,6 +186,20 @@ export default defineConfig(({ command, mode }) => { ::: + ::: tip NOTE + Since dev and build implement `define` differently, we should avoid some use cases to avoid inconsistency. + + Example: + + ```js + const obj = { + __NAME__, // Don't define object shorthand property names + __KEY__: value // Don't define object key + } + ``` + + ::: + ### plugins - **Type:** `(Plugin | Plugin[])[]` @@ -235,7 +257,7 @@ export default defineConfig(({ command, mode }) => { { "exports": { ".": { - "import": "./index.esm.js", + "import": "./index.esm.mjs", "require": "./index.cjs.js" } } @@ -304,7 +326,11 @@ export default defineConfig(({ command, mode }) => { - **Type:** `string | (postcss.ProcessOptions & { plugins?: postcss.Plugin[] })` - Inline PostCSS config (expects the same format as `postcss.config.js`), or a custom directory to search PostCSS config from (default is project root). The search is done using [postcss-load-config](https://github.com/postcss/postcss-load-config) and only the supported config file names are loaded. + Inline PostCSS config or a custom directory to search PostCSS config from (default is project root). + + For inline PostCSS config, it expects the same format as `postcss.config.js`. But for `plugins` property, only [array format](https://github.com/postcss/postcss-load-config/blob/main/README.md#array) can be used. + + The search is done using [postcss-load-config](https://github.com/postcss/postcss-load-config) and only the supported config file names are loaded. Note if an inline config is provided, Vite will not search for other PostCSS config sources. @@ -700,7 +726,7 @@ Defines the origin of the generated asset URLs during development. ```js export default defineConfig({ server: { - origin: 'http://127.0.0.1:8080/' + origin: 'http://127.0.0.1:8080' } }) ``` @@ -1012,7 +1038,6 @@ export default defineConfig({ - `external` is also omitted, use Vite's `optimizeDeps.exclude` option - `plugins` are merged with Vite's dep plugin - - `keepNames` takes precedence over the deprecated `optimizeDeps.keepNames` ## SSR Options diff --git a/docs/guide/api-hmr.md b/docs/guide/api-hmr.md index 46eabab04e8868..1cba492e6613c1 100644 --- a/docs/guide/api-hmr.md +++ b/docs/guide/api-hmr.md @@ -10,21 +10,27 @@ Vite exposes its manual HMR API via the special `import.meta.hot` object: ```ts interface ImportMeta { - readonly hot?: { - readonly data: any + readonly hot?: ViteHotContext +} + +interface ViteHotContext { + readonly data: any - accept(): void - accept(cb: (mod: any) => void): void - accept(dep: string, cb: (mod: any) => void): void - accept(deps: string[], cb: (mods: any[]) => void): void + accept(): void + accept(cb: (mod: any) => void): void + accept(dep: string, cb: (mod: any) => void): void + accept(deps: readonly string[], cb: (mods: any[]) => void): void - prune(cb: () => void): void - dispose(cb: (data: any) => void): void - decline(): void - invalidate(): void + dispose(cb: (data: any) => void): void + decline(): void + invalidate(): void - on(event: string, cb: (...args: any[]) => void): void - } + // `InferCustomEventPayload` provides types for built-in Vite events + on( + event: T, + cb: (payload: InferCustomEventPayload) => void + ): void + send(event: T, data?: InferCustomEventPayload): void } ``` diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index 4a5b1c07c7893e..76b9984a069828 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -113,7 +113,7 @@ Virtual modules are a useful scheme that allows you to pass build time informati ```js export default function myPlugin() { - const virtualModuleId = '@my-virtual-module' + const virtualModuleId = 'virtual:my-module' const resolvedVirtualModuleId = '\0' + virtualModuleId return { @@ -135,7 +135,7 @@ export default function myPlugin() { Which allows importing the module in JavaScript: ```js -import { msg } from '@my-virtual-module' +import { msg } from 'virtual:my-module' console.log(msg) ``` @@ -186,8 +186,10 @@ Vite plugins can also provide hooks that serve Vite-specific purposes. These hoo const partialConfigPlugin = () => ({ name: 'return-partial', config: () => ({ - alias: { - foo: 'bar' + resolve: { + alias: { + foo: 'bar' + } } }) }) @@ -303,6 +305,28 @@ Vite plugins can also provide hooks that serve Vite-specific purposes. These hoo Note `configureServer` is not called when running the production build so your other hooks need to guard against its absence. +### `configurePreviewServer` + +- **Type:** `(server: { middlewares: Connect.Server, httpServer: http.Server }) => (() => void) | void | Promise<(() => void) | void>` +- **Kind:** `async`, `sequential` + + Same as [`configureServer`](/guide/api-plugin.html#configureserver) but for the preview server. It provides the [connect](https://github.com/senchalabs/connect) server and its underlying [http server](https://nodejs.org/api/http.html). Similarly to `configureServer`, the `configurePreviewServer` hook is called before other middlewares are installed. If you want to inject a middleware **after** other middlewares, you can return a function from `configurePreviewServer`, which will be called after internal middlewares are installed: + + ```js + const myPlugin = () => ({ + name: 'configure-preview-server', + configurePreviewServer(server) { + // return a post hook that is called after other middlewares are + // installed + return () => { + server.middlewares.use((req, res, next) => { + // custom handle request... + }) + } + } + }) + ``` + ### `transformIndexHtml` - **Type:** `IndexHtmlTransformHook | { enforce?: 'pre' | 'post', transform: IndexHtmlTransformHook }` diff --git a/docs/guide/assets.md b/docs/guide/assets.md index 53ac153f9465bd..9776dcdd032f35 100644 --- a/docs/guide/assets.md +++ b/docs/guide/assets.md @@ -113,3 +113,7 @@ const imgUrl = new URL(imagePath, import.meta.url).href ::: warning Does not work with SSR This pattern does not work if you are using Vite for Server-Side Rendering, because `import.meta.url` have different semantics in browsers vs. Node.js. The server bundle also cannot determine the client host URL ahead of time. ::: + +::: warning Esbuild target config is necessary +This pattern needs esbuild target to be set to `es2020` or higher. `vite@2.x` use `es2019` as default target. Set [build-target](https://vitejs.dev/config/#build-target) and [optimizedeps.esbuildoptions.target](https://vitejs.dev/config/#optimizedeps-esbuildoptions) to `es2020` or higher if you intend to use this partten. +::: diff --git a/docs/guide/build.md b/docs/guide/build.md index 8216bcbfbac060..358745d02f2cf1 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -127,7 +127,8 @@ module.exports = defineConfig({ lib: { entry: path.resolve(__dirname, 'lib/main.js'), name: 'MyLib', - fileName: (format) => `my-lib.${format}.js` + // the proper extensions will be added + fileName: 'my-lib' }, rollupOptions: { // make sure to externalize deps that shouldn't be bundled @@ -159,7 +160,7 @@ Running `vite build` with this config uses a Rollup preset that is oriented towa ``` $ vite build building for production... -[write] my-lib.es.js 0.08kb, brotli: 0.07kb +[write] my-lib.es.mjs 0.08kb, brotli: 0.07kb [write] my-lib.umd.js 0.30kb, brotli: 0.16kb ``` @@ -170,10 +171,10 @@ Recommended `package.json` for your lib: "name": "my-lib", "files": ["dist"], "main": "./dist/my-lib.umd.js", - "module": "./dist/my-lib.es.js", + "module": "./dist/my-lib.es.mjs", "exports": { ".": { - "import": "./dist/my-lib.es.js", + "import": "./dist/my-lib.es.mjs", "require": "./dist/my-lib.umd.js" } } diff --git a/docs/guide/env-and-mode.md b/docs/guide/env-and-mode.md index 1649feda8c7501..d5f45ea1158808 100644 --- a/docs/guide/env-and-mode.md +++ b/docs/guide/env-and-mode.md @@ -42,7 +42,7 @@ In addition, environment variables that already exist when Vite is executed have `.env` files are loaded at the start of Vite. Restart the server after making changes. ::: -Loaded env variables are also exposed to your client source code via `import.meta.env`. +Loaded env variables are also exposed to your client source code via `import.meta.env` as strings. To prevent accidentally leaking env variables to the client, only variables prefixed with `VITE_` are exposed to your Vite-processed code. e.g. the following file: @@ -81,6 +81,14 @@ interface ImportMeta { } ``` +If your code relies on types from browser environments such as [DOM](https://github.com/microsoft/TypeScript/blob/main/lib/lib.dom.d.ts) and [WebWorker](https://github.com/microsoft/TypeScript/blob/main/lib/lib.webworker.d.ts), you can update the [lib](https://www.typescriptlang.org/tsconfig#lib) field in `tsconfig.json`. + +```json +{ + "lib": ["WebWorker"] +} +``` + ## Modes By default, the dev server (`dev` command) runs in `development` mode and the `build` command run in `production` mode. diff --git a/docs/guide/features.md b/docs/guide/features.md index ebed85cd2d529d..01798ad0d4ea56 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -53,6 +53,8 @@ It is because `esbuild` only performs transpilation without type information, it You must set `"isolatedModules": true` in your `tsconfig.json` under `compilerOptions`, so that TS will warn you against the features that do not work with isolated transpilation. +However, some libraries (e.g. [`vue`](https://github.com/vuejs/core/issues/1228)) don't work well with `"isolatedModules": true`. You can use `"skipLibCheck": true` to temporarily suppress the errors until it is fixed upstream. + #### `useDefineForClassFields` Starting from Vite 2.5.0, the default value will be `true` if the TypeScript target is `ESNext`. It is consistent with the [behavior of `tsc` 4.3.2 and later](https://github.com/microsoft/TypeScript/pull/42663). It is also the standard ECMAScript runtime behavior. @@ -185,7 +187,7 @@ document.getElementById('foo').className = applyColor ### CSS Pre-processors -Because Vite targets modern browsers only, it is recommended to use native CSS variables with PostCSS plugins that implement CSSWG drafts (e.g. [postcss-nesting](https://github.com/jonathantneal/postcss-nesting)) and author plain, future-standards-compliant CSS. +Because Vite targets modern browsers only, it is recommended to use native CSS variables with PostCSS plugins that implement CSSWG drafts (e.g. [postcss-nesting](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting)) and author plain, future-standards-compliant CSS. That said, Vite does provide built-in support for `.scss`, `.sass`, `.less`, `.styl` and `.stylus` files. There is no need to install Vite-specific plugins for them, but the corresponding pre-processor itself must be installed: @@ -280,10 +282,10 @@ for (const path in modules) { } ``` -Matched files are by default lazy loaded via dynamic import and will be split into separate chunks during build. If you'd rather import all the modules directly (e.g. relying on side-effects in these modules to be applied first), you can use `import.meta.globEager` instead: +Matched files are by default lazy-loaded via dynamic import and will be split into separate chunks during build. If you'd rather import all the modules directly (e.g. relying on side-effects in these modules to be applied first), you can pass `{ eager: true }` as the second argument: ```js -const modules = import.meta.globEager('./dir/*.js') +const modules = import.meta.glob('./dir/*.js', { eager: true }) ``` The above will be transformed into the following: @@ -298,7 +300,9 @@ const modules = { } ``` -`import.meta.glob` and `import.meta.globEager` also support importing files as strings (similar to [Importing Asset as String](https://vitejs.dev/guide/assets.html#importing-asset-as-string)) with the [Import Reflection](https://github.com/tc39/proposal-import-reflection) syntax: +### Glob Import As + +`import.meta.glob` also supports importing files as strings (similar to [Importing Asset as String](https://vitejs.dev/guide/assets.html#importing-asset-as-string)) with the [Import Reflection](https://github.com/tc39/proposal-import-reflection) syntax: ```js const modules = import.meta.glob('./dir/*.js', { as: 'raw' }) @@ -309,18 +313,115 @@ The above will be transformed into the following: ```js // code produced by vite const modules = { - './dir/foo.js': '{\n "msg": "foo"\n}\n', - './dir/bar.js': '{\n "msg": "bar"\n}\n' + './dir/foo.js': 'export default "foo"\n', + './dir/bar.js': 'export default "bar"\n' } ``` +`{ as: 'url' }` is also supported for loading assets as URLs. + +### Multiple Patterns + +The first argument can be an array of globs, for example + +```js +const modules = import.meta.glob(['./dir/*.js', './another/*.js']) +``` + +### Negative Patterns + +Negative glob patterns are also supported (prefixed with `!`). To ignore some files from the result, you can add exclude glob patterns to the first argument: + +```js +const modules = import.meta.glob(['./dir/*.js', '!**/bar.js']) +``` + +```js +// code produced by vite +const modules = { + './dir/foo.js': () => import('./dir/foo.js') +} +``` + +#### Named Imports + +It's possible to only import parts of the modules with the `import` options. + +```ts +const modules = import.meta.glob('./dir/*.js', { import: 'setup' }) +``` + +```ts +// code produced by vite +const modules = { + './dir/foo.js': () => import('./dir/foo.js').then((m) => m.setup), + './dir/bar.js': () => import('./dir/bar.js').then((m) => m.setup) +} +``` + +When combined with `eager` it's even possible to have tree-shaking enabled for those modules. + +```ts +const modules = import.meta.glob('./dir/*.js', { import: 'setup', eager: true }) +``` + +```ts +// code produced by vite: +import { setup as __glob__0_0 } from './dir/foo.js' +import { setup as __glob__0_1 } from './dir/bar.js' +const modules = { + './dir/foo.js': __glob__0_0, + './dir/bar.js': __glob__0_1 +} +``` + +Set `import` to `default` to import the default export. + +```ts +const modules = import.meta.glob('./dir/*.js', { + import: 'default', + eager: true +}) +``` + +```ts +// code produced by vite: +import __glob__0_0 from './dir/foo.js' +import __glob__0_1 from './dir/bar.js' +const modules = { + './dir/foo.js': __glob__0_0, + './dir/bar.js': __glob__0_1 +} +``` + +#### Custom Queries + +You can also use the `query` option to provide custom queries to imports for other plugins to consume. + +```ts +const modules = import.meta.glob('./dir/*.js', { + query: { foo: 'bar', bar: true } +}) +``` + +```ts +// code produced by vite: +const modules = { + './dir/foo.js': () => + import('./dir/foo.js?foo=bar&bar=true').then((m) => m.setup), + './dir/bar.js': () => + import('./dir/bar.js?foo=bar&bar=true').then((m) => m.setup) +} +``` + +### Glob Import Caveats + Note that: - This is a Vite-only feature and is not a web or ES standard. - The glob patterns are treated like import specifiers: they must be either relative (start with `./`) or absolute (start with `/`, resolved relative to project root) or an alias path (see [`resolve.alias` option](/config/#resolve-alias)). -- The glob matching is done via `fast-glob` - check out its documentation for [supported glob patterns](https://github.com/mrmlnc/fast-glob#pattern-syntax). -- You should also be aware that glob imports do not accept variables, you need to directly pass the string pattern. -- The glob patterns cannot contain the same quote string (i.e. `'`, `"`, `` ` ``) as outer quotes, e.g. `'/Tom\'s files/**'`, use `"/Tom's files/**"` instead. +- The glob matching is done via [`fast-glob`](https://github.com/mrmlnc/fast-glob) - check out its documentation for [supported glob patterns](https://github.com/mrmlnc/fast-glob#pattern-syntax). +- You should also be aware that all the arguments in the `import.meta.glob` must be **passed as literals**. You can NOT use variables or expressions in them. ## WebAssembly diff --git a/docs/guide/index.md b/docs/guide/index.md index ff0d3f21b90e65..338bd42a565aa3 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -38,7 +38,7 @@ The supported template presets are: ## Scaffolding Your First Vite Project ::: tip Compatibility Note -Vite requires [Node.js](https://nodejs.org/en/) version >=12.2.0. However, some templates require a higher Node.js version to work, please upgrade if your package manager warns about it. +Vite requires [Node.js](https://nodejs.org/en/) version >=14.6.0. However, some templates require a higher Node.js version to work, please upgrade if your package manager warns about it. ::: With NPM: @@ -113,7 +113,7 @@ Running `vite` starts the dev server using the current working directory as root ## Command Line Interface -In a project where Vite is installed, you can use the `vite` binary in your npm scripts, or run it directly with `npx vite`. Here is the default npm scripts in a scaffolded Vite project: +In a project where Vite is installed, you can use the `vite` binary in your npm scripts, or run it directly with `npx vite`. Here are the default npm scripts in a scaffolded Vite project: ```json5 diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index d1fca329abd58d..1abd4874bca0e2 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -22,8 +22,8 @@ If you have questions, the community is usually helpful at [Vite Discord's #ssr Vite provides built-in support for server-side rendering (SSR). The Vite playground contains example SSR setups for Vue 3 and React, which can be used as references for this guide: -- [Vue 3](https://github.com/vitejs/vite/tree/main/packages/playground/ssr-vue) -- [React](https://github.com/vitejs/vite/tree/main/packages/playground/ssr-react) +- [Vue 3](https://github.com/vitejs/vite/tree/main/playground/ssr-vue) +- [React](https://github.com/vitejs/vite/tree/main/playground/ssr-react) ## Source Structure @@ -177,7 +177,7 @@ Then, in `server.js` we need to add some production specific logic by checking ` - Move the creation and all usage of the `vite` dev server behind dev-only conditional branches, then add static file serving middlewares to serve files from `dist/client`. -Refer to the [Vue](https://github.com/vitejs/vite/tree/main/packages/playground/ssr-vue) and [React](https://github.com/vitejs/vite/tree/main/packages/playground/ssr-react) demos for working setup. +Refer to the [Vue](https://github.com/vitejs/vite/tree/main/playground/ssr-vue) and [React](https://github.com/vitejs/vite/tree/main/playground/ssr-react) demos for working setup. ## Generating Preload Directives @@ -201,11 +201,11 @@ const html = await vueServerRenderer.renderToString(app, ctx) // ctx.modules is now a Set of module IDs that were used during the render ``` -In the production branch of `server.js` we need to read and pass the manifest to the `render` function exported by `src/entry-server.js`. This would provide us with enough information to render preload directives for files used by async routes! See [demo source](https://github.com/vitejs/vite/blob/main/packages/playground/ssr-vue/src/entry-server.js) for full example. +In the production branch of `server.js` we need to read and pass the manifest to the `render` function exported by `src/entry-server.js`. This would provide us with enough information to render preload directives for files used by async routes! See [demo source](https://github.com/vitejs/vite/blob/main/playground/ssr-vue/src/entry-server.js) for full example. ## Pre-Rendering / SSG -If the routes and the data needed for certain routes are known ahead of time, we can pre-render these routes into static HTML using the same logic as production SSR. This can also be considered a form of Static-Site Generation (SSG). See [demo pre-render script](https://github.com/vitejs/vite/blob/main/packages/playground/ssr-vue/prerender.js) for working example. +If the routes and the data needed for certain routes are known ahead of time, we can pre-render these routes into static HTML using the same logic as production SSR. This can also be considered a form of Static-Site Generation (SSG). See [demo pre-render script](https://github.com/vitejs/vite/blob/main/playground/ssr-vue/prerender.js) for working example. ## SSR Externals diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 6d81a060cf8883..0a8803ba2d3b9a 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -4,6 +4,8 @@ Vite aims to provide out-of-the-box support for common web development patterns. Before searching for a Vite or Compatible Rollup plugin, check out the [Features Guide](../guide/features.md). A lot of the cases where a plugin would be needed in a Rollup project are already covered in Vite. ::: +Check out [Using Plugins](../guide/using-plugins) for information on how to use plugins. + ## Official Plugins ### [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue) diff --git a/jest.config.ts b/jest.config.ts index 11663af4e08107..719d67f39b8bce 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -3,22 +3,20 @@ import type { Config } from '@jest/types' const config: Config.InitialOptions = { preset: 'ts-jest', - testMatch: process.env.VITE_TEST_BUILD - ? ['**/playground/**/*.spec.[jt]s?(x)'] - : ['**/*.spec.[jt]s?(x)'], + testMatch: ['**/playground/**/*.spec.[jt]s?(x)'], testTimeout: process.env.CI ? 50000 : 20000, globalSetup: './scripts/jestGlobalSetup.cjs', globalTeardown: './scripts/jestGlobalTeardown.cjs', testEnvironment: './scripts/jestEnv.cjs', setupFilesAfterEnv: ['./scripts/jestPerTestSetup.ts'], - watchPathIgnorePatterns: ['/packages/temp'], - modulePathIgnorePatterns: ['/packages/temp'], + watchPathIgnorePatterns: ['/playground-temp'], + modulePathIgnorePatterns: ['/playground-temp'], moduleNameMapper: { - testUtils: '/packages/playground/testUtils.ts' + testUtils: '/playground/testUtils.ts' }, globals: { 'ts-jest': { - tsconfig: './packages/playground/tsconfig.json' + tsconfig: './playground/tsconfig.json' } } } diff --git a/netlify.toml b/netlify.toml index ba9d1c55f567c5..ba62bdbe4d6be1 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,4 +3,4 @@ NPM_FLAGS = "--version" # prevent Netlify npm install [build] publish = "docs/.vitepress/dist" - command = "npx pnpm i --store=node_modules/.pnpm-store && npm run ci-docs" \ No newline at end of file + command = "npx pnpm@6 i --store=node_modules/.pnpm-store --frozen-lockfile && npx pnpm@6 run ci-docs" \ No newline at end of file diff --git a/package.json b/package.json index f6166c2985a30c..1ba4ca2cec68dc 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vite-monorepo", "private": true, "engines": { - "node": ">=12.2.0" + "node": ">=14.6.0" }, "homepage": "https://vitejs.dev/", "keywords": [ @@ -16,10 +16,11 @@ "preinstall": "npx only-allow pnpm", "format": "prettier --write .", "lint": "eslint packages/*/{src,types}/**", - "test": "run-s test-serve test-build", + "test": "run-s test-unit test-serve test-build", "test-serve": "jest", - "debug-serve": "cross-env VITE_DEBUG_SERVE=1 node --inspect-brk ./node_modules/.bin/jest", "test-build": "cross-env VITE_TEST_BUILD=1 jest", + "test-unit": "vitest run", + "debug-serve": "cross-env VITE_DEBUG_SERVE=1 node --inspect-brk ./node_modules/.bin/jest", "debug-build": "cross-env VITE_TEST_BUILD=1 VITE_PRESERVE_BUILD_ARTIFACTS=1 node --inspect-brk ./node_modules/.bin/jest", "docs": "vitepress dev docs", "build-docs": "vitepress build docs", @@ -34,41 +35,42 @@ "ci-docs": "run-s build-vite build-plugin-vue build-docs" }, "devDependencies": { - "@microsoft/api-extractor": "^7.19.5", + "@microsoft/api-extractor": "^7.23.1", "@types/fs-extra": "^9.0.13", - "@types/jest": "^27.4.1", - "@types/node": "^16.11.26", - "@types/prompts": "^2.0.14", + "@types/jest": "^27.5.0", + "@types/node": "^17.0.31", + "@types/prompts": "^2.4.0", "@types/semver": "^7.3.9", - "@typescript-eslint/eslint-plugin": "^5.16.0", - "@typescript-eslint/parser": "^5.16.0", + "@typescript-eslint/eslint-plugin": "^5.22.0", + "@typescript-eslint/parser": "^5.22.0", "conventional-changelog-cli": "^2.2.2", "cross-env": "^7.0.3", - "esbuild": "^0.14.27", - "eslint": "^8.12.0", - "eslint-define-config": "^1.3.0", + "esbuild": "^0.14.38", + "eslint": "^8.15.0", + "eslint-define-config": "^1.4.0", "eslint-plugin-node": "^11.1.0", "execa": "^5.1.1", - "fs-extra": "^10.0.1", + "fs-extra": "^10.1.0", "jest": "^27.5.1", - "lint-staged": "^12.3.7", + "lint-staged": "^12.4.1", "minimist": "^1.2.6", - "node-fetch": "^2.6.6", + "node-fetch": "^2.6.7", "npm-run-all": "^4.1.5", "picocolors": "^1.0.0", - "playwright-chromium": "^1.20.1", - "prettier": "2.6.1", + "playwright-chromium": "^1.21.1", + "prettier": "2.6.2", "prompts": "^2.4.2", "rimraf": "^3.0.2", - "rollup": "^2.59.0", - "semver": "^7.3.5", + "rollup": "^2.72.1", + "semver": "^7.3.7", "simple-git-hooks": "^2.7.0", "sirv": "^2.0.2", "ts-jest": "^27.1.4", - "ts-node": "^10.4.0", - "typescript": "~4.5.4", + "ts-node": "^10.7.0", + "typescript": "^4.6.4", "vite": "workspace:*", - "vitepress": "^0.22.3" + "vitepress": "^0.22.4", + "vitest": "^0.10.5" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false", @@ -85,7 +87,7 @@ "eslint --ext .ts" ] }, - "packageManager": "pnpm@6.32.3", + "packageManager": "pnpm@6.32.11", "pnpm": { "overrides": { "vite": "workspace:*", diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md index bf69fae7e535ad..d8759a4e269c97 100644 --- a/packages/create-vite/CHANGELOG.md +++ b/packages/create-vite/CHANGELOG.md @@ -1,3 +1,28 @@ +## 2.9.3 (2022-05-02) + +* chore(create-vite): update reference to volar vscode extension (#7994) ([2b6d8fe](https://github.com/vitejs/vite/commit/2b6d8fe)), closes [#7994](https://github.com/vitejs/vite/issues/7994) +* feat(create-vite): scaffold directory with only .git (#7971) ([a5bdb9f](https://github.com/vitejs/vite/commit/a5bdb9f)), closes [#7971](https://github.com/vitejs/vite/issues/7971) + + + +## 2.9.2 (2022-04-19) + +* chore: remove useless code in preact template (#7789) ([e5729be](https://github.com/vitejs/vite/commit/e5729be)), closes [#7789](https://github.com/vitejs/vite/issues/7789) +* fix(create-vite): bump `vue-tsc` to `0.34.7` (#7760) ([9a93233](https://github.com/vitejs/vite/commit/9a93233)), closes [#7760](https://github.com/vitejs/vite/issues/7760) +* fix(create-vite): set skipLibCheck true (#7726) ([54e9cdd](https://github.com/vitejs/vite/commit/54e9cdd)), closes [#7726](https://github.com/vitejs/vite/issues/7726) + + + +## 2.9.1 (2022-04-13) + +* chore: fix term cases (#7553) ([c296130](https://github.com/vitejs/vite/commit/c296130)), closes [#7553](https://github.com/vitejs/vite/issues/7553) +* chore: update @types/react version (#7655) ([eb57627](https://github.com/vitejs/vite/commit/eb57627)), closes [#7655](https://github.com/vitejs/vite/issues/7655) +* chore: update vue template setup api doc url (#7628) ([4433df4](https://github.com/vitejs/vite/commit/4433df4)), closes [#7628](https://github.com/vitejs/vite/issues/7628) +* chore(create-vite-app): upgrade react to 18 (#7597) ([8b21029](https://github.com/vitejs/vite/commit/8b21029)), closes [#7597](https://github.com/vitejs/vite/issues/7597) +* chore(create-vite): add isolatedModules (#7697) ([8f28350](https://github.com/vitejs/vite/commit/8f28350)), closes [#7697](https://github.com/vitejs/vite/issues/7697) + + + ## 2.9.0 (2022-03-30) * chore: add isolatedModules to create-vite > template-vue-ts > tsconfig (#7304) ([21990ea](https://github.com/vitejs/vite/commit/21990ea)), closes [#7304](https://github.com/vitejs/vite/issues/7304) diff --git a/packages/create-vite/README.md b/packages/create-vite/README.md index 79d5ae12d93597..e22c268ab99f9c 100644 --- a/packages/create-vite/README.md +++ b/packages/create-vite/README.md @@ -3,7 +3,7 @@ ## Scaffolding Your First Vite Project > **Compatibility Note:** -> Vite requires [Node.js](https://nodejs.org/en/) version >=12.2.0. However, some templates require a higher Node.js version to work, please upgrade if your package manager warns about it. +> Vite requires [Node.js](https://nodejs.org/en/) version >=14.6.0. However, some templates require a higher Node.js version to work, please upgrade if your package manager warns about it. With NPM: diff --git a/packages/create-vite/__tests__/cli.spec.ts b/packages/create-vite/__tests__/cli.spec.ts index c52998172149e6..fbfb606f486885 100644 --- a/packages/create-vite/__tests__/cli.spec.ts +++ b/packages/create-vite/__tests__/cli.spec.ts @@ -3,6 +3,7 @@ import type { ExecaSyncReturnValue, SyncOptions } from 'execa' import { commandSync } from 'execa' import { mkdirpSync, readdirSync, remove, writeFileSync } from 'fs-extra' import { join } from 'path' +import { test, expect, beforeAll, afterEach } from 'vitest' const CLI_PATH = join(__dirname, '..') diff --git a/packages/create-vite/index.js b/packages/create-vite/index.js index cc0a78639755bb..981c7aa7f6fa2f 100755 --- a/packages/create-vite/index.js +++ b/packages/create-vite/index.js @@ -132,7 +132,9 @@ async function init() { let targetDir = argv._[0] let template = argv.template || argv.t - const defaultProjectName = !targetDir ? 'vite-project' : targetDir + const defaultProjectName = !targetDir + ? 'vite-project' + : targetDir.trim().replace(/\/+$/g, '') let result = {} @@ -145,7 +147,8 @@ async function init() { message: reset('Project name:'), initial: defaultProjectName, onState: (state) => - (targetDir = state.value.trim() || defaultProjectName) + (targetDir = + state.value.trim().replace(/\/+$/g, '') || defaultProjectName) }, { type: () => @@ -227,7 +230,7 @@ async function init() { if (overwrite) { emptyDir(root) } else if (!fs.existsSync(root)) { - fs.mkdirSync(root) + fs.mkdirSync(root, { recursive: true }) } // determine template @@ -313,7 +316,8 @@ function copyDir(srcDir, destDir) { } function isEmpty(path) { - return fs.readdirSync(path).length === 0 + const files = fs.readdirSync(path) + return files.length === 0 || (files.length === 1 && files[0] === '.git') } function emptyDir(dir) { diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index 72955697360477..38ffa81a2768ee 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -1,6 +1,6 @@ { "name": "create-vite", - "version": "2.9.0", + "version": "2.9.3", "license": "MIT", "author": "Evan You", "bin": { @@ -13,7 +13,7 @@ ], "main": "index.js", "engines": { - "node": ">=12.0.0" + "node": ">=14.6.0" }, "repository": { "type": "git", diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 061def321a22e6..40b05d66af64f2 100644 --- a/packages/create-vite/template-lit-ts/package.json +++ b/packages/create-vite/template-lit-ts/package.json @@ -2,9 +2,9 @@ "name": "vite-lit-ts-starter", "private": true, "version": "0.0.0", - "main": "dist/my-element.es.js", + "main": "dist/my-element.es.mjs", "exports": { - ".": "./dist/my-element.es.js" + ".": "./dist/my-element.es.mjs" }, "types": "types/my-element.d.ts", "files": [ @@ -16,10 +16,10 @@ "build": "tsc && vite build" }, "dependencies": { - "lit": "^2.0.2" + "lit": "^2.2.3" }, "devDependencies": { - "vite": "^2.9.0", - "typescript": "^4.5.4" + "typescript": "^4.6.4", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-lit-ts/tsconfig.json b/packages/create-vite/template-lit-ts/tsconfig.json index 03ecaf410c88be..91a731fd8619d4 100644 --- a/packages/create-vite/template-lit-ts/tsconfig.json +++ b/packages/create-vite/template-lit-ts/tsconfig.json @@ -11,10 +11,12 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "moduleResolution": "node", + "isolatedModules": true, "allowSyntheticDefaultImports": true, "experimentalDecorators": true, "forceConsistentCasingInFileNames": true, - "useDefineForClassFields": false + "useDefineForClassFields": false, + "skipLibCheck": true }, "include": ["src/**/*.ts"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 89f4fee41576c6..ca610090e22759 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -2,9 +2,9 @@ "name": "vite-lit-starter", "private": true, "version": "0.0.0", - "main": "dist/my-element.es.js", + "main": "dist/my-element.es.mjs", "exports": { - ".": "./dist/my-element.es.js" + ".": "./dist/my-element.es.mjs" }, "files": [ "dist" @@ -14,9 +14,9 @@ "build": "vite build" }, "dependencies": { - "lit": "^2.0.2" + "lit": "^2.2.3" }, "devDependencies": { - "vite": "^2.9.0" + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index dfa6659650c5ae..dfff04ee49f099 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -8,11 +8,11 @@ "preview": "vite preview" }, "dependencies": { - "preact": "^10.5.15" + "preact": "^10.7.2" }, "devDependencies": { - "@preact/preset-vite": "^2.1.5", - "typescript": "^4.5.4", - "vite": "^2.9.0" + "@preact/preset-vite": "^2.2.0", + "typescript": "^4.6.4", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-preact-ts/tsconfig.json b/packages/create-vite/template-preact-ts/tsconfig.json index fda60ae884247a..0a24dec18dd4f8 100644 --- a/packages/create-vite/template-preact-ts/tsconfig.json +++ b/packages/create-vite/template-preact-ts/tsconfig.json @@ -4,7 +4,7 @@ "useDefineForClassFields": true, "lib": ["DOM", "DOM.Iterable", "ESNext"], "allowJs": false, - "skipLibCheck": false, + "skipLibCheck": true, "esModuleInterop": false, "allowSyntheticDefaultImports": true, "strict": true, diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 02528128f6442e..90cf6755ee8907 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -8,10 +8,10 @@ "preview": "vite preview" }, "dependencies": { - "preact": "^10.5.15" + "preact": "^10.7.2" }, "devDependencies": { - "@preact/preset-vite": "^2.1.5", - "vite": "^2.9.0" + "@preact/preset-vite": "^2.2.0", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-preact/src/app.jsx b/packages/create-vite/template-preact/src/app.jsx index 9d649444f686d9..64fe3eda94c933 100644 --- a/packages/create-vite/template-preact/src/app.jsx +++ b/packages/create-vite/template-preact/src/app.jsx @@ -1,6 +1,6 @@ import { Logo } from './logo' -export function App(props) { +export function App() { return ( <> diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 00f99c8669d660..5a6ffff172f3ab 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -8,14 +8,14 @@ "preview": "vite preview" }, "dependencies": { - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": "^18.1.0", + "react-dom": "^18.1.0" }, "devDependencies": { - "@types/react": "^17.0.33", - "@types/react-dom": "^17.0.10", - "@vitejs/plugin-react": "^1.0.7", - "typescript": "^4.5.4", - "vite": "^2.9.0" + "@types/react": "^18.0.9", + "@types/react-dom": "^18.0.3", + "@vitejs/plugin-react": "^1.3.2", + "typescript": "^4.6.4", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-react-ts/src/main.tsx b/packages/create-vite/template-react-ts/src/main.tsx index 606a3cf44ec02b..4a1b15096e15b1 100644 --- a/packages/create-vite/template-react-ts/src/main.tsx +++ b/packages/create-vite/template-react-ts/src/main.tsx @@ -1,11 +1,10 @@ import React from 'react' -import ReactDOM from 'react-dom' -import './index.css' +import ReactDOM from 'react-dom/client' import App from './App' +import './index.css' -ReactDOM.render( +ReactDOM.createRoot(document.getElementById('root')!).render( - , - document.getElementById('root') + ) diff --git a/packages/create-vite/template-react-ts/tsconfig.json b/packages/create-vite/template-react-ts/tsconfig.json index c8bdc64082aa26..3d0a51a86e2024 100644 --- a/packages/create-vite/template-react-ts/tsconfig.json +++ b/packages/create-vite/template-react-ts/tsconfig.json @@ -4,7 +4,7 @@ "useDefineForClassFields": true, "lib": ["DOM", "DOM.Iterable", "ESNext"], "allowJs": false, - "skipLibCheck": false, + "skipLibCheck": true, "esModuleInterop": false, "allowSyntheticDefaultImports": true, "strict": true, diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index f6a93540f0d3ee..92f2dee91fdc48 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -8,11 +8,13 @@ "preview": "vite preview" }, "dependencies": { - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": "^18.1.0", + "react-dom": "^18.1.0" }, "devDependencies": { - "@vitejs/plugin-react": "^1.0.7", - "vite": "^2.9.0" + "@types/react": "^18.0.9", + "@types/react-dom": "^18.0.3", + "@vitejs/plugin-react": "^1.3.2", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-react/src/main.jsx b/packages/create-vite/template-react/src/main.jsx index 606a3cf44ec02b..9af0bb638e42c0 100644 --- a/packages/create-vite/template-react/src/main.jsx +++ b/packages/create-vite/template-react/src/main.jsx @@ -1,11 +1,10 @@ import React from 'react' -import ReactDOM from 'react-dom' -import './index.css' +import ReactDOM from 'react-dom/client' import App from './App' +import './index.css' -ReactDOM.render( +ReactDOM.createRoot(document.getElementById('root')).render( - , - document.getElementById('root') + ) diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 32e080146e0b6e..94cb978899ed0b 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -10,13 +10,13 @@ "check": "svelte-check --tsconfig ./tsconfig.json" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.43", "@tsconfig/svelte": "^2.0.1", - "svelte": "^3.44.0", - "svelte-check": "^2.2.7", - "svelte-preprocess": "^4.9.8", - "tslib": "^2.3.1", - "typescript": "^4.5.4", - "vite": "^2.9.0" + "svelte": "^3.48.0", + "svelte-check": "^2.7.0", + "svelte-preprocess": "^4.10.6", + "tslib": "^2.4.0", + "typescript": "^4.6.4", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-svelte-ts/tsconfig.json b/packages/create-vite/template-svelte-ts/tsconfig.json index 4d6c04cf0ab13b..96bfd81aaf1203 100644 --- a/packages/create-vite/template-svelte-ts/tsconfig.json +++ b/packages/create-vite/template-svelte-ts/tsconfig.json @@ -13,7 +13,8 @@ * of JS in `.svelte` files. */ "allowJs": true, - "checkJs": true + "checkJs": true, + "isolatedModules": true }, "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index da049c170731b9..7153b3389662e0 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", - "svelte": "^3.44.0", - "vite": "^2.9.0" + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.43", + "svelte": "^3.48.0", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 8dd7a0bb800909..8dd9deee768e4c 100644 --- a/packages/create-vite/template-vanilla-ts/package.json +++ b/packages/create-vite/template-vanilla-ts/package.json @@ -8,7 +8,7 @@ "preview": "vite preview" }, "devDependencies": { - "typescript": "^4.5.4", - "vite": "^2.9.0" + "typescript": "^4.6.4", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-vanilla-ts/tsconfig.json b/packages/create-vite/template-vanilla-ts/tsconfig.json index 1885c8f9b00106..fbd022532d3096 100644 --- a/packages/create-vite/template-vanilla-ts/tsconfig.json +++ b/packages/create-vite/template-vanilla-ts/tsconfig.json @@ -8,11 +8,13 @@ "strict": true, "sourceMap": true, "resolveJsonModule": true, + "isolatedModules": true, "esModuleInterop": true, "noEmit": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noImplicitReturns": true + "noImplicitReturns": true, + "skipLibCheck": true }, "include": ["src"] } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index ff318e00f14fd1..b1ce70c284540f 100644 --- a/packages/create-vite/template-vanilla/package.json +++ b/packages/create-vite/template-vanilla/package.json @@ -8,6 +8,6 @@ "preview": "vite preview" }, "devDependencies": { - "vite": "^2.9.0" + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-vue-ts/.vscode/extensions.json b/packages/create-vite/template-vue-ts/.vscode/extensions.json index 3dc5b08bcdc96b..a7cea0b0678120 100644 --- a/packages/create-vite/template-vue-ts/.vscode/extensions.json +++ b/packages/create-vite/template-vue-ts/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["johnsoncodehk.volar"] + "recommendations": ["Vue.volar"] } diff --git a/packages/create-vite/template-vue-ts/README.md b/packages/create-vite/template-vue-ts/README.md index e432516724c1a7..30b15e215a24b7 100644 --- a/packages/create-vite/template-vue-ts/README.md +++ b/packages/create-vite/template-vue-ts/README.md @@ -4,7 +4,7 @@ This template should help get you started developing with Vue 3 and TypeScript i ## Recommended IDE Setup -- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) +- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) ## Type Support For `.vue` Imports in TS diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 1d8ff2b3e19d56..38f22b1ff17513 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -8,12 +8,12 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.2.25" + "vue": "^3.2.33" }, "devDependencies": { - "@vitejs/plugin-vue": "^2.3.0", - "typescript": "^4.5.4", - "vite": "^2.9.0", - "vue-tsc": "^0.29.8" + "@vitejs/plugin-vue": "^2.3.2", + "typescript": "^4.6.4", + "vite": "^2.9.8", + "vue-tsc": "^0.34.11" } } diff --git a/packages/create-vite/template-vue-ts/src/App.vue b/packages/create-vite/template-vue-ts/src/App.vue index df4e2d7644e293..1503baf999e683 100644 --- a/packages/create-vite/template-vue-ts/src/App.vue +++ b/packages/create-vite/template-vue-ts/src/App.vue @@ -1,6 +1,6 @@ diff --git a/packages/create-vite/template-vue-ts/tsconfig.json b/packages/create-vite/template-vue-ts/tsconfig.json index 52205ea0029c99..bcc4abda4c57f0 100644 --- a/packages/create-vite/template-vue-ts/tsconfig.json +++ b/packages/create-vite/template-vue-ts/tsconfig.json @@ -10,7 +10,8 @@ "resolveJsonModule": true, "isolatedModules": true, "esModuleInterop": true, - "lib": ["esnext", "dom"] + "lib": ["esnext", "dom"], + "skipLibCheck": true }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/packages/create-vite/template-vue/.vscode/extensions.json b/packages/create-vite/template-vue/.vscode/extensions.json index 3dc5b08bcdc96b..a7cea0b0678120 100644 --- a/packages/create-vite/template-vue/.vscode/extensions.json +++ b/packages/create-vite/template-vue/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["johnsoncodehk.volar"] + "recommendations": ["Vue.volar"] } diff --git a/packages/create-vite/template-vue/README.md b/packages/create-vite/template-vue/README.md index eea15cef41ea60..02124a7a0a92bc 100644 --- a/packages/create-vite/template-vue/README.md +++ b/packages/create-vite/template-vue/README.md @@ -4,4 +4,4 @@ This template should help get you started developing with Vue 3 in Vite. The tem ## Recommended IDE Setup -- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) +- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 707b664d3dfff7..dd12fbbfda53a9 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -8,10 +8,10 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.2.25" + "vue": "^3.2.33" }, "devDependencies": { - "@vitejs/plugin-vue": "^2.3.0", - "vite": "^2.9.0" + "@vitejs/plugin-vue": "^2.3.2", + "vite": "^2.9.8" } } diff --git a/packages/create-vite/template-vue/src/App.vue b/packages/create-vite/template-vue/src/App.vue index 742233037df99e..09bbb6a561285f 100644 --- a/packages/create-vite/template-vue/src/App.vue +++ b/packages/create-vite/template-vue/src/App.vue @@ -1,6 +1,6 @@ diff --git a/packages/playground/assets/__tests__/assets.spec.ts b/packages/playground/assets/__tests__/assets.spec.ts deleted file mode 100644 index f53c783c52b606..00000000000000 --- a/packages/playground/assets/__tests__/assets.spec.ts +++ /dev/null @@ -1,289 +0,0 @@ -import { createHash } from 'crypto' -import { - findAssetFile, - getBg, - getColor, - isBuild, - listAssets, - readManifest, - readFile, - editFile, - notifyRebuildComplete, - untilUpdated -} from '../../testUtils' - -const assetMatch = isBuild - ? /\/foo\/assets\/asset\.\w{8}\.png/ - : '/foo/nested/asset.png' - -const iconMatch = `/foo/icon.png` - -test('should have no 404s', () => { - browserLogs.forEach((msg) => { - expect(msg).not.toMatch('404') - }) -}) - -describe('injected scripts', () => { - test('@vite/client', async () => { - const hasClient = await page.$( - 'script[type="module"][src="/foo/@vite/client"]' - ) - if (isBuild) { - expect(hasClient).toBeFalsy() - } else { - expect(hasClient).toBeTruthy() - } - }) - - test('html-proxy', async () => { - const hasHtmlProxy = await page.$( - 'script[type="module"][src^="/foo/index.html?html-proxy"]' - ) - if (isBuild) { - expect(hasHtmlProxy).toBeFalsy() - } else { - expect(hasHtmlProxy).toBeTruthy() - } - }) -}) - -describe('raw references from /public', () => { - test('load raw js from /public', async () => { - expect(await page.textContent('.raw-js')).toMatch('[success]') - }) - - test('load raw css from /public', async () => { - expect(await getColor('.raw-css')).toBe('red') - }) -}) - -test('import-expression from simple script', async () => { - expect(await page.textContent('.import-expression')).toMatch( - '[success][success]' - ) -}) - -describe('asset imports from js', () => { - test('relative', async () => { - expect(await page.textContent('.asset-import-relative')).toMatch(assetMatch) - }) - - test('absolute', async () => { - expect(await page.textContent('.asset-import-absolute')).toMatch(assetMatch) - }) - - test('from /public', async () => { - expect(await page.textContent('.public-import')).toMatch(iconMatch) - }) -}) - -describe('css url() references', () => { - test('fonts', async () => { - expect( - await page.evaluate(() => { - return (document as any).fonts.check('700 32px Inter') - }) - ).toBe(true) - }) - - test('relative', async () => { - expect(await getBg('.css-url-relative')).toMatch(assetMatch) - }) - - test('image-set relative', async () => { - const imageSet = await getBg('.css-image-set-relative') - imageSet.split(', ').forEach((s) => { - expect(s).toMatch(assetMatch) - }) - }) - - test('image-set without the url() call', async () => { - const imageSet = await getBg('.css-image-set-without-url-call') - imageSet.split(', ').forEach((s) => { - expect(s).toMatch(assetMatch) - }) - }) - - test('relative in @import', async () => { - expect(await getBg('.css-url-relative-at-imported')).toMatch(assetMatch) - }) - - test('absolute', async () => { - expect(await getBg('.css-url-absolute')).toMatch(assetMatch) - }) - - test('from /public', async () => { - expect(await getBg('.css-url-public')).toMatch(iconMatch) - }) - - test('base64 inline', async () => { - const match = isBuild ? `data:image/png;base64` : `/foo/nested/icon.png` - expect(await getBg('.css-url-base64-inline')).toMatch(match) - expect(await getBg('.css-url-quotes-base64-inline')).toMatch(match) - const icoMatch = isBuild ? `data:image/x-icon;base64` : `favicon.ico` - const el = await page.$(`link.ico`) - const herf = await el.getAttribute('href') - expect(herf).toMatch(icoMatch) - }) - - test('multiple urls on the same line', async () => { - const bg = await getBg('.css-url-same-line') - expect(bg).toMatch(assetMatch) - expect(bg).toMatch(iconMatch) - }) - - test('aliased', async () => { - const bg = await getBg('.css-url-aliased') - expect(bg).toMatch(assetMatch) - }) - - if (isBuild) { - test('preserve postfix query/hash', () => { - expect(findAssetFile(/\.css$/, 'foo')).toMatch(`woff2?#iefix`) - }) - } -}) - -describe('image', () => { - test('srcset', async () => { - const img = await page.$('.img-src-set') - const srcset = await img.getAttribute('srcset') - srcset.split(', ').forEach((s) => { - expect(s).toMatch( - isBuild - ? /\/foo\/assets\/asset\.\w{8}\.png \d{1}x/ - : /\.\/nested\/asset\.png \d{1}x/ - ) - }) - }) -}) - -describe('svg fragments', () => { - // 404 is checked already, so here we just ensure the urls end with #fragment - test('img url', async () => { - const img = await page.$('.svg-frag-img') - expect(await img.getAttribute('src')).toMatch(/svg#icon-clock-view$/) - }) - - test('via css url()', async () => { - const bg = await page.evaluate(() => { - return getComputedStyle(document.querySelector('.icon')).backgroundImage - }) - expect(bg).toMatch(/svg#icon-clock-view"\)$/) - }) - - test('from js import', async () => { - const img = await page.$('.svg-frag-import') - expect(await img.getAttribute('src')).toMatch(/svg#icon-heart-view$/) - }) -}) - -test('?raw import', async () => { - expect(await page.textContent('.raw')).toMatch('SVG') -}) - -test('?url import', async () => { - const src = readFile('foo.js') - expect(await page.textContent('.url')).toMatch( - isBuild - ? `data:application/javascript;base64,${Buffer.from(src).toString( - 'base64' - )}` - : `/foo/foo.js` - ) -}) - -test('?url import on css', async () => { - const src = readFile('css/icons.css') - const txt = await page.textContent('.url-css') - expect(txt).toEqual( - isBuild - ? `data:text/css;base64,${Buffer.from(src).toString('base64')}` - : '/foo/css/icons.css' - ) -}) - -describe('unicode url', () => { - test('from js import', async () => { - const src = readFile('テスト-測試-white space.js') - expect(await page.textContent('.unicode-url')).toMatch( - isBuild - ? `data:application/javascript;base64,${Buffer.from(src).toString( - 'base64' - )}` - : `/foo/テスト-測試-white space.js` - ) - }) -}) - -describe('encodeURI', () => { - if (isBuild) { - test('img src with encodeURI', async () => { - const img = await page.$('.encodeURI') - expect( - await ( - await img.getAttribute('src') - ).startsWith('data:image/png;base64') - ).toBe(true) - }) - } -}) - -test('new URL(..., import.meta.url)', async () => { - expect(await page.textContent('.import-meta-url')).toMatch(assetMatch) -}) - -test('new URL(`${dynamic}`, import.meta.url)', async () => { - expect(await page.textContent('.dynamic-import-meta-url-1')).toMatch( - isBuild ? 'data:image/png;base64' : '/foo/nested/icon.png' - ) - expect(await page.textContent('.dynamic-import-meta-url-2')).toMatch( - assetMatch - ) -}) - -test('new URL(`non-existent`, import.meta.url)', async () => { - expect(await page.textContent('.non-existent-import-meta-url')).toMatch( - '/foo/non-existent' - ) -}) - -if (isBuild) { - test('manifest', async () => { - const manifest = readManifest('foo') - const entry = manifest['index.html'] - - for (const file of listAssets('foo')) { - if (file.endsWith('.css')) { - expect(entry.css).toContain(`assets/${file}`) - } else if (!file.endsWith('.js')) { - expect(entry.assets).toContain(`assets/${file}`) - } - } - }) -} -describe('css and assets in css in build watch', () => { - if (isBuild) { - test('css will not be lost and css does not contain undefined', async () => { - editFile('index.html', (code) => code.replace('Assets', 'assets'), true) - await notifyRebuildComplete(watcher) - const cssFile = findAssetFile(/index\.\w+\.css$/, 'foo') - expect(cssFile).not.toBe('') - expect(cssFile).not.toMatch(/undefined/) - watcher?.close() - }) - } -}) - -if (!isBuild) { - test('@import in html style tag hmr', async () => { - await untilUpdated(() => getColor('.import-css'), 'rgb(0, 136, 255)') - editFile( - './css/import.css', - (code) => code.replace('#0088ff', '#00ff88'), - true - ) - await untilUpdated(() => getColor('.import-css'), 'rgb(0, 255, 136)') - }) -} diff --git a/packages/playground/assets/css/css-url.css b/packages/playground/assets/css/css-url.css deleted file mode 100644 index 8a3f00dee17bd9..00000000000000 --- a/packages/playground/assets/css/css-url.css +++ /dev/null @@ -1,66 +0,0 @@ -@import './nested/at-imported-css-url.css'; - -.css-url-absolute { - background: url(/nested/asset.png); - background-size: 10px; -} - -.css-url-relative { - background: url(../nested/asset.png); - background-size: 10px; -} - -.css-image-set-relative { - background-image: -webkit-image-set( - url('../nested/asset.png') 1x, - url('../nested/asset.png') 2x - ); - background-size: 10px; -} - -.css-image-set-without-url-call { - background-image: -webkit-image-set( - '../nested/asset.png' 1x, - '../nested/asset.png' 2x - ); - background-size: 10px; -} - -.css-url-public { - background: url('/icon.png'); - background-size: 10px; -} - -.css-url-data-uri { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA0CAYAAADWr1sfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyNkI1RkE4N0VCMTFFQUFBQzJENzUzNDFGRjc1N0UiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAyNkI1Rjk4N0VCMTFFQUFBQzJENzUzNDFGRjc1N0UiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTc3NzA2Q0Y4N0FCMTFFM0I3MERFRTAzNzcwNkMxMjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTc3NzA2RDA4N0FCMTFFM0I3MERFRTAzNzcwNkMxMjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6nwnGxAAAJtklEQVR42txZ6W9c1RU/970373nsJHgZ27FThahSV8BCqGQTlIQ2EiUBReqHVpT8Af0r+NA/ogpqqWiDKrZuKYQPLGEpAlEFiqOgICSUBOKQhDjxeGY885bb37n3TGKPZ+4bx0uWK53Ec+cu53fPfkbtfu13B4noF6AQVAEpah0ak3cUSBU8qh46RfWj50ltKJDXXyBKdMtibI+TXlLqm2C87y/+eO/vlVIVnWbUcShFyld8T19ypvLbZKpyALOjVPCqrUcT1mWXYtIzMUV7Rqn315tJJyk+J51OZwb7QA3QkQD/fAL6JWiIXKMOhkOPwp1DFE/OkJ6NAQxn+fhuPhaFOc8DE9loern+hD9SfJVCdaLdOy5gif9rpHfyHp3pCX5cs6X1PfnORkr+SA9FO4bsgkZm1ykngm8ZK06ll0EvgWY6SwDn1fGKcykVfriewh2D5oKskhhw5KmFzLO0MJdO1yfS87UD2Uxc0tXErM+qLYQ5XUspK8el9JvagXSmPmH2W4lfG3wHNMHciXnmIfj+OvCVga8sD+yMYHyZAZ8H/Qk06dySaiNljf/DB0vklWAB1RQqnS0WA18eQE0Dz0++rjyRluOJDHuzWkwZNAPgLPHfPIeHTK/EEzHWKt/zDdh2asBmUUnJg3TDB0rQIuYptby5x6RgPO/JxIes304p44V1DMAzKQUbe4xqa62h2vbFyWuxeUie1RKqvVmXG/sxOaYKPqliQKp3HmEOB43pWaxJaTPvUV6rdK3Z6FloGUt35yD54EGXEwvaU3nSPSIYF7D5T/mio1rzS7Jaa1we4YWDzb1GUpptqJ1OGUl7BJX+jS7HP/OKEPlgRH5/SP5AZMjrCTz+jtdQQckxauEZ/IZ4bKyhYEsv7h6GpmGuhnsznafORwQbtQKGY6F/gy64pMxPnF2JSQ33UM/ecWNX/PJG3RbYsn15qCiYTQdhr49j9m4jQd8zXlkFZv3d/B087SBM4OodC+5kJYIX5r09+8ZIDYYAn4gqOdFeEEwn2gFmMb0BesEpZeOxARAOJ4SXjLbDlljKcbaQ0ebwrRNLy409oH1Xz1H2xrRc3wfaYx1dm/sgQTyYMZ1wZ4nC+4es76gnC3lqP14QTFk7wDymQH8DnXKCZibKiQHY89gY+aUeGwcT66xaw40JMUnWn52t7NWVeKt5GNaUarw1naruxXn9Rrrz9jRjLsd5PtsfZY3aaBZo9tT5qnxKsExRizto59EOccRzJQomHAC0DzsOHxwy3lvXk8VxU1u1VJFPaSW5B177SRtfNaVnq08izNyjQl9UefFe4zNwdoTI4I8XTfznu3NUORYMiyKP10HvD4neZy7VzqBaHEOjnw5TsKnXfgaDRjKqxWuzzRKtTy/Wt2W1ZAukuyX9tr4Ns+vZpheAVfKoOCuDKrNzDB8Ysp9Znd2qnAnvh9r5I8+hDs86HRhfCIlyQqGgbuHDI0Sz9gHaZj0sQXhhpJhbktOVp5Kvak/x31Sg9rarRXVxXvjwKJxk0Z7N/sOjPEf1bCez7LS1Ji/0iduBAUAD6JDpRFsHqfDjDZRdTqyU26gn2ykkXUovzf2KCV66ZGxXL9YeVtsMMb9w1x0U/WTAADWqnGO4wvMhwdA14PmqfbLjClZdTkaqCFPrAor2byIvUsZrd5Syp4BaFYW8RUmDeG8+wwsVRY+Pk7c+MJpkChXfCfhkJ1XuBjCPV0Bvt0nhFwoPiQfbVjixgaKHho3qGSlbgIu9ti/VEdHifJkdVc2aRoizwnv7kT+nNuy5hxZeX3EtygM8DfoX6FPnCcxL1Yap6NGNCCFFk5x0ETra2i7v9TcWqbh3zIbASmzvcHP7qfA6vRzAJIH7JWeYktRPz2a2bHuoZKpEdjgWdBeoWboMTpwea4o3GiF1lXzZPWLh8Y3ca7oAPAd6E/RubjLCkgBz4fYhCu6cl2d73UmX13KSUcDecNugqX2Np9a5mvKu8Di3EoB5HAP9WboGnZMRFiiXb0MhhYjNOrbeVsc5DPPexEqXz+C9HufLHHPT3PyxIbwd6wZIt4DnxCG81lG1JT9miZiaGeVj8L0+m3I2UrdaezY/z65Auj9ab0vPNLOlp+fEGwtPb3cj3aUA5nEWdDA3GTGMpqT6AupFmLLpYWaL9Hag2XZZdVHqcR1cfGzchDhdyWwFpnKTjIPCG600YFad96S+rHeOzZ5tB7Et3jeItLNk8+Fa2j6jYnU2YSyhaNcwFe4dMHv5DD7L1WUTXt5zmtoyADe7Bwfn15cdHZix3cxIzB+ObC+q2Z1Q6pq0E6gynF0A715ErasbqQWbH9JOCC8zSwGwVMA8Phb3X3a2g5BnZ5cRT78Dj7trxMRR7liY+lhdu5ntVnFDFLm4N1a0nr2e5rVtysLDx0tl/noAc9X7TLNH5KxZuC1Tg6puH0SYKtoaumFrYWPbsS0xg+/2UbjVVkNXW67u8aHwkKwFYB6fgQ47nYXXBBSbEBPtGjUtnWy6YcEm/F1q5sLdkO5AQTonuap8Vu7+7HoYv17APF4Fve6KrabEkzhcuH+AAuTFGmmjkeScbdsU7hswxGtMkqJzM7PX5W5aa8BfSDdwyt30I9Nw44qn+MgYef1IKC42SLN9D4TU8+iYCWGmKSfdEceYkju/uBGAebwvDW53KcOeFxlYcBeqqd3DBiznyCHCUPCDdUTsweM0765M7np/OQwvF/A5aYOedDcKmo23zP5qsalovTfny9wL4xQyP18+KXedu5GAmx0G9pizrsrAJCOQsuovUPTIKIU/HzG/SPKczks97dnPODswXY5gBQDXxK72g3a0fURT5yoTY7nw5w6ksVcAzZq/C7mbcv+TO2rLZXYlJMzjtNjXBedN7IlBXuibtq3ph8W5vw1dkLNPrwSjKwWY89oXQf9xNgqaXruaWLulXK8cy5kvOvP3GwC4mWc/50wImj+xaLrmpFRugvPcUvPltQJMUr0cXcHzjpLrF82bAHBN1O+dFTjrHTmrdjMD5vER6B/LZLQmZ3y00sytBuC65LtvLeOMt+SM+q0AmMekNNbK17G3LHsnV4Ox1QLM4wNRy3gJe2LZ88FqMbWagL8CPe2sptpXQ0/L3lsOMGcW3Cv+O+hyF+svy9pjsveWA9z0tn8Afd7F2s9lbW01GVptwJxTHZfE3/Uj17SsOU7ddLRuYsDN8decDOyorFn1sVaAvyT7k8iZNt+dke++vJ0A8+CfMw+3mT8s39HtBviSgDs+b+64zF26HQHz+C/o+Xmfn5c5ul0BXyT7w/U5oTdlbs1GQGs/vgb9cd7fazr+L8AAD0zRYMSYHQAAAAAASUVORK5CYII=); - background-size: 10px; -} - -.css-url-base64-inline { - background: url(../nested/icon.png); - background-size: 10px; -} - -.css-url-quotes-base64-inline { - background: url('../nested/icon.png'); - background-size: 10px; -} - -.css-url-same-line { - background: url('/nested/asset.png') top right / 10px no-repeat, - url('/icon.png') bottom right / 10px no-repeat; -} - -.css-url-aliased { - background: url('@/asset.png'); - background-size: 10px; -} - -/* -urls inside comments should be ignored - -.css-url-relative { - background: url(../nested/non-existent.png); - background-size: 10px; -} -*/ diff --git a/packages/playground/css-codesplit/index.html b/packages/playground/css-codesplit/index.html deleted file mode 100644 index 6b7b3bb2b4dc2d..00000000000000 --- a/packages/playground/css-codesplit/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -
diff --git a/packages/playground/css-codesplit/main.js b/packages/playground/css-codesplit/main.js deleted file mode 100644 index 8c80df2c181511..00000000000000 --- a/packages/playground/css-codesplit/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './style.css' -import './main.css' - -document.getElementById( - 'app' -).innerHTML = `

This should be red

This should be blue

` diff --git a/packages/playground/dynamic-import/package.json b/packages/playground/dynamic-import/package.json deleted file mode 100644 index a6b6d5f863f1b8..00000000000000 --- a/packages/playground/dynamic-import/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "test-dynamic-import", - "private": true, - "version": "0.0.0", - "scripts": { - "dev": "vite", - "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", - "preview": "vite preview" - } -} diff --git a/packages/playground/glob-import/dir/index.js b/packages/playground/glob-import/dir/index.js deleted file mode 100644 index fb87f69f0f3a61..00000000000000 --- a/packages/playground/glob-import/dir/index.js +++ /dev/null @@ -1,4 +0,0 @@ -const modules = import.meta.globEager('./*.(js|ts)') -const globWithAlias = import.meta.globEager('@dir/al*.js') - -export { modules, globWithAlias } diff --git a/packages/playground/glob-import/dir/nested/bar.js b/packages/playground/glob-import/dir/nested/bar.js deleted file mode 100644 index a2d2921cca80ad..00000000000000 --- a/packages/playground/glob-import/dir/nested/bar.js +++ /dev/null @@ -1,4 +0,0 @@ -const modules = import.meta.globEager('../*.json') - -export const msg = 'bar' -export { modules } diff --git a/packages/playground/lib/src/main.js b/packages/playground/lib/src/main.js deleted file mode 100644 index 2422edf5829a0e..00000000000000 --- a/packages/playground/lib/src/main.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function myLib(sel) { - document.querySelector(sel).textContent = 'It works' -} diff --git a/packages/playground/optimize-missing-deps/missing-dep/index.js b/packages/playground/optimize-missing-deps/missing-dep/index.js deleted file mode 100644 index f5d61c545d080a..00000000000000 --- a/packages/playground/optimize-missing-deps/missing-dep/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import { name } from 'multi-entry-dep' - -export function sayName() { - return name -} diff --git a/packages/playground/worker/emit-chunk-dynamic-import-worker.js b/packages/playground/worker/emit-chunk-dynamic-import-worker.js deleted file mode 100644 index f96e0b15d26497..00000000000000 --- a/packages/playground/worker/emit-chunk-dynamic-import-worker.js +++ /dev/null @@ -1,3 +0,0 @@ -import('./modules/module').then((module) => { - self.postMessage(module.default + import.meta.env.BASE_URL) -}) diff --git a/packages/playground/worker/module-and-worker.js b/packages/playground/worker/module-and-worker.js deleted file mode 100644 index 659e556f08e4a6..00000000000000 --- a/packages/playground/worker/module-and-worker.js +++ /dev/null @@ -1,5 +0,0 @@ -import constant from './modules/module' - -self.postMessage(constant) - -export const module = 'module and worker' diff --git a/packages/playground/worker/sub-worker.js b/packages/playground/worker/sub-worker.js deleted file mode 100644 index eff49dfbb46ba6..00000000000000 --- a/packages/playground/worker/sub-worker.js +++ /dev/null @@ -1,5 +0,0 @@ -self.onmessage = (event) => { - if (event.data === 'ping') { - self.postMessage(`pong ${import.meta.url}`) - } -} diff --git a/packages/playground/worker/url-shared-worker.js b/packages/playground/worker/url-shared-worker.js deleted file mode 100644 index 3535d5c277ec84..00000000000000 --- a/packages/playground/worker/url-shared-worker.js +++ /dev/null @@ -1,6 +0,0 @@ -import constant from './modules/module' - -self.onconnect = (event) => { - const port = event.ports[0] - port.postMessage(constant) -} diff --git a/packages/playground/worker/url-worker.js b/packages/playground/worker/url-worker.js deleted file mode 100644 index c25cbefdff89ec..00000000000000 --- a/packages/playground/worker/url-worker.js +++ /dev/null @@ -1 +0,0 @@ -self.postMessage('A string' + import.meta.env.BASE_URL + import.meta.url) diff --git a/packages/playground/worker/worker-nested-worker.js b/packages/playground/worker/worker-nested-worker.js deleted file mode 100644 index 6d4d1e4969005f..00000000000000 --- a/packages/playground/worker/worker-nested-worker.js +++ /dev/null @@ -1,13 +0,0 @@ -import SubWorker from './sub-worker?worker' - -const subWorker = new SubWorker() - -self.onmessage = (event) => { - if (event.data === 'ping') { - subWorker.postMessage('ping') - } -} - -subWorker.onmessage = (event) => { - self.postMessage(event.data) -} diff --git a/packages/plugin-legacy/CHANGELOG.md b/packages/plugin-legacy/CHANGELOG.md index ced87d2efd665c..035460b5816cb5 100644 --- a/packages/plugin-legacy/CHANGELOG.md +++ b/packages/plugin-legacy/CHANGELOG.md @@ -1,3 +1,19 @@ +## 1.8.2 (2022-05-02) + +* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780) +* chore(deps): update all non-major dependencies (#7847) ([e29d1d9](https://github.com/vitejs/vite/commit/e29d1d9)), closes [#7847](https://github.com/vitejs/vite/issues/7847) +* chore(deps): update all non-major dependencies (#7949) ([b877d30](https://github.com/vitejs/vite/commit/b877d30)), closes [#7949](https://github.com/vitejs/vite/issues/7949) +* refactor(legacy): remove unneeded dynamic import var init code (#7759) ([12a4e7d](https://github.com/vitejs/vite/commit/12a4e7d)), closes [#7759](https://github.com/vitejs/vite/issues/7759) + + + +## 1.8.1 (2022-04-13) + +* fix(deps): update all non-major dependencies (#7668) ([485263c](https://github.com/vitejs/vite/commit/485263c)), closes [#7668](https://github.com/vitejs/vite/issues/7668) +* docs(legacy): note works in build only (#7596) ([f26b14a](https://github.com/vitejs/vite/commit/f26b14a)), closes [#7596](https://github.com/vitejs/vite/issues/7596) + + + ## 1.8.0 (2022-03-30) * fix(deps): update all non-major dependencies (#6782) ([e38be3e](https://github.com/vitejs/vite/commit/e38be3e)), closes [#6782](https://github.com/vitejs/vite/issues/6782) diff --git a/packages/plugin-legacy/README.md b/packages/plugin-legacy/README.md index ec7e630c87755a..fc4167f4f1010f 100644 --- a/packages/plugin-legacy/README.md +++ b/packages/plugin-legacy/README.md @@ -1,8 +1,6 @@ # @vitejs/plugin-legacy [![npm](https://img.shields.io/npm/v/@vitejs/plugin-legacy.svg)](https://npmjs.com/package/@vitejs/plugin-legacy) -**Note: this plugin requires `vite@^2.0.0`**. - -Vite's default browser support baseline is [Native ESM](https://caniuse.com/es6-module). This plugin provides support for legacy browsers that do not support native ESM. +Vite's default browser support baseline is [Native ESM](https://caniuse.com/es6-module). This plugin provides support for legacy browsers that do not support native ESM when building for production. By default, this plugin will: @@ -29,22 +27,6 @@ export default { } ``` -When targeting IE11, you also need `regenerator-runtime`: - -```js -// vite.config.js -import legacy from '@vitejs/plugin-legacy' - -export default { - plugins: [ - legacy({ - targets: ['ie >= 11'], - additionalLegacyPolyfills: ['regenerator-runtime/runtime'] - }) - ] -} -``` - ## Options ### `targets` @@ -165,7 +147,6 @@ The legacy plugin requires inline scripts for [Safari 10.1 `nomodule` fix](https - `sha256-MS6/3FCg4WjP9gwgaBGwLpRCY6fZBgwmhVCdrPrNf3E=` - `sha256-tQjf8gvb2ROOMapIxFvFAYBeUJ0v1HCbOcSmDNXGtDo=` -- `sha256-xYj09txJ9OsgySe5ommpqul6FiaJZRrwe3KTD7wbV6w=` - `sha256-4m6wOIrq/wFDmi9Xh3mFM2mwI4ik9n3TMgHk6xDtLxk=` - `sha256-uS7/g9fhQwNZS1f/MqYqqKv8y9hCu36IfX9XZB5L7YY=` diff --git a/packages/plugin-legacy/index.js b/packages/plugin-legacy/index.js index 41f7157ebfc533..2f1b1991c31c31 100644 --- a/packages/plugin-legacy/index.js +++ b/packages/plugin-legacy/index.js @@ -20,7 +20,6 @@ const legacyEntryId = 'vite-legacy-entry' const systemJSInlineCode = `System.import(document.getElementById('${legacyEntryId}').getAttribute('data-src'))` const detectDynamicImportVarName = '__vite_is_dynamic_import_support' -const detectDynamicImportVarInitCode = `var ${detectDynamicImportVarName}=false;` const detectDynamicImportCode = `try{import("_").catch(()=>1);}catch(e){}window.${detectDynamicImportVarName}=true;` const dynamicFallbackInlineCode = `!function(){if(window.${detectDynamicImportVarName})return;console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("${legacyPolyfillId}"),n=document.createElement("script");n.src=e.src,n.onload=function(){${systemJSInlineCode}},document.body.appendChild(n)}();` @@ -437,12 +436,6 @@ function viteLegacyPlugin(options = {}) { // 5. inject dynamic import fallback entry if (genDynamicFallback && legacyPolyfillFilename && legacyEntryFilename) { - tags.push({ - tag: 'script', - attrs: { type: 'module' }, - children: detectDynamicImportVarInitCode, - injectTo: 'head' - }) tags.push({ tag: 'script', attrs: { type: 'module' }, @@ -714,7 +707,6 @@ viteLegacyPlugin.default = viteLegacyPlugin viteLegacyPlugin.cspHashes = [ createHash('sha256').update(safari10NoModuleFix).digest('base64'), createHash('sha256').update(systemJSInlineCode).digest('base64'), - createHash('sha256').update(detectDynamicImportVarInitCode).digest('base64'), createHash('sha256').update(detectDynamicImportCode).digest('base64'), createHash('sha256').update(dynamicFallbackInlineCode).digest('base64') ] diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index aa8c478e4dae18..296c994165747b 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@vitejs/plugin-legacy", - "version": "1.8.0", + "version": "1.8.2", "license": "MIT", "author": "Evan You", "files": [ @@ -10,7 +10,7 @@ "main": "index.js", "types": "index.d.ts", "engines": { - "node": ">=12.0.0" + "node": ">=14.6.0" }, "repository": { "type": "git", @@ -22,8 +22,8 @@ }, "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme", "dependencies": { - "@babel/standalone": "^7.17.8", - "core-js": "^3.21.1", + "@babel/standalone": "^7.17.11", + "core-js": "^3.22.4", "magic-string": "^0.26.1", "regenerator-runtime": "^0.13.9", "systemjs": "^6.12.1" diff --git a/packages/plugin-react/CHANGELOG.md b/packages/plugin-react/CHANGELOG.md index c05c0989d6beb4..01dfee3feb7ffb 100644 --- a/packages/plugin-react/CHANGELOG.md +++ b/packages/plugin-react/CHANGELOG.md @@ -1,3 +1,19 @@ +## 1.3.2 (2022-05-02) + +* fix(plugin-react): React is not defined when component name is lowercase (#6838) ([bf40e5c](https://github.com/vitejs/vite/commit/bf40e5c)), closes [#6838](https://github.com/vitejs/vite/issues/6838) +* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780) +* chore(deps): update all non-major dependencies (#7949) ([b877d30](https://github.com/vitejs/vite/commit/b877d30)), closes [#7949](https://github.com/vitejs/vite/issues/7949) + + + +## 1.3.1 (2022-04-13) + +* fix(deps): update all non-major dependencies (#7668) ([485263c](https://github.com/vitejs/vite/commit/485263c)), closes [#7668](https://github.com/vitejs/vite/issues/7668) +* chore: fix term cases (#7553) ([c296130](https://github.com/vitejs/vite/commit/c296130)), closes [#7553](https://github.com/vitejs/vite/issues/7553) +* chore(deps): update all non-major dependencies (#7603) ([fc51a15](https://github.com/vitejs/vite/commit/fc51a15)), closes [#7603](https://github.com/vitejs/vite/issues/7603) + + + ## 1.3.0 (2022-03-30) * feat(plugin-react): adding jsxPure option (#7088) ([d451435](https://github.com/vitejs/vite/commit/d451435)), closes [#7088](https://github.com/vitejs/vite/issues/7088) diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json index 8313fc5a81d648..ca8b1d78752b69 100644 --- a/packages/plugin-react/package.json +++ b/packages/plugin-react/package.json @@ -1,6 +1,6 @@ { "name": "@vitejs/plugin-react", - "version": "1.3.0", + "version": "1.3.2", "license": "MIT", "author": "Evan You", "contributors": [ @@ -21,7 +21,7 @@ "prepublishOnly": "(cd ../vite && npm run build) && npm run build" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.6.0" }, "repository": { "type": "git", @@ -33,13 +33,16 @@ }, "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-react#readme", "dependencies": { - "@babel/core": "^7.17.8", + "@babel/core": "^7.17.10", "@babel/plugin-transform-react-jsx": "^7.17.3", "@babel/plugin-transform-react-jsx-development": "^7.16.7", "@babel/plugin-transform-react-jsx-self": "^7.16.7", "@babel/plugin-transform-react-jsx-source": "^7.16.7", - "@rollup/pluginutils": "^4.2.0", - "react-refresh": "^0.11.0", + "@rollup/pluginutils": "^4.2.1", + "react-refresh": "^0.13.0", "resolve": "^1.22.0" + }, + "peerDependencies": { + "vite": "^2.0.0" } } diff --git a/packages/plugin-react/src/fast-refresh.ts b/packages/plugin-react/src/fast-refresh.ts index 70562bbbdfc5b7..4672e26f6264e3 100644 --- a/packages/plugin-react/src/fast-refresh.ts +++ b/packages/plugin-react/src/fast-refresh.ts @@ -1,10 +1,15 @@ import type { types as t } from '@babel/core' import fs from 'fs' +import path from 'path' export const runtimePublicPath = '/@react-refresh' -const runtimeFilePath = require.resolve( - 'react-refresh/cjs/react-refresh-runtime.development.js' +const reactRefreshDir = path.dirname( + require.resolve('react-refresh/package.json') +) +const runtimeFilePath = path.join( + reactRefreshDir, + 'cjs/react-refresh-runtime.development.js' ) export const runtimeCode = ` diff --git a/packages/plugin-react/src/index.ts b/packages/plugin-react/src/index.ts index 76f6c6c2a799f3..4ca3e0d371f6c9 100644 --- a/packages/plugin-react/src/index.ts +++ b/packages/plugin-react/src/index.ts @@ -38,15 +38,10 @@ export interface Options { * @default true */ jsxPure?: boolean - /** * Babel configuration applied in both dev and prod. */ babel?: BabelOptions - /** - * @deprecated Use `babel.parserOpts.plugins` instead - */ - parserPlugins?: ParserOptions['plugins'] } export type BabelOptions = Omit< @@ -104,7 +99,7 @@ export default function viteReact(opts: Options = {}): PluginOption[] { babelOptions.presets ||= [] babelOptions.overrides ||= [] babelOptions.parserOpts ||= {} as any - babelOptions.parserOpts.plugins ||= opts.parserPlugins || [] + babelOptions.parserOpts.plugins ||= [] // Support patterns like: // - import * as React from 'react'; @@ -176,7 +171,7 @@ export default function viteReact(opts: Options = {}): PluginOption[] { if (isReactModule && filter(id)) { useFastRefresh = true plugins.push([ - await loadPlugin('react-refresh/babel.js'), + await loadPlugin('react-refresh/babel'), { skipEnvCheck: true } ]) } diff --git a/packages/plugin-react/src/jsx-runtime/babel-restore-jsx.spec.ts b/packages/plugin-react/src/jsx-runtime/babel-restore-jsx.spec.ts index 59d6661bedd11b..391007f68c1329 100644 --- a/packages/plugin-react/src/jsx-runtime/babel-restore-jsx.spec.ts +++ b/packages/plugin-react/src/jsx-runtime/babel-restore-jsx.spec.ts @@ -1,5 +1,6 @@ import babelRestoreJSX from './babel-restore-jsx' import * as babel from '@babel/core' +import { describe, it, expect } from 'vitest' function jsx(code: string) { return babel.transform(code, { diff --git a/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts b/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts new file mode 100644 index 00000000000000..4f6a34ee60d915 --- /dev/null +++ b/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts @@ -0,0 +1,56 @@ +import { restoreJSX } from './restore-jsx' +import * as babel from '@babel/core' +import { describe, it, expect } from 'vitest' + +async function jsx(sourceCode: string) { + const [ast] = await restoreJSX(babel, sourceCode, 'test.js') + if (ast == null) { + return ast + } + const { code } = await babel.transformFromAstAsync(ast, null, { + configFile: false + }) + return code +} +// jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; +// React__default.createElement(Foo)`) +// Tests adapted from: https://github.com/flying-sheep/babel-plugin-transform-react-createelement-to-jsx/blob/63137b6/test/index.js +describe('restore-jsx', () => { + it('should trans to ', async () => { + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement(foo)`) + ).toBeNull() + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement("h1")`) + ).toMatch(`

;`) + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement(Foo)`) + ).toMatch(`;`) + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement(Foo.Bar)`) + ).toMatch(`;`) + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement(Foo.Bar.Baz)`) + ).toMatch(`;`) + }) + + it('should handle props', async () => { + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement(foo, {hi: there})`) + ).toBeNull() + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement("h1", {hi: there})`) + ).toMatch(`

;`) + expect( + await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react'; + React__default.createElement(Foo, {hi: there})`) + ).toMatch(`;`) + }) +}) diff --git a/packages/plugin-react/src/jsx-runtime/restore-jsx.ts b/packages/plugin-react/src/jsx-runtime/restore-jsx.ts index 268153f4ba5d45..dbc2218d2343ff 100644 --- a/packages/plugin-react/src/jsx-runtime/restore-jsx.ts +++ b/packages/plugin-react/src/jsx-runtime/restore-jsx.ts @@ -20,32 +20,42 @@ export async function restoreJSX( } const [reactAlias, isCommonJS] = parseReactAlias(code) + if (!reactAlias) { return jsxNotFound } - const reactJsxRE = new RegExp( - '\\b' + reactAlias + '\\.(createElement|Fragment)\\b', - 'g' - ) - let hasCompiledJsx = false - code = code.replace(reactJsxRE, (_, prop) => { - hasCompiledJsx = true - // Replace with "React" so JSX can be reverse compiled. - return 'React.' + prop - }) + + const fragmentPattern = `\\b${reactAlias}\\.Fragment\\b` + const createElementPattern = `\\b${reactAlias}\\.createElement\\(\\s*([A-Z"'][\\w$.]*["']?)` + + // Replace the alias with "React" so JSX can be reverse compiled. + code = code + .replace(new RegExp(fragmentPattern, 'g'), () => { + hasCompiledJsx = true + return 'React.Fragment' + }) + .replace(new RegExp(createElementPattern, 'g'), (original, component) => { + if (/^[a-z][\w$]*$/.test(component)) { + // Take care not to replace the alias for `createElement` calls whose + // component is a lowercased variable, since the `restoreJSX` Babel + // plugin leaves them untouched. + return original + } + hasCompiledJsx = true + return ( + 'React.createElement(' + + // Assume `Fragment` is equivalent to `React.Fragment` so modules + // that use `import {Fragment} from 'react'` are reverse compiled. + (component === 'Fragment' ? 'React.Fragment' : component) + ) + }) if (!hasCompiledJsx) { return jsxNotFound } - // Support modules that use `import {Fragment} from 'react'` - code = code.replace( - /createElement\(Fragment,/g, - 'createElement(React.Fragment,' - ) - babelRestoreJSX ||= import('./babel-restore-jsx') const result = await babel.transformAsync(code, { diff --git a/packages/plugin-vue-jsx/CHANGELOG.md b/packages/plugin-vue-jsx/CHANGELOG.md index 3a1b9e681b45ea..94effd95f316b6 100644 --- a/packages/plugin-vue-jsx/CHANGELOG.md +++ b/packages/plugin-vue-jsx/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.3.10 (2022-04-13) + +* fix(deps): update all non-major dependencies (#7668) ([485263c](https://github.com/vitejs/vite/commit/485263c)), closes [#7668](https://github.com/vitejs/vite/issues/7668) + + + ## 1.3.9 (2022-03-30) * fix(deps): update all non-major dependencies (#7392) ([b63fc3b](https://github.com/vitejs/vite/commit/b63fc3b)), closes [#7392](https://github.com/vitejs/vite/issues/7392) diff --git a/packages/plugin-vue-jsx/index.js b/packages/plugin-vue-jsx/index.js index 248270765d19a1..929f4fb44cd434 100644 --- a/packages/plugin-vue-jsx/index.js +++ b/packages/plugin-vue-jsx/index.js @@ -48,12 +48,6 @@ function vueJsxPlugin(options = {}) { name: 'vite:vue-jsx', config(config) { - const optionsApi = config.define - ? config.define.__VUE_OPTIONS_API__ - : undefined - const devTools = config.define - ? config.define.__VUE_PROD_DEVTOOLS__ - : undefined return { // only apply esbuild to ts files // since we are handling jsx and tsx now @@ -61,8 +55,8 @@ function vueJsxPlugin(options = {}) { include: /\.ts$/ }, define: { - __VUE_OPTIONS_API__: optionsApi != null ? optionsApi : true, - __VUE_PROD_DEVTOOLS__: devTools != null ? devTools : false + __VUE_OPTIONS_API__: config.define?.__VUE_OPTIONS_API__ ?? true, + __VUE_PROD_DEVTOOLS__: config.define?.__VUE_PROD_DEVTOOLS__ ?? false } } }, diff --git a/packages/plugin-vue-jsx/package.json b/packages/plugin-vue-jsx/package.json index c6a352eccc99a0..11e83bac3321b6 100644 --- a/packages/plugin-vue-jsx/package.json +++ b/packages/plugin-vue-jsx/package.json @@ -1,6 +1,6 @@ { "name": "@vitejs/plugin-vue-jsx", - "version": "1.3.9", + "version": "1.3.10", "license": "MIT", "author": "Evan You", "files": [ @@ -10,7 +10,7 @@ "main": "index.js", "types": "index.d.ts", "engines": { - "node": ">=12.0.0" + "node": ">=14.6.0" }, "repository": { "type": "git", @@ -22,11 +22,15 @@ }, "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-vue-jsx#readme", "dependencies": { - "@babel/core": "^7.17.8", + "@babel/core": "^7.17.10", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-transform-typescript": "^7.16.8", - "@rollup/pluginutils": "^4.2.0", + "@rollup/pluginutils": "^4.2.1", "@vue/babel-plugin-jsx": "^1.1.1", "hash-sum": "^2.0.0" + }, + "peerDependencies": { + "vite": "^2.0.0", + "vue": "^3.0.0" } } diff --git a/packages/plugin-vue/CHANGELOG.md b/packages/plugin-vue/CHANGELOG.md index 135daffbfaaa67..4990d5fc10bd50 100644 --- a/packages/plugin-vue/CHANGELOG.md +++ b/packages/plugin-vue/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.3.2 (2022-05-04) + +* feat: import ts with .js in vue (#7998) ([9974094](https://github.com/vitejs/vite/commit/9974094)), closes [#7998](https://github.com/vitejs/vite/issues/7998) +* refactor(plugin-vue): remove querystring import (#7997) ([f3d15f1](https://github.com/vitejs/vite/commit/f3d15f1)), closes [#7997](https://github.com/vitejs/vite/issues/7997) +* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780) + + + ## 2.3.1 (2022-03-30) * chore(plugin-vue): revert #7527, lower vite peer dep ([447bbeb](https://github.com/vitejs/vite/commit/447bbeb)), closes [#7527](https://github.com/vitejs/vite/issues/7527) diff --git a/packages/plugin-vue/package.json b/packages/plugin-vue/package.json index 39b3bc87a8b1df..9124f4f97bffc1 100644 --- a/packages/plugin-vue/package.json +++ b/packages/plugin-vue/package.json @@ -1,6 +1,6 @@ { "name": "@vitejs/plugin-vue", - "version": "2.3.1", + "version": "2.3.2", "license": "MIT", "author": "Evan You", "files": [ @@ -19,7 +19,7 @@ "prepublishOnly": "(cd ../vite && npm run build) && npm run build" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.6.0" }, "repository": { "type": "git", @@ -35,13 +35,13 @@ "vue": "^3.2.25" }, "devDependencies": { - "@rollup/pluginutils": "^4.2.0", + "@rollup/pluginutils": "^4.2.1", "@types/hash-sum": "^1.0.0", "debug": "^4.3.4", "hash-sum": "^2.0.0", - "rollup": "^2.59.0", + "rollup": "^2.72.1", "slash": "^4.0.0", "source-map": "^0.6.1", - "vue": "^3.2.31" + "vue": "^3.2.33" } } diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index 44b1de74721efd..ccc700f184d0e4 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -1,4 +1,3 @@ -import qs from 'querystring' import path from 'path' import type { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc' import type { ResolvedOptions } from '.' @@ -212,6 +211,11 @@ export async function transformMain( code: resolvedCode, map: resolvedMap || { mappings: '' + }, + meta: { + vite: { + lang: descriptor.script?.lang || descriptor.scriptSetup?.lang || 'js' + } } } } @@ -268,7 +272,10 @@ async function genScriptCode( if (script) { // If the script is js/ts and has no external src, it can be directly placed // in the main module. - if ((!script.lang || script.lang === 'ts') && !script.src) { + if ( + (!script.lang || (script.lang === 'ts' && options.devServer)) && + !script.src + ) { scriptCode = options.compiler.rewriteDefault( script.content, '_sfc_main', @@ -426,8 +433,8 @@ function attrsToQuery( for (const name in attrs) { const value = attrs[name] if (!ignoreList.includes(name)) { - query += `&${qs.escape(name)}${ - value ? `=${qs.escape(String(value))}` : `` + query += `&${encodeURIComponent(name)}${ + value ? `=${encodeURIComponent(value)}` : `` }` } } diff --git a/packages/plugin-vue/src/template.ts b/packages/plugin-vue/src/template.ts index 72e9588967556e..c7eed9015d6339 100644 --- a/packages/plugin-vue/src/template.ts +++ b/packages/plugin-vue/src/template.ts @@ -139,7 +139,7 @@ export function resolveTemplateCompilerOptions( tags: transformAssetUrls as any } } else { - transformAssetUrls = { ...transformAssetUrls, ...assetUrlOptions } + transformAssetUrls = { ...assetUrlOptions, ...transformAssetUrls } } } else { transformAssetUrls = assetUrlOptions diff --git a/packages/plugin-vue/src/utils/query.ts b/packages/plugin-vue/src/utils/query.ts index d41cb1be2cf536..060b5f28987bfa 100644 --- a/packages/plugin-vue/src/utils/query.ts +++ b/packages/plugin-vue/src/utils/query.ts @@ -1,5 +1,3 @@ -import qs from 'querystring' - export interface VueQuery { vue?: boolean src?: string @@ -14,7 +12,7 @@ export function parseVueRequest(id: string): { query: VueQuery } { const [filename, rawQuery] = id.split(`?`, 2) - const query = qs.parse(rawQuery) as VueQuery + const query = Object.fromEntries(new URLSearchParams(rawQuery)) as VueQuery if (query.vue != null) { query.vue = true } diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index ac0df4435282b1..3c967f289c1f34 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,112 @@ +## 2.9.8 (2022-05-04) + +* fix: inline js and css paths for virtual html (#7993) ([d49e3fb](https://github.com/vitejs/vite/commit/d49e3fb)), closes [#7993](https://github.com/vitejs/vite/issues/7993) +* fix: only handle merge ssr.noExternal (#8003) ([642d65b](https://github.com/vitejs/vite/commit/642d65b)), closes [#8003](https://github.com/vitejs/vite/issues/8003) +* fix: optimized processing folder renaming in win (fix #7939) (#8019) ([e5fe1c6](https://github.com/vitejs/vite/commit/e5fe1c6)), closes [#7939](https://github.com/vitejs/vite/issues/7939) [#8019](https://github.com/vitejs/vite/issues/8019) +* fix(css): do not clean id when passing to postcss (fix #7822) (#7827) ([72f17f8](https://github.com/vitejs/vite/commit/72f17f8)), closes [#7822](https://github.com/vitejs/vite/issues/7822) [#7827](https://github.com/vitejs/vite/issues/7827) +* fix(css): var in image-set (#7921) ([e96b908](https://github.com/vitejs/vite/commit/e96b908)), closes [#7921](https://github.com/vitejs/vite/issues/7921) +* fix(ssr): allow ssrTransform to parse hashbang (#8005) ([6420ba0](https://github.com/vitejs/vite/commit/6420ba0)), closes [#8005](https://github.com/vitejs/vite/issues/8005) +* feat: import ts with .js in vue (#7998) ([9974094](https://github.com/vitejs/vite/commit/9974094)), closes [#7998](https://github.com/vitejs/vite/issues/7998) +* chore: remove maybeVirtualHtmlSet (#8010) ([e85164e](https://github.com/vitejs/vite/commit/e85164e)), closes [#8010](https://github.com/vitejs/vite/issues/8010) + + + +## 2.9.7 (2022-05-02) + +* chore: update license ([d58c030](https://github.com/vitejs/vite/commit/d58c030)) +* chore(css): catch postcss config error (fix #2793) (#7934) ([7f535ac](https://github.com/vitejs/vite/commit/7f535ac)), closes [#2793](https://github.com/vitejs/vite/issues/2793) [#7934](https://github.com/vitejs/vite/issues/7934) +* chore(deps): update all non-major dependencies (#7949) ([b877d30](https://github.com/vitejs/vite/commit/b877d30)), closes [#7949](https://github.com/vitejs/vite/issues/7949) +* fix: inject esbuild helpers in IIFE and UMD wrappers (#7948) ([f7d2d71](https://github.com/vitejs/vite/commit/f7d2d71)), closes [#7948](https://github.com/vitejs/vite/issues/7948) +* fix: inline css hash (#7974) ([f6ae60d](https://github.com/vitejs/vite/commit/f6ae60d)), closes [#7974](https://github.com/vitejs/vite/issues/7974) +* fix: inline style hmr, transform style code inplace (#7869) ([a30a548](https://github.com/vitejs/vite/commit/a30a548)), closes [#7869](https://github.com/vitejs/vite/issues/7869) +* fix: use NODE_ENV in optimizer (#7673) ([50672e4](https://github.com/vitejs/vite/commit/50672e4)), closes [#7673](https://github.com/vitejs/vite/issues/7673) +* fix(css): clean comments before hoist at rules (#7924) ([e48827f](https://github.com/vitejs/vite/commit/e48827f)), closes [#7924](https://github.com/vitejs/vite/issues/7924) +* fix(css): dynamic import css in package fetches removed js (fixes #7955, #6823) (#7969) ([025eebf](https://github.com/vitejs/vite/commit/025eebf)), closes [#7955](https://github.com/vitejs/vite/issues/7955) [#6823](https://github.com/vitejs/vite/issues/6823) [#7969](https://github.com/vitejs/vite/issues/7969) +* fix(css): inline css module when ssr, minify issue (fix #5471) (#7807) ([cf8a48a](https://github.com/vitejs/vite/commit/cf8a48a)), closes [#5471](https://github.com/vitejs/vite/issues/5471) [#7807](https://github.com/vitejs/vite/issues/7807) +* fix(css): sourcemap crash with postcss (#7982) ([7f9f8f1](https://github.com/vitejs/vite/commit/7f9f8f1)), closes [#7982](https://github.com/vitejs/vite/issues/7982) +* fix(css): support postcss.config.ts (#7935) ([274c10e](https://github.com/vitejs/vite/commit/274c10e)), closes [#7935](https://github.com/vitejs/vite/issues/7935) +* fix(ssr): failed ssrLoadModule call throws same error (#7177) ([891e7fc](https://github.com/vitejs/vite/commit/891e7fc)), closes [#7177](https://github.com/vitejs/vite/issues/7177) +* fix(worker): import.meta.* (#7706) ([b092697](https://github.com/vitejs/vite/commit/b092697)), closes [#7706](https://github.com/vitejs/vite/issues/7706) +* docs: `server.origin` config trailing slash (fix #6622) (#7865) ([5c1ee5a](https://github.com/vitejs/vite/commit/5c1ee5a)), closes [#6622](https://github.com/vitejs/vite/issues/6622) [#7865](https://github.com/vitejs/vite/issues/7865) + + + +## 2.9.6 (2022-04-26) + +* fix: `apply` condition skipped for nested plugins (#7741) ([1f2ca53](https://github.com/vitejs/vite/commit/1f2ca53)), closes [#7741](https://github.com/vitejs/vite/issues/7741) +* fix: clean string regexp (#7871) ([ecc78bc](https://github.com/vitejs/vite/commit/ecc78bc)), closes [#7871](https://github.com/vitejs/vite/issues/7871) +* fix: escape character in string regexp match (#7834) ([1d468c8](https://github.com/vitejs/vite/commit/1d468c8)), closes [#7834](https://github.com/vitejs/vite/issues/7834) +* fix: HMR propagation of HTML changes (fix #7870) (#7895) ([1f7855c](https://github.com/vitejs/vite/commit/1f7855c)), closes [#7870](https://github.com/vitejs/vite/issues/7870) [#7895](https://github.com/vitejs/vite/issues/7895) +* fix: modulepreload polyfill only during build (fix #4786) (#7816) ([709776f](https://github.com/vitejs/vite/commit/709776f)), closes [#4786](https://github.com/vitejs/vite/issues/4786) [#7816](https://github.com/vitejs/vite/issues/7816) +* fix: new SharedWorker syntax (#7800) ([474d5c2](https://github.com/vitejs/vite/commit/474d5c2)), closes [#7800](https://github.com/vitejs/vite/issues/7800) +* fix: node v18 support (#7812) ([fc89057](https://github.com/vitejs/vite/commit/fc89057)), closes [#7812](https://github.com/vitejs/vite/issues/7812) +* fix: preview jsdoc params (#7903) ([e474381](https://github.com/vitejs/vite/commit/e474381)), closes [#7903](https://github.com/vitejs/vite/issues/7903) +* fix: replace import.meta.url correctly (#7792) ([12d1194](https://github.com/vitejs/vite/commit/12d1194)), closes [#7792](https://github.com/vitejs/vite/issues/7792) +* fix: set `isSelfAccepting` to `false` for any asset not processed by importAnalysis (#7898) ([0d2089c](https://github.com/vitejs/vite/commit/0d2089c)), closes [#7898](https://github.com/vitejs/vite/issues/7898) +* fix: spelling mistakes (#7883) ([54728e3](https://github.com/vitejs/vite/commit/54728e3)), closes [#7883](https://github.com/vitejs/vite/issues/7883) +* fix: ssr.noExternal with boolean values (#7813) ([0b2d307](https://github.com/vitejs/vite/commit/0b2d307)), closes [#7813](https://github.com/vitejs/vite/issues/7813) +* fix: style use string instead of js import (#7786) ([ba43c29](https://github.com/vitejs/vite/commit/ba43c29)), closes [#7786](https://github.com/vitejs/vite/issues/7786) +* fix: update sourcemap in importAnalysisBuild (#7825) ([d7540c8](https://github.com/vitejs/vite/commit/d7540c8)), closes [#7825](https://github.com/vitejs/vite/issues/7825) +* fix(ssr): rewrite dynamic class method name (fix #7751) (#7757) ([b89974a](https://github.com/vitejs/vite/commit/b89974a)), closes [#7751](https://github.com/vitejs/vite/issues/7751) [#7757](https://github.com/vitejs/vite/issues/7757) +* chore: code structure (#7790) ([5f7fe00](https://github.com/vitejs/vite/commit/5f7fe00)), closes [#7790](https://github.com/vitejs/vite/issues/7790) +* chore: fix worker sourcemap output style (#7805) ([17f3be7](https://github.com/vitejs/vite/commit/17f3be7)), closes [#7805](https://github.com/vitejs/vite/issues/7805) +* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780) +* chore(deps): update all non-major dependencies (#7847) ([e29d1d9](https://github.com/vitejs/vite/commit/e29d1d9)), closes [#7847](https://github.com/vitejs/vite/issues/7847) +* feat: enable optimizeDeps.esbuildOptions.loader (#6840) ([af8ca60](https://github.com/vitejs/vite/commit/af8ca60)), closes [#6840](https://github.com/vitejs/vite/issues/6840) + + + +## 2.9.5 (2022-04-14) + +* fix: revert #7582, fix #7721 and #7736 (#7737) ([fa86d69](https://github.com/vitejs/vite/commit/fa86d69)), closes [#7721](https://github.com/vitejs/vite/issues/7721) [#7736](https://github.com/vitejs/vite/issues/7736) [#7737](https://github.com/vitejs/vite/issues/7737) +* chore: format css minify esbuild error (#7731) ([c445075](https://github.com/vitejs/vite/commit/c445075)), closes [#7731](https://github.com/vitejs/vite/issues/7731) + + + +## 2.9.4 (2022-04-13) + +* fix: handle url imports with semicolon (fix #7717) (#7718) ([a5c2a78](https://github.com/vitejs/vite/commit/a5c2a78)), closes [#7717](https://github.com/vitejs/vite/issues/7717) [#7718](https://github.com/vitejs/vite/issues/7718) + + + +## 2.9.3 (2022-04-13) + +* fix: revert #7665 (#7716) ([26862c4](https://github.com/vitejs/vite/commit/26862c4)), closes [#7665](https://github.com/vitejs/vite/issues/7665) [#7716](https://github.com/vitejs/vite/issues/7716) + + + +## 2.9.2 (2022-04-13) + +* fix: `$ vite preview` 404 handling (#7665) ([66b6dc5](https://github.com/vitejs/vite/commit/66b6dc5)), closes [#7665](https://github.com/vitejs/vite/issues/7665) +* fix: build should also respect esbuild=false config (#7602) ([2dc0e80](https://github.com/vitejs/vite/commit/2dc0e80)), closes [#7602](https://github.com/vitejs/vite/issues/7602) +* fix: default value of assetsDir option (#7703) ([83d32d9](https://github.com/vitejs/vite/commit/83d32d9)), closes [#7703](https://github.com/vitejs/vite/issues/7703) +* fix: detect env hmr (#7595) ([212d454](https://github.com/vitejs/vite/commit/212d454)), closes [#7595](https://github.com/vitejs/vite/issues/7595) +* fix: EACCES permission denied due to resolve new paths default (#7612) ([1dd019f](https://github.com/vitejs/vite/commit/1dd019f)), closes [#7612](https://github.com/vitejs/vite/issues/7612) +* fix: fix HMR propagation when imports not analyzed (#7561) ([57e7914](https://github.com/vitejs/vite/commit/57e7914)), closes [#7561](https://github.com/vitejs/vite/issues/7561) +* fix: nested comments and strings, new regexp utils (#7650) ([93900f0](https://github.com/vitejs/vite/commit/93900f0)), closes [#7650](https://github.com/vitejs/vite/issues/7650) +* fix: revert optimizeDeps false, keep optimizedDeps.disabled (#7715) ([ba9a1ff](https://github.com/vitejs/vite/commit/ba9a1ff)), closes [#7715](https://github.com/vitejs/vite/issues/7715) +* fix: update watch mode (#7132) ([9ed1672](https://github.com/vitejs/vite/commit/9ed1672)), closes [#7132](https://github.com/vitejs/vite/issues/7132) +* fix: update ws types (#7605) ([b620587](https://github.com/vitejs/vite/commit/b620587)), closes [#7605](https://github.com/vitejs/vite/issues/7605) +* fix: use correct proxy config in preview (#7604) ([cf59005](https://github.com/vitejs/vite/commit/cf59005)), closes [#7604](https://github.com/vitejs/vite/issues/7604) +* fix(css): hoist charset (#7678) ([29e622c](https://github.com/vitejs/vite/commit/29e622c)), closes [#7678](https://github.com/vitejs/vite/issues/7678) +* fix(css): include inline css module in bundle (#7591) ([45b9273](https://github.com/vitejs/vite/commit/45b9273)), closes [#7591](https://github.com/vitejs/vite/issues/7591) +* fix(deps): update all non-major dependencies (#7668) ([485263c](https://github.com/vitejs/vite/commit/485263c)), closes [#7668](https://github.com/vitejs/vite/issues/7668) +* fix(less): handles rewriting relative paths passed Less's `data-uri` function. (#7400) ([08e39b7](https://github.com/vitejs/vite/commit/08e39b7)), closes [#7400](https://github.com/vitejs/vite/issues/7400) +* fix(resolver): skip known ESM entries when resolving a `require` call (#7582) ([5d6ea8e](https://github.com/vitejs/vite/commit/5d6ea8e)), closes [#7582](https://github.com/vitejs/vite/issues/7582) +* fix(ssr): properly transform export default with expressions (#7705) ([d6830e3](https://github.com/vitejs/vite/commit/d6830e3)), closes [#7705](https://github.com/vitejs/vite/issues/7705) +* feat: clean string module lex string template (#7667) ([dfce283](https://github.com/vitejs/vite/commit/dfce283)), closes [#7667](https://github.com/vitejs/vite/issues/7667) +* feat: explicit the word boundary (#6876) ([7ddbf96](https://github.com/vitejs/vite/commit/7ddbf96)), closes [#6876](https://github.com/vitejs/vite/issues/6876) +* feat: optimizeDeps.disabled (#7646) ([48e038c](https://github.com/vitejs/vite/commit/48e038c)), closes [#7646](https://github.com/vitejs/vite/issues/7646) +* chore: fix term cases (#7553) ([c296130](https://github.com/vitejs/vite/commit/c296130)), closes [#7553](https://github.com/vitejs/vite/issues/7553) +* chore: revert removed line in #7698 ([7e6a2c8](https://github.com/vitejs/vite/commit/7e6a2c8)), closes [#7698](https://github.com/vitejs/vite/issues/7698) +* chore: type unknown env as any (#7702) ([23fdef1](https://github.com/vitejs/vite/commit/23fdef1)), closes [#7702](https://github.com/vitejs/vite/issues/7702) +* chore(deps): update all non-major dependencies (#7603) ([fc51a15](https://github.com/vitejs/vite/commit/fc51a15)), closes [#7603](https://github.com/vitejs/vite/issues/7603) +* perf(css): hoist at rules with regex (#7691) ([8858180](https://github.com/vitejs/vite/commit/8858180)), closes [#7691](https://github.com/vitejs/vite/issues/7691) +* refactor: esbuild handles `target` and `useDefineForClassFields` (#7698) ([0c928aa](https://github.com/vitejs/vite/commit/0c928aa)), closes [#7698](https://github.com/vitejs/vite/issues/7698) +* docs: update release notes (#7563) ([a74bd7b](https://github.com/vitejs/vite/commit/a74bd7b)), closes [#7563](https://github.com/vitejs/vite/issues/7563) + + + ## 2.9.1 (2022-03-31) * fix: allow port 0 to be provided to server (#7530) ([173e4c9](https://github.com/vitejs/vite/commit/173e4c9)), closes [#7530](https://github.com/vitejs/vite/issues/7530) @@ -21,7 +130,7 @@ Vite now supports CSS sourcemaps [#7173](https://github.com/vitejs/vite/issues/7 ### Avoid splitting vendor chunks by default -Vite's default chunking strategy was a good fit for most SPAs, but it wasn't ideal in some other use cases. Vite doesn't have enough context to make the best decision here, so in Vite 2.9 the previous chunking strategy is now opt-in [#6534](https://github.com/vitejs/vite/issues/6534) and Vite will no longer split vendor libs in a separate chunk. +Vite's default chunking strategy was a good fit for most SPAs, but it wasn't ideal in some other use cases. Vite doesn't have enough context to make the best decision here, so in Vite 2.9 the previous chunking strategy is now [opt-in](https://vitejs.dev/guide/build.html#chunking-strategy) [#6534](https://github.com/vitejs/vite/issues/6534) and Vite will no longer split vendor libs in a separate chunk. ### Web Workers enhancements @@ -37,6 +146,9 @@ const examples = import.meta.globEager('./examples/*.html', { as: 'raw' }) The `{ assert: { type: 'raw' }}` syntax introduced in v2.8 has been deprecated. See [#7017](https://github.com/vitejs/vite/issues/7017) for more information. +### `envDir` changes + +The `envDir` now correctly loads `.env` files in the specified directory only (defaults to `root`). Previously, it would load files above the directory, which imposed security issues. If you had relied on the previous behaviour, make sure you move your `.env` files to the correct directory, or configure the `envDir` option. ### New tools for Plugin and Framework Authors diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md index ccff3f1508a73b..2b43883f1b2b67 100644 --- a/packages/vite/LICENSE.md +++ b/packages/vite/LICENSE.md @@ -237,6 +237,33 @@ Repository: git+https://github.com/ampproject/remapping.git --------------------------------------- +## @jridgewell/gen-mapping +License: MIT +By: Justin Ridgewell +Repository: https://github.com/jridgewell/gen-mapping + +> Copyright 2022 Justin Ridgewell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + ## @jridgewell/resolve-uri License: MIT By: Justin Ridgewell @@ -264,6 +291,33 @@ Repository: https://github.com/jridgewell/resolve-uri --------------------------------------- +## @jridgewell/set-array +License: MIT +By: Justin Ridgewell +Repository: https://github.com/jridgewell/set-array + +> Copyright 2022 Justin Ridgewell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + ## @jridgewell/sourcemap-codec License: MIT By: Rich Harris @@ -577,7 +631,7 @@ Repository: https://github.com/acornjs/acorn.git > MIT License > -> Copyright (C) 2012-2020 by various contributors (see AUTHORS) +> Copyright (C) 2012-2022 by various contributors (see AUTHORS) > > Permission is hereby granted, free of charge, to any person obtaining a copy > of this software and associated documentation files (the "Software"), to deal @@ -3411,6 +3465,35 @@ Repository: chalk/strip-ansi --------------------------------------- +## strip-literal +License: MIT +By: Anthony Fu +Repository: git+https://github.com/antfu/strip-literal.git + +> MIT License +> +> Copyright (c) 2022 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + ## to-regex-range License: MIT By: Jon Schlinkert, Rouven Weßling @@ -3523,6 +3606,34 @@ Repository: git+https://github.com/dominikg/tsconfck.git --------------------------------------- +## ufo +License: MIT +Repository: unjs/ufo + +> MIT License +> +> Copyright (c) 2020 Nuxt Contrib +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + ## unpipe License: MIT By: Douglas Christopher Wilson diff --git a/packages/vite/client.d.ts b/packages/vite/client.d.ts index aaac1ea986251d..af8e6a6f9d1494 100644 --- a/packages/vite/client.d.ts +++ b/packages/vite/client.d.ts @@ -1,4 +1,3 @@ -/// /// // CSS modules diff --git a/packages/vite/package.json b/packages/vite/package.json index 1a2aeddef3f42d..178a95b154b8a2 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "2.9.1", + "version": "2.9.8", "license": "MIT", "author": "Evan You", "description": "Native-ESM powered web dev build tool", @@ -17,7 +17,7 @@ "types" ], "engines": { - "node": ">=12.2.0" + "node": ">=14.6.0" }, "repository": { "type": "git", @@ -43,26 +43,26 @@ }, "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { - "esbuild": "^0.14.27", - "postcss": "^8.4.12", + "esbuild": "^0.14.38", + "postcss": "^8.4.13", "resolve": "^1.22.0", - "rollup": "^2.59.0" + "rollup": "^2.72.1" }, "optionalDependencies": { "fsevents": "~2.3.2" }, "devDependencies": { - "@ampproject/remapping": "^2.1.2", - "@babel/parser": "^7.17.8", - "@babel/types": "^7.17.0", - "@jridgewell/trace-mapping": "^0.3.4", + "@ampproject/remapping": "^2.2.0", + "@babel/parser": "^7.17.10", + "@babel/types": "^7.17.10", + "@jridgewell/trace-mapping": "^0.3.10", "@rollup/plugin-alias": "^3.1.9", - "@rollup/plugin-commonjs": "^21.0.3", - "@rollup/plugin-dynamic-import-vars": "^1.4.2", + "@rollup/plugin-commonjs": "^21.1.0", + "@rollup/plugin-dynamic-import-vars": "^1.4.3", "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "13.1.3", - "@rollup/plugin-typescript": "^8.3.1", - "@rollup/pluginutils": "^4.2.0", + "@rollup/plugin-node-resolve": "13.2.1", + "@rollup/plugin-typescript": "^8.3.2", + "@rollup/pluginutils": "^4.2.1", "@types/convert-source-map": "^1.5.2", "@types/cross-spawn": "^6.0.2", "@types/debug": "^4.1.7", @@ -71,13 +71,13 @@ "@types/less": "^3.0.3", "@types/micromatch": "^4.0.2", "@types/mime": "^2.0.3", - "@types/node": "^16.11.26", - "@types/resolve": "^1.20.1", + "@types/node": "^17.0.31", + "@types/resolve": "^1.20.2", "@types/sass": "~1.43.1", - "@types/stylus": "^0.48.36", + "@types/stylus": "^0.48.37", "@types/ws": "^8.5.3", - "@vue/compiler-dom": "^3.2.31", - "acorn": "^8.7.0", + "@vue/compiler-dom": "^3.2.33", + "acorn": "^8.7.1", "cac": "6.7.9", "chokidar": "^3.5.3", "connect": "^3.7.0", @@ -88,7 +88,7 @@ "debug": "^4.3.4", "dotenv": "^14.3.2", "dotenv-expand": "^5.1.0", - "es-module-lexer": "^0.10.4", + "es-module-lexer": "^0.10.5", "estree-walker": "^2.0.2", "etag": "^1.8.1", "fast-glob": "^3.2.11", @@ -98,25 +98,27 @@ "magic-string": "^0.26.1", "micromatch": "^4.0.5", "mrmime": "^1.0.0", - "node-forge": "^1.3.0", + "node-forge": "^1.3.1", "okie": "^1.0.1", "open": "^8.4.0", "periscopic": "^2.0.3", "picocolors": "^1.0.0", "postcss-import": "^14.1.0", - "postcss-load-config": "^3.1.3", + "postcss-load-config": "^3.1.4", "postcss-modules": "^4.3.1", "resolve.exports": "^1.1.0", - "rollup-plugin-license": "^2.6.1", + "rollup-plugin-license": "^2.7.0", "sirv": "^2.0.2", "source-map-js": "^1.0.2", "source-map-support": "^0.5.21", "strip-ansi": "^6.0.1", - "terser": "^5.12.1", - "tsconfck": "^1.2.1", - "tslib": "^2.3.1", + "strip-literal": "^0.3.0", + "terser": "^5.13.1", + "tsconfck": "^1.2.2", + "tslib": "^2.4.0", "types": "link:./types", - "ws": "^8.5.0" + "ufo": "^0.8.4", + "ws": "^8.6.0" }, "peerDependencies": { "less": "*", diff --git a/packages/vite/rollup.config.js b/packages/vite/rollup.config.js index 31ab56cd07e02e..93f4f33bdec398 100644 --- a/packages/vite/rollup.config.js +++ b/packages/vite/rollup.config.js @@ -171,6 +171,11 @@ const createNodeConfig = (isProduction) => { 'lilconfig/dist/index.js': { pattern: /: require,/g, replacement: `: eval('require'),` + }, + // postcss-load-config calls require after register ts-node + 'postcss-load-config/src/index.js': { + src: `require(configFile)`, + replacement: `eval('require')(configFile)` } }), commonjs({ diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 420d084ef9a981..48917204d8c291 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -106,6 +106,7 @@ async function handleMessage(payload: HMRPayload) { const payloadPath = base + payload.path.slice(1) if ( pagePath === payloadPath || + payload.path === '/index.html' || (pagePath.endsWith('/') && pagePath + 'index.html' === payloadPath) ) { location.reload() @@ -432,13 +433,6 @@ export function createHotContext(ownerPath: string): ViteHotContext { } }, - acceptDeps() { - throw new Error( - `hot.acceptDeps() is deprecated. ` + - `Use hot.accept() with the same signature instead.` - ) - }, - dispose(cb) { disposeMap.set(ownerPath, cb) }, diff --git a/packages/vite/src/node/__tests__/asset.spec.ts b/packages/vite/src/node/__tests__/asset.spec.ts index 6e6b969bcbd38c..8727aa6485eb26 100644 --- a/packages/vite/src/node/__tests__/asset.spec.ts +++ b/packages/vite/src/node/__tests__/asset.spec.ts @@ -1,3 +1,4 @@ +import { describe, test, expect } from 'vitest' import { assetFileNamesToFileName, getAssetHash } from '../plugins/asset' describe('getAssetHash', () => { diff --git a/packages/vite/src/node/__tests__/build.spec.ts b/packages/vite/src/node/__tests__/build.spec.ts index b3ef37e64fd28e..b49847f1d955a4 100644 --- a/packages/vite/src/node/__tests__/build.spec.ts +++ b/packages/vite/src/node/__tests__/build.spec.ts @@ -1,5 +1,13 @@ +import type { LibraryFormats, LibraryOptions } from '../build' import { resolveLibFilename } from '../build' import { resolve } from 'path' +import { describe, test, expect } from 'vitest' + +type FormatsToFileNames = [LibraryFormats, string][] +const baseLibOptions: LibraryOptions = { + fileName: 'my-lib', + entry: 'mylib.js' +} describe('resolveLibFilename', () => { test('custom filename function', () => { @@ -25,7 +33,7 @@ describe('resolveLibFilename', () => { resolve(__dirname, 'packages/name') ) - expect(filename).toBe('custom-filename.es.js') + expect(filename).toBe('custom-filename.es.mjs') }) test('package name as filename', () => { @@ -37,7 +45,7 @@ describe('resolveLibFilename', () => { resolve(__dirname, 'packages/name') ) - expect(filename).toBe('mylib.es.js') + expect(filename).toBe('mylib.es.mjs') }) test('custom filename and no package name', () => { @@ -50,7 +58,7 @@ describe('resolveLibFilename', () => { resolve(__dirname, 'packages/noname') ) - expect(filename).toBe('custom-filename.es.js') + expect(filename).toBe('custom-filename.es.mjs') }) test('missing filename', () => { @@ -64,4 +72,42 @@ describe('resolveLibFilename', () => { ) }).toThrow() }) + + test('commonjs package extensions', () => { + const formatsToFilenames: FormatsToFileNames = [ + ['es', 'my-lib.es.mjs'], + ['umd', 'my-lib.umd.js'], + ['cjs', 'my-lib.cjs.js'], + ['iife', 'my-lib.iife.js'] + ] + + for (const [format, expectedFilename] of formatsToFilenames) { + const filename = resolveLibFilename( + baseLibOptions, + format, + resolve(__dirname, 'packages/noname') + ) + + expect(filename).toBe(expectedFilename) + } + }) + + test('module package extensions', () => { + const formatsToFilenames: FormatsToFileNames = [ + ['es', 'my-lib.es.js'], + ['umd', 'my-lib.umd.cjs'], + ['cjs', 'my-lib.cjs.cjs'], + ['iife', 'my-lib.iife.js'] + ] + + for (const [format, expectedFilename] of formatsToFilenames) { + const filename = resolveLibFilename( + baseLibOptions, + format, + resolve(__dirname, 'packages/module') + ) + + expect(filename).toBe(expectedFilename) + } + }) }) diff --git a/packages/vite/src/node/__tests__/config.spec.ts b/packages/vite/src/node/__tests__/config.spec.ts index dd427c19433475..83995ab28adcbd 100644 --- a/packages/vite/src/node/__tests__/config.spec.ts +++ b/packages/vite/src/node/__tests__/config.spec.ts @@ -1,6 +1,7 @@ import type { InlineConfig } from '..' import type { UserConfigExport, UserConfig } from '../config' import { mergeConfig, resolveConfig, resolveEnvPrefix } from '../config' +import { describe, test, expect } from 'vitest' describe('mergeConfig', () => { test('handles configs with different alias schemas', () => { @@ -157,51 +158,29 @@ describe('mergeConfig', () => { expect(mergeConfig(baseConfig, newConfig)).toEqual(mergedConfig) }) -}) - -describe('resolveConfig', () => { - beforeAll(() => { - // silence deprecation warning - jest.spyOn(console, 'warn').mockImplementation(() => {}) - }) - afterAll(() => { - jest.clearAllMocks() - }) - - test('copies optimizeDeps.keepNames to esbuildOptions.keepNames', async () => { - const config: InlineConfig = { - optimizeDeps: { - keepNames: false + test('handles ssr.noExternal', () => { + const baseConfig = { + ssr: { + noExternal: true } } - expect(await resolveConfig(config, 'serve')).toMatchObject({ - optimizeDeps: { - esbuildOptions: { - keepNames: false - } + const newConfig = { + ssr: { + noExternal: ['foo'] } - }) - }) + } - test('uses esbuildOptions.keepNames if set', async () => { - const config: InlineConfig = { - optimizeDeps: { - keepNames: true, - esbuildOptions: { - keepNames: false - } + const mergedConfig = { + ssr: { + noExternal: true } } - expect(await resolveConfig(config, 'serve')).toMatchObject({ - optimizeDeps: { - esbuildOptions: { - keepNames: false - } - } - }) + // merging either ways, `ssr.noExternal: true` should take highest priority + expect(mergeConfig(baseConfig, newConfig)).toEqual(mergedConfig) + expect(mergeConfig(newConfig, baseConfig)).toEqual(mergedConfig) }) }) diff --git a/packages/vite/src/node/__tests__/dev.spec.ts b/packages/vite/src/node/__tests__/dev.spec.ts index 3eefd7b4b903c1..cdb0fc123f4b4f 100644 --- a/packages/vite/src/node/__tests__/dev.spec.ts +++ b/packages/vite/src/node/__tests__/dev.spec.ts @@ -1,4 +1,5 @@ import { resolveConfig } from '..' +import { describe, test, expect } from 'vitest' describe('resolveBuildOptions in dev', () => { test('build.rollupOptions should not have input in lib', async () => { diff --git a/packages/vite/src/node/__tests__/packages/module/package.json b/packages/vite/src/node/__tests__/packages/module/package.json new file mode 100644 index 00000000000000..3dbc1ca591c055 --- /dev/null +++ b/packages/vite/src/node/__tests__/packages/module/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/packages/vite/src/node/__tests__/plugins/css.spec.ts b/packages/vite/src/node/__tests__/plugins/css.spec.ts index 539ec2f1af1810..eeacaf482b0c31 100644 --- a/packages/vite/src/node/__tests__/plugins/css.spec.ts +++ b/packages/vite/src/node/__tests__/plugins/css.spec.ts @@ -1,7 +1,8 @@ -import { cssUrlRE, cssPlugin } from '../../plugins/css' +import { cssUrlRE, cssPlugin, hoistAtRules } from '../../plugins/css' import { resolveConfig } from '../../config' import fs from 'fs' import path from 'path' +import { describe, vi, test, expect } from 'vitest' describe('search css url function', () => { test('some spaces before it', () => { @@ -69,7 +70,7 @@ describe('css path resolutions', () => { await buildStart.call({}) - const mockFs = jest + const mockFs = vi .spyOn(fs, 'readFile') // @ts-ignore jest.spyOn not recognize overrided `fs.readFile` definition. .mockImplementationOnce((p, encoding, callback) => { @@ -114,3 +115,95 @@ describe('css path resolutions', () => { mockFs.mockReset() }) }) + +describe('hoist @ rules', () => { + test('hoist @import', async () => { + const css = `.foo{color:red;}@import "bla";` + const result = await hoistAtRules(css) + expect(result).toBe(`@import "bla";.foo{color:red;}`) + }) + + test('hoist @import url with semicolon', async () => { + const css = `.foo{color:red;}@import url("bla;bla");` + const result = await hoistAtRules(css) + expect(result).toBe(`@import url("bla;bla");.foo{color:red;}`) + }) + + test('hoist @import url data with semicolon', async () => { + const css = `.foo{color:red;}@import url(data:image/png;base64,iRxVB0);` + const result = await hoistAtRules(css) + expect(result).toBe( + `@import url(data:image/png;base64,iRxVB0);.foo{color:red;}` + ) + }) + + test('hoist @import with semicolon in quotes', async () => { + const css = `.foo{color:red;}@import "bla;bar";` + const result = await hoistAtRules(css) + expect(result).toBe(`@import "bla;bar";.foo{color:red;}`) + }) + + test('hoist @charset', async () => { + const css = `.foo{color:red;}@charset "utf-8";` + const result = await hoistAtRules(css) + expect(result).toBe(`@charset "utf-8";.foo{color:red;}`) + }) + + test('hoist one @charset only', async () => { + const css = `.foo{color:red;}@charset "utf-8";@charset "utf-8";` + const result = await hoistAtRules(css) + expect(result).toBe(`@charset "utf-8";.foo{color:red;}`) + }) + + test('hoist @import and @charset', async () => { + const css = `.foo{color:red;}@import "bla";@charset "utf-8";.bar{color:green;}@import "baz";` + const result = await hoistAtRules(css) + expect(result).toBe( + `@charset "utf-8";@import "bla";@import "baz";.foo{color:red;}.bar{color:green;}` + ) + }) + + test('dont hoist @import in comments', async () => { + const css = `.foo{color:red;}/* @import "bla"; */@import "bar";` + const result = await hoistAtRules(css) + expect(result).toBe(`@import "bar";.foo{color:red;}/* @import "bla"; */`) + }) + + test('dont hoist @charset in comments', async () => { + const css = `.foo{color:red;}/* @charset "utf-8"; */@charset "utf-8";` + const result = await hoistAtRules(css) + expect(result).toBe( + `@charset "utf-8";.foo{color:red;}/* @charset "utf-8"; */` + ) + }) + + test('dont hoist @import and @charset in comments', async () => { + const css = ` + .foo{color:red;} + /* + @import "bla"; + */ + @charset "utf-8"; + /* + @charset "utf-8"; + @import "bar"; + */ + @import "baz"; + ` + const result = await hoistAtRules(css) + expect(result).toBe( + `@charset "utf-8";@import "baz"; + .foo{color:red;} + /* + @import "bla"; + */ + + /* + @charset "utf-8"; + @import "bar"; + */ + + ` + ) + }) +}) diff --git a/packages/vite/src/node/__tests__/plugins/define.spec.ts b/packages/vite/src/node/__tests__/plugins/define.spec.ts index 9a65f8f3a51cea..b9acc81cb790d5 100644 --- a/packages/vite/src/node/__tests__/plugins/define.spec.ts +++ b/packages/vite/src/node/__tests__/plugins/define.spec.ts @@ -1,3 +1,4 @@ +import { describe, test, expect } from 'vitest' import { definePlugin } from '../../plugins/define' import { resolveConfig } from '../../config' diff --git a/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.test.ts.snap b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.test.ts.snap new file mode 100644 index 00000000000000..be73ec998bc834 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.test.ts.snap @@ -0,0 +1,13 @@ +// Vitest Snapshot v1 + +exports[`parse positives > ? in url 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob(\\"./mo?ds/*.js\\", {\\"as\\":\\"raw\\",\\"import\\":\\"*\\"})), \`./mo?ds/\${base ?? foo}.js\`)"`; + +exports[`parse positives > ? in variables 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob(\\"./mods/*.js\\", {\\"as\\":\\"raw\\",\\"import\\":\\"*\\"})), \`./mods/\${base ?? foo}.js\`)"`; + +exports[`parse positives > alias path 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob(\\"./mods/*.js\\")), \`./mods/\${base}.js\`)"`; + +exports[`parse positives > basic 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob(\\"./mods/*.js\\")), \`./mods/\${base}.js\`)"`; + +exports[`parse positives > with query raw 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob(\\"./mods/*.js\\", {\\"as\\":\\"raw\\",\\"import\\":\\"*\\"})), \`./mods/\${base}.js\`)"`; + +exports[`parse positives > with query url 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob(\\"./mods/*.js\\")), \`./mods/\${base}.js\`)"`; diff --git a/packages/vite/src/node/__tests__/plugins/dynamicImportVar/mods/hello.js b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/mods/hello.js new file mode 100644 index 00000000000000..67900ef0999962 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/mods/hello.js @@ -0,0 +1,3 @@ +export function hello() { + return 'hello' +} diff --git a/packages/vite/src/node/__tests__/plugins/dynamicImportVar/mods/hi.js b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/mods/hi.js new file mode 100644 index 00000000000000..45d3506803b2b6 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/mods/hi.js @@ -0,0 +1,3 @@ +export function hi() { + return 'hi' +} diff --git a/packages/vite/src/node/__tests__/plugins/dynamicImportVar/parse.test.ts b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/parse.test.ts new file mode 100644 index 00000000000000..ef1dcb2238a5b0 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/parse.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, it } from 'vitest' +import { transformDynamicImport } from '../../../plugins/dynamicImportVars' +import { resolve } from 'path' + +async function run(input: string) { + const { glob, rawPattern } = await transformDynamicImport( + input, + resolve(__dirname, 'index.js'), + (id) => id.replace('@', resolve(__dirname, './mods/')) + ) + return `__variableDynamicImportRuntimeHelper(${glob}, \`${rawPattern}\`)` +} + +describe('parse positives', () => { + it('basic', async () => { + expect(await run('`./mods/${base}.js`')).toMatchSnapshot() + }) + + it('alias path', async () => { + expect(await run('`@/${base}.js`')).toMatchSnapshot() + }) + + it('with query raw', async () => { + expect(await run('`./mods/${base}.js?raw`')).toMatchSnapshot() + }) + + it('with query url', async () => { + expect(await run('`./mods/${base}.js?url`')).toMatchSnapshot() + }) + + it('? in variables', async () => { + expect(await run('`./mods/${base ?? foo}.js?raw`')).toMatchSnapshot() + }) + + it('? in url', async () => { + expect(await run('`./mo?ds/${base ?? foo}.js?raw`')).toMatchSnapshot() + }) +}) diff --git a/packages/vite/src/node/__tests__/plugins/import.spec.ts b/packages/vite/src/node/__tests__/plugins/import.spec.ts index f0341e81b50f3c..e232702d57d354 100644 --- a/packages/vite/src/node/__tests__/plugins/import.spec.ts +++ b/packages/vite/src/node/__tests__/plugins/import.spec.ts @@ -1,3 +1,4 @@ +import { describe, test, expect } from 'vitest' import { transformCjsImport } from '../../plugins/importAnalysis' describe('transformCjsImport', () => { diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.test.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.test.ts.snap new file mode 100644 index 00000000000000..23e511a50545f7 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.test.ts.snap @@ -0,0 +1,162 @@ +// Vitest Snapshot v1 + +exports[`fixture > transform 1`] = ` +"import * as __vite_glob_1_0 from \\"./modules/a.ts\\" +import * as __vite_glob_1_1 from \\"./modules/b.ts\\" +import * as __vite_glob_1_2 from \\"./modules/index.ts\\" +import { name as __vite_glob_3_0 } from \\"./modules/a.ts\\" +import { name as __vite_glob_3_1 } from \\"./modules/b.ts\\" +import { name as __vite_glob_3_2 } from \\"./modules/index.ts\\" +import { default as __vite_glob_5_0 } from \\"./modules/a.ts?raw\\" +import { default as __vite_glob_5_1 } from \\"./modules/b.ts?raw\\" +import \\"../../../../../../types/importMeta\\"; +export const basic = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\"), +\\"./modules/index.ts\\": () => import(\\"./modules/index.ts\\") +}; +export const basicEager = { +\\"./modules/a.ts\\": __vite_glob_1_0, +\\"./modules/b.ts\\": __vite_glob_1_1, +\\"./modules/index.ts\\": __vite_glob_1_2 +}; +export const ignore = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\") +}; +export const namedEager = { +\\"./modules/a.ts\\": __vite_glob_3_0, +\\"./modules/b.ts\\": __vite_glob_3_1, +\\"./modules/index.ts\\": __vite_glob_3_2 +}; +export const namedDefault = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\").then(m => m[\\"default\\"]), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\").then(m => m[\\"default\\"]), +\\"./modules/index.ts\\": () => import(\\"./modules/index.ts\\").then(m => m[\\"default\\"]) +}; +export const eagerAs = { +\\"./modules/a.ts\\": __vite_glob_5_0, +\\"./modules/b.ts\\": __vite_glob_5_1 +}; +export const rawImportModule = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts?raw\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts?raw\\") +}; +export const excludeSelf = { +\\"./sibling.ts\\": () => import(\\"./sibling.ts\\") +}; +export const customQueryString = { +\\"./sibling.ts\\": () => import(\\"./sibling.ts?custom\\") +}; +export const customQueryObject = { +\\"./sibling.ts\\": () => import(\\"./sibling.ts?foo=bar&raw=true\\") +}; +export const parent = { + +}; +export const rootMixedRelative = { +\\"/css.spec.ts\\": () => import(\\"../../css.spec.ts?url\\").then(m => m[\\"default\\"]), +\\"/define.spec.ts\\": () => import(\\"../../define.spec.ts?url\\").then(m => m[\\"default\\"]), +\\"/import.spec.ts\\": () => import(\\"../../import.spec.ts?url\\").then(m => m[\\"default\\"]), +\\"/importGlob/fixture-b/a.ts\\": () => import(\\"../fixture-b/a.ts?url\\").then(m => m[\\"default\\"]), +\\"/importGlob/fixture-b/b.ts\\": () => import(\\"../fixture-b/b.ts?url\\").then(m => m[\\"default\\"]), +\\"/importGlob/fixture-b/index.ts\\": () => import(\\"../fixture-b/index.ts?url\\").then(m => m[\\"default\\"]) +}; +export const cleverCwd1 = { +\\"./node_modules/framework/pages/hello.page.js\\": () => import(\\"./node_modules/framework/pages/hello.page.js\\") +}; +export const cleverCwd2 = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\"), +\\"../fixture-b/a.ts\\": () => import(\\"../fixture-b/a.ts\\"), +\\"../fixture-b/b.ts\\": () => import(\\"../fixture-b/b.ts\\") +}; +" +`; + +exports[`fixture > transform with restoreQueryExtension 1`] = ` +"import * as __vite_glob_1_0 from \\"./modules/a.ts\\" +import * as __vite_glob_1_1 from \\"./modules/b.ts\\" +import * as __vite_glob_1_2 from \\"./modules/index.ts\\" +import { name as __vite_glob_3_0 } from \\"./modules/a.ts\\" +import { name as __vite_glob_3_1 } from \\"./modules/b.ts\\" +import { name as __vite_glob_3_2 } from \\"./modules/index.ts\\" +import { default as __vite_glob_5_0 } from \\"./modules/a.ts?raw\\" +import { default as __vite_glob_5_1 } from \\"./modules/b.ts?raw\\" +import \\"../../../../../../types/importMeta\\"; +export const basic = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\"), +\\"./modules/index.ts\\": () => import(\\"./modules/index.ts\\") +}; +export const basicEager = { +\\"./modules/a.ts\\": __vite_glob_1_0, +\\"./modules/b.ts\\": __vite_glob_1_1, +\\"./modules/index.ts\\": __vite_glob_1_2 +}; +export const ignore = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\") +}; +export const namedEager = { +\\"./modules/a.ts\\": __vite_glob_3_0, +\\"./modules/b.ts\\": __vite_glob_3_1, +\\"./modules/index.ts\\": __vite_glob_3_2 +}; +export const namedDefault = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\").then(m => m[\\"default\\"]), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\").then(m => m[\\"default\\"]), +\\"./modules/index.ts\\": () => import(\\"./modules/index.ts\\").then(m => m[\\"default\\"]) +}; +export const eagerAs = { +\\"./modules/a.ts\\": __vite_glob_5_0, +\\"./modules/b.ts\\": __vite_glob_5_1 +}; +export const rawImportModule = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts?raw\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts?raw\\") +}; +export const excludeSelf = { +\\"./sibling.ts\\": () => import(\\"./sibling.ts\\") +}; +export const customQueryString = { +\\"./sibling.ts\\": () => import(\\"./sibling.ts?custom&lang.ts\\") +}; +export const customQueryObject = { +\\"./sibling.ts\\": () => import(\\"./sibling.ts?foo=bar&raw=true&lang.ts\\") +}; +export const parent = { + +}; +export const rootMixedRelative = { +\\"/css.spec.ts\\": () => import(\\"../../css.spec.ts?url&lang.ts\\").then(m => m[\\"default\\"]), +\\"/define.spec.ts\\": () => import(\\"../../define.spec.ts?url&lang.ts\\").then(m => m[\\"default\\"]), +\\"/import.spec.ts\\": () => import(\\"../../import.spec.ts?url&lang.ts\\").then(m => m[\\"default\\"]), +\\"/importGlob/fixture-b/a.ts\\": () => import(\\"../fixture-b/a.ts?url&lang.ts\\").then(m => m[\\"default\\"]), +\\"/importGlob/fixture-b/b.ts\\": () => import(\\"../fixture-b/b.ts?url&lang.ts\\").then(m => m[\\"default\\"]), +\\"/importGlob/fixture-b/index.ts\\": () => import(\\"../fixture-b/index.ts?url&lang.ts\\").then(m => m[\\"default\\"]) +}; +export const cleverCwd1 = { +\\"./node_modules/framework/pages/hello.page.js\\": () => import(\\"./node_modules/framework/pages/hello.page.js\\") +}; +export const cleverCwd2 = { +\\"./modules/a.ts\\": () => import(\\"./modules/a.ts\\"), +\\"./modules/b.ts\\": () => import(\\"./modules/b.ts\\"), +\\"../fixture-b/a.ts\\": () => import(\\"../fixture-b/a.ts\\"), +\\"../fixture-b/b.ts\\": () => import(\\"../fixture-b/b.ts\\") +}; +" +`; + +exports[`fixture > virtual modules 1`] = ` +"{ +\\"/modules/a.ts\\": () => import(\\"/modules/a.ts\\"), +\\"/modules/b.ts\\": () => import(\\"/modules/b.ts\\"), +\\"/modules/index.ts\\": () => import(\\"/modules/index.ts\\") +} +{ +\\"/../fixture-b/a.ts\\": () => import(\\"/../fixture-b/a.ts\\"), +\\"/../fixture-b/b.ts\\": () => import(\\"/../fixture-b/b.ts\\"), +\\"/../fixture-b/index.ts\\": () => import(\\"/../fixture-b/index.ts\\") +}" +`; diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/.gitignore b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/.gitignore new file mode 100644 index 00000000000000..2b9b8877da603f --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/.gitignore @@ -0,0 +1 @@ +!/node_modules/ diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts new file mode 100644 index 00000000000000..4fed8828e5f418 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts @@ -0,0 +1,69 @@ +import '../../../../../../types/importMeta' + +/* eslint-disable @typescript-eslint/comma-dangle */ +export interface ModuleType { + name: string +} + +export const basic = import.meta.glob('./modules/*.ts') + +export const basicEager = import.meta.glob('./modules/*.ts', { + eager: true +}) + +export const ignore = import.meta.glob(['./modules/*.ts', '!**/index.ts']) + +export const namedEager = import.meta.glob('./modules/*.ts', { + eager: true, + import: 'name' +}) + +export const namedDefault = import.meta.glob('./modules/*.ts', { + import: 'default' +}) + +export const eagerAs = import.meta.glob( + ['./modules/*.ts', '!**/index.ts'], + { eager: true, as: 'raw' } +) + +export const rawImportModule = import.meta.glob( + ['./modules/*.ts', '!**/index.ts'], + { as: 'raw', import: '*' } +) + +export const excludeSelf = import.meta.glob( + './*.ts' + // for test: annotation contain ")" + /* + * for test: annotation contain ")" + * */ +) + +export const customQueryString = import.meta.glob('./*.ts', { query: 'custom' }) + +export const customQueryObject = import.meta.glob('./*.ts', { + query: { + foo: 'bar', + raw: true + } +}) + +export const parent = import.meta.glob('../../playground/src/*.ts', { + as: 'url' +}) + +export const rootMixedRelative = import.meta.glob( + ['/*.ts', '../fixture-b/*.ts'], + { as: 'url' } +) + +export const cleverCwd1 = import.meta.glob( + './node_modules/framework/**/*.page.js' +) + +export const cleverCwd2 = import.meta.glob([ + './modules/*.ts', + '../fixture-b/*.ts', + '!**/index.ts' +]) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/a.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/a.ts new file mode 100644 index 00000000000000..facd48a0875e65 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/a.ts @@ -0,0 +1 @@ +export const name = 'a' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/b.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/b.ts new file mode 100644 index 00000000000000..0b1eb38d9087a2 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/b.ts @@ -0,0 +1 @@ +export const name = 'b' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/index.ts new file mode 100644 index 00000000000000..25b59ae7d30714 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/modules/index.ts @@ -0,0 +1,6 @@ +export { name as a } from './a' +export { name as b } from './b' + +export const name = 'index' + +export default 'indexDefault' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/node_modules/framework/pages/hello.page.js b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/node_modules/framework/pages/hello.page.js new file mode 100644 index 00000000000000..cbe518a8e79477 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/node_modules/framework/pages/hello.page.js @@ -0,0 +1,4 @@ +// A fake Page file. (This technique of globbing into `node_modules/` +// is used by vite-plugin-ssr frameworks and Hydrogen.) + +export const a = 1 diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/sibling.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/sibling.ts new file mode 100644 index 00000000000000..b286816bf5d63a --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/sibling.ts @@ -0,0 +1 @@ +export const name = 'I am your sibling!' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/a.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/a.ts new file mode 100644 index 00000000000000..facd48a0875e65 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/a.ts @@ -0,0 +1 @@ +export const name = 'a' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/b.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/b.ts new file mode 100644 index 00000000000000..0b1eb38d9087a2 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/b.ts @@ -0,0 +1 @@ +export const name = 'b' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/index.ts new file mode 100644 index 00000000000000..39bdbfd1a8befb --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-b/index.ts @@ -0,0 +1,2 @@ +export { name as a } from './a' +export { name as b } from './b' diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture.test.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture.test.ts new file mode 100644 index 00000000000000..985263d91db85a --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture.test.ts @@ -0,0 +1,59 @@ +import { resolve } from 'path' +import { promises as fs } from 'fs' +import { describe, expect, it } from 'vitest' +import { transformGlobImport } from '../../../plugins/importMetaGlob' +import { transformWithEsbuild } from '../../../plugins/esbuild' + +describe('fixture', async () => { + const resolveId = (id: string) => id + const root = resolve(__dirname, '..') + + it('transform', async () => { + const id = resolve(__dirname, './fixture-a/index.ts') + const code = ( + await transformWithEsbuild(await fs.readFile(id, 'utf-8'), id) + ).code + + expect( + (await transformGlobImport(code, id, root, resolveId))?.s.toString() + ).toMatchSnapshot() + }) + + it('virtual modules', async () => { + const root = resolve(__dirname, './fixture-a') + const code = [ + "import.meta.glob('/modules/*.ts')", + "import.meta.glob(['/../fixture-b/*.ts'])" + ].join('\n') + expect( + ( + await transformGlobImport(code, 'virtual:module', root, resolveId) + )?.s.toString() + ).toMatchSnapshot() + + try { + await transformGlobImport( + "import.meta.glob('./modules/*.ts')", + 'virtual:module', + root, + resolveId + ) + expect('no error').toBe('should throw an error') + } catch (err) { + expect(err).toMatchInlineSnapshot( + "[Error: In virtual modules, all globs must start with '/']" + ) + } + }) + + it('transform with restoreQueryExtension', async () => { + const id = resolve(__dirname, './fixture-a/index.ts') + const code = ( + await transformWithEsbuild(await fs.readFile(id, 'utf-8'), id) + ).code + + expect( + (await transformGlobImport(code, id, root, resolveId, true))?.s.toString() + ).toMatchSnapshot() + }) +}) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/parse.test.ts b/packages/vite/src/node/__tests__/plugins/importGlob/parse.test.ts new file mode 100644 index 00000000000000..df1e0d758e8849 --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/parse.test.ts @@ -0,0 +1,202 @@ +import { describe, expect, it } from 'vitest' +import { parseImportGlob } from '../../../plugins/importMetaGlob' + +async function run(input: string) { + const items = await parseImportGlob( + input, + process.cwd(), + process.cwd(), + (id) => id + ) + return items.map((i) => ({ globs: i.globs, options: i.options })) +} + +async function runError(input: string) { + try { + await run(input) + } catch (e) { + return e + } +} + +describe('parse positives', async () => { + it('basic', async () => { + expect( + await run(` + import.meta.importGlob(\'./modules/*.ts\') + `) + ).toMatchInlineSnapshot('[]') + }) + + it('array', async () => { + expect( + await run(` + import.meta.importGlob([\'./modules/*.ts\', './dir/*.{js,ts}\']) + `) + ).toMatchInlineSnapshot('[]') + }) + + it('options with multilines', async () => { + expect( + await run(` + import.meta.importGlob([ + \'./modules/*.ts\', + "!./dir/*.{js,ts}" + ], { + eager: true, + import: 'named' + }) + `) + ).toMatchInlineSnapshot('[]') + }) + + it('options with multilines', async () => { + expect( + await run(` + const modules = import.meta.glob( + '/dir/**' + // for test: annotation contain ")" + /* + * for test: annotation contain ")" + * */ + ) + `) + ).toMatchInlineSnapshot(` + [ + { + "globs": [ + "/dir/**", + ], + "options": {}, + }, + ] + `) + }) + + it('options query', async () => { + expect( + await run(` + const modules = import.meta.glob( + '/dir/**', + { + query: { + foo: 'bar', + raw: true, + } + } + ) + `) + ).toMatchInlineSnapshot(` + [ + { + "globs": [ + "/dir/**", + ], + "options": { + "query": { + "foo": "bar", + "raw": true, + }, + }, + }, + ] + `) + }) +}) + +describe('parse negatives', async () => { + it('syntax error', async () => { + expect(await runError('import.meta.importGlob(')).toMatchInlineSnapshot( + 'undefined' + ) + }) + + it('empty', async () => { + expect(await runError('import.meta.importGlob()')).toMatchInlineSnapshot( + 'undefined' + ) + }) + + it('3 args', async () => { + expect( + await runError('import.meta.importGlob("", {}, {})') + ).toMatchInlineSnapshot('undefined') + }) + + it('in string', async () => { + expect(await runError('"import.meta.importGlob()"')).toBeUndefined() + }) + + it('variable', async () => { + expect(await runError('import.meta.importGlob(hey)')).toMatchInlineSnapshot( + 'undefined' + ) + }) + + it('template', async () => { + // eslint-disable-next-line no-template-curly-in-string + expect( + await runError('import.meta.importGlob(`hi ${hey}`)') + ).toMatchInlineSnapshot('undefined') + }) + + it('be string', async () => { + expect(await runError('import.meta.importGlob(1)')).toMatchInlineSnapshot( + 'undefined' + ) + }) + + it('be array variable', async () => { + expect( + await runError('import.meta.importGlob([hey])') + ).toMatchInlineSnapshot('undefined') + expect( + await runError('import.meta.importGlob(["1", hey])') + ).toMatchInlineSnapshot('undefined') + }) + + it('options', async () => { + expect( + await runError('import.meta.importGlob("hey", hey)') + ).toMatchInlineSnapshot('undefined') + expect( + await runError('import.meta.importGlob("hey", [])') + ).toMatchInlineSnapshot('undefined') + }) + + it('options props', async () => { + expect( + await runError('import.meta.importGlob("hey", { hey: 1 })') + ).toMatchInlineSnapshot('undefined') + expect( + await runError('import.meta.importGlob("hey", { import: hey })') + ).toMatchInlineSnapshot('undefined') + expect( + await runError('import.meta.importGlob("hey", { eager: 123 })') + ).toMatchInlineSnapshot('undefined') + }) + + it('options query', async () => { + expect( + await runError( + 'import.meta.importGlob("./*.js", { as: "raw", query: "hi" })' + ) + ).toMatchInlineSnapshot('undefined') + expect( + await runError('import.meta.importGlob("./*.js", { query: 123 })') + ).toMatchInlineSnapshot('undefined') + expect( + await runError('import.meta.importGlob("./*.js", { query: { foo: {} } })') + ).toMatchInlineSnapshot('undefined') + expect( + await runError( + 'import.meta.importGlob("./*.js", { query: { foo: hey } })' + ) + ).toMatchInlineSnapshot('undefined') + expect( + await runError( + 'import.meta.importGlob("./*.js", { query: { foo: 123, ...a } })' + ) + ).toMatchInlineSnapshot('undefined') + }) +}) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/utils.test.ts b/packages/vite/src/node/__tests__/plugins/importGlob/utils.test.ts new file mode 100644 index 00000000000000..302df97ec92ede --- /dev/null +++ b/packages/vite/src/node/__tests__/plugins/importGlob/utils.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, it } from 'vitest' +import { getCommonBase } from '../../../plugins/importMetaGlob' + +describe('getCommonBase()', async () => { + it('basic', () => { + expect(getCommonBase(['/a/b/*.js', '/a/c/*.js'])).toBe('/a') + }) + it('common base', () => { + expect(getCommonBase(['/a/b/**/*.vue', '/a/b/**/*.jsx'])).toBe('/a/b') + }) + it('static file', () => { + expect( + getCommonBase(['/a/b/**/*.vue', '/a/b/**/*.jsx', '/a/b/foo.js']) + ).toBe('/a/b') + expect(getCommonBase(['/a/b/**/*.vue', '/a/b/**/*.jsx', '/a/foo.js'])).toBe( + '/a' + ) + }) + it('correct `scan()`', () => { + expect(getCommonBase(['/a/*.vue'])).toBe('/a') + expect(getCommonBase(['/a/some.vue'])).toBe('/a') + expect(getCommonBase(['/a/b/**/c/foo.vue', '/a/b/c/**/*.jsx'])).toBe('/a/b') + }) + it('single', () => { + expect(getCommonBase(['/a/b/c/*.vue'])).toBe('/a/b/c') + expect(getCommonBase(['/a/b/c/foo.vue'])).toBe('/a/b/c') + }) + it('no common base', () => { + expect(getCommonBase(['/a/b/*.js', '/c/a/b/*.js'])).toBe('/') + }) +}) diff --git a/packages/vite/src/node/__tests__/scan.spec.ts b/packages/vite/src/node/__tests__/scan.spec.ts index db11bcc45b284c..8d5a275fca0292 100644 --- a/packages/vite/src/node/__tests__/scan.spec.ts +++ b/packages/vite/src/node/__tests__/scan.spec.ts @@ -1,5 +1,6 @@ import { scriptRE, commentRE, importsRE } from '../optimizer/scan' import { multilineCommentsRE, singlelineCommentsRE } from '../utils' +import { describe, test, expect } from 'vitest' describe('optimizer-scan:script-test', () => { const scriptContent = `import { defineComponent } from 'vue' diff --git a/packages/vite/src/node/__tests__/utils.spec.ts b/packages/vite/src/node/__tests__/utils.spec.ts index 1162105c3f19c7..29fd53f3c9a32e 100644 --- a/packages/vite/src/node/__tests__/utils.spec.ts +++ b/packages/vite/src/node/__tests__/utils.spec.ts @@ -4,6 +4,7 @@ import { isWindows, resolveHostname } from '../utils' +import { describe, test, expect } from 'vitest' describe('injectQuery', () => { if (isWindows) { diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index d898b090fcdf6c..1bdfa5a35077e6 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -26,7 +26,6 @@ import { copyDir, emptyDir, lookupFile, normalizePath } from './utils' import { manifestPlugin } from './plugins/manifest' import commonjsPlugin from '@rollup/plugin-commonjs' import type { RollupCommonJSOptions } from 'types/commonjs' -import dynamicImportVars from '@rollup/plugin-dynamic-import-vars' import type { RollupDynamicImportVarsOptions } from 'types/dynamicImportVars' import type { Logger } from './logger' import type { TransformOptions } from 'esbuild' @@ -38,14 +37,11 @@ import type { DepOptimizationMetadata } from './optimizer' import { getDepsCacheDir, findKnownImports } from './optimizer' import { assetImportMetaUrlPlugin } from './plugins/assetImportMetaUrl' import { loadFallbackPlugin } from './plugins/loadFallback' +import type { PackageData } from './packages' import { watchPackageDataPlugin } from './packages' +import { ensureWatchPlugin } from './plugins/ensureWatch' export interface BuildOptions { - /** - * Base public path when served in production. - * @deprecated `base` is now a root-level config option. - */ - base?: string /** * Compatibility transform target. The transform is performed with esbuild * and the lowest supported target is es2015/es6. Note this only handles @@ -69,13 +65,6 @@ export interface BuildOptions { * @default true */ polyfillModulePreload?: boolean - /** - * whether to inject dynamic import polyfill. - * Note: does not apply to library mode. - * @default false - * @deprecated use plugin-legacy for browsers that don't support dynamic import - */ - polyfillDynamicImport?: boolean /** * Directory relative from `root` where build output will be placed. If the * directory exists, it will be removed before the build. @@ -129,10 +118,6 @@ export interface BuildOptions { * https://terser.org/docs/api-reference#minify-options */ terserOptions?: Terser.MinifyOptions - /** - * @deprecated Vite now uses esbuild for CSS minification. - */ - cleanCssOptions?: any /** * Will be merged with internal rollup options. * https://rollupjs.org/guide/en/#big-list-of-options @@ -197,12 +182,6 @@ export interface BuildOptions { * Can slightly improve build speed. */ reportCompressedSize?: boolean - /** - * Set to false to disable brotli compressed size reporting for build. - * Can slightly improve build speed. - * @deprecated use `build.reportCompressedSize` instead. - */ - brotliSize?: boolean /** * Adjust chunk size warning limit (in kbs). * @default 500 @@ -224,13 +203,7 @@ export interface LibraryOptions { export type LibraryFormats = 'es' | 'cjs' | 'umd' | 'iife' -export type ResolvedBuildOptions = Required< - Omit< - BuildOptions, - // make deprecated options optional - 'base' | 'cleanCssOptions' | 'polyfillDynamicImport' | 'brotliSize' - > -> +export type ResolvedBuildOptions = Required export function resolveBuildOptions(raw?: BuildOptions): ResolvedBuildOptions { const resolved: ResolvedBuildOptions = { @@ -252,7 +225,6 @@ export function resolveBuildOptions(raw?: BuildOptions): ResolvedBuildOptions { ssr: false, ssrManifest: false, reportCompressedSize: true, - // brotliSize: true, chunkSizeWarningLimit: 500, watch: null, ...raw, @@ -308,10 +280,10 @@ export function resolveBuildPlugins(config: ResolvedConfig): { return { pre: [ + ...(options.watch ? [ensureWatchPlugin()] : []), watchPackageDataPlugin(config), commonjsPlugin(options.commonjsOptions), dataURIPlugin(), - dynamicImportVars(options.dynamicImportVarsOptions), assetImportMetaUrlPlugin(config), ...(options.rollupOptions.plugins ? (options.rollupOptions.plugins.filter(Boolean) as Plugin[]) @@ -319,7 +291,7 @@ export function resolveBuildPlugins(config: ResolvedConfig): { ], post: [ buildImportAnalysisPlugin(config), - buildEsbuildPlugin(config), + ...(config.esbuild !== false ? [buildEsbuildPlugin(config)] : []), ...(options.minify ? [terserPlugin(config)] : []), ...(options.manifest ? [manifestPlugin(config)] : []), ...(options.ssrManifest ? [ssrManifestPlugin(config)] : []), @@ -449,15 +421,6 @@ async function doBuild( try { const buildOutputOptions = (output: OutputOptions = {}): OutputOptions => { - // @ts-ignore - if (output.output) { - config.logger.warn( - `You've set "rollupOptions.output.output" in your config. ` + - `This is deprecated and will override all Vite.js default output options. ` + - `Please use "rollupOptions.output" instead.` - ) - } - return { dir: outDir, format: ssr ? 'cjs' : 'es', @@ -599,9 +562,11 @@ function prepareOutDir( } } -function getPkgName(root: string) { - const { name } = JSON.parse(lookupFile(root, ['package.json']) || `{}`) +function getPkgJson(root: string): PackageData['data'] { + return JSON.parse(lookupFile(root, ['package.json']) || `{}`) +} +function getPkgName(name: string) { return name?.startsWith('@') ? name.split('/')[1] : name } @@ -614,14 +579,23 @@ export function resolveLibFilename( return libOptions.fileName(format) } - const name = libOptions.fileName || getPkgName(root) + const packageJson = getPkgJson(root) + const name = libOptions.fileName || getPkgName(packageJson.name) if (!name) throw new Error( 'Name in package.json is required if option "build.lib.fileName" is not provided.' ) - return `${name}.${format}.js` + let extension: string + + if (packageJson?.type === 'module') { + extension = format === 'cjs' || format === 'umd' ? 'cjs' : 'js' + } else { + extension = format === 'es' ? 'mjs' : 'js' + } + + return `${name}.${format}.${extension}` } function resolveBuildOutputs( diff --git a/packages/vite/src/node/cli.ts b/packages/vite/src/node/cli.ts index 9cec6ebd9cfd68..89412a825e9fc1 100644 --- a/packages/vite/src/node/cli.ts +++ b/packages/vite/src/node/cli.ts @@ -130,7 +130,7 @@ cli .option('--outDir ', `[string] output directory (default: dist)`) .option( '--assetsDir ', - `[string] directory under outDir to place assets in (default: _assets)` + `[string] directory under outDir to place assets in (default: assets)` ) .option( '--assetsInlineLimit ', diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 9910cbb3a8b004..e7fcaefeb2a799 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -31,7 +31,7 @@ import { createLogger } from './logger' import type { DepOptimizationOptions } from './optimizer' import { createFilter } from '@rollup/pluginutils' import type { ResolvedBuildOptions } from '.' -import { parse as parseUrl } from 'url' +import { parse as parseUrl, pathToFileURL } from 'url' import type { JsonOptions } from './plugins/json' import type { PluginContainer } from './server/pluginContainer' import { createPluginContainer } from './server/pluginContainer' @@ -63,7 +63,7 @@ export function defineConfig(config: UserConfigExport): UserConfigExport { return config } -export type PluginOption = Plugin | false | null | undefined +export type PluginOption = Plugin | false | null | undefined | PluginOption[] export interface UserConfig { /** @@ -109,7 +109,7 @@ export interface UserConfig { /** * Array of vite plugins to use. */ - plugins?: (PluginOption | PluginOption[])[] + plugins?: PluginOption[] /** * Configure resolver */ @@ -152,6 +152,14 @@ export interface UserConfig { * @alpha */ ssr?: SSROptions + /** + * Experimental features + * + * Features under this field are addressed to be changed that might NOT follow semver. + * Please be careful and always pin Vite's version when using them. + * @experimental + */ + experimental?: ExperimentalOptions /** * Log level. * Default: 'info' @@ -176,17 +184,6 @@ export interface UserConfig { * @default 'VITE_' */ envPrefix?: string | string[] - /** - * Import aliases - * @deprecated use `resolve.alias` instead - */ - alias?: AliasOptions - /** - * Force Vite to always resolve listed dependencies to the same copy (from - * project root). - * @deprecated use `resolve.dedupe` instead - */ - dedupe?: string[] /** * Worker bundle options */ @@ -199,7 +196,7 @@ export interface UserConfig { /** * Vite plugins that apply to worker bundle */ - plugins?: (PluginOption | PluginOption[])[] + plugins?: PluginOption[] /** * Rollup options to build worker bundle */ @@ -210,6 +207,16 @@ export interface UserConfig { } } +export interface ExperimentalOptions { + /** + * Append fake `&lang.(ext)` when queries are specified, to preseve the file extension for following plugins to process. + * + * @experimental + * @default false + */ + importGlobRestoreExtension?: boolean +} + export type SSRTarget = 'node' | 'webworker' export interface SSROptions { @@ -235,10 +242,7 @@ export interface InlineConfig extends UserConfig { } export type ResolvedConfig = Readonly< - Omit< - UserConfig, - 'plugins' | 'alias' | 'dedupe' | 'assetsInclude' | 'optimizeDeps' | 'worker' - > & { + Omit & { configFile: string | undefined configFileDependencies: string[] inlineConfig: InlineConfig @@ -261,7 +265,7 @@ export type ResolvedConfig = Readonly< assetsInclude: (file: string) => boolean logger: Logger createResolver: (options?: Partial) => ResolveFn - optimizeDeps: Omit + optimizeDeps: DepOptimizationOptions /** @internal */ packageCache: PackageCache worker: ResolveWorkerOptions @@ -322,7 +326,7 @@ export async function resolveConfig( configEnv.mode = mode // resolve plugins - const rawUserPlugins = (config.plugins || []).flat().filter((p) => { + const rawUserPlugins = (config.plugins || []).flat(Infinity).filter((p) => { if (!p) { return false } else if (!p.apply) { @@ -370,12 +374,11 @@ export async function resolveConfig( // @ts-ignore because @rollup/plugin-alias' type doesn't allow function // replacement, but its implementation does work with function values. clientAlias, - config.resolve?.alias || config.alias || [] + config.resolve?.alias || [] ) ) const resolveOptions: ResolvedConfig['resolve'] = { - dedupe: config.dedupe, ...config.resolve, alias: resolvedAlias } @@ -461,7 +464,9 @@ export async function resolveConfig( ) : '' - const server = resolveServerOptions(resolvedRoot, config.server) + const server = resolveServerOptions(resolvedRoot, config.server, logger) + + const optimizeDeps = config.optimizeDeps || {} const resolved: ResolvedConfig = { ...config, @@ -497,11 +502,10 @@ export async function resolveConfig( packageCache: new Map(), createResolver, optimizeDeps: { - ...config.optimizeDeps, + ...optimizeDeps, esbuildOptions: { - keepNames: config.optimizeDeps?.keepNames, preserveSymlinks: config.resolve?.preserveSymlinks, - ...config.optimizeDeps?.esbuildOptions + ...optimizeDeps.esbuildOptions } }, worker: resolvedWorkerOptions @@ -538,117 +542,6 @@ export async function resolveConfig( }) } - // TODO Deprecation warnings - remove when out of beta - - const logDeprecationWarning = ( - deprecatedOption: string, - hint: string, - error?: Error - ) => { - logger.warn( - colors.yellow( - colors.bold( - `(!) "${deprecatedOption}" option is deprecated. ${hint}${ - error ? `\n${error.stack}` : '' - }` - ) - ) - ) - } - - if (config.build?.base) { - logDeprecationWarning( - 'build.base', - '"base" is now a root-level config option.' - ) - config.base = config.build.base - } - Object.defineProperty(resolvedBuildOptions, 'base', { - enumerable: false, - get() { - logDeprecationWarning( - 'build.base', - '"base" is now a root-level config option.', - new Error() - ) - return resolved.base - } - }) - - if (config.alias) { - logDeprecationWarning('alias', 'Use "resolve.alias" instead.') - } - Object.defineProperty(resolved, 'alias', { - enumerable: false, - get() { - logDeprecationWarning( - 'alias', - 'Use "resolve.alias" instead.', - new Error() - ) - return resolved.resolve.alias - } - }) - - if (config.dedupe) { - logDeprecationWarning('dedupe', 'Use "resolve.dedupe" instead.') - } - Object.defineProperty(resolved, 'dedupe', { - enumerable: false, - get() { - logDeprecationWarning( - 'dedupe', - 'Use "resolve.dedupe" instead.', - new Error() - ) - return resolved.resolve.dedupe - } - }) - - if (config.optimizeDeps?.keepNames) { - logDeprecationWarning( - 'optimizeDeps.keepNames', - 'Use "optimizeDeps.esbuildOptions.keepNames" instead.' - ) - } - Object.defineProperty(resolved.optimizeDeps, 'keepNames', { - enumerable: false, - get() { - logDeprecationWarning( - 'optimizeDeps.keepNames', - 'Use "optimizeDeps.esbuildOptions.keepNames" instead.', - new Error() - ) - return resolved.optimizeDeps.esbuildOptions?.keepNames - } - }) - - if (config.build?.polyfillDynamicImport) { - logDeprecationWarning( - 'build.polyfillDynamicImport', - '"polyfillDynamicImport" has been removed. Please use @vitejs/plugin-legacy if your target browsers do not support dynamic imports.' - ) - } - - Object.defineProperty(resolvedBuildOptions, 'polyfillDynamicImport', { - enumerable: false, - get() { - logDeprecationWarning( - 'build.polyfillDynamicImport', - '"polyfillDynamicImport" has been removed. Please use @vitejs/plugin-legacy if your target browsers do not support dynamic imports.', - new Error() - ) - return false - } - }) - - if (config.build?.cleanCssOptions) { - logDeprecationWarning( - 'build.cleanCssOptions', - 'Vite now uses esbuild for CSS minification.' - ) - } - if (config.build?.terserOptions && config.build.minify !== 'terser') { logger.warn( colors.yellow( @@ -743,7 +636,12 @@ function mergeConfigRecursively( } else if (key === 'assetsInclude' && rootPath === '') { merged[key] = [].concat(existing, value) continue - } else if (key === 'noExternal' && existing === true) { + } else if ( + key === 'noExternal' && + rootPath === 'ssr' && + (existing === true || value === true) + ) { + merged[key] = true continue } @@ -1006,7 +904,7 @@ async function bundleConfigFile( contents: contents .replace( /\bimport\.meta\.url\b/g, - JSON.stringify(`file://${args.path}`) + JSON.stringify(pathToFileURL(args.path).href) ) .replace( /\b__dirname\b/g, diff --git a/packages/vite/src/node/http.ts b/packages/vite/src/node/http.ts index bfc2ddbe32a302..18140b031937a9 100644 --- a/packages/vite/src/node/http.ts +++ b/packages/vite/src/node/http.ts @@ -104,6 +104,9 @@ export async function resolveHttpServer( } else { return require('http2').createSecureServer( { + // Manually increase the session memory to prevent 502 ENHANCE_YOUR_CALM + // errors on large numbers of requests + maxSessionMemory: 1000, ...httpsOptions, allowHTTP1: true }, diff --git a/packages/vite/src/node/importGlob.ts b/packages/vite/src/node/importGlob.ts deleted file mode 100644 index a759bee2b5fa59..00000000000000 --- a/packages/vite/src/node/importGlob.ts +++ /dev/null @@ -1,263 +0,0 @@ -import path from 'path' -import { promises as fsp } from 'fs' -import glob from 'fast-glob' -import JSON5 from 'json5' -import { - isModernFlag, - preloadMethod, - preloadMarker -} from './plugins/importAnalysisBuild' -import { isCSSRequest } from './plugins/css' -import { - cleanUrl, - singlelineCommentsRE, - multilineCommentsRE, - blankReplacer, - normalizePath -} from './utils' -import type { RollupError } from 'rollup' -import type { Logger } from '.' -import colors from 'picocolors' - -interface GlobParams { - base: string - pattern: string - parentDepth: number - isAbsolute: boolean -} - -interface GlobOptions { - as?: string - /** - * @deprecated - */ - assert?: { - type: string - } -} - -function formatGlobRelativePattern(base: string, pattern: string): GlobParams { - let parentDepth = 0 - while (pattern.startsWith('../')) { - pattern = pattern.slice(3) - base = path.resolve(base, '../') - parentDepth++ - } - if (pattern.startsWith('./')) { - pattern = pattern.slice(2) - } - - return { base, pattern, parentDepth, isAbsolute: false } -} - -export async function transformImportGlob( - source: string, - pos: number, - importer: string, - importIndex: number, - root: string, - logger: Logger, - normalizeUrl?: (url: string, pos: number) => Promise<[string, string]>, - resolve?: (url: string, importer?: string) => Promise, - preload = true -): Promise<{ - importsString: string - imports: string[] - exp: string - endIndex: number - isEager: boolean - pattern: string - base: string -}> { - const isEager = source.slice(pos, pos + 21) === 'import.meta.globEager' - const isEagerDefault = - isEager && source.slice(pos + 21, pos + 28) === 'Default' - - const err = (msg: string) => { - const e = new Error(`Invalid glob import syntax: ${msg}`) - ;(e as any).pos = pos - return e - } - - importer = cleanUrl(importer) - const importerBasename = path.basename(importer) - - const [userPattern, options, endIndex] = lexGlobPattern(source, pos) - - let globParams: GlobParams | null = null - if (userPattern.startsWith('/')) { - globParams = { - isAbsolute: true, - base: path.resolve(root), - pattern: userPattern.slice(1), - parentDepth: 0 - } - } else if (userPattern.startsWith('.')) { - globParams = formatGlobRelativePattern(path.dirname(importer), userPattern) - } else if (resolve) { - const resolvedId = await resolve(userPattern, importer) - if (resolvedId) { - const importerDirname = path.dirname(importer) - globParams = formatGlobRelativePattern( - importerDirname, - normalizePath(path.relative(importerDirname, resolvedId)) - ) - } - } - - if (!globParams) { - throw err( - `pattern must start with "." or "/" (relative to project root) or alias path` - ) - } - const { base, parentDepth, isAbsolute, pattern } = globParams - - const files = glob.sync(pattern, { - cwd: base, - // Ignore node_modules by default unless explicitly indicated in the pattern - ignore: /(^|\/)node_modules\//.test(pattern) ? [] : ['**/node_modules/**'] - }) - const imports: string[] = [] - let importsString = `` - let entries = `` - for (let i = 0; i < files.length; i++) { - // skip importer itself - if (files[i] === importerBasename) continue - const file = isAbsolute - ? `/${files[i]}` - : parentDepth - ? `${'../'.repeat(parentDepth)}${files[i]}` - : `./${files[i]}` - let importee = file - if (normalizeUrl) { - ;[importee] = await normalizeUrl(file, pos) - } - imports.push(importee) - // TODO remove assert syntax for the Vite 3.0 release. - const isRawAssert = options?.assert?.type === 'raw' - const isRawType = options?.as === 'raw' - if (isRawType || isRawAssert) { - if (isRawAssert) { - logger.warn( - colors.yellow( - colors.bold( - "(!) import.meta.glob('...', { assert: { type: 'raw' }}) is deprecated. Use import.meta.glob('...', { as: 'raw' }) instead." - ) - ) - ) - } - entries += ` ${JSON.stringify(file)}: ${JSON.stringify( - await fsp.readFile(path.join(base, files[i]), 'utf-8') - )},` - } else { - const importeeUrl = isCSSRequest(importee) ? `${importee}?used` : importee - if (isEager) { - const identifier = `__glob_${importIndex}_${i}` - // css imports injecting a ?used query to export the css string - importsString += `import ${ - isEagerDefault ? `` : `* as ` - }${identifier} from ${JSON.stringify(importeeUrl)};` - entries += ` ${JSON.stringify(file)}: ${identifier},` - } else { - let imp = `import(${JSON.stringify(importeeUrl)})` - if (!normalizeUrl && preload) { - imp = - `(${isModernFlag}` + - `? ${preloadMethod}(()=>${imp},"${preloadMarker}")` + - `: ${imp})` - } - entries += ` ${JSON.stringify(file)}: () => ${imp},` - } - } - } - - return { - imports, - importsString, - exp: `{${entries}}`, - endIndex, - isEager, - pattern, - base - } -} - -const enum LexerState { - inCall, - inSingleQuoteString, - inDoubleQuoteString, - inTemplateString -} - -function lexGlobPattern( - code: string, - pos: number -): [string, GlobOptions, number] { - let state = LexerState.inCall - let pattern = '' - - let i = code.indexOf(`(`, pos) + 1 - outer: for (; i < code.length; i++) { - const char = code.charAt(i) - switch (state) { - case LexerState.inCall: - if (char === `'`) { - state = LexerState.inSingleQuoteString - } else if (char === `"`) { - state = LexerState.inDoubleQuoteString - } else if (char === '`') { - state = LexerState.inTemplateString - } else if (/\s/.test(char)) { - continue - } else { - error(i) - } - break - case LexerState.inSingleQuoteString: - if (char === `'`) { - break outer - } else { - pattern += char - } - break - case LexerState.inDoubleQuoteString: - if (char === `"`) { - break outer - } else { - pattern += char - } - break - case LexerState.inTemplateString: - if (char === '`') { - break outer - } else { - pattern += char - } - break - default: - throw new Error('unknown import.meta.glob lexer state') - } - } - const noCommentCode = code - .slice(i + 1) - .replace(singlelineCommentsRE, blankReplacer) - .replace(multilineCommentsRE, blankReplacer) - - const endIndex = noCommentCode.indexOf(')') - const optionString = noCommentCode.substring(0, endIndex) - const commaIndex = optionString.indexOf(',') - - let options = {} - if (commaIndex > -1) { - options = JSON5.parse(optionString.substring(commaIndex + 1)) - } - return [pattern, options, endIndex + i + 2] -} - -function error(pos: number) { - const err = new Error( - `import.meta.glob() can only accept string literals.` - ) as RollupError - err.pos = pos - throw err -} diff --git a/packages/vite/src/node/index.ts b/packages/vite/src/node/index.ts index 2e849d846527ca..0d401363b8a3b6 100644 --- a/packages/vite/src/node/index.ts +++ b/packages/vite/src/node/index.ts @@ -4,7 +4,7 @@ export { preview } from './preview' export { build } from './build' export { optimizeDeps } from './optimizer' export { send } from './server/send' -export { createLogger, printHttpServerUrls } from './logger' +export { createLogger } from './logger' export { formatPostcssSourceMap } from './plugins/css' export { transformWithEsbuild } from './plugins/esbuild' export { resolvePackageEntry } from './plugins/resolve' @@ -33,6 +33,7 @@ export type { export type { PreviewOptions, PreviewServer, + PreviewServerHook, ResolvedPreviewOptions } from './preview' export type { @@ -73,6 +74,9 @@ export type { TransformOptions as EsbuildTransformOptions } from 'esbuild' export type { ESBuildOptions, ESBuildTransformResult } from './plugins/esbuild' export type { Manifest, ManifestChunk } from './plugins/manifest' export type { ResolveOptions, InternalResolveOptions } from './plugins/resolve' +export type { SplitVendorChunkCache } from './plugins/splitVendorChunk' +import type { ChunkMetadata } from './plugins/metadata' + export type { WebSocketServer, WebSocketClient, @@ -87,6 +91,7 @@ export type { TransformResult } from './server/transformRequest' export type { HmrOptions, HmrContext } from './server/hmr' + export type { HMRPayload, ConnectedPayload, @@ -110,9 +115,12 @@ export type { RollupCommonJSOptions } from 'types/commonjs' export type { RollupDynamicImportVarsOptions } from 'types/dynamicImportVars' export type { CustomEventMap, InferCustomEventPayload } from 'types/customEvent' export type { Matcher, AnymatchPattern, AnymatchFn } from 'types/anymatch' -export type { SplitVendorChunkCache } from './plugins/splitVendorChunk' - -import type { ChunkMetadata } from './plugins/metadata' +export type { + ImportGlobFunction, + ImportGlobEagerFunction, + ImportGlobOptions, + KnownAsTypeMap +} from 'types/importGlob' declare module 'rollup' { export interface RenderedChunk { diff --git a/packages/vite/src/node/logger.ts b/packages/vite/src/node/logger.ts index b6cf76f2aaa432..4f5784aeb527ff 100644 --- a/packages/vite/src/node/logger.ts +++ b/packages/vite/src/node/logger.ts @@ -144,16 +144,6 @@ export function createLogger( return logger } -/** - * @deprecated Use `server.printUrls()` instead - */ -export function printHttpServerUrls( - server: Server, - config: ResolvedConfig -): void { - printCommonServerUrls(server, config.server, config) -} - export function printCommonServerUrls( server: Server, options: CommonServerOptions, @@ -190,7 +180,15 @@ function printServerUrls( } else { Object.values(os.networkInterfaces()) .flatMap((nInterface) => nInterface ?? []) - .filter((detail) => detail && detail.address && detail.family === 'IPv4') + .filter( + (detail) => + detail && + detail.address && + // Node < v18 + ((typeof detail.family === 'string' && detail.family === 'IPv4') || + // Node >= v18 + (typeof detail.family === 'number' && detail.family === 4)) + ) .map((detail) => { const type = detail.address.includes('127.0.0.1') ? 'Local: ' diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 88c41801938b98..33419e0d186487 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -13,7 +13,9 @@ import { normalizePath, writeFile, flattenId, - normalizeId + normalizeId, + removeDirSync, + renameDir } from '../utils' import { esbuildDepPlugin } from './esbuildDepPlugin' import { init, parse } from 'es-module-lexer' @@ -70,7 +72,6 @@ export interface DepOptimizationOptions { * * - `external` is also omitted, use Vite's `optimizeDeps.exclude` option * - `plugins` are merged with Vite's dep plugin - * - `keepNames` takes precedence over the deprecated `optimizeDeps.keepNames` * * https://esbuild.github.io/api */ @@ -87,10 +88,6 @@ export interface DepOptimizationOptions { | 'outExtension' | 'metafile' > - /** - * @deprecated use `esbuildOptions.keepNames` - */ - keepNames?: boolean /** * List of file extensions that can be optimized. A corresponding esbuild * plugin must exist to handle the specific extension. @@ -101,6 +98,12 @@ export interface DepOptimizationOptions { * @experimental */ extensions?: string[] + /** + * Disables dependencies optimizations + * @default false + * @experimental + */ + disabled?: boolean } export interface DepOptimizationResult { @@ -110,7 +113,7 @@ export interface DepOptimizationResult { * the page reload will be delayed until the next rerun so we need * to be able to discard the result */ - commit: () => void + commit: () => Promise cancel: () => void } @@ -188,7 +191,7 @@ export async function optimizeDeps( const result = await runOptimizeDeps(config, depsInfo) - result.commit() + await result.commit() return result.metadata } @@ -370,7 +373,7 @@ export async function runOptimizeDeps( metadata, commit() { // Write metadata file, delete `deps` folder and rename the `processing` folder to `deps` - commitProcessingDepsCacheSync() + return commitProcessingDepsCacheSync() }, cancel } @@ -411,11 +414,12 @@ export async function runOptimizeDeps( try { exportsData = parse(entryContent) as ExportsData } catch { + const loader = esbuildOptions.loader?.[path.extname(filePath)] || 'jsx' debug( - `Unable to parse dependency: ${id}. Trying again with a JSX transform.` + `Unable to parse dependency: ${id}. Trying again with a ${loader} transform.` ) const transformed = await transformWithEsbuild(entryContent, filePath, { - loader: 'jsx' + loader }) // Ensure that optimization won't fail by defaulting '.js' to the JSX parser. // This is useful for packages such as Gatsby. @@ -438,7 +442,7 @@ export async function runOptimizeDeps( } const define: Record = { - 'process.env.NODE_ENV': JSON.stringify(config.mode) + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || config.mode) } for (const key in config.define) { const value = config.define[key] @@ -522,16 +526,16 @@ export async function runOptimizeDeps( metadata, commit() { // Write metadata file, delete `deps` folder and rename the new `processing` folder to `deps` in sync - commitProcessingDepsCacheSync() + return commitProcessingDepsCacheSync() }, cancel } - function commitProcessingDepsCacheSync() { + async function commitProcessingDepsCacheSync() { // Processing is done, we can now replace the depsCacheDir with processingCacheDir // Rewire the file paths from the temporal processing dir to the final deps cache dir removeDirSync(depsCacheDir) - fs.renameSync(processingCacheDir, depsCacheDir) + await renameDir(processingCacheDir, depsCacheDir) } function cancel() { @@ -539,13 +543,6 @@ export async function runOptimizeDeps( } } -function removeDirSync(dir: string) { - if (fs.existsSync(dir)) { - const rmSync = fs.rmSync ?? fs.rmdirSync // TODO: Remove after support for Node 12 is dropped - rmSync(dir, { recursive: true }) - } -} - export async function findKnownImports( config: ResolvedConfig ): Promise { @@ -783,7 +780,7 @@ export function getDepHash(config: ResolvedConfig): string { // only a subset of config options that can affect dep optimization content += JSON.stringify( { - mode: config.mode, + mode: process.env.NODE_ENV || config.mode, root: config.root, define: config.define, resolve: config.resolve, diff --git a/packages/vite/src/node/optimizer/registerMissing.ts b/packages/vite/src/node/optimizer/registerMissing.ts index ee4824389c202b..53cd7e981b1b61 100644 --- a/packages/vite/src/node/optimizer/registerMissing.ts +++ b/packages/vite/src/node/optimizer/registerMissing.ts @@ -189,8 +189,8 @@ export function createOptimizedDeps(server: ViteDevServer): OptimizedDeps { ) }) - const commitProcessing = () => { - processingResult.commit() + const commitProcessing = async () => { + await processingResult.commit() // While optimizeDeps is running, new missing deps may be discovered, // in which case they will keep being added to metadata.discovered @@ -240,7 +240,7 @@ export function createOptimizedDeps(server: ViteDevServer): OptimizedDeps { } if (!needsReload) { - commitProcessing() + await commitProcessing() if (!isDebugEnabled) { if (newDepsToLogHandle) clearTimeout(newDepsToLogHandle) @@ -270,7 +270,7 @@ export function createOptimizedDeps(server: ViteDevServer): OptimizedDeps { } ) } else { - commitProcessing() + await commitProcessing() if (!isDebugEnabled) { if (newDepsToLogHandle) clearTimeout(newDepsToLogHandle) @@ -296,7 +296,6 @@ export function createOptimizedDeps(server: ViteDevServer): OptimizedDeps { // Reset missing deps, let the server rediscover the dependencies metadata.discovered = {} - fullReload() } currentlyProcessing = false diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index e940617386eb35..8dfac45c4e6612 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -1,9 +1,9 @@ import fs from 'fs' import path from 'path' import glob from 'fast-glob' -import type { ResolvedConfig, Logger } from '..' +import type { ResolvedConfig } from '..' import type { Loader, Plugin, OnLoadResult } from 'esbuild' -import { build, transform } from 'esbuild' +import { build } from 'esbuild' import { KNOWN_ASSET_TYPES, JS_TYPES_RE, @@ -25,11 +25,9 @@ import { } from '../utils' import type { PluginContainer } from '../server/pluginContainer' import { createPluginContainer } from '../server/pluginContainer' -import { init, parse } from 'es-module-lexer' -import MagicString from 'magic-string' -import { transformImportGlob } from '../importGlob' import { performance } from 'perf_hooks' import colors from 'picocolors' +import { transformGlobImport } from '../plugins/importMetaGlob' const debug = createDebugger('vite:deps') @@ -77,9 +75,7 @@ export async function scanImports(config: ResolvedConfig): Promise<{ // Non-supported entry file types and virtual files should not be scanned for // dependencies. entries = entries.filter( - (entry) => - (JS_TYPES_RE.test(entry) || htmlTypesRE.test(entry)) && - fs.existsSync(entry) + (entry) => isScannable(entry) && fs.existsSync(entry) ) if (!entries.length) { @@ -300,19 +296,18 @@ function esbuildScanPlugin( (loader.startsWith('ts') ? extractImportPaths(content) : '') const key = `${path}?id=${scriptId++}` - if (contents.includes('import.meta.glob')) { scripts[key] = { - // transformGlob already transforms to js loader: 'js', - contents: await transformGlob( - contents, - path, - config.root, - loader, - resolve, - config.logger - ) + contents: + ( + await transformGlobImport( + contents, + path, + config.root, + resolve + ) + )?.s.toString() || contents } } else { scripts[key] = { @@ -463,21 +458,12 @@ function esbuildScanPlugin( contents = config.esbuild.jsxInject + `\n` + contents } - if (contents.includes('import.meta.glob')) { - return transformGlob( - contents, - id, - config.root, - ext as Loader, - resolve, - config.logger - ).then((contents) => ({ - loader: ext as Loader, - contents - })) - } + const loader = + config.optimizeDeps?.esbuildOptions?.loader?.[`.${ext}`] || + (ext as Loader) + return { - loader: ext as Loader, + loader, contents } }) @@ -485,43 +471,6 @@ function esbuildScanPlugin( } } -async function transformGlob( - source: string, - importer: string, - root: string, - loader: Loader, - resolve: (url: string, importer?: string) => Promise, - logger: Logger -) { - // transform the content first since es-module-lexer can't handle non-js - if (loader !== 'js') { - source = (await transform(source, { loader })).code - } - - await init - const imports = parse(source)[0] - const s = new MagicString(source) - for (let index = 0; index < imports.length; index++) { - const { s: start, e: end, ss: expStart } = imports[index] - const url = source.slice(start, end) - if (url !== 'import.meta') continue - if (source.slice(end, end + 5) !== '.glob') continue - const { importsString, exp, endIndex } = await transformImportGlob( - source, - start, - normalizePath(importer), - index, - root, - logger, - undefined, - resolve - ) - s.prepend(importsString) - s.overwrite(expStart, endIndex, exp, { contentOnly: true }) - } - return s.toString() -} - /** * when using TS + (Vue + `

url in style tag

url

@@ -188,7 +245,10 @@

url

background-size: 10px 10px; } -
+
inline style
use style class
@@ -212,6 +272,25 @@

@import

@import CSS from publicDir should load (this should be red)

+

import module css

+ +

+ +

style in svg

+ + + + + + + + @@ -268,6 +347,12 @@

document.querySelector('.import-meta-url-img-comma-nl').src = metaUrlWithCommaNL + import classNames from './css/foo.module.css' + document.querySelector('#foo').className = classNames['foo-module'] + + import someString from './static/foo.txt?raw' + document.querySelector('.raw-query').textContent = someString + const metaUrlNonExistent = new URL('non-existent', import.meta.url).pathname text('.non-existent-import-meta-url', metaUrlNonExistent) diff --git a/packages/playground/assets/nested/asset.png b/playground/assets/nested/asset.png similarity index 100% rename from packages/playground/assets/nested/asset.png rename to playground/assets/nested/asset.png diff --git a/packages/playground/assets/nested/fragment-bg.svg b/playground/assets/nested/fragment-bg.svg similarity index 100% rename from packages/playground/assets/nested/fragment-bg.svg rename to playground/assets/nested/fragment-bg.svg diff --git a/packages/playground/assets/nested/fragment.svg b/playground/assets/nested/fragment.svg similarity index 100% rename from packages/playground/assets/nested/fragment.svg rename to playground/assets/nested/fragment.svg diff --git a/packages/playground/assets/nested/icon.png b/playground/assets/nested/icon.png similarity index 100% rename from packages/playground/assets/nested/icon.png rename to playground/assets/nested/icon.png diff --git "a/packages/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" "b/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" similarity index 100% rename from "packages/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" rename to "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" diff --git a/packages/playground/assets/package.json b/playground/assets/package.json similarity index 72% rename from packages/playground/assets/package.json rename to playground/assets/package.json index 33f64cef771525..2a1f3148e2cf07 100644 --- a/packages/playground/assets/package.json +++ b/playground/assets/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/assets/static/foo.css b/playground/assets/static/foo.css similarity index 100% rename from packages/playground/assets/static/foo.css rename to playground/assets/static/foo.css diff --git a/playground/assets/static/foo.txt b/playground/assets/static/foo.txt new file mode 100644 index 00000000000000..19102815663d23 --- /dev/null +++ b/playground/assets/static/foo.txt @@ -0,0 +1 @@ +foo \ No newline at end of file diff --git a/packages/playground/assets/static/icon.png b/playground/assets/static/icon.png similarity index 100% rename from packages/playground/assets/static/icon.png rename to playground/assets/static/icon.png diff --git a/packages/playground/assets/static/import-expression.js b/playground/assets/static/import-expression.js similarity index 100% rename from packages/playground/assets/static/import-expression.js rename to playground/assets/static/import-expression.js diff --git a/packages/playground/assets/static/raw.css b/playground/assets/static/raw.css similarity index 100% rename from packages/playground/assets/static/raw.css rename to playground/assets/static/raw.css diff --git a/packages/playground/assets/static/raw.js b/playground/assets/static/raw.js similarity index 100% rename from packages/playground/assets/static/raw.js rename to playground/assets/static/raw.js diff --git a/packages/playground/assets/vite.config.js b/playground/assets/vite.config.js similarity index 100% rename from packages/playground/assets/vite.config.js rename to playground/assets/vite.config.js diff --git "a/packages/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" "b/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" similarity index 100% rename from "packages/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" rename to "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" diff --git a/packages/playground/backend-integration/__tests__/backend-integration.spec.ts b/playground/backend-integration/__tests__/backend-integration.spec.ts similarity index 92% rename from packages/playground/backend-integration/__tests__/backend-integration.spec.ts rename to playground/backend-integration/__tests__/backend-integration.spec.ts index 3e189972f4baed..7eebc9c27ff05a 100644 --- a/packages/playground/backend-integration/__tests__/backend-integration.spec.ts +++ b/playground/backend-integration/__tests__/backend-integration.spec.ts @@ -32,6 +32,12 @@ if (isBuild) { expect(htmlEntry.assets.length).toEqual(1) }) } else { + test('No ReferenceError', async () => { + browserErrors.forEach((error) => { + expect(error.name).not.toBe('ReferenceError') + }) + }) + describe('CSS HMR', () => { test('preserve the base in CSS HMR', async () => { await untilUpdated(() => getColor('body'), 'black') // sanity check diff --git a/packages/playground/backend-integration/frontend/entrypoints/global.css b/playground/backend-integration/frontend/entrypoints/global.css similarity index 100% rename from packages/playground/backend-integration/frontend/entrypoints/global.css rename to playground/backend-integration/frontend/entrypoints/global.css diff --git a/packages/playground/backend-integration/frontend/entrypoints/index.html b/playground/backend-integration/frontend/entrypoints/index.html similarity index 100% rename from packages/playground/backend-integration/frontend/entrypoints/index.html rename to playground/backend-integration/frontend/entrypoints/index.html diff --git a/packages/playground/backend-integration/frontend/entrypoints/main.ts b/playground/backend-integration/frontend/entrypoints/main.ts similarity index 83% rename from packages/playground/backend-integration/frontend/entrypoints/main.ts rename to playground/backend-integration/frontend/entrypoints/main.ts index b95a989ada81c2..f5a332191dd9e4 100644 --- a/packages/playground/backend-integration/frontend/entrypoints/main.ts +++ b/playground/backend-integration/frontend/entrypoints/main.ts @@ -1,3 +1,5 @@ +import 'vite/modulepreload-polyfill' + export const colorClass = 'text-black' export function colorHeading() { diff --git a/packages/playground/backend-integration/frontend/images/logo.png b/playground/backend-integration/frontend/images/logo.png similarity index 100% rename from packages/playground/backend-integration/frontend/images/logo.png rename to playground/backend-integration/frontend/images/logo.png diff --git a/packages/playground/backend-integration/frontend/styles/background.css b/playground/backend-integration/frontend/styles/background.css similarity index 100% rename from packages/playground/backend-integration/frontend/styles/background.css rename to playground/backend-integration/frontend/styles/background.css diff --git a/packages/playground/backend-integration/frontend/styles/tailwind.css b/playground/backend-integration/frontend/styles/tailwind.css similarity index 100% rename from packages/playground/backend-integration/frontend/styles/tailwind.css rename to playground/backend-integration/frontend/styles/tailwind.css diff --git a/packages/playground/backend-integration/package.json b/playground/backend-integration/package.json similarity index 81% rename from packages/playground/backend-integration/package.json rename to playground/backend-integration/package.json index b3d9b064db16e2..c1419548cb3bd3 100644 --- a/packages/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { diff --git a/packages/playground/backend-integration/postcss.config.js b/playground/backend-integration/postcss.config.js similarity index 100% rename from packages/playground/backend-integration/postcss.config.js rename to playground/backend-integration/postcss.config.js diff --git a/packages/playground/backend-integration/references.css b/playground/backend-integration/references.css similarity index 100% rename from packages/playground/backend-integration/references.css rename to playground/backend-integration/references.css diff --git a/packages/playground/backend-integration/tailwind.config.js b/playground/backend-integration/tailwind.config.js similarity index 100% rename from packages/playground/backend-integration/tailwind.config.js rename to playground/backend-integration/tailwind.config.js diff --git a/packages/playground/backend-integration/vite.config.js b/playground/backend-integration/vite.config.js similarity index 100% rename from packages/playground/backend-integration/vite.config.js rename to playground/backend-integration/vite.config.js diff --git a/packages/playground/cli-module/__tests__/cli-module.spec.ts b/playground/cli-module/__tests__/cli-module.spec.ts similarity index 100% rename from packages/playground/cli-module/__tests__/cli-module.spec.ts rename to playground/cli-module/__tests__/cli-module.spec.ts diff --git a/packages/playground/cli-module/__tests__/serve.js b/playground/cli-module/__tests__/serve.js similarity index 97% rename from packages/playground/cli-module/__tests__/serve.js rename to playground/cli-module/__tests__/serve.js index 2b354f566524bf..cf873fd481830b 100644 --- a/packages/playground/cli-module/__tests__/serve.js +++ b/playground/cli-module/__tests__/serve.js @@ -5,10 +5,10 @@ const path = require('path') // eslint-disable-next-line node/no-restricted-require const execa = require('execa') -const { workspaceRoot } = require('../../testUtils') +const { workspaceRoot, ports } = require('../../testUtils') const isWindows = process.platform === 'win32' -const port = (exports.port = 9511) // make sure this port is unique across tests with custom servers +const port = (exports.port = ports['cli-module']) const viteBin = path.join(workspaceRoot, 'packages', 'vite', 'bin', 'vite.js') /** diff --git a/packages/playground/cli-module/index.html b/playground/cli-module/index.html similarity index 100% rename from packages/playground/cli-module/index.html rename to playground/cli-module/index.html diff --git a/packages/playground/cli-module/index.js b/playground/cli-module/index.js similarity index 100% rename from packages/playground/cli-module/index.js rename to playground/cli-module/index.js diff --git a/packages/playground/cli-module/package.json b/playground/cli-module/package.json similarity index 74% rename from packages/playground/cli-module/package.json rename to playground/cli-module/package.json index a6d890d5a06ecb..0f297d4e4d0563 100644 --- a/packages/playground/cli-module/package.json +++ b/playground/cli-module/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "serve": "vite preview" } } diff --git a/packages/playground/cli-module/vite.config.js b/playground/cli-module/vite.config.js similarity index 100% rename from packages/playground/cli-module/vite.config.js rename to playground/cli-module/vite.config.js diff --git a/packages/playground/cli/__tests__/cli.spec.ts b/playground/cli/__tests__/cli.spec.ts similarity index 100% rename from packages/playground/cli/__tests__/cli.spec.ts rename to playground/cli/__tests__/cli.spec.ts diff --git a/packages/playground/cli/__tests__/serve.js b/playground/cli/__tests__/serve.js similarity index 97% rename from packages/playground/cli/__tests__/serve.js rename to playground/cli/__tests__/serve.js index 5dd058f4e1a83c..3ad375d9d1f543 100644 --- a/packages/playground/cli/__tests__/serve.js +++ b/playground/cli/__tests__/serve.js @@ -5,10 +5,10 @@ const path = require('path') // eslint-disable-next-line node/no-restricted-require const execa = require('execa') -const { workspaceRoot } = require('../../testUtils') +const { workspaceRoot, ports } = require('../../testUtils') const isWindows = process.platform === 'win32' -const port = (exports.port = 9510) // make sure this port is unique across tests with custom servers +const port = (exports.port = ports.cli) const viteBin = path.join(workspaceRoot, 'packages', 'vite', 'bin', 'vite.js') /** diff --git a/packages/playground/cli/index.html b/playground/cli/index.html similarity index 100% rename from packages/playground/cli/index.html rename to playground/cli/index.html diff --git a/packages/playground/cli/index.js b/playground/cli/index.js similarity index 100% rename from packages/playground/cli/index.js rename to playground/cli/index.js diff --git a/packages/playground/cli/package.json b/playground/cli/package.json similarity index 71% rename from packages/playground/cli/package.json rename to playground/cli/package.json index bc1775ff722f2a..d2f8476d409c2e 100644 --- a/packages/playground/cli/package.json +++ b/playground/cli/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/cli/vite.config.js b/playground/cli/vite.config.js similarity index 100% rename from packages/playground/cli/vite.config.js rename to playground/cli/vite.config.js diff --git a/packages/playground/css-codesplit-cjs/__tests__/css-codesplit.spec.ts b/playground/css-codesplit-cjs/__tests__/css-codesplit.spec.ts similarity index 100% rename from packages/playground/css-codesplit-cjs/__tests__/css-codesplit.spec.ts rename to playground/css-codesplit-cjs/__tests__/css-codesplit.spec.ts diff --git a/packages/playground/css-codesplit-cjs/index.html b/playground/css-codesplit-cjs/index.html similarity index 100% rename from packages/playground/css-codesplit-cjs/index.html rename to playground/css-codesplit-cjs/index.html diff --git a/packages/playground/css-codesplit-cjs/main.css b/playground/css-codesplit-cjs/main.css similarity index 100% rename from packages/playground/css-codesplit-cjs/main.css rename to playground/css-codesplit-cjs/main.css diff --git a/packages/playground/css-codesplit-cjs/main.js b/playground/css-codesplit-cjs/main.js similarity index 100% rename from packages/playground/css-codesplit-cjs/main.js rename to playground/css-codesplit-cjs/main.js diff --git a/packages/playground/css-codesplit-cjs/other.js b/playground/css-codesplit-cjs/other.js similarity index 100% rename from packages/playground/css-codesplit-cjs/other.js rename to playground/css-codesplit-cjs/other.js diff --git a/packages/playground/css-codesplit-cjs/package.json b/playground/css-codesplit-cjs/package.json similarity index 73% rename from packages/playground/css-codesplit-cjs/package.json rename to playground/css-codesplit-cjs/package.json index 91b848aae892aa..3504b18053b39b 100644 --- a/packages/playground/css-codesplit-cjs/package.json +++ b/playground/css-codesplit-cjs/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/css-codesplit-cjs/style.css b/playground/css-codesplit-cjs/style.css similarity index 100% rename from packages/playground/css-codesplit-cjs/style.css rename to playground/css-codesplit-cjs/style.css diff --git a/packages/playground/css-codesplit-cjs/vite.config.js b/playground/css-codesplit-cjs/vite.config.js similarity index 100% rename from packages/playground/css-codesplit-cjs/vite.config.js rename to playground/css-codesplit-cjs/vite.config.js diff --git a/packages/playground/css-codesplit/__tests__/css-codesplit.spec.ts b/playground/css-codesplit/__tests__/css-codesplit.spec.ts similarity index 52% rename from packages/playground/css-codesplit/__tests__/css-codesplit.spec.ts rename to playground/css-codesplit/__tests__/css-codesplit.spec.ts index 95fe97a1b953ba..789adba23ae021 100644 --- a/packages/playground/css-codesplit/__tests__/css-codesplit.spec.ts +++ b/playground/css-codesplit/__tests__/css-codesplit.spec.ts @@ -1,8 +1,23 @@ import { findAssetFile, getColor, isBuild, readManifest } from '../../testUtils' -test('should load both stylesheets', async () => { +test('should load all stylesheets', async () => { expect(await getColor('h1')).toBe('red') expect(await getColor('h2')).toBe('blue') + expect(await getColor('.dynamic')).toBe('green') +}) + +test('should load dynamic import with inline', async () => { + const css = await page.textContent('.dynamic-inline') + expect(css).toMatch('.inline') + + expect(await getColor('.inline')).not.toBe('yellow') +}) + +test('should load dynamic import with module', async () => { + const css = await page.textContent('.dynamic-module') + expect(css).toMatch('_mod_') + + expect(await getColor('.mod')).toBe('yellow') }) if (isBuild) { @@ -10,6 +25,7 @@ if (isBuild) { expect(findAssetFile(/style.*\.js$/)).toBe('') expect(findAssetFile('main.*.js$')).toMatch(`/* empty css`) expect(findAssetFile('other.*.js$')).toMatch(`/* empty css`) + expect(findAssetFile(/async.*\.js$/)).toBe('') }) test('should generate correct manifest', async () => { diff --git a/playground/css-codesplit/async.css b/playground/css-codesplit/async.css new file mode 100644 index 00000000000000..4902b2e7bee811 --- /dev/null +++ b/playground/css-codesplit/async.css @@ -0,0 +1,3 @@ +.dynamic { + color: green; +} diff --git a/playground/css-codesplit/index.html b/playground/css-codesplit/index.html new file mode 100644 index 00000000000000..63bdb59e11dc6b --- /dev/null +++ b/playground/css-codesplit/index.html @@ -0,0 +1,11 @@ +

This should be red

+

This should be blue

+ +

This should be green

+

This should not be yellow

+

+

This should be yellow

+

+ + +
diff --git a/playground/css-codesplit/inline.css b/playground/css-codesplit/inline.css new file mode 100644 index 00000000000000..b2a2b5f1ead51f --- /dev/null +++ b/playground/css-codesplit/inline.css @@ -0,0 +1,3 @@ +.inline { + color: yellow; +} diff --git a/packages/playground/css-codesplit/main.css b/playground/css-codesplit/main.css similarity index 100% rename from packages/playground/css-codesplit/main.css rename to playground/css-codesplit/main.css diff --git a/playground/css-codesplit/main.js b/playground/css-codesplit/main.js new file mode 100644 index 00000000000000..eb6e703f79e718 --- /dev/null +++ b/playground/css-codesplit/main.js @@ -0,0 +1,15 @@ +import './style.css' +import './main.css' + +import('./async.css') + +import('./inline.css?inline').then((css) => { + document.querySelector('.dynamic-inline').textContent = css.default +}) + +import('./mod.module.css').then((css) => { + document.querySelector('.dynamic-module').textContent = JSON.stringify( + css.default + ) + document.querySelector('.mod').classList.add(css.default.mod) +}) diff --git a/playground/css-codesplit/mod.module.css b/playground/css-codesplit/mod.module.css new file mode 100644 index 00000000000000..7f84410485a32c --- /dev/null +++ b/playground/css-codesplit/mod.module.css @@ -0,0 +1,3 @@ +.mod { + color: yellow; +} diff --git a/packages/playground/css-codesplit/other.js b/playground/css-codesplit/other.js similarity index 100% rename from packages/playground/css-codesplit/other.js rename to playground/css-codesplit/other.js diff --git a/packages/playground/css-codesplit/package.json b/playground/css-codesplit/package.json similarity index 72% rename from packages/playground/css-codesplit/package.json rename to playground/css-codesplit/package.json index a4403ab0e47a2a..b6fe27f6d35759 100644 --- a/packages/playground/css-codesplit/package.json +++ b/playground/css-codesplit/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/css-codesplit/style.css b/playground/css-codesplit/style.css similarity index 100% rename from packages/playground/css-codesplit/style.css rename to playground/css-codesplit/style.css diff --git a/packages/playground/css-codesplit/vite.config.js b/playground/css-codesplit/vite.config.js similarity index 100% rename from packages/playground/css-codesplit/vite.config.js rename to playground/css-codesplit/vite.config.js diff --git a/packages/playground/css-sourcemap/__tests__/build.spec.ts b/playground/css-sourcemap/__tests__/build.spec.ts similarity index 100% rename from packages/playground/css-sourcemap/__tests__/build.spec.ts rename to playground/css-sourcemap/__tests__/build.spec.ts diff --git a/packages/playground/css-sourcemap/__tests__/serve.spec.ts b/playground/css-sourcemap/__tests__/serve.spec.ts similarity index 72% rename from packages/playground/css-sourcemap/__tests__/serve.spec.ts rename to playground/css-sourcemap/__tests__/serve.spec.ts index 11e33a78af8424..becd792e82293a 100644 --- a/packages/playground/css-sourcemap/__tests__/serve.spec.ts +++ b/playground/css-sourcemap/__tests__/serve.spec.ts @@ -17,68 +17,6 @@ if (!isBuild) { throw new Error('Not found') } - test('inline css', async () => { - const css = await getStyleTagContentIncluding('.inline ') - const map = extractSourcemap(css) - expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` - Object { - "mappings": "AAGO;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC;", - "sources": Array [ - "/root/index.html", - ], - "sourcesContent": Array [ - " - - - - -
-

CSS Sourcemap

- -

<inline>

- -

<linked>: no import

-

<linked>: with import

- -

<imported>: no import

-

<imported>: with import

- -

<imported sass>

-

<imported sass> with module

- -

<imported less> with string additionalData

- -

<imported stylus>

-
- - - - - ", - ], - "version": 3, - } - `) - }) - test('linked css', async () => { const res = await page.request.get( new URL('./linked.css', page.url()).href, diff --git a/packages/playground/css-sourcemap/be-imported.css b/playground/css-sourcemap/be-imported.css similarity index 100% rename from packages/playground/css-sourcemap/be-imported.css rename to playground/css-sourcemap/be-imported.css diff --git a/packages/playground/css-sourcemap/imported-with-import.css b/playground/css-sourcemap/imported-with-import.css similarity index 100% rename from packages/playground/css-sourcemap/imported-with-import.css rename to playground/css-sourcemap/imported-with-import.css diff --git a/packages/playground/css-sourcemap/imported.css b/playground/css-sourcemap/imported.css similarity index 100% rename from packages/playground/css-sourcemap/imported.css rename to playground/css-sourcemap/imported.css diff --git a/packages/playground/css-sourcemap/imported.less b/playground/css-sourcemap/imported.less similarity index 100% rename from packages/playground/css-sourcemap/imported.less rename to playground/css-sourcemap/imported.less diff --git a/packages/playground/css-sourcemap/imported.module.sass b/playground/css-sourcemap/imported.module.sass similarity index 100% rename from packages/playground/css-sourcemap/imported.module.sass rename to playground/css-sourcemap/imported.module.sass diff --git a/packages/playground/css-sourcemap/imported.sass b/playground/css-sourcemap/imported.sass similarity index 100% rename from packages/playground/css-sourcemap/imported.sass rename to playground/css-sourcemap/imported.sass diff --git a/packages/playground/css-sourcemap/imported.styl b/playground/css-sourcemap/imported.styl similarity index 100% rename from packages/playground/css-sourcemap/imported.styl rename to playground/css-sourcemap/imported.styl diff --git a/packages/playground/css-sourcemap/index.html b/playground/css-sourcemap/index.html similarity index 100% rename from packages/playground/css-sourcemap/index.html rename to playground/css-sourcemap/index.html diff --git a/packages/playground/css-sourcemap/linked-with-import.css b/playground/css-sourcemap/linked-with-import.css similarity index 100% rename from packages/playground/css-sourcemap/linked-with-import.css rename to playground/css-sourcemap/linked-with-import.css diff --git a/packages/playground/css-sourcemap/linked.css b/playground/css-sourcemap/linked.css similarity index 100% rename from packages/playground/css-sourcemap/linked.css rename to playground/css-sourcemap/linked.css diff --git a/packages/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json similarity index 67% rename from packages/playground/css-sourcemap/package.json rename to playground/css-sourcemap/package.json index c7e9e61372cefa..6c0212efa74155 100644 --- a/packages/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -5,13 +5,13 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "devDependencies": { "less": "^4.1.2", - "magic-string": "^0.25.7", - "sass": "^1.43.4", + "magic-string": "^0.25.9", + "sass": "^1.51.0", "stylus": "^0.55.0" } } diff --git a/packages/playground/css-sourcemap/vite.config.js b/playground/css-sourcemap/vite.config.js similarity index 100% rename from packages/playground/css-sourcemap/vite.config.js rename to playground/css-sourcemap/vite.config.js diff --git a/packages/playground/css/__tests__/css.spec.ts b/playground/css/__tests__/css.spec.ts similarity index 91% rename from packages/playground/css/__tests__/css.spec.ts rename to playground/css/__tests__/css.spec.ts index ddb5c8c69d0e48..e666ca40517d57 100644 --- a/packages/playground/css/__tests__/css.spec.ts +++ b/playground/css/__tests__/css.spec.ts @@ -15,7 +15,11 @@ import { // in later assertions to ensure CSS HMR doesn't reload the page test('imported css', async () => { const css = await page.textContent('.imported-css') - expect(css).toContain('.imported {') + expect(css).toMatch(/\.imported ?{/) + if (isBuild) { + expect(css.trim()).not.toContain('\n') // check minified + } + const glob = await page.textContent('.imported-css-glob') expect(glob).toContain('.dir-import') const globEager = await page.textContent('.imported-css-globEager') @@ -242,6 +246,20 @@ test('css modules w/ sass', async () => { await untilUpdated(() => getColor(imported), 'blue') }) +test('inline css modules', async () => { + const css = await page.textContent('.modules-inline') + expect(css).toMatch(/\.inline-module__apply-color-inline___[\w-]{5}/) +}) + +if (isBuild) { + test('@charset hoist', async () => { + serverLogs.forEach((log) => { + // no warning from esbuild css minifier + expect(log).not.toMatch('"@charset" must be the first rule in the file') + }) + }) +} + test('@import dependency w/ style entry', async () => { expect(await getColor('.css-dep')).toBe('purple') }) @@ -358,6 +376,10 @@ test('inlined-code', async () => { // should resolve assets expect(code).toContain('background:') expect(code).not.toContain('__VITE_ASSET__') + + if (isBuild) { + expect(code.trim()).not.toContain('\n') // check minified + } }) test('minify css', async () => { @@ -383,3 +405,21 @@ test('import css in less', async () => { expect(await getColor('.css-in-less')).toBe('yellow') expect(await getColor('.css-in-less-2')).toBe('blue') }) + +test("relative path rewritten in Less's data-uri", async () => { + // relative path passed to Less's data-uri is rewritten to absolute, + // the Less inlines it + expect(await getBg('.form-box-data-uri')).toMatch( + /^url\("data:image\/svg\+xml,%3Csvg/ + ) +}) + +test('PostCSS source.input.from includes query', async () => { + const code = await page.textContent('.postcss-source-input') + // should resolve assets + expect(code).toContain( + isBuild + ? '/postcss-source-input.css?used&query=foo' + : '/postcss-source-input.css?query=foo' + ) +}) diff --git a/packages/playground/css/__tests__/postcss-plugins-different-dir.spec.ts b/playground/css/__tests__/postcss-plugins-different-dir.spec.ts similarity index 86% rename from packages/playground/css/__tests__/postcss-plugins-different-dir.spec.ts rename to playground/css/__tests__/postcss-plugins-different-dir.spec.ts index 19e9a43ae4ff6e..8bedc26ee354c8 100644 --- a/packages/playground/css/__tests__/postcss-plugins-different-dir.spec.ts +++ b/playground/css/__tests__/postcss-plugins-different-dir.spec.ts @@ -1,10 +1,10 @@ -import { getColor, getBgColor } from '../../testUtils' +import { getColor, getBgColor, ports } from '../../testUtils' import { createServer } from 'vite' import path from 'path' // Regression test for https://github.com/vitejs/vite/issues/4000 test('postcss plugins in different dir', async () => { - const port = 5006 + const port = ports['css/postcss-plugins-different-dir'] const server = await createServer({ root: path.join(__dirname, '..', '..', 'tailwind'), logLevel: 'silent', diff --git a/packages/playground/css/async-treeshaken.css b/playground/css/async-treeshaken.css similarity index 100% rename from packages/playground/css/async-treeshaken.css rename to playground/css/async-treeshaken.css diff --git a/packages/playground/css/async-treeshaken.js b/playground/css/async-treeshaken.js similarity index 100% rename from packages/playground/css/async-treeshaken.js rename to playground/css/async-treeshaken.js diff --git a/packages/playground/css/async.css b/playground/css/async.css similarity index 100% rename from packages/playground/css/async.css rename to playground/css/async.css diff --git a/packages/playground/css/async.js b/playground/css/async.js similarity index 100% rename from packages/playground/css/async.js rename to playground/css/async.js diff --git a/playground/css/charset.css b/playground/css/charset.css new file mode 100644 index 00000000000000..5c42b279f8404c --- /dev/null +++ b/playground/css/charset.css @@ -0,0 +1,5 @@ +@charset "utf-8"; + +.utf8 { + color: green; +} diff --git a/packages/playground/css/composed.module.css b/playground/css/composed.module.css similarity index 100% rename from packages/playground/css/composed.module.css rename to playground/css/composed.module.css diff --git a/packages/playground/css/composed.module.less b/playground/css/composed.module.less similarity index 100% rename from packages/playground/css/composed.module.less rename to playground/css/composed.module.less diff --git a/packages/playground/css/composed.module.scss b/playground/css/composed.module.scss similarity index 100% rename from packages/playground/css/composed.module.scss rename to playground/css/composed.module.scss diff --git a/packages/playground/css/composes-path-resolving.module.css b/playground/css/composes-path-resolving.module.css similarity index 100% rename from packages/playground/css/composes-path-resolving.module.css rename to playground/css/composes-path-resolving.module.css diff --git a/packages/playground/css/css-dep/index.css b/playground/css/css-dep/index.css similarity index 100% rename from packages/playground/css/css-dep/index.css rename to playground/css/css-dep/index.css diff --git a/packages/playground/css/css-dep/index.js b/playground/css/css-dep/index.js similarity index 100% rename from packages/playground/css/css-dep/index.js rename to playground/css/css-dep/index.js diff --git a/packages/playground/css/css-dep/index.scss b/playground/css/css-dep/index.scss similarity index 100% rename from packages/playground/css/css-dep/index.scss rename to playground/css/css-dep/index.scss diff --git a/packages/playground/css/css-dep/index.styl b/playground/css/css-dep/index.styl similarity index 100% rename from packages/playground/css/css-dep/index.styl rename to playground/css/css-dep/index.styl diff --git a/packages/playground/css/css-dep/package.json b/playground/css/css-dep/package.json similarity index 100% rename from packages/playground/css/css-dep/package.json rename to playground/css/css-dep/package.json diff --git a/packages/playground/css/dep.css b/playground/css/dep.css similarity index 100% rename from packages/playground/css/dep.css rename to playground/css/dep.css diff --git a/packages/playground/css/folder with space/ok.png b/playground/css/folder with space/ok.png similarity index 100% rename from packages/playground/css/folder with space/ok.png rename to playground/css/folder with space/ok.png diff --git a/packages/playground/css/folder with space/space.css b/playground/css/folder with space/space.css similarity index 100% rename from packages/playground/css/folder with space/space.css rename to playground/css/folder with space/space.css diff --git a/packages/playground/css/glob-dep.css b/playground/css/glob-dep.css similarity index 100% rename from packages/playground/css/glob-dep.css rename to playground/css/glob-dep.css diff --git a/packages/playground/css/glob-dep/bar.css b/playground/css/glob-dep/bar.css similarity index 100% rename from packages/playground/css/glob-dep/bar.css rename to playground/css/glob-dep/bar.css diff --git a/packages/playground/css/glob-dep/foo.css b/playground/css/glob-dep/foo.css similarity index 100% rename from packages/playground/css/glob-dep/foo.css rename to playground/css/glob-dep/foo.css diff --git a/packages/playground/css/glob-import/bar.css b/playground/css/glob-import/bar.css similarity index 100% rename from packages/playground/css/glob-import/bar.css rename to playground/css/glob-import/bar.css diff --git a/packages/playground/css/glob-import/foo.css b/playground/css/glob-import/foo.css similarity index 100% rename from packages/playground/css/glob-import/foo.css rename to playground/css/glob-import/foo.css diff --git a/packages/playground/css/imported-at-import.css b/playground/css/imported-at-import.css similarity index 100% rename from packages/playground/css/imported-at-import.css rename to playground/css/imported-at-import.css diff --git a/packages/playground/css/imported.css b/playground/css/imported.css similarity index 100% rename from packages/playground/css/imported.css rename to playground/css/imported.css diff --git a/packages/playground/css/index.html b/playground/css/index.html similarity index 92% rename from packages/playground/css/index.html rename to playground/css/index.html index d08bc232752e8b..15e81192cec7f1 100644 --- a/packages/playground/css/index.html +++ b/playground/css/index.html @@ -49,6 +49,10 @@

CSS

Imported Less string:


 
+  
+ tests Less's `data-uri()` function with relative image paths +
+

Stylus: This should be blue

Stylus additionalData: This should be orange @@ -89,6 +93,12 @@

CSS


 
+  

Inline CSS module:

+

+
+  

CSS with @charset:

+

+
   

@import dependency w/ style enrtrypoints: this should be purple

@@ -125,6 +135,9 @@

CSS

Raw Support


+
+  

PostCSS source.input.from. Should include query

+

 
diff --git a/playground/css/inline.module.css b/playground/css/inline.module.css new file mode 100644 index 00000000000000..9566e21e2cd1af --- /dev/null +++ b/playground/css/inline.module.css @@ -0,0 +1,3 @@ +.apply-color-inline { + color: turquoise; +} diff --git a/packages/playground/css/inlined.css b/playground/css/inlined.css similarity index 100% rename from packages/playground/css/inlined.css rename to playground/css/inlined.css diff --git a/packages/playground/css/less.less b/playground/css/less.less similarity index 55% rename from packages/playground/css/less.less rename to playground/css/less.less index 69ffa830862014..49cbd3c3bb336e 100644 --- a/packages/playground/css/less.less +++ b/playground/css/less.less @@ -1,6 +1,9 @@ @import '@/nested/nested'; @import './nested/css-in-less.less'; +// Test data-uri calls with relative images. +@import './less/components/form.less'; + @color: blue; .less { diff --git a/playground/css/less/components/form.less b/playground/css/less/components/form.less new file mode 100644 index 00000000000000..feaaea94ce1bba --- /dev/null +++ b/playground/css/less/components/form.less @@ -0,0 +1,4 @@ +.form-box-data-uri { + // data-uri() calls with relative paths should be replaced just like urls. + background-image: data-uri('../images/backgrounds/form-select.svg'); +} diff --git a/playground/css/less/images/backgrounds/form-select.svg b/playground/css/less/images/backgrounds/form-select.svg new file mode 100644 index 00000000000000..8aaf69c09e03f4 --- /dev/null +++ b/playground/css/less/images/backgrounds/form-select.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/playground/css/linked-at-import.css b/playground/css/linked-at-import.css similarity index 100% rename from packages/playground/css/linked-at-import.css rename to playground/css/linked-at-import.css diff --git a/packages/playground/css/linked.css b/playground/css/linked.css similarity index 100% rename from packages/playground/css/linked.css rename to playground/css/linked.css diff --git a/packages/playground/css/main.js b/playground/css/main.js similarity index 83% rename from packages/playground/css/main.js rename to playground/css/main.js index 6edd840a87c5e7..90f74c96793c55 100644 --- a/packages/playground/css/main.js +++ b/playground/css/main.js @@ -38,6 +38,12 @@ text( JSON.stringify(composesPathResolvingMod, null, 2) ) +import inlineMod from './inline.module.css?inline' +text('.modules-inline', inlineMod) + +import charset from './charset.css' +text('.charset-css', charset) + import './dep.css' import './glob-dep.css' @@ -74,10 +80,15 @@ text('.inlined-code', inlined) // glob const glob = import.meta.glob('./glob-import/*.css') -Promise.all(Object.keys(glob).map((key) => glob[key]())).then((res) => { +Promise.all( + Object.keys(glob).map((key) => glob[key]().then((i) => i.default)) +).then((res) => { text('.imported-css-glob', JSON.stringify(res, null, 2)) }) // globEager -const globEager = import.meta.globEager('./glob-import/*.css') +const globEager = import.meta.glob('./glob-import/*.css', { eager: true }) text('.imported-css-globEager', JSON.stringify(globEager, null, 2)) + +import postcssSourceInput from './postcss-source-input.css?query=foo' +text('.postcss-source-input', postcssSourceInput) diff --git a/packages/playground/css/minify.css b/playground/css/minify.css similarity index 100% rename from packages/playground/css/minify.css rename to playground/css/minify.css diff --git a/packages/playground/css/mod.module.css b/playground/css/mod.module.css similarity index 100% rename from packages/playground/css/mod.module.css rename to playground/css/mod.module.css diff --git a/packages/playground/css/mod.module.scss b/playground/css/mod.module.scss similarity index 100% rename from packages/playground/css/mod.module.scss rename to playground/css/mod.module.scss diff --git a/packages/playground/css/nested/_index.scss b/playground/css/nested/_index.scss similarity index 100% rename from packages/playground/css/nested/_index.scss rename to playground/css/nested/_index.scss diff --git a/packages/playground/css/nested/_partial.scss b/playground/css/nested/_partial.scss similarity index 100% rename from packages/playground/css/nested/_partial.scss rename to playground/css/nested/_partial.scss diff --git a/packages/playground/css/nested/css-in-less-2.less b/playground/css/nested/css-in-less-2.less similarity index 100% rename from packages/playground/css/nested/css-in-less-2.less rename to playground/css/nested/css-in-less-2.less diff --git a/packages/playground/css/nested/css-in-less.css b/playground/css/nested/css-in-less.css similarity index 100% rename from packages/playground/css/nested/css-in-less.css rename to playground/css/nested/css-in-less.css diff --git a/packages/playground/css/nested/css-in-less.less b/playground/css/nested/css-in-less.less similarity index 100% rename from packages/playground/css/nested/css-in-less.less rename to playground/css/nested/css-in-less.less diff --git a/packages/playground/css/nested/css-in-scss.css b/playground/css/nested/css-in-scss.css similarity index 100% rename from packages/playground/css/nested/css-in-scss.css rename to playground/css/nested/css-in-scss.css diff --git a/packages/playground/css/nested/icon.png b/playground/css/nested/icon.png similarity index 100% rename from packages/playground/css/nested/icon.png rename to playground/css/nested/icon.png diff --git a/packages/playground/css/nested/nested.less b/playground/css/nested/nested.less similarity index 100% rename from packages/playground/css/nested/nested.less rename to playground/css/nested/nested.less diff --git a/packages/playground/css/nested/nested.styl b/playground/css/nested/nested.styl similarity index 100% rename from packages/playground/css/nested/nested.styl rename to playground/css/nested/nested.styl diff --git a/packages/playground/css/ok.png b/playground/css/ok.png similarity index 100% rename from packages/playground/css/ok.png rename to playground/css/ok.png diff --git a/packages/playground/css/options/absolute-import.styl b/playground/css/options/absolute-import.styl similarity index 100% rename from packages/playground/css/options/absolute-import.styl rename to playground/css/options/absolute-import.styl diff --git a/packages/playground/css/options/relative-import.styl b/playground/css/options/relative-import.styl similarity index 100% rename from packages/playground/css/options/relative-import.styl rename to playground/css/options/relative-import.styl diff --git a/packages/playground/css/package.json b/playground/css/package.json similarity index 79% rename from packages/playground/css/package.json rename to playground/css/package.json index b45063100be089..daaad66a9bb41f 100644 --- a/packages/playground/css/package.json +++ b/playground/css/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "devDependencies": { @@ -13,7 +13,7 @@ "fast-glob": "^3.2.11", "less": "^4.1.2", "postcss-nested": "^5.0.6", - "sass": "^1.43.4", + "sass": "^1.51.0", "stylus": "^0.55.0" } } diff --git a/packages/playground/css/pkg-dep/_index.scss b/playground/css/pkg-dep/_index.scss similarity index 100% rename from packages/playground/css/pkg-dep/_index.scss rename to playground/css/pkg-dep/_index.scss diff --git a/packages/playground/css/pkg-dep/index.js b/playground/css/pkg-dep/index.js similarity index 100% rename from packages/playground/css/pkg-dep/index.js rename to playground/css/pkg-dep/index.js diff --git a/packages/playground/css/pkg-dep/package.json b/playground/css/pkg-dep/package.json similarity index 100% rename from packages/playground/css/pkg-dep/package.json rename to playground/css/pkg-dep/package.json diff --git a/packages/playground/css/postcss-caching/blue-app/imported.css b/playground/css/postcss-caching/blue-app/imported.css similarity index 100% rename from packages/playground/css/postcss-caching/blue-app/imported.css rename to playground/css/postcss-caching/blue-app/imported.css diff --git a/packages/playground/css/postcss-caching/blue-app/index.html b/playground/css/postcss-caching/blue-app/index.html similarity index 100% rename from packages/playground/css/postcss-caching/blue-app/index.html rename to playground/css/postcss-caching/blue-app/index.html diff --git a/packages/playground/css/postcss-caching/blue-app/main.js b/playground/css/postcss-caching/blue-app/main.js similarity index 100% rename from packages/playground/css/postcss-caching/blue-app/main.js rename to playground/css/postcss-caching/blue-app/main.js diff --git a/packages/playground/css/postcss-caching/blue-app/package.json b/playground/css/postcss-caching/blue-app/package.json similarity index 71% rename from packages/playground/css/postcss-caching/blue-app/package.json rename to playground/css/postcss-caching/blue-app/package.json index 34be8916bb2c9e..82ba64fadd44b4 100644 --- a/packages/playground/css/postcss-caching/blue-app/package.json +++ b/playground/css/postcss-caching/blue-app/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/css/postcss-caching/blue-app/postcss.config.js b/playground/css/postcss-caching/blue-app/postcss.config.js similarity index 100% rename from packages/playground/css/postcss-caching/blue-app/postcss.config.js rename to playground/css/postcss-caching/blue-app/postcss.config.js diff --git a/packages/playground/css/postcss-caching/css.spec.ts b/playground/css/postcss-caching/css.spec.ts similarity index 93% rename from packages/playground/css/postcss-caching/css.spec.ts rename to playground/css/postcss-caching/css.spec.ts index 6c85d127003680..e8ba73154b6bc8 100644 --- a/packages/playground/css/postcss-caching/css.spec.ts +++ b/playground/css/postcss-caching/css.spec.ts @@ -1,9 +1,9 @@ -import { getColor } from '../../testUtils' +import { getColor, ports } from '../../testUtils' import { createServer } from 'vite' import path from 'path' test('postcss config', async () => { - const port = 5005 + const port = ports['css/postcss-caching'] const startServer = async (root) => { const server = await createServer({ root, diff --git a/packages/playground/css/postcss-caching/green-app/imported.css b/playground/css/postcss-caching/green-app/imported.css similarity index 100% rename from packages/playground/css/postcss-caching/green-app/imported.css rename to playground/css/postcss-caching/green-app/imported.css diff --git a/packages/playground/css/postcss-caching/green-app/index.html b/playground/css/postcss-caching/green-app/index.html similarity index 100% rename from packages/playground/css/postcss-caching/green-app/index.html rename to playground/css/postcss-caching/green-app/index.html diff --git a/packages/playground/css/postcss-caching/green-app/main.js b/playground/css/postcss-caching/green-app/main.js similarity index 100% rename from packages/playground/css/postcss-caching/green-app/main.js rename to playground/css/postcss-caching/green-app/main.js diff --git a/packages/playground/css/postcss-caching/green-app/package.json b/playground/css/postcss-caching/green-app/package.json similarity index 71% rename from packages/playground/css/postcss-caching/green-app/package.json rename to playground/css/postcss-caching/green-app/package.json index 947b30384a1a53..72bd0f45b8865f 100644 --- a/packages/playground/css/postcss-caching/green-app/package.json +++ b/playground/css/postcss-caching/green-app/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/css/postcss-caching/green-app/postcss.config.js b/playground/css/postcss-caching/green-app/postcss.config.js similarity index 100% rename from packages/playground/css/postcss-caching/green-app/postcss.config.js rename to playground/css/postcss-caching/green-app/postcss.config.js diff --git a/playground/css/postcss-source-input.css b/playground/css/postcss-source-input.css new file mode 100644 index 00000000000000..c6c3cb0c16dece --- /dev/null +++ b/playground/css/postcss-source-input.css @@ -0,0 +1 @@ +@source-input; diff --git a/packages/playground/css/postcss.config.js b/playground/css/postcss.config.js similarity index 68% rename from packages/playground/css/postcss.config.js rename to playground/css/postcss.config.js index f3d6ac9548b6a9..33058023541515 100644 --- a/packages/playground/css/postcss.config.js +++ b/playground/css/postcss.config.js @@ -1,5 +1,5 @@ module.exports = { - plugins: [require('postcss-nested'), testDirDep] + plugins: [require('postcss-nested'), testDirDep, testSourceInput] } const fs = require('fs') @@ -35,3 +35,20 @@ function testDirDep() { } } testDirDep.postcss = true + +function testSourceInput() { + return { + postcssPlugin: 'source-input', + AtRule(atRule) { + if (atRule.name === 'source-input') { + atRule.after( + `.source-input::before { content: ${JSON.stringify( + atRule.source.input.from + )}; }` + ) + atRule.remove() + } + } + } +} +testSourceInput.postcss = true diff --git a/packages/playground/css/raw-imported.css b/playground/css/raw-imported.css similarity index 100% rename from packages/playground/css/raw-imported.css rename to playground/css/raw-imported.css diff --git a/packages/playground/css/sass.scss b/playground/css/sass.scss similarity index 100% rename from packages/playground/css/sass.scss rename to playground/css/sass.scss diff --git a/packages/playground/css/stylus.styl b/playground/css/stylus.styl similarity index 100% rename from packages/playground/css/stylus.styl rename to playground/css/stylus.styl diff --git a/packages/playground/css/vite.config.js b/playground/css/vite.config.js similarity index 100% rename from packages/playground/css/vite.config.js rename to playground/css/vite.config.js diff --git a/packages/playground/data-uri/__tests__/data-uri.spec.ts b/playground/data-uri/__tests__/data-uri.spec.ts similarity index 100% rename from packages/playground/data-uri/__tests__/data-uri.spec.ts rename to playground/data-uri/__tests__/data-uri.spec.ts diff --git a/packages/playground/data-uri/index.html b/playground/data-uri/index.html similarity index 100% rename from packages/playground/data-uri/index.html rename to playground/data-uri/index.html diff --git a/packages/playground/data-uri/package.json b/playground/data-uri/package.json similarity index 72% rename from packages/playground/data-uri/package.json rename to playground/data-uri/package.json index a07c9a2cd6a663..4d30ad97b9acbb 100644 --- a/packages/playground/data-uri/package.json +++ b/playground/data-uri/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/define/__tests__/define.spec.ts b/playground/define/__tests__/define.spec.ts similarity index 76% rename from packages/playground/define/__tests__/define.spec.ts rename to playground/define/__tests__/define.spec.ts index 709f7a935dc8c1..5d9707e70b47ba 100644 --- a/packages/playground/define/__tests__/define.spec.ts +++ b/playground/define/__tests__/define.spec.ts @@ -20,6 +20,14 @@ test('string', async () => { expect(await page.textContent('.spread-array')).toBe( JSON.stringify([...defines.__STRING__]) ) + expect(await page.textContent('.dollar-identifier')).toBe( + String(defines.$DOLLAR) + ) + expect(await page.textContent('.unicode-identifier')).toBe( + String(defines.ÖUNICODE_LETTERɵ) + ) + expect(await page.textContent('.no-identifier-substring')).toBe(String(true)) + expect(await page.textContent('.no-property')).toBe(String(true)) // html would't need to define replacement expect(await page.textContent('.exp-define')).toBe('__EXP__') expect(await page.textContent('.import-json')).toBe('__EXP__') diff --git a/packages/playground/define/data.json b/playground/define/data.json similarity index 100% rename from packages/playground/define/data.json rename to playground/define/data.json diff --git a/packages/playground/define/index.html b/playground/define/index.html similarity index 71% rename from packages/playground/define/index.html rename to playground/define/index.html index da78d192216b11..c89a3fe02218ff 100644 --- a/packages/playground/define/index.html +++ b/playground/define/index.html @@ -9,6 +9,10 @@

Define

process as property:

spread object:

spread array:

+

dollar identifier:

+

unicode identifier:

+

no property:

+

no identifier substring:

define variable in html: __EXP__

import json:

@@ -28,6 +32,15 @@

Define

}) ) text('.spread-array', JSON.stringify([...`"${__STRING__}"`])) + text('.dollar-identifier', $DOLLAR) + text('.unicode-identifier', ÖUNICODE_LETTERɵ) + + // make sure these kinds of use are NOT replaced: + const obj = { [`${'_'}_EXP__`]: true } + text('.no-property', obj.__EXP__) + + window[`${'_'}_EXP__SUBSTR__`] = true + text('.no-identifier-substring', __EXP__SUBSTR__) import dataJson from './data.json' text('.import-json', dataJson.foo) diff --git a/packages/playground/define/package.json b/playground/define/package.json similarity index 72% rename from packages/playground/define/package.json rename to playground/define/package.json index c8f926f5c910ff..7c46b3020125fe 100644 --- a/packages/playground/define/package.json +++ b/playground/define/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/define/vite.config.js b/playground/define/vite.config.js similarity index 72% rename from packages/playground/define/vite.config.js rename to playground/define/vite.config.js index 848abd09322df6..88173fe654b58d 100644 --- a/packages/playground/define/vite.config.js +++ b/playground/define/vite.config.js @@ -15,7 +15,9 @@ module.exports = { } } }, - __VAR_NAME__: false, - 'process.env.SOMEVAR': '"SOMEVAR"' + 'process.env.SOMEVAR': '"SOMEVAR"', + $DOLLAR: 456, + ÖUNICODE_LETTERɵ: 789, + __VAR_NAME__: false } } diff --git a/packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts b/playground/dynamic-import/__tests__/dynamic-import.spec.ts similarity index 72% rename from packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts rename to playground/dynamic-import/__tests__/dynamic-import.spec.ts index c7157ef4652ec6..95101a039e50f8 100644 --- a/packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts +++ b/playground/dynamic-import/__tests__/dynamic-import.spec.ts @@ -1,4 +1,4 @@ -import { isBuild, untilUpdated } from '../../testUtils' +import { getColor, isBuild, untilUpdated } from '../../testUtils' test('should load literal dynamic import', async () => { await page.click('.baz') @@ -59,3 +59,32 @@ test('should load dynamic import with css', async () => { true ) }) + +test('should load dynamic import with vars', async () => { + await untilUpdated( + () => page.textContent('.dynamic-import-with-vars'), + 'hello', + true + ) +}) + +test('should load dynamic import with vars alias', async () => { + await untilUpdated( + () => page.textContent('.dynamic-import-with-vars-alias'), + 'hello', + true + ) +}) + +test('should load dynamic import with vars raw', async () => { + await untilUpdated( + () => page.textContent('.dynamic-import-with-vars-raw'), + 'export function hello()', + true + ) +}) + +test('should load dynamic import with css in package', async () => { + await page.click('.pkg-css') + await untilUpdated(() => getColor('.pkg-css'), 'blue', true) +}) diff --git a/playground/dynamic-import/alias/hello.js b/playground/dynamic-import/alias/hello.js new file mode 100644 index 00000000000000..67900ef0999962 --- /dev/null +++ b/playground/dynamic-import/alias/hello.js @@ -0,0 +1,3 @@ +export function hello() { + return 'hello' +} diff --git a/playground/dynamic-import/alias/hi.js b/playground/dynamic-import/alias/hi.js new file mode 100644 index 00000000000000..45d3506803b2b6 --- /dev/null +++ b/playground/dynamic-import/alias/hi.js @@ -0,0 +1,3 @@ +export function hi() { + return 'hi' +} diff --git a/packages/playground/dynamic-import/css/index.css b/playground/dynamic-import/css/index.css similarity index 100% rename from packages/playground/dynamic-import/css/index.css rename to playground/dynamic-import/css/index.css diff --git a/packages/playground/dynamic-import/index.html b/playground/dynamic-import/index.html similarity index 56% rename from packages/playground/dynamic-import/index.html rename to playground/dynamic-import/index.html index c87ef2a17f48d5..997ad059ad6821 100644 --- a/packages/playground/dynamic-import/index.html +++ b/playground/dynamic-import/index.html @@ -8,7 +8,22 @@ + + +

dynamic-import-with-vars

+
todo
+ +

dynamic-import-with-vars-alias

+
todo
+ +

dynamic-import-with-vars-raw

+
todo
+ diff --git a/packages/playground/dynamic-import/mxd.js b/playground/dynamic-import/mxd.js similarity index 100% rename from packages/playground/dynamic-import/mxd.js rename to playground/dynamic-import/mxd.js diff --git a/packages/playground/dynamic-import/mxd.json b/playground/dynamic-import/mxd.json similarity index 100% rename from packages/playground/dynamic-import/mxd.json rename to playground/dynamic-import/mxd.json diff --git a/playground/dynamic-import/nested/deps.js b/playground/dynamic-import/nested/deps.js new file mode 100644 index 00000000000000..88fd4787941fd0 --- /dev/null +++ b/playground/dynamic-import/nested/deps.js @@ -0,0 +1,3 @@ +/* don't include dynamic import inside this file */ + +import 'pkg' diff --git a/playground/dynamic-import/nested/hello.js b/playground/dynamic-import/nested/hello.js new file mode 100644 index 00000000000000..67900ef0999962 --- /dev/null +++ b/playground/dynamic-import/nested/hello.js @@ -0,0 +1,3 @@ +export function hello() { + return 'hello' +} diff --git a/packages/playground/dynamic-import/nested/index.js b/playground/dynamic-import/nested/index.js similarity index 82% rename from packages/playground/dynamic-import/nested/index.js rename to playground/dynamic-import/nested/index.js index 5518c56a35a2cc..61f817ce7dd7bc 100644 --- a/packages/playground/dynamic-import/nested/index.js +++ b/playground/dynamic-import/nested/index.js @@ -70,6 +70,25 @@ document.querySelector('.css').addEventListener('click', async () => { text('.view', 'dynamic import css') }) +document.querySelector('.pkg-css').addEventListener('click', async () => { + await import('./deps') + text('.view', 'dynamic import css in package') +}) + function text(el, text) { document.querySelector(el).textContent = text } + +const base = 'hello' + +import(`../alias/${base}.js`).then((mod) => { + text('.dynamic-import-with-vars', mod.hello()) +}) + +import(`@/${base}.js`).then((mod) => { + text('.dynamic-import-with-vars-alias', mod.hello()) +}) + +import(`../alias/${base}.js?raw`).then((mod) => { + text('.dynamic-import-with-vars-raw', JSON.stringify(mod)) +}) diff --git a/packages/playground/dynamic-import/nested/shared.js b/playground/dynamic-import/nested/shared.js similarity index 100% rename from packages/playground/dynamic-import/nested/shared.js rename to playground/dynamic-import/nested/shared.js diff --git a/playground/dynamic-import/package.json b/playground/dynamic-import/package.json new file mode 100644 index 00000000000000..9492fc0173e2c2 --- /dev/null +++ b/playground/dynamic-import/package.json @@ -0,0 +1,15 @@ +{ + "name": "test-dynamic-import", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", + "preview": "vite preview", + "postinstall": "ts-node ../../scripts/patchFileDeps.ts" + }, + "dependencies": { + "pkg": "file:./pkg" + } +} diff --git a/playground/dynamic-import/pkg/index.js b/playground/dynamic-import/pkg/index.js new file mode 100644 index 00000000000000..20f705c0b4a8c9 --- /dev/null +++ b/playground/dynamic-import/pkg/index.js @@ -0,0 +1 @@ +import('./pkg.css') diff --git a/playground/dynamic-import/pkg/package.json b/playground/dynamic-import/pkg/package.json new file mode 100644 index 00000000000000..1eab564572e245 --- /dev/null +++ b/playground/dynamic-import/pkg/package.json @@ -0,0 +1,7 @@ +{ + "name": "pkg", + "type": "module", + "private": true, + "version": "1.0.0", + "main": "index.js" +} diff --git a/playground/dynamic-import/pkg/pkg.css b/playground/dynamic-import/pkg/pkg.css new file mode 100644 index 00000000000000..349d669b6829bf --- /dev/null +++ b/playground/dynamic-import/pkg/pkg.css @@ -0,0 +1,3 @@ +.pkg-css { + color: blue; +} diff --git a/packages/playground/dynamic-import/qux.js b/playground/dynamic-import/qux.js similarity index 100% rename from packages/playground/dynamic-import/qux.js rename to playground/dynamic-import/qux.js diff --git a/packages/playground/dynamic-import/views/bar.js b/playground/dynamic-import/views/bar.js similarity index 100% rename from packages/playground/dynamic-import/views/bar.js rename to playground/dynamic-import/views/bar.js diff --git a/packages/playground/dynamic-import/views/baz.js b/playground/dynamic-import/views/baz.js similarity index 100% rename from packages/playground/dynamic-import/views/baz.js rename to playground/dynamic-import/views/baz.js diff --git a/packages/playground/dynamic-import/views/foo.js b/playground/dynamic-import/views/foo.js similarity index 100% rename from packages/playground/dynamic-import/views/foo.js rename to playground/dynamic-import/views/foo.js diff --git a/packages/playground/dynamic-import/vite.config.js b/playground/dynamic-import/vite.config.js similarity index 77% rename from packages/playground/dynamic-import/vite.config.js rename to playground/dynamic-import/vite.config.js index 010e47d6308d30..50b90639fddd7f 100644 --- a/packages/playground/dynamic-import/vite.config.js +++ b/playground/dynamic-import/vite.config.js @@ -1,7 +1,8 @@ const fs = require('fs') const path = require('path') +const vite = require('vite') -module.exports = { +module.exports = vite.defineConfig({ plugins: [ { name: 'copy', @@ -20,5 +21,10 @@ module.exports = { ) } } - ] -} + ], + resolve: { + alias: { + '@': path.resolve(__dirname, 'alias') + } + } +}) diff --git a/packages/playground/env-nested/.env b/playground/env-nested/.env similarity index 100% rename from packages/playground/env-nested/.env rename to playground/env-nested/.env diff --git a/packages/playground/env-nested/__tests__/env-nested.spec.ts b/playground/env-nested/__tests__/env-nested.spec.ts similarity index 100% rename from packages/playground/env-nested/__tests__/env-nested.spec.ts rename to playground/env-nested/__tests__/env-nested.spec.ts diff --git a/packages/playground/env-nested/envs/.env.development b/playground/env-nested/envs/.env.development similarity index 100% rename from packages/playground/env-nested/envs/.env.development rename to playground/env-nested/envs/.env.development diff --git a/packages/playground/env-nested/envs/.env.production b/playground/env-nested/envs/.env.production similarity index 100% rename from packages/playground/env-nested/envs/.env.production rename to playground/env-nested/envs/.env.production diff --git a/packages/playground/env-nested/index.html b/playground/env-nested/index.html similarity index 100% rename from packages/playground/env-nested/index.html rename to playground/env-nested/index.html diff --git a/packages/playground/env-nested/package.json b/playground/env-nested/package.json similarity index 72% rename from packages/playground/env-nested/package.json rename to playground/env-nested/package.json index 8fecc69a41c2f4..530b4e621005b0 100644 --- a/packages/playground/env-nested/package.json +++ b/playground/env-nested/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/env-nested/vite.config.js b/playground/env-nested/vite.config.js similarity index 100% rename from packages/playground/env-nested/vite.config.js rename to playground/env-nested/vite.config.js diff --git a/packages/playground/env/.env b/playground/env/.env similarity index 100% rename from packages/playground/env/.env rename to playground/env/.env diff --git a/packages/playground/env/.env.development b/playground/env/.env.development similarity index 100% rename from packages/playground/env/.env.development rename to playground/env/.env.development diff --git a/packages/playground/env/.env.production b/playground/env/.env.production similarity index 100% rename from packages/playground/env/.env.production rename to playground/env/.env.production diff --git a/packages/playground/env/__tests__/env.spec.ts b/playground/env/__tests__/env.spec.ts similarity index 100% rename from packages/playground/env/__tests__/env.spec.ts rename to playground/env/__tests__/env.spec.ts diff --git a/packages/playground/env/index.html b/playground/env/index.html similarity index 100% rename from packages/playground/env/index.html rename to playground/env/index.html diff --git a/packages/playground/env/package.json b/playground/env/package.json similarity index 81% rename from packages/playground/env/package.json rename to playground/env/package.json index a97b5150530267..271cbf0a7d20c0 100644 --- a/packages/playground/env/package.json +++ b/playground/env/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "cross-env VITE_INLINE=inline-serve vite", "build": "cross-env VITE_INLINE=inline-build vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "devDependencies": { diff --git a/packages/playground/env/vite.config.js b/playground/env/vite.config.js similarity index 100% rename from packages/playground/env/vite.config.js rename to playground/env/vite.config.js diff --git a/packages/playground/extensions/__tests__/extensions.spec.ts b/playground/extensions/__tests__/extensions.spec.ts similarity index 100% rename from packages/playground/extensions/__tests__/extensions.spec.ts rename to playground/extensions/__tests__/extensions.spec.ts diff --git a/packages/playground/extensions/index.html b/playground/extensions/index.html similarity index 100% rename from packages/playground/extensions/index.html rename to playground/extensions/index.html diff --git a/packages/playground/extensions/package.json b/playground/extensions/package.json similarity index 69% rename from packages/playground/extensions/package.json rename to playground/extensions/package.json index d09b7da4d5300b..c653486edf6be6 100644 --- a/packages/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -5,10 +5,10 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { - "vue": "^3.2.25" + "vue": "^3.2.33" } } diff --git a/packages/playground/extensions/vite.config.js b/playground/extensions/vite.config.js similarity index 100% rename from packages/playground/extensions/vite.config.js rename to playground/extensions/vite.config.js diff --git a/packages/playground/file-delete-restore/App.jsx b/playground/file-delete-restore/App.jsx similarity index 100% rename from packages/playground/file-delete-restore/App.jsx rename to playground/file-delete-restore/App.jsx diff --git a/packages/playground/file-delete-restore/Child.jsx b/playground/file-delete-restore/Child.jsx similarity index 100% rename from packages/playground/file-delete-restore/Child.jsx rename to playground/file-delete-restore/Child.jsx diff --git a/packages/playground/file-delete-restore/__tests__/file-delete-restore.spec.ts b/playground/file-delete-restore/__tests__/file-delete-restore.spec.ts similarity index 100% rename from packages/playground/file-delete-restore/__tests__/file-delete-restore.spec.ts rename to playground/file-delete-restore/__tests__/file-delete-restore.spec.ts diff --git a/packages/playground/file-delete-restore/index.html b/playground/file-delete-restore/index.html similarity index 100% rename from packages/playground/file-delete-restore/index.html rename to playground/file-delete-restore/index.html diff --git a/packages/playground/file-delete-restore/package.json b/playground/file-delete-restore/package.json similarity index 83% rename from packages/playground/file-delete-restore/package.json rename to playground/file-delete-restore/package.json index 8f9caa3578f8bd..b9c511aacfa62e 100644 --- a/packages/playground/file-delete-restore/package.json +++ b/playground/file-delete-restore/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { diff --git a/packages/playground/file-delete-restore/vite.config.js b/playground/file-delete-restore/vite.config.js similarity index 100% rename from packages/playground/file-delete-restore/vite.config.js rename to playground/file-delete-restore/vite.config.js diff --git a/packages/playground/fs-serve/__tests__/fs-serve.spec.ts b/playground/fs-serve/__tests__/fs-serve.spec.ts similarity index 100% rename from packages/playground/fs-serve/__tests__/fs-serve.spec.ts rename to playground/fs-serve/__tests__/fs-serve.spec.ts diff --git a/packages/playground/fs-serve/entry.js b/playground/fs-serve/entry.js similarity index 100% rename from packages/playground/fs-serve/entry.js rename to playground/fs-serve/entry.js diff --git a/packages/playground/fs-serve/nested/foo.js b/playground/fs-serve/nested/foo.js similarity index 100% rename from packages/playground/fs-serve/nested/foo.js rename to playground/fs-serve/nested/foo.js diff --git a/packages/playground/fs-serve/package.json b/playground/fs-serve/package.json similarity index 73% rename from packages/playground/fs-serve/package.json rename to playground/fs-serve/package.json index 45497d2a3c5e8a..c50be06a8cb286 100644 --- a/packages/playground/fs-serve/package.json +++ b/playground/fs-serve/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite root", "build": "vite build root", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/fs-serve/root/src/.env b/playground/fs-serve/root/src/.env similarity index 100% rename from packages/playground/fs-serve/root/src/.env rename to playground/fs-serve/root/src/.env diff --git a/packages/playground/fs-serve/root/src/index.html b/playground/fs-serve/root/src/index.html similarity index 100% rename from packages/playground/fs-serve/root/src/index.html rename to playground/fs-serve/root/src/index.html diff --git a/packages/playground/fs-serve/root/src/safe.txt b/playground/fs-serve/root/src/safe.txt similarity index 100% rename from packages/playground/fs-serve/root/src/safe.txt rename to playground/fs-serve/root/src/safe.txt diff --git "a/packages/playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.json" "b/playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.json" similarity index 100% rename from "packages/playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.json" rename to "playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.json" diff --git "a/packages/playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.txt" "b/playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.txt" similarity index 100% rename from "packages/playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.txt" rename to "playground/fs-serve/root/src/special characters \303\245\303\244\303\266/safe.txt" diff --git a/packages/playground/fs-serve/root/src/subdir/safe.txt b/playground/fs-serve/root/src/subdir/safe.txt similarity index 100% rename from packages/playground/fs-serve/root/src/subdir/safe.txt rename to playground/fs-serve/root/src/subdir/safe.txt diff --git a/packages/playground/fs-serve/root/unsafe.txt b/playground/fs-serve/root/unsafe.txt similarity index 100% rename from packages/playground/fs-serve/root/unsafe.txt rename to playground/fs-serve/root/unsafe.txt diff --git a/packages/playground/fs-serve/root/vite.config.js b/playground/fs-serve/root/vite.config.js similarity index 100% rename from packages/playground/fs-serve/root/vite.config.js rename to playground/fs-serve/root/vite.config.js diff --git a/packages/playground/fs-serve/safe.json b/playground/fs-serve/safe.json similarity index 100% rename from packages/playground/fs-serve/safe.json rename to playground/fs-serve/safe.json diff --git a/packages/playground/fs-serve/unsafe.json b/playground/fs-serve/unsafe.json similarity index 100% rename from packages/playground/fs-serve/unsafe.json rename to playground/fs-serve/unsafe.json diff --git a/packages/playground/glob-import/__tests__/glob-import.spec.ts b/playground/glob-import/__tests__/glob-import.spec.ts similarity index 98% rename from packages/playground/glob-import/__tests__/glob-import.spec.ts rename to playground/glob-import/__tests__/glob-import.spec.ts index ebdf6c0ab29193..d738ccec1d4c97 100644 --- a/packages/playground/glob-import/__tests__/glob-import.spec.ts +++ b/playground/glob-import/__tests__/glob-import.spec.ts @@ -42,7 +42,7 @@ const allResult = { }, '/dir/index.js': { globWithAlias: { - './alias.js': { + '/dir/alias.js': { default: 'hi' } }, @@ -67,7 +67,7 @@ const rawResult = { } const relativeRawResult = { - '../glob-import/dir/baz.json': { + './dir/baz.json': { msg: 'baz' } } diff --git a/packages/playground/glob-import/dir/alias.js b/playground/glob-import/dir/alias.js similarity index 100% rename from packages/playground/glob-import/dir/alias.js rename to playground/glob-import/dir/alias.js diff --git a/packages/playground/glob-import/dir/baz.json b/playground/glob-import/dir/baz.json similarity index 100% rename from packages/playground/glob-import/dir/baz.json rename to playground/glob-import/dir/baz.json diff --git a/packages/playground/glob-import/dir/foo.js b/playground/glob-import/dir/foo.js similarity index 100% rename from packages/playground/glob-import/dir/foo.js rename to playground/glob-import/dir/foo.js diff --git a/playground/glob-import/dir/index.js b/playground/glob-import/dir/index.js new file mode 100644 index 00000000000000..ab298abed485b3 --- /dev/null +++ b/playground/glob-import/dir/index.js @@ -0,0 +1,4 @@ +const modules = import.meta.glob('./*.(js|ts)', { eager: true }) +const globWithAlias = import.meta.glob('@dir/al*.js', { eager: true }) + +export { modules, globWithAlias } diff --git a/playground/glob-import/dir/nested/bar.js b/playground/glob-import/dir/nested/bar.js new file mode 100644 index 00000000000000..bb23a5a141de8e --- /dev/null +++ b/playground/glob-import/dir/nested/bar.js @@ -0,0 +1,4 @@ +const modules = import.meta.glob('../*.json', { eager: true }) + +export const msg = 'bar' +export { modules } diff --git a/packages/playground/glob-import/dir/node_modules/hoge.js b/playground/glob-import/dir/node_modules/hoge.js similarity index 100% rename from packages/playground/glob-import/dir/node_modules/hoge.js rename to playground/glob-import/dir/node_modules/hoge.js diff --git a/packages/playground/glob-import/index.html b/playground/glob-import/index.html similarity index 88% rename from packages/playground/glob-import/index.html rename to playground/glob-import/index.html index 64f456aeb4d6a2..8466a6d0495881 100644 --- a/packages/playground/glob-import/index.html +++ b/playground/glob-import/index.html @@ -40,8 +40,9 @@ diff --git a/playground/hmr/counter/index.ts b/playground/hmr/counter/index.ts new file mode 100644 index 00000000000000..0230140278989f --- /dev/null +++ b/playground/hmr/counter/index.ts @@ -0,0 +1,12 @@ +const btn = document.querySelector('button') +let count = 0 +const update = () => { + btn.textContent = `Counter ${count}` +} +btn.onclick = () => { + count++ + update() +} +function neverCalled() { + import('./dep') +} diff --git a/packages/playground/hmr/customFile.js b/playground/hmr/customFile.js similarity index 100% rename from packages/playground/hmr/customFile.js rename to playground/hmr/customFile.js diff --git a/packages/playground/hmr/event.d.ts b/playground/hmr/event.d.ts similarity index 100% rename from packages/playground/hmr/event.d.ts rename to playground/hmr/event.d.ts diff --git a/packages/playground/hmr/global.css b/playground/hmr/global.css similarity index 100% rename from packages/playground/hmr/global.css rename to playground/hmr/global.css diff --git a/packages/playground/hmr/hmr.ts b/playground/hmr/hmr.ts similarity index 100% rename from packages/playground/hmr/hmr.ts rename to playground/hmr/hmr.ts diff --git a/packages/playground/hmr/hmrDep.js b/playground/hmr/hmrDep.js similarity index 100% rename from packages/playground/hmr/hmrDep.js rename to playground/hmr/hmrDep.js diff --git a/packages/playground/hmr/hmrNestedDep.js b/playground/hmr/hmrNestedDep.js similarity index 100% rename from packages/playground/hmr/hmrNestedDep.js rename to playground/hmr/hmrNestedDep.js diff --git a/packages/playground/vue/public/icon.png b/playground/hmr/icon.png similarity index 100% rename from packages/playground/vue/public/icon.png rename to playground/hmr/icon.png diff --git a/packages/playground/hmr/index.html b/playground/hmr/index.html similarity index 64% rename from packages/playground/hmr/index.html rename to playground/hmr/index.html index 0add7c26011a01..65a2ed381b027a 100644 --- a/packages/playground/hmr/index.html +++ b/playground/hmr/index.html @@ -1,5 +1,13 @@ +
@@ -8,3 +16,4 @@
+
diff --git a/packages/playground/hmr/package.json b/playground/hmr/package.json similarity index 71% rename from packages/playground/hmr/package.json rename to playground/hmr/package.json index fa3654bdbdca85..b797d181b17ece 100644 --- a/packages/playground/hmr/package.json +++ b/playground/hmr/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/hmr/tsconfig.json b/playground/hmr/tsconfig.json similarity index 100% rename from packages/playground/hmr/tsconfig.json rename to playground/hmr/tsconfig.json diff --git "a/packages/playground/hmr/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" "b/playground/hmr/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" similarity index 100% rename from "packages/playground/hmr/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" rename to "playground/hmr/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" diff --git a/packages/playground/hmr/vite.config.ts b/playground/hmr/vite.config.ts similarity index 100% rename from packages/playground/hmr/vite.config.ts rename to playground/hmr/vite.config.ts diff --git a/packages/playground/html/__tests__/html.spec.ts b/playground/html/__tests__/html.spec.ts similarity index 100% rename from packages/playground/html/__tests__/html.spec.ts rename to playground/html/__tests__/html.spec.ts diff --git a/packages/playground/html/common.css b/playground/html/common.css similarity index 100% rename from packages/playground/html/common.css rename to playground/html/common.css diff --git a/packages/playground/html/emptyAttr.html b/playground/html/emptyAttr.html similarity index 100% rename from packages/playground/html/emptyAttr.html rename to playground/html/emptyAttr.html diff --git a/packages/playground/html/foo.html b/playground/html/foo.html similarity index 100% rename from packages/playground/html/foo.html rename to playground/html/foo.html diff --git a/packages/playground/html/index.html b/playground/html/index.html similarity index 50% rename from packages/playground/html/index.html rename to playground/html/index.html index 7320ff2b097db0..783cad93172f7a 100644 --- a/packages/playground/html/index.html +++ b/playground/html/index.html @@ -5,3 +5,6 @@

Hello

+ + + diff --git a/packages/playground/html/inline/common.js b/playground/html/inline/common.js similarity index 100% rename from packages/playground/html/inline/common.js rename to playground/html/inline/common.js diff --git a/packages/playground/html/inline/dep1.js b/playground/html/inline/dep1.js similarity index 100% rename from packages/playground/html/inline/dep1.js rename to playground/html/inline/dep1.js diff --git a/packages/playground/html/inline/dep2.js b/playground/html/inline/dep2.js similarity index 100% rename from packages/playground/html/inline/dep2.js rename to playground/html/inline/dep2.js diff --git a/packages/playground/html/inline/dep3.js b/playground/html/inline/dep3.js similarity index 100% rename from packages/playground/html/inline/dep3.js rename to playground/html/inline/dep3.js diff --git a/packages/playground/html/inline/module-graph.dot b/playground/html/inline/module-graph.dot similarity index 100% rename from packages/playground/html/inline/module-graph.dot rename to playground/html/inline/module-graph.dot diff --git a/packages/playground/html/inline/shared-1.html b/playground/html/inline/shared-1.html similarity index 100% rename from packages/playground/html/inline/shared-1.html rename to playground/html/inline/shared-1.html diff --git a/packages/playground/html/inline/shared-2.html b/playground/html/inline/shared-2.html similarity index 100% rename from packages/playground/html/inline/shared-2.html rename to playground/html/inline/shared-2.html diff --git a/packages/playground/html/inline/shared.js b/playground/html/inline/shared.js similarity index 100% rename from packages/playground/html/inline/shared.js rename to playground/html/inline/shared.js diff --git a/playground/html/inline/shared_a.html b/playground/html/inline/shared_a.html new file mode 100644 index 00000000000000..31fbd8fcc34bdf --- /dev/null +++ b/playground/html/inline/shared_a.html @@ -0,0 +1 @@ +

inline a

diff --git a/packages/playground/html/inline/unique.html b/playground/html/inline/unique.html similarity index 100% rename from packages/playground/html/inline/unique.html rename to playground/html/inline/unique.html diff --git a/packages/playground/html/inline/unique.js b/playground/html/inline/unique.js similarity index 100% rename from packages/playground/html/inline/unique.js rename to playground/html/inline/unique.js diff --git a/packages/playground/html/invalid.html b/playground/html/invalid.html similarity index 100% rename from packages/playground/html/invalid.html rename to playground/html/invalid.html diff --git a/packages/playground/html/link.html b/playground/html/link.html similarity index 100% rename from packages/playground/html/link.html rename to playground/html/link.html diff --git a/packages/playground/html/main.css b/playground/html/main.css similarity index 100% rename from packages/playground/html/main.css rename to playground/html/main.css diff --git a/packages/playground/html/main.js b/playground/html/main.js similarity index 100% rename from packages/playground/html/main.js rename to playground/html/main.js diff --git a/packages/playground/html/nested/index.html b/playground/html/nested/index.html similarity index 100% rename from packages/playground/html/nested/index.html rename to playground/html/nested/index.html diff --git a/packages/playground/html/nested/nested.css b/playground/html/nested/nested.css similarity index 100% rename from packages/playground/html/nested/nested.css rename to playground/html/nested/nested.css diff --git a/packages/playground/html/nested/nested.js b/playground/html/nested/nested.js similarity index 100% rename from packages/playground/html/nested/nested.js rename to playground/html/nested/nested.js diff --git a/packages/playground/html/noBody.html b/playground/html/noBody.html similarity index 100% rename from packages/playground/html/noBody.html rename to playground/html/noBody.html diff --git a/packages/playground/html/noHead.html b/playground/html/noHead.html similarity index 100% rename from packages/playground/html/noHead.html rename to playground/html/noHead.html diff --git a/packages/playground/html/package.json b/playground/html/package.json similarity index 71% rename from packages/playground/html/package.json rename to playground/html/package.json index a101033f8d3470..6db0bd91981ce0 100644 --- a/packages/playground/html/package.json +++ b/playground/html/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/html/scriptAsync.html b/playground/html/scriptAsync.html similarity index 100% rename from packages/playground/html/scriptAsync.html rename to playground/html/scriptAsync.html diff --git a/packages/playground/html/scriptMixed.html b/playground/html/scriptMixed.html similarity index 100% rename from packages/playground/html/scriptMixed.html rename to playground/html/scriptMixed.html diff --git a/packages/playground/html/shared.js b/playground/html/shared.js similarity index 100% rename from packages/playground/html/shared.js rename to playground/html/shared.js diff --git "a/packages/playground/html/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" "b/playground/html/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" similarity index 100% rename from "packages/playground/html/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" rename to "playground/html/unicode-path/\344\270\255\346\226\207-\343\201\253\343\201\273\343\202\223\343\201\224-\355\225\234\352\270\200-\360\237\214\225\360\237\214\226\360\237\214\227/index.html" diff --git a/packages/playground/html/vite.config.js b/playground/html/vite.config.js similarity index 98% rename from packages/playground/html/vite.config.js rename to playground/html/vite.config.js index 1703e02cc05366..bfe48675cbc18f 100644 --- a/packages/playground/html/vite.config.js +++ b/playground/html/vite.config.js @@ -17,6 +17,7 @@ module.exports = { zeroJS: resolve(__dirname, 'zeroJS.html'), noHead: resolve(__dirname, 'noHead.html'), noBody: resolve(__dirname, 'noBody.html'), + inlinea: resolve(__dirname, 'inline/shared_a.html'), inline1: resolve(__dirname, 'inline/shared-1.html'), inline2: resolve(__dirname, 'inline/shared-2.html'), inline3: resolve(__dirname, 'inline/unique.html'), diff --git a/packages/playground/html/zeroJS.html b/playground/html/zeroJS.html similarity index 100% rename from packages/playground/html/zeroJS.html rename to playground/html/zeroJS.html diff --git a/packages/playground/js-sourcemap/__tests__/build.spec.ts b/playground/js-sourcemap/__tests__/build.spec.ts similarity index 100% rename from packages/playground/js-sourcemap/__tests__/build.spec.ts rename to playground/js-sourcemap/__tests__/build.spec.ts diff --git a/packages/playground/js-sourcemap/__tests__/serve.spec.ts b/playground/js-sourcemap/__tests__/serve.spec.ts similarity index 100% rename from packages/playground/js-sourcemap/__tests__/serve.spec.ts rename to playground/js-sourcemap/__tests__/serve.spec.ts diff --git a/packages/playground/js-sourcemap/bar.ts b/playground/js-sourcemap/bar.ts similarity index 100% rename from packages/playground/js-sourcemap/bar.ts rename to playground/js-sourcemap/bar.ts diff --git a/packages/playground/js-sourcemap/foo.js b/playground/js-sourcemap/foo.js similarity index 100% rename from packages/playground/js-sourcemap/foo.js rename to playground/js-sourcemap/foo.js diff --git a/packages/playground/js-sourcemap/index.html b/playground/js-sourcemap/index.html similarity index 100% rename from packages/playground/js-sourcemap/index.html rename to playground/js-sourcemap/index.html diff --git a/packages/playground/js-sourcemap/package.json b/playground/js-sourcemap/package.json similarity index 72% rename from packages/playground/js-sourcemap/package.json rename to playground/js-sourcemap/package.json index e5a97aea80830f..92b166d2f302c2 100644 --- a/packages/playground/js-sourcemap/package.json +++ b/playground/js-sourcemap/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/js-sourcemap/vite.config.js b/playground/js-sourcemap/vite.config.js similarity index 100% rename from packages/playground/js-sourcemap/vite.config.js rename to playground/js-sourcemap/vite.config.js diff --git a/packages/playground/json/__tests__/json.spec.ts b/playground/json/__tests__/json.spec.ts similarity index 100% rename from packages/playground/json/__tests__/json.spec.ts rename to playground/json/__tests__/json.spec.ts diff --git a/packages/playground/json/index.html b/playground/json/index.html similarity index 100% rename from packages/playground/json/index.html rename to playground/json/index.html diff --git a/packages/playground/json/json-module/index.json b/playground/json/json-module/index.json similarity index 100% rename from packages/playground/json/json-module/index.json rename to playground/json/json-module/index.json diff --git a/packages/playground/json/json-module/package.json b/playground/json/json-module/package.json similarity index 100% rename from packages/playground/json/json-module/package.json rename to playground/json/json-module/package.json diff --git a/packages/playground/json/package.json b/playground/json/package.json similarity index 75% rename from packages/playground/json/package.json rename to playground/json/package.json index c9b0d20a039d95..b919c42eb6ef5d 100644 --- a/packages/playground/json/package.json +++ b/playground/json/package.json @@ -5,16 +5,16 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview", "dev:ssr": "node server", "serve:ssr": "cross-env NODE_ENV=production node server", "debug:ssr": "node --inspect-brk server" }, "devDependencies": { - "vue": "^3.2.25", "cross-env": "^7.0.3", "express": "^4.17.1", - "json-module": "file:./json-module" + "json-module": "file:./json-module", + "vue": "^3.2.33" } } diff --git a/packages/playground/json/public/public.json b/playground/json/public/public.json similarity index 100% rename from packages/playground/json/public/public.json rename to playground/json/public/public.json diff --git a/packages/playground/json/test.json b/playground/json/test.json similarity index 100% rename from packages/playground/json/test.json rename to playground/json/test.json diff --git a/packages/playground/legacy/__tests__/legacy.spec.ts b/playground/legacy/__tests__/legacy.spec.ts similarity index 85% rename from packages/playground/legacy/__tests__/legacy.spec.ts rename to playground/legacy/__tests__/legacy.spec.ts index 65bd39ff32b1d1..9fd3419337568d 100644 --- a/packages/playground/legacy/__tests__/legacy.spec.ts +++ b/playground/legacy/__tests__/legacy.spec.ts @@ -56,12 +56,23 @@ test('correctly emits styles', async () => { expect(await getColor('#app')).toBe('red') }) +// dynamic import css +test('should load dynamic import with css', async () => { + await page.click('#dynamic-css-button') + await untilUpdated( + () => + page.$eval('#dynamic-css', (node) => window.getComputedStyle(node).color), + 'rgb(255, 0, 0)', + true + ) +}) + if (isBuild) { test('should generate correct manifest', async () => { const manifest = readManifest() - expect(manifest['../../../vite/legacy-polyfills']).toBeDefined() - expect(manifest['../../../vite/legacy-polyfills'].src).toBe( - '../../../vite/legacy-polyfills' + expect(manifest['../../vite/legacy-polyfills']).toBeDefined() + expect(manifest['../../vite/legacy-polyfills'].src).toBe( + '../../vite/legacy-polyfills' ) }) diff --git a/packages/playground/legacy/__tests__/ssr/legacy-ssr.spec.ts b/playground/legacy/__tests__/ssr/legacy-ssr.spec.ts similarity index 100% rename from packages/playground/legacy/__tests__/ssr/legacy-ssr.spec.ts rename to playground/legacy/__tests__/ssr/legacy-ssr.spec.ts diff --git a/packages/playground/legacy/__tests__/ssr/serve.js b/playground/legacy/__tests__/ssr/serve.js similarity index 92% rename from packages/playground/legacy/__tests__/ssr/serve.js rename to playground/legacy/__tests__/ssr/serve.js index df43f180afb188..c7ef2ed3520e53 100644 --- a/packages/playground/legacy/__tests__/ssr/serve.js +++ b/playground/legacy/__tests__/ssr/serve.js @@ -2,8 +2,9 @@ // this is automtically detected by scripts/jestPerTestSetup.ts and will replace // the default e2e test serve behavior const path = require('path') +const { ports } = require('../../../testUtils') -const port = (exports.port = 9527) +const port = (exports.port = ports['legacy/ssr']) /** * @param {string} root diff --git a/packages/playground/legacy/async.js b/playground/legacy/async.js similarity index 100% rename from packages/playground/legacy/async.js rename to playground/legacy/async.js diff --git a/playground/legacy/dynamic.css b/playground/legacy/dynamic.css new file mode 100644 index 00000000000000..160ee45a8a850a --- /dev/null +++ b/playground/legacy/dynamic.css @@ -0,0 +1,3 @@ +#dynamic-css { + color: red; +} diff --git a/packages/playground/legacy/entry-server.js b/playground/legacy/entry-server.js similarity index 100% rename from packages/playground/legacy/entry-server.js rename to playground/legacy/entry-server.js diff --git a/packages/playground/legacy/immutable-chunk.js b/playground/legacy/immutable-chunk.js similarity index 100% rename from packages/playground/legacy/immutable-chunk.js rename to playground/legacy/immutable-chunk.js diff --git a/packages/playground/legacy/index.html b/playground/legacy/index.html similarity index 72% rename from packages/playground/legacy/index.html rename to playground/legacy/index.html index d481766463cd4f..cbf6242fad756b 100644 --- a/packages/playground/legacy/index.html +++ b/playground/legacy/index.html @@ -4,4 +4,6 @@

+ +
diff --git a/packages/playground/legacy/main.js b/playground/legacy/main.js similarity index 84% rename from packages/playground/legacy/main.js rename to playground/legacy/main.js index 31579b4717810d..157b6c8448e9c3 100644 --- a/packages/playground/legacy/main.js +++ b/playground/legacy/main.js @@ -42,6 +42,14 @@ import('./immutable-chunk.js') text('#assets', assets.join('\n')) }) +// dynamic css +document + .querySelector('#dynamic-css-button') + .addEventListener('click', async () => { + await import('./dynamic.css') + text('#dynamic-css', 'dynamic import css') + }) + function text(el, text) { document.querySelector(el).textContent = text } diff --git a/packages/playground/legacy/package.json b/playground/legacy/package.json similarity index 65% rename from packages/playground/legacy/package.json rename to playground/legacy/package.json index 3a3315c42aa832..4f11c234573f40 100644 --- a/packages/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -6,11 +6,12 @@ "dev": "vite", "build": "vite build --debug legacy", "build:custom-filename": "vite --config ./vite.config-custom-filename.js build --debug legacy", - "debug": "node --inspect-brk ../../vite/bin/vite", + "build:dynamic-css": "vite --config ./vite.config-dynamic-css.js build --debug legacy", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", - "express": "^4.17.1" + "express": "^4.18.1" } } diff --git a/packages/playground/legacy/style.css b/playground/legacy/style.css similarity index 100% rename from packages/playground/legacy/style.css rename to playground/legacy/style.css diff --git a/packages/playground/legacy/vite.config-custom-filename.js b/playground/legacy/vite.config-custom-filename.js similarity index 100% rename from packages/playground/legacy/vite.config-custom-filename.js rename to playground/legacy/vite.config-custom-filename.js diff --git a/playground/legacy/vite.config-dynamic-css.js b/playground/legacy/vite.config-dynamic-css.js new file mode 100644 index 00000000000000..10565768ac4d49 --- /dev/null +++ b/playground/legacy/vite.config-dynamic-css.js @@ -0,0 +1,39 @@ +const fs = require('fs') +const path = require('path') +const legacy = require('@vitejs/plugin-legacy').default + +module.exports = { + plugins: [ + legacy({ + targets: 'IE 11' + }) + ], + + build: { + cssCodeSplit: true, + manifest: true, + rollupOptions: { + output: { + chunkFileNames(chunkInfo) { + if (chunkInfo.name === 'immutable-chunk') { + return `assets/${chunkInfo.name}.js` + } + + return `assets/chunk-[name].[hash].js` + } + } + } + }, + + // special test only hook + // for tests, remove ` diff --git a/packages/playground/lib/index.html b/playground/lib/index.html similarity index 100% rename from packages/playground/lib/index.html rename to playground/lib/index.html diff --git a/packages/playground/lib/package.json b/playground/lib/package.json similarity index 72% rename from packages/playground/lib/package.json rename to playground/lib/package.json index 2c3ae4be3d4bcb..66b827b7c84179 100644 --- a/packages/playground/lib/package.json +++ b/playground/lib/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/playground/lib/src/dynamic.css b/playground/lib/src/dynamic.css new file mode 100644 index 00000000000000..4378c8d328cfbe --- /dev/null +++ b/playground/lib/src/dynamic.css @@ -0,0 +1,4 @@ +@import 'https://cdn.jsdelivr.net/npm/@mdi/font@5.9.55/css/materialdesignicons.min.css'; +.dynamic { + color: red; +} diff --git a/playground/lib/src/index.css b/playground/lib/src/index.css new file mode 100644 index 00000000000000..b0bd670bd9ecad --- /dev/null +++ b/playground/lib/src/index.css @@ -0,0 +1,3 @@ +.index { + color: blue; +} diff --git a/playground/lib/src/main.js b/playground/lib/src/main.js new file mode 100644 index 00000000000000..cb2fb3b842dc4f --- /dev/null +++ b/playground/lib/src/main.js @@ -0,0 +1,6 @@ +export default function myLib(sel) { + // Force esbuild spread helpers (https://github.com/evanw/esbuild/issues/951) + console.log({ ...'foo' }) + + document.querySelector(sel).textContent = 'It works' +} diff --git a/packages/playground/lib/src/main2.js b/playground/lib/src/main2.js similarity index 73% rename from packages/playground/lib/src/main2.js rename to playground/lib/src/main2.js index 0c729fad8d165c..f19a16bb128949 100644 --- a/packages/playground/lib/src/main2.js +++ b/playground/lib/src/main2.js @@ -1,4 +1,9 @@ +import './index.css' + export default async function message(sel) { const message = await import('./message.js') + + await import('./dynamic.css') + document.querySelector(sel).textContent = message.default } diff --git a/packages/playground/lib/src/message.js b/playground/lib/src/message.js similarity index 100% rename from packages/playground/lib/src/message.js rename to playground/lib/src/message.js diff --git a/packages/playground/lib/vite.config.js b/playground/lib/vite.config.js similarity index 89% rename from packages/playground/lib/vite.config.js rename to playground/lib/vite.config.js index 50cd188b1a40cc..72c040d38d6dcf 100644 --- a/packages/playground/lib/vite.config.js +++ b/playground/lib/vite.config.js @@ -10,7 +10,7 @@ module.exports = { entry: path.resolve(__dirname, 'src/main.js'), name: 'MyLib', formats: ['es', 'umd', 'iife'], - fileName: (format) => `my-lib-custom-filename.${format}.js` + fileName: 'my-lib-custom-filename' } }, plugins: [ diff --git a/packages/playground/lib/vite.dyimport.config.js b/playground/lib/vite.dyimport.config.js similarity index 94% rename from packages/playground/lib/vite.dyimport.config.js rename to playground/lib/vite.dyimport.config.js index 76311f4b8ba138..d738503f0c9d09 100644 --- a/packages/playground/lib/vite.dyimport.config.js +++ b/playground/lib/vite.dyimport.config.js @@ -6,7 +6,6 @@ const path = require('path') */ module.exports = { build: { - minify: false, lib: { entry: path.resolve(__dirname, 'src/main2.js'), formats: ['es'], diff --git a/packages/playground/multiple-entrypoints/__tests__/multiple-entrypoints.spec.ts b/playground/multiple-entrypoints/__tests__/multiple-entrypoints.spec.ts similarity index 100% rename from packages/playground/multiple-entrypoints/__tests__/multiple-entrypoints.spec.ts rename to playground/multiple-entrypoints/__tests__/multiple-entrypoints.spec.ts diff --git a/packages/playground/multiple-entrypoints/deps.json b/playground/multiple-entrypoints/deps.json similarity index 100% rename from packages/playground/multiple-entrypoints/deps.json rename to playground/multiple-entrypoints/deps.json diff --git a/packages/playground/multiple-entrypoints/dynamic-a.js b/playground/multiple-entrypoints/dynamic-a.js similarity index 100% rename from packages/playground/multiple-entrypoints/dynamic-a.js rename to playground/multiple-entrypoints/dynamic-a.js diff --git a/packages/playground/multiple-entrypoints/dynamic-b.js b/playground/multiple-entrypoints/dynamic-b.js similarity index 100% rename from packages/playground/multiple-entrypoints/dynamic-b.js rename to playground/multiple-entrypoints/dynamic-b.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a0.js b/playground/multiple-entrypoints/entrypoints/a0.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a0.js rename to playground/multiple-entrypoints/entrypoints/a0.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a1.js b/playground/multiple-entrypoints/entrypoints/a1.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a1.js rename to playground/multiple-entrypoints/entrypoints/a1.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a10.js b/playground/multiple-entrypoints/entrypoints/a10.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a10.js rename to playground/multiple-entrypoints/entrypoints/a10.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a11.js b/playground/multiple-entrypoints/entrypoints/a11.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a11.js rename to playground/multiple-entrypoints/entrypoints/a11.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a12.js b/playground/multiple-entrypoints/entrypoints/a12.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a12.js rename to playground/multiple-entrypoints/entrypoints/a12.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a13.js b/playground/multiple-entrypoints/entrypoints/a13.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a13.js rename to playground/multiple-entrypoints/entrypoints/a13.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a14.js b/playground/multiple-entrypoints/entrypoints/a14.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a14.js rename to playground/multiple-entrypoints/entrypoints/a14.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a15.js b/playground/multiple-entrypoints/entrypoints/a15.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a15.js rename to playground/multiple-entrypoints/entrypoints/a15.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a16.js b/playground/multiple-entrypoints/entrypoints/a16.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a16.js rename to playground/multiple-entrypoints/entrypoints/a16.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a17.js b/playground/multiple-entrypoints/entrypoints/a17.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a17.js rename to playground/multiple-entrypoints/entrypoints/a17.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a18.js b/playground/multiple-entrypoints/entrypoints/a18.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a18.js rename to playground/multiple-entrypoints/entrypoints/a18.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a19.js b/playground/multiple-entrypoints/entrypoints/a19.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a19.js rename to playground/multiple-entrypoints/entrypoints/a19.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a2.js b/playground/multiple-entrypoints/entrypoints/a2.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a2.js rename to playground/multiple-entrypoints/entrypoints/a2.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a20.js b/playground/multiple-entrypoints/entrypoints/a20.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a20.js rename to playground/multiple-entrypoints/entrypoints/a20.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a21.js b/playground/multiple-entrypoints/entrypoints/a21.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a21.js rename to playground/multiple-entrypoints/entrypoints/a21.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a22.js b/playground/multiple-entrypoints/entrypoints/a22.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a22.js rename to playground/multiple-entrypoints/entrypoints/a22.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a23.js b/playground/multiple-entrypoints/entrypoints/a23.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a23.js rename to playground/multiple-entrypoints/entrypoints/a23.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a24.js b/playground/multiple-entrypoints/entrypoints/a24.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a24.js rename to playground/multiple-entrypoints/entrypoints/a24.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a3.js b/playground/multiple-entrypoints/entrypoints/a3.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a3.js rename to playground/multiple-entrypoints/entrypoints/a3.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a4.js b/playground/multiple-entrypoints/entrypoints/a4.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a4.js rename to playground/multiple-entrypoints/entrypoints/a4.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a5.js b/playground/multiple-entrypoints/entrypoints/a5.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a5.js rename to playground/multiple-entrypoints/entrypoints/a5.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a6.js b/playground/multiple-entrypoints/entrypoints/a6.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a6.js rename to playground/multiple-entrypoints/entrypoints/a6.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a7.js b/playground/multiple-entrypoints/entrypoints/a7.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a7.js rename to playground/multiple-entrypoints/entrypoints/a7.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a8.js b/playground/multiple-entrypoints/entrypoints/a8.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a8.js rename to playground/multiple-entrypoints/entrypoints/a8.js diff --git a/packages/playground/multiple-entrypoints/entrypoints/a9.js b/playground/multiple-entrypoints/entrypoints/a9.js similarity index 100% rename from packages/playground/multiple-entrypoints/entrypoints/a9.js rename to playground/multiple-entrypoints/entrypoints/a9.js diff --git a/packages/playground/multiple-entrypoints/index.html b/playground/multiple-entrypoints/index.html similarity index 100% rename from packages/playground/multiple-entrypoints/index.html rename to playground/multiple-entrypoints/index.html diff --git a/packages/playground/multiple-entrypoints/index.js b/playground/multiple-entrypoints/index.js similarity index 100% rename from packages/playground/multiple-entrypoints/index.js rename to playground/multiple-entrypoints/index.js diff --git a/packages/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json similarity index 72% rename from packages/playground/multiple-entrypoints/package.json rename to playground/multiple-entrypoints/package.json index 6c338a64518ddb..07818337be7bba 100644 --- a/packages/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -5,11 +5,11 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "devDependencies": { "fast-glob": "^3.2.11", - "sass": "^1.43.4" + "sass": "^1.51.0" } } diff --git a/packages/playground/multiple-entrypoints/reference.js b/playground/multiple-entrypoints/reference.js similarity index 100% rename from packages/playground/multiple-entrypoints/reference.js rename to playground/multiple-entrypoints/reference.js diff --git a/packages/playground/multiple-entrypoints/reference.scss b/playground/multiple-entrypoints/reference.scss similarity index 100% rename from packages/playground/multiple-entrypoints/reference.scss rename to playground/multiple-entrypoints/reference.scss diff --git a/packages/playground/multiple-entrypoints/vite.config.js b/playground/multiple-entrypoints/vite.config.js similarity index 100% rename from packages/playground/multiple-entrypoints/vite.config.js rename to playground/multiple-entrypoints/vite.config.js diff --git a/packages/playground/nested-deps/__tests__/nested-deps.spec.ts b/playground/nested-deps/__tests__/nested-deps.spec.ts similarity index 100% rename from packages/playground/nested-deps/__tests__/nested-deps.spec.ts rename to playground/nested-deps/__tests__/nested-deps.spec.ts diff --git a/packages/playground/nested-deps/index.html b/playground/nested-deps/index.html similarity index 100% rename from packages/playground/nested-deps/index.html rename to playground/nested-deps/index.html diff --git a/packages/playground/nested-deps/package.json b/playground/nested-deps/package.json similarity index 87% rename from packages/playground/nested-deps/package.json rename to playground/nested-deps/package.json index d7450d0545fcb4..cbfcfe44df551b 100644 --- a/packages/playground/nested-deps/package.json +++ b/playground/nested-deps/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { diff --git a/packages/playground/nested-deps/test-package-a/index.js b/playground/nested-deps/test-package-a/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-a/index.js rename to playground/nested-deps/test-package-a/index.js diff --git a/packages/playground/nested-deps/test-package-a/package.json b/playground/nested-deps/test-package-a/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-a/package.json rename to playground/nested-deps/test-package-a/package.json diff --git a/packages/playground/nested-deps/test-package-b/index.js b/playground/nested-deps/test-package-b/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-b/index.js rename to playground/nested-deps/test-package-b/index.js diff --git a/packages/playground/nested-deps/test-package-b/node_modules/test-package-a/index.js b/playground/nested-deps/test-package-b/node_modules/test-package-a/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-b/node_modules/test-package-a/index.js rename to playground/nested-deps/test-package-b/node_modules/test-package-a/index.js diff --git a/packages/playground/nested-deps/test-package-b/node_modules/test-package-a/package.json b/playground/nested-deps/test-package-b/node_modules/test-package-a/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-b/node_modules/test-package-a/package.json rename to playground/nested-deps/test-package-b/node_modules/test-package-a/package.json diff --git a/packages/playground/nested-deps/test-package-b/package.json b/playground/nested-deps/test-package-b/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-b/package.json rename to playground/nested-deps/test-package-b/package.json diff --git a/packages/playground/nested-deps/test-package-c/index-es.js b/playground/nested-deps/test-package-c/index-es.js similarity index 100% rename from packages/playground/nested-deps/test-package-c/index-es.js rename to playground/nested-deps/test-package-c/index-es.js diff --git a/packages/playground/nested-deps/test-package-c/index.js b/playground/nested-deps/test-package-c/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-c/index.js rename to playground/nested-deps/test-package-c/index.js diff --git a/packages/playground/nested-deps/test-package-c/package.json b/playground/nested-deps/test-package-c/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-c/package.json rename to playground/nested-deps/test-package-c/package.json diff --git a/packages/playground/nested-deps/test-package-c/side.js b/playground/nested-deps/test-package-c/side.js similarity index 100% rename from packages/playground/nested-deps/test-package-c/side.js rename to playground/nested-deps/test-package-c/side.js diff --git a/packages/playground/nested-deps/test-package-d/index.js b/playground/nested-deps/test-package-d/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-d/index.js rename to playground/nested-deps/test-package-d/index.js diff --git a/packages/playground/nested-deps/test-package-d/package.json b/playground/nested-deps/test-package-d/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-d/package.json rename to playground/nested-deps/test-package-d/package.json diff --git a/packages/playground/nested-deps/test-package-d/test-package-d-nested/index.js b/playground/nested-deps/test-package-d/test-package-d-nested/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-d/test-package-d-nested/index.js rename to playground/nested-deps/test-package-d/test-package-d-nested/index.js diff --git a/packages/playground/nested-deps/test-package-d/test-package-d-nested/package.json b/playground/nested-deps/test-package-d/test-package-d-nested/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-d/test-package-d-nested/package.json rename to playground/nested-deps/test-package-d/test-package-d-nested/package.json diff --git a/packages/playground/nested-deps/test-package-e/index.js b/playground/nested-deps/test-package-e/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-e/index.js rename to playground/nested-deps/test-package-e/index.js diff --git a/packages/playground/nested-deps/test-package-e/package.json b/playground/nested-deps/test-package-e/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-e/package.json rename to playground/nested-deps/test-package-e/package.json diff --git a/packages/playground/nested-deps/test-package-e/test-package-e-excluded/index.js b/playground/nested-deps/test-package-e/test-package-e-excluded/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-e/test-package-e-excluded/index.js rename to playground/nested-deps/test-package-e/test-package-e-excluded/index.js diff --git a/packages/playground/nested-deps/test-package-e/test-package-e-excluded/package.json b/playground/nested-deps/test-package-e/test-package-e-excluded/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-e/test-package-e-excluded/package.json rename to playground/nested-deps/test-package-e/test-package-e-excluded/package.json diff --git a/packages/playground/nested-deps/test-package-e/test-package-e-included/index.js b/playground/nested-deps/test-package-e/test-package-e-included/index.js similarity index 100% rename from packages/playground/nested-deps/test-package-e/test-package-e-included/index.js rename to playground/nested-deps/test-package-e/test-package-e-included/index.js diff --git a/packages/playground/nested-deps/test-package-e/test-package-e-included/package.json b/playground/nested-deps/test-package-e/test-package-e-included/package.json similarity index 100% rename from packages/playground/nested-deps/test-package-e/test-package-e-included/package.json rename to playground/nested-deps/test-package-e/test-package-e-included/package.json diff --git a/packages/playground/nested-deps/vite.config.js b/playground/nested-deps/vite.config.js similarity index 100% rename from packages/playground/nested-deps/vite.config.js rename to playground/nested-deps/vite.config.js diff --git a/playground/optimize-deps/.env b/playground/optimize-deps/.env new file mode 100644 index 00000000000000..995fca4af2ee24 --- /dev/null +++ b/playground/optimize-deps/.env @@ -0,0 +1 @@ +NODE_ENV=production \ No newline at end of file diff --git a/packages/playground/optimize-deps/.hidden-dir/foo.js b/playground/optimize-deps/.hidden-dir/foo.js similarity index 100% rename from packages/playground/optimize-deps/.hidden-dir/foo.js rename to playground/optimize-deps/.hidden-dir/foo.js diff --git a/packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts b/playground/optimize-deps/__tests__/optimize-deps.spec.ts similarity index 96% rename from packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts rename to playground/optimize-deps/__tests__/optimize-deps.spec.ts index d95a6d984cd9aa..e832408370969a 100644 --- a/packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts +++ b/playground/optimize-deps/__tests__/optimize-deps.spec.ts @@ -62,6 +62,10 @@ test('import * from optimized dep', async () => { expect(await page.textContent('.import-star')).toMatch(`[success]`) }) +test('import from dep with process.env.NODE_ENV', async () => { + expect(await page.textContent('.node-env')).toMatch(`prod`) +}) + test('import from dep with .notjs files', async () => { expect(await page.textContent('.not-js')).toMatch(`[success]`) }) diff --git a/packages/playground/optimize-deps/cjs-dynamic.js b/playground/optimize-deps/cjs-dynamic.js similarity index 100% rename from packages/playground/optimize-deps/cjs-dynamic.js rename to playground/optimize-deps/cjs-dynamic.js diff --git a/packages/playground/optimize-deps/cjs.js b/playground/optimize-deps/cjs.js similarity index 100% rename from packages/playground/optimize-deps/cjs.js rename to playground/optimize-deps/cjs.js diff --git a/packages/playground/optimize-deps/dedupe.js b/playground/optimize-deps/dedupe.js similarity index 100% rename from packages/playground/optimize-deps/dedupe.js rename to playground/optimize-deps/dedupe.js diff --git a/packages/playground/optimize-deps/dep-cjs-compiled-from-cjs/index.js b/playground/optimize-deps/dep-cjs-compiled-from-cjs/index.js similarity index 100% rename from packages/playground/optimize-deps/dep-cjs-compiled-from-cjs/index.js rename to playground/optimize-deps/dep-cjs-compiled-from-cjs/index.js diff --git a/packages/playground/optimize-deps/dep-cjs-compiled-from-cjs/package.json b/playground/optimize-deps/dep-cjs-compiled-from-cjs/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-cjs-compiled-from-cjs/package.json rename to playground/optimize-deps/dep-cjs-compiled-from-cjs/package.json diff --git a/packages/playground/optimize-deps/dep-cjs-compiled-from-esm/index.js b/playground/optimize-deps/dep-cjs-compiled-from-esm/index.js similarity index 100% rename from packages/playground/optimize-deps/dep-cjs-compiled-from-esm/index.js rename to playground/optimize-deps/dep-cjs-compiled-from-esm/index.js diff --git a/packages/playground/optimize-deps/dep-cjs-compiled-from-esm/package.json b/playground/optimize-deps/dep-cjs-compiled-from-esm/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-cjs-compiled-from-esm/package.json rename to playground/optimize-deps/dep-cjs-compiled-from-esm/package.json diff --git a/packages/playground/optimize-deps/dep-esbuild-plugin-transform/index.js b/playground/optimize-deps/dep-esbuild-plugin-transform/index.js similarity index 100% rename from packages/playground/optimize-deps/dep-esbuild-plugin-transform/index.js rename to playground/optimize-deps/dep-esbuild-plugin-transform/index.js diff --git a/packages/playground/optimize-deps/dep-esbuild-plugin-transform/package.json b/playground/optimize-deps/dep-esbuild-plugin-transform/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-esbuild-plugin-transform/package.json rename to playground/optimize-deps/dep-esbuild-plugin-transform/package.json diff --git a/packages/playground/optimize-deps/dep-linked-include/Test.vue b/playground/optimize-deps/dep-linked-include/Test.vue similarity index 100% rename from packages/playground/optimize-deps/dep-linked-include/Test.vue rename to playground/optimize-deps/dep-linked-include/Test.vue diff --git a/packages/playground/optimize-deps/dep-linked-include/foo.js b/playground/optimize-deps/dep-linked-include/foo.js similarity index 100% rename from packages/playground/optimize-deps/dep-linked-include/foo.js rename to playground/optimize-deps/dep-linked-include/foo.js diff --git a/packages/playground/optimize-deps/dep-linked-include/index.mjs b/playground/optimize-deps/dep-linked-include/index.mjs similarity index 100% rename from packages/playground/optimize-deps/dep-linked-include/index.mjs rename to playground/optimize-deps/dep-linked-include/index.mjs diff --git a/packages/playground/optimize-deps/dep-linked-include/package.json b/playground/optimize-deps/dep-linked-include/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-linked-include/package.json rename to playground/optimize-deps/dep-linked-include/package.json diff --git a/packages/playground/optimize-deps/dep-linked-include/test.css b/playground/optimize-deps/dep-linked-include/test.css similarity index 100% rename from packages/playground/optimize-deps/dep-linked-include/test.css rename to playground/optimize-deps/dep-linked-include/test.css diff --git a/packages/playground/optimize-deps/dep-linked/index.js b/playground/optimize-deps/dep-linked/index.js similarity index 100% rename from packages/playground/optimize-deps/dep-linked/index.js rename to playground/optimize-deps/dep-linked/index.js diff --git a/packages/playground/optimize-deps/dep-linked/package.json b/playground/optimize-deps/dep-linked/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-linked/package.json rename to playground/optimize-deps/dep-linked/package.json diff --git a/playground/optimize-deps/dep-node-env/index.js b/playground/optimize-deps/dep-node-env/index.js new file mode 100644 index 00000000000000..8548c37894539f --- /dev/null +++ b/playground/optimize-deps/dep-node-env/index.js @@ -0,0 +1 @@ +export const env = process.env.NODE_ENV === 'production' ? 'prod' : 'dev' diff --git a/playground/optimize-deps/dep-node-env/package.json b/playground/optimize-deps/dep-node-env/package.json new file mode 100644 index 00000000000000..59a00fb153c522 --- /dev/null +++ b/playground/optimize-deps/dep-node-env/package.json @@ -0,0 +1,5 @@ +{ + "name": "dep-node-env", + "private": true, + "version": "1.0.0" +} diff --git a/packages/playground/optimize-deps/dep-not-js/foo.js b/playground/optimize-deps/dep-not-js/foo.js similarity index 100% rename from packages/playground/optimize-deps/dep-not-js/foo.js rename to playground/optimize-deps/dep-not-js/foo.js diff --git a/packages/playground/optimize-deps/dep-not-js/index.notjs b/playground/optimize-deps/dep-not-js/index.notjs similarity index 100% rename from packages/playground/optimize-deps/dep-not-js/index.notjs rename to playground/optimize-deps/dep-not-js/index.notjs diff --git a/packages/playground/optimize-deps/dep-not-js/package.json b/playground/optimize-deps/dep-not-js/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-not-js/package.json rename to playground/optimize-deps/dep-not-js/package.json diff --git a/packages/playground/optimize-deps/dep-with-dynamic-import/dynamic.js b/playground/optimize-deps/dep-with-dynamic-import/dynamic.js similarity index 100% rename from packages/playground/optimize-deps/dep-with-dynamic-import/dynamic.js rename to playground/optimize-deps/dep-with-dynamic-import/dynamic.js diff --git a/packages/playground/optimize-deps/dep-with-dynamic-import/index.js b/playground/optimize-deps/dep-with-dynamic-import/index.js similarity index 100% rename from packages/playground/optimize-deps/dep-with-dynamic-import/index.js rename to playground/optimize-deps/dep-with-dynamic-import/index.js diff --git a/packages/playground/optimize-deps/dep-with-dynamic-import/package.json b/playground/optimize-deps/dep-with-dynamic-import/package.json similarity index 100% rename from packages/playground/optimize-deps/dep-with-dynamic-import/package.json rename to playground/optimize-deps/dep-with-dynamic-import/package.json diff --git a/packages/playground/optimize-deps/glob/foo.js b/playground/optimize-deps/glob/foo.js similarity index 100% rename from packages/playground/optimize-deps/glob/foo.js rename to playground/optimize-deps/glob/foo.js diff --git a/packages/playground/optimize-deps/index.html b/playground/optimize-deps/index.html similarity index 94% rename from packages/playground/optimize-deps/index.html rename to playground/optimize-deps/index.html index 2be896d00acba9..d11383bfcb3e04 100644 --- a/packages/playground/optimize-deps/index.html +++ b/playground/optimize-deps/index.html @@ -38,6 +38,9 @@

Optimizing force included dep even when it's linked

import * as ...

+

Import from dependency with process.env.NODE_ENV

+
+

Import from dependency with .notjs files

@@ -73,7 +76,7 @@

Reused variable names

` +const DYNAMIC_STYLES = ` + +` + async function createServer( root = process.cwd(), isProd = process.env.NODE_ENV === 'production' @@ -42,15 +50,30 @@ async function createServer( // use vite's connect instance as middleware app.use(vite.middlewares) - app.use('*', async (req, res) => { + app.use('*', async (req, res, next) => { try { let [url] = req.originalUrl.split('?') if (url.endsWith('/')) url += 'index.html' + if (url.startsWith('/favicon.ico')) { + return res.status(404).end('404') + } + if (url.startsWith('/@id/__x00__')) { + return next() + } + const htmlLoc = resolve(`.${url}`) - let html = fs.readFileSync(htmlLoc, 'utf8') - html = html.replace('', `${DYNAMIC_SCRIPTS}`) - html = await vite.transformIndexHtml(url, html) + let template = fs.readFileSync(htmlLoc, 'utf-8') + + template = template.replace( + '', + `${DYNAMIC_SCRIPTS}${DYNAMIC_STYLES}` + ) + + // Force calling transformIndexHtml with url === '/', to simulate + // usage by ecosystem that was recommended in the SSR documentation + // as `const url = req.originalUrl` + const html = await vite.transformIndexHtml('/', template) res.status(200).set({ 'Content-Type': 'text/html' }).end(html) } catch (e) { diff --git a/packages/playground/ssr-html/src/app.js b/playground/ssr-html/src/app.js similarity index 100% rename from packages/playground/ssr-html/src/app.js rename to playground/ssr-html/src/app.js diff --git a/packages/playground/ssr-deps/__tests__/serve.js b/playground/ssr-pug/__tests__/serve.js similarity index 89% rename from packages/playground/ssr-deps/__tests__/serve.js rename to playground/ssr-pug/__tests__/serve.js index 5ba5724f2b7a94..392aa831ebb82d 100644 --- a/packages/playground/ssr-deps/__tests__/serve.js +++ b/playground/ssr-pug/__tests__/serve.js @@ -3,8 +3,9 @@ // the default e2e test serve behavior const path = require('path') +const { ports } = require('../../testUtils') -const port = (exports.port = 9530) +const port = (exports.port = ports['ssr-pug']) /** * @param {string} root diff --git a/packages/playground/ssr-pug/__tests__/ssr-pug.spec.ts b/playground/ssr-pug/__tests__/ssr-pug.spec.ts similarity index 100% rename from packages/playground/ssr-pug/__tests__/ssr-pug.spec.ts rename to playground/ssr-pug/__tests__/ssr-pug.spec.ts diff --git a/packages/playground/ssr-pug/index.pug b/playground/ssr-pug/index.pug similarity index 100% rename from packages/playground/ssr-pug/index.pug rename to playground/ssr-pug/index.pug diff --git a/packages/playground/ssr-pug/package.json b/playground/ssr-pug/package.json similarity index 91% rename from packages/playground/ssr-pug/package.json rename to playground/ssr-pug/package.json index e2282b20565c1b..afa80df44a18bc 100644 --- a/packages/playground/ssr-pug/package.json +++ b/playground/ssr-pug/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "cross-env": "^7.0.3", - "express": "^4.17.1", + "express": "^4.18.1", "pug": "^3.0.2" } } diff --git a/packages/playground/ssr-pug/server.js b/playground/ssr-pug/server.js similarity index 100% rename from packages/playground/ssr-pug/server.js rename to playground/ssr-pug/server.js diff --git a/packages/playground/ssr-pug/src/app.js b/playground/ssr-pug/src/app.js similarity index 100% rename from packages/playground/ssr-pug/src/app.js rename to playground/ssr-pug/src/app.js diff --git a/packages/playground/ssr-react/__tests__/serve.js b/playground/ssr-react/__tests__/serve.js similarity index 93% rename from packages/playground/ssr-react/__tests__/serve.js rename to playground/ssr-react/__tests__/serve.js index 1bc028c03dc27c..07476e0726e268 100644 --- a/packages/playground/ssr-react/__tests__/serve.js +++ b/playground/ssr-react/__tests__/serve.js @@ -3,8 +3,9 @@ // the default e2e test serve behavior const path = require('path') +const { ports } = require('../../testUtils') -const port = (exports.port = 9528) +const port = (exports.port = ports['ssr-react']) /** * @param {string} root diff --git a/packages/playground/ssr-react/__tests__/ssr-react.spec.ts b/playground/ssr-react/__tests__/ssr-react.spec.ts similarity index 100% rename from packages/playground/ssr-react/__tests__/ssr-react.spec.ts rename to playground/ssr-react/__tests__/ssr-react.spec.ts diff --git a/packages/playground/ssr-react/index.html b/playground/ssr-react/index.html similarity index 100% rename from packages/playground/ssr-react/index.html rename to playground/ssr-react/index.html diff --git a/packages/playground/ssr-react/package.json b/playground/ssr-react/package.json similarity index 85% rename from packages/playground/ssr-react/package.json rename to playground/ssr-react/package.json index a05bcc08806f3b..e6a954b56c839c 100644 --- a/packages/playground/ssr-react/package.json +++ b/playground/ssr-react/package.json @@ -14,14 +14,14 @@ "dependencies": { "react": "^17.0.2", "react-dom": "^17.0.2", - "react-router": "^5.2.1", - "react-router-dom": "^5.3.0" + "react-router": "^5.3.1", + "react-router-dom": "^5.3.1" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*", "compression": "^1.7.4", "cross-env": "^7.0.3", - "express": "^4.17.1", - "serve-static": "^1.14.1" + "express": "^4.18.1", + "serve-static": "^1.15.0" } } diff --git a/packages/playground/ssr-react/prerender.js b/playground/ssr-react/prerender.js similarity index 100% rename from packages/playground/ssr-react/prerender.js rename to playground/ssr-react/prerender.js diff --git a/packages/playground/ssr-react/server.js b/playground/ssr-react/server.js similarity index 100% rename from packages/playground/ssr-react/server.js rename to playground/ssr-react/server.js diff --git a/packages/playground/ssr-react/src/App.jsx b/playground/ssr-react/src/App.jsx similarity index 93% rename from packages/playground/ssr-react/src/App.jsx rename to playground/ssr-react/src/App.jsx index 1c598add666efb..59e14cd5c3eea0 100644 --- a/packages/playground/ssr-react/src/App.jsx +++ b/playground/ssr-react/src/App.jsx @@ -2,7 +2,7 @@ import { Link, Route, Switch } from 'react-router-dom' // Auto generates routes from files under ./pages // https://vitejs.dev/guide/features.html#glob-import -const pages = import.meta.globEager('./pages/*.jsx') +const pages = import.meta.glob('./pages/*.jsx', { eager: true }) const routes = Object.keys(pages).map((path) => { const name = path.match(/\.\/pages\/(.*)\.jsx$/)[1] diff --git a/packages/playground/ssr-react/src/add.js b/playground/ssr-react/src/add.js similarity index 100% rename from packages/playground/ssr-react/src/add.js rename to playground/ssr-react/src/add.js diff --git a/packages/playground/ssr-react/src/circular-dep-init/README.md b/playground/ssr-react/src/circular-dep-init/README.md similarity index 100% rename from packages/playground/ssr-react/src/circular-dep-init/README.md rename to playground/ssr-react/src/circular-dep-init/README.md diff --git a/packages/playground/ssr-react/src/circular-dep-init/circular-dep-init.js b/playground/ssr-react/src/circular-dep-init/circular-dep-init.js similarity index 100% rename from packages/playground/ssr-react/src/circular-dep-init/circular-dep-init.js rename to playground/ssr-react/src/circular-dep-init/circular-dep-init.js diff --git a/packages/playground/ssr-react/src/circular-dep-init/module-a.js b/playground/ssr-react/src/circular-dep-init/module-a.js similarity index 100% rename from packages/playground/ssr-react/src/circular-dep-init/module-a.js rename to playground/ssr-react/src/circular-dep-init/module-a.js diff --git a/packages/playground/ssr-react/src/circular-dep-init/module-b.js b/playground/ssr-react/src/circular-dep-init/module-b.js similarity index 100% rename from packages/playground/ssr-react/src/circular-dep-init/module-b.js rename to playground/ssr-react/src/circular-dep-init/module-b.js diff --git a/packages/playground/ssr-react/src/entry-client.jsx b/playground/ssr-react/src/entry-client.jsx similarity index 100% rename from packages/playground/ssr-react/src/entry-client.jsx rename to playground/ssr-react/src/entry-client.jsx diff --git a/packages/playground/ssr-react/src/entry-server.jsx b/playground/ssr-react/src/entry-server.jsx similarity index 100% rename from packages/playground/ssr-react/src/entry-server.jsx rename to playground/ssr-react/src/entry-server.jsx diff --git a/packages/playground/ssr-react/src/forked-deadlock/README.md b/playground/ssr-react/src/forked-deadlock/README.md similarity index 100% rename from packages/playground/ssr-react/src/forked-deadlock/README.md rename to playground/ssr-react/src/forked-deadlock/README.md diff --git a/packages/playground/ssr-react/src/forked-deadlock/common-module.js b/playground/ssr-react/src/forked-deadlock/common-module.js similarity index 100% rename from packages/playground/ssr-react/src/forked-deadlock/common-module.js rename to playground/ssr-react/src/forked-deadlock/common-module.js diff --git a/packages/playground/ssr-react/src/forked-deadlock/deadlock-fuse-module.js b/playground/ssr-react/src/forked-deadlock/deadlock-fuse-module.js similarity index 100% rename from packages/playground/ssr-react/src/forked-deadlock/deadlock-fuse-module.js rename to playground/ssr-react/src/forked-deadlock/deadlock-fuse-module.js diff --git a/packages/playground/ssr-react/src/forked-deadlock/fuse-stuck-bridge-module.js b/playground/ssr-react/src/forked-deadlock/fuse-stuck-bridge-module.js similarity index 100% rename from packages/playground/ssr-react/src/forked-deadlock/fuse-stuck-bridge-module.js rename to playground/ssr-react/src/forked-deadlock/fuse-stuck-bridge-module.js diff --git a/packages/playground/ssr-react/src/forked-deadlock/middle-module.js b/playground/ssr-react/src/forked-deadlock/middle-module.js similarity index 100% rename from packages/playground/ssr-react/src/forked-deadlock/middle-module.js rename to playground/ssr-react/src/forked-deadlock/middle-module.js diff --git a/packages/playground/ssr-react/src/forked-deadlock/stuck-module.js b/playground/ssr-react/src/forked-deadlock/stuck-module.js similarity index 100% rename from packages/playground/ssr-react/src/forked-deadlock/stuck-module.js rename to playground/ssr-react/src/forked-deadlock/stuck-module.js diff --git a/packages/playground/ssr-react/src/multiply.js b/playground/ssr-react/src/multiply.js similarity index 100% rename from packages/playground/ssr-react/src/multiply.js rename to playground/ssr-react/src/multiply.js diff --git a/packages/playground/ssr-react/src/pages/About.jsx b/playground/ssr-react/src/pages/About.jsx similarity index 100% rename from packages/playground/ssr-react/src/pages/About.jsx rename to playground/ssr-react/src/pages/About.jsx diff --git a/packages/playground/ssr-react/src/pages/Env.jsx b/playground/ssr-react/src/pages/Env.jsx similarity index 100% rename from packages/playground/ssr-react/src/pages/Env.jsx rename to playground/ssr-react/src/pages/Env.jsx diff --git a/packages/playground/ssr-react/src/pages/Home.jsx b/playground/ssr-react/src/pages/Home.jsx similarity index 100% rename from packages/playground/ssr-react/src/pages/Home.jsx rename to playground/ssr-react/src/pages/Home.jsx diff --git a/packages/playground/ssr-react/vite.config.js b/playground/ssr-react/vite.config.js similarity index 100% rename from packages/playground/ssr-react/vite.config.js rename to playground/ssr-react/vite.config.js diff --git a/packages/playground/ssr-vue/__tests__/serve.js b/playground/ssr-vue/__tests__/serve.js similarity index 93% rename from packages/playground/ssr-vue/__tests__/serve.js rename to playground/ssr-vue/__tests__/serve.js index 1e220fed9630e4..5bcd5a4639877a 100644 --- a/packages/playground/ssr-vue/__tests__/serve.js +++ b/playground/ssr-vue/__tests__/serve.js @@ -3,8 +3,9 @@ // the default e2e test serve behavior const path = require('path') +const { ports } = require('../../testUtils') -const port = (exports.port = 9527) +const port = (exports.port = ports['ssr-vue']) /** * @param {string} root diff --git a/packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts b/playground/ssr-vue/__tests__/ssr-vue.spec.ts similarity index 98% rename from packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts rename to playground/ssr-vue/__tests__/ssr-vue.spec.ts index 952e287a7f12aa..baa7b79dd74252 100644 --- a/packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts +++ b/playground/ssr-vue/__tests__/ssr-vue.spec.ts @@ -172,7 +172,7 @@ test('dynamic css file should be preloaded', async () => { const filename = re.exec(homeHtml)[1] const manifest = require(resolve( process.cwd(), - './packages/temp/ssr-vue/dist/client/ssr-manifest.json' + './playground-temp/ssr-vue/dist/client/ssr-manifest.json' )) const depFile = manifest[filename] for (const file of depFile) { diff --git a/packages/playground/ssr-vue/dep-import-type/deep/index.d.ts b/playground/ssr-vue/dep-import-type/deep/index.d.ts similarity index 100% rename from packages/playground/ssr-vue/dep-import-type/deep/index.d.ts rename to playground/ssr-vue/dep-import-type/deep/index.d.ts diff --git a/packages/playground/ssr-vue/dep-import-type/package.json b/playground/ssr-vue/dep-import-type/package.json similarity index 100% rename from packages/playground/ssr-vue/dep-import-type/package.json rename to playground/ssr-vue/dep-import-type/package.json diff --git a/packages/playground/ssr-vue/example-external-component/ExampleExternalComponent.vue b/playground/ssr-vue/example-external-component/ExampleExternalComponent.vue similarity index 100% rename from packages/playground/ssr-vue/example-external-component/ExampleExternalComponent.vue rename to playground/ssr-vue/example-external-component/ExampleExternalComponent.vue diff --git a/packages/playground/ssr-vue/example-external-component/index.js b/playground/ssr-vue/example-external-component/index.js similarity index 100% rename from packages/playground/ssr-vue/example-external-component/index.js rename to playground/ssr-vue/example-external-component/index.js diff --git a/packages/playground/ssr-vue/example-external-component/package.json b/playground/ssr-vue/example-external-component/package.json similarity index 100% rename from packages/playground/ssr-vue/example-external-component/package.json rename to playground/ssr-vue/example-external-component/package.json diff --git a/packages/playground/ssr-vue/index.html b/playground/ssr-vue/index.html similarity index 100% rename from packages/playground/ssr-vue/index.html rename to playground/ssr-vue/index.html diff --git a/packages/playground/ssr-vue/package.json b/playground/ssr-vue/package.json similarity index 90% rename from packages/playground/ssr-vue/package.json rename to playground/ssr-vue/package.json index 4a385336a97603..0464ebeeb76e05 100644 --- a/packages/playground/ssr-vue/package.json +++ b/playground/ssr-vue/package.json @@ -15,8 +15,8 @@ }, "dependencies": { "example-external-component": "file:example-external-component", - "vue": "^3.2.25", - "vue-router": "^4.0.0", + "vue": "^3.2.33", + "vue-router": "^4.0.15", "vuex": "^4.0.2" }, "devDependencies": { @@ -25,7 +25,7 @@ "compression": "^1.7.4", "cross-env": "^7.0.3", "dep-import-type": "link:./dep-import-type", - "express": "^4.17.1", - "serve-static": "^1.14.1" + "express": "^4.18.1", + "serve-static": "^1.15.0" } } diff --git a/packages/playground/ssr-vue/prerender.js b/playground/ssr-vue/prerender.js similarity index 100% rename from packages/playground/ssr-vue/prerender.js rename to playground/ssr-vue/prerender.js diff --git a/packages/playground/ssr-vue/server.js b/playground/ssr-vue/server.js similarity index 100% rename from packages/playground/ssr-vue/server.js rename to playground/ssr-vue/server.js diff --git a/packages/playground/ssr-vue/src/App.vue b/playground/ssr-vue/src/App.vue similarity index 100% rename from packages/playground/ssr-vue/src/App.vue rename to playground/ssr-vue/src/App.vue diff --git a/packages/playground/ssr-vue/src/assets/button.css b/playground/ssr-vue/src/assets/button.css similarity index 100% rename from packages/playground/ssr-vue/src/assets/button.css rename to playground/ssr-vue/src/assets/button.css diff --git a/packages/playground/ssr-vue/src/assets/fonts/Inter-Italic.woff b/playground/ssr-vue/src/assets/fonts/Inter-Italic.woff similarity index 100% rename from packages/playground/ssr-vue/src/assets/fonts/Inter-Italic.woff rename to playground/ssr-vue/src/assets/fonts/Inter-Italic.woff diff --git a/packages/playground/ssr-vue/src/assets/fonts/Inter-Italic.woff2 b/playground/ssr-vue/src/assets/fonts/Inter-Italic.woff2 similarity index 100% rename from packages/playground/ssr-vue/src/assets/fonts/Inter-Italic.woff2 rename to playground/ssr-vue/src/assets/fonts/Inter-Italic.woff2 diff --git a/packages/playground/ssr-vue/src/assets/logo.png b/playground/ssr-vue/src/assets/logo.png similarity index 100% rename from packages/playground/ssr-vue/src/assets/logo.png rename to playground/ssr-vue/src/assets/logo.png diff --git a/packages/playground/ssr-vue/src/components/Foo.jsx b/playground/ssr-vue/src/components/Foo.jsx similarity index 100% rename from packages/playground/ssr-vue/src/components/Foo.jsx rename to playground/ssr-vue/src/components/Foo.jsx diff --git a/packages/playground/ssr-vue/src/components/ImportType.vue b/playground/ssr-vue/src/components/ImportType.vue similarity index 100% rename from packages/playground/ssr-vue/src/components/ImportType.vue rename to playground/ssr-vue/src/components/ImportType.vue diff --git a/packages/playground/ssr-vue/src/components/button.js b/playground/ssr-vue/src/components/button.js similarity index 100% rename from packages/playground/ssr-vue/src/components/button.js rename to playground/ssr-vue/src/components/button.js diff --git a/packages/playground/ssr-vue/src/components/foo.css b/playground/ssr-vue/src/components/foo.css similarity index 100% rename from packages/playground/ssr-vue/src/components/foo.css rename to playground/ssr-vue/src/components/foo.css diff --git a/packages/playground/ssr-vue/src/entry-client.js b/playground/ssr-vue/src/entry-client.js similarity index 100% rename from packages/playground/ssr-vue/src/entry-client.js rename to playground/ssr-vue/src/entry-client.js diff --git a/packages/playground/ssr-vue/src/entry-server.js b/playground/ssr-vue/src/entry-server.js similarity index 100% rename from packages/playground/ssr-vue/src/entry-server.js rename to playground/ssr-vue/src/entry-server.js diff --git a/packages/playground/ssr-vue/src/main.js b/playground/ssr-vue/src/main.js similarity index 100% rename from packages/playground/ssr-vue/src/main.js rename to playground/ssr-vue/src/main.js diff --git a/packages/playground/ssr-vue/src/pages/About.vue b/playground/ssr-vue/src/pages/About.vue similarity index 100% rename from packages/playground/ssr-vue/src/pages/About.vue rename to playground/ssr-vue/src/pages/About.vue diff --git a/packages/playground/ssr-vue/src/pages/External.vue b/playground/ssr-vue/src/pages/External.vue similarity index 100% rename from packages/playground/ssr-vue/src/pages/External.vue rename to playground/ssr-vue/src/pages/External.vue diff --git a/packages/playground/ssr-vue/src/pages/Home.vue b/playground/ssr-vue/src/pages/Home.vue similarity index 100% rename from packages/playground/ssr-vue/src/pages/Home.vue rename to playground/ssr-vue/src/pages/Home.vue diff --git a/packages/playground/ssr-vue/src/pages/Store.vue b/playground/ssr-vue/src/pages/Store.vue similarity index 100% rename from packages/playground/ssr-vue/src/pages/Store.vue rename to playground/ssr-vue/src/pages/Store.vue diff --git a/packages/playground/ssr-vue/src/router.js b/playground/ssr-vue/src/router.js similarity index 100% rename from packages/playground/ssr-vue/src/router.js rename to playground/ssr-vue/src/router.js diff --git a/packages/playground/ssr-vue/vite.config.js b/playground/ssr-vue/vite.config.js similarity index 100% rename from packages/playground/ssr-vue/vite.config.js rename to playground/ssr-vue/vite.config.js diff --git a/packages/playground/ssr-vue/vite.config.noexternal.js b/playground/ssr-vue/vite.config.noexternal.js similarity index 100% rename from packages/playground/ssr-vue/vite.config.noexternal.js rename to playground/ssr-vue/vite.config.noexternal.js diff --git a/packages/playground/ssr-webworker/__tests__/serve.js b/playground/ssr-webworker/__tests__/serve.js similarity index 91% rename from packages/playground/ssr-webworker/__tests__/serve.js rename to playground/ssr-webworker/__tests__/serve.js index f4f207b85026c6..38a957b0a333ea 100644 --- a/packages/playground/ssr-webworker/__tests__/serve.js +++ b/playground/ssr-webworker/__tests__/serve.js @@ -3,8 +3,9 @@ // the default e2e test serve behavior const path = require('path') +const { ports } = require('../../testUtils') -const port = (exports.port = 9528) +const port = (exports.port = ports['ssr-webworker']) /** * @param {string} root diff --git a/packages/playground/ssr-webworker/__tests__/ssr-webworker.spec.ts b/playground/ssr-webworker/__tests__/ssr-webworker.spec.ts similarity index 100% rename from packages/playground/ssr-webworker/__tests__/ssr-webworker.spec.ts rename to playground/ssr-webworker/__tests__/ssr-webworker.spec.ts diff --git a/packages/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json similarity index 100% rename from packages/playground/ssr-webworker/package.json rename to playground/ssr-webworker/package.json diff --git a/packages/playground/ssr-webworker/src/entry-worker.jsx b/playground/ssr-webworker/src/entry-worker.jsx similarity index 100% rename from packages/playground/ssr-webworker/src/entry-worker.jsx rename to playground/ssr-webworker/src/entry-worker.jsx diff --git a/packages/playground/ssr-webworker/vite.config.js b/playground/ssr-webworker/vite.config.js similarity index 65% rename from packages/playground/ssr-webworker/vite.config.js rename to playground/ssr-webworker/vite.config.js index 80cc1784cdc565..91a0571380608e 100644 --- a/packages/playground/ssr-webworker/vite.config.js +++ b/playground/ssr-webworker/vite.config.js @@ -10,9 +10,18 @@ module.exports = { }, ssr: { target: 'webworker', - noExternal: true + noExternal: ['this-should-be-replaced-by-the-boolean'] }, plugins: [ + { + config() { + return { + ssr: { + noExternal: true + } + } + } + }, { config() { return { diff --git a/packages/playground/ssr-webworker/worker.js b/playground/ssr-webworker/worker.js similarity index 100% rename from packages/playground/ssr-webworker/worker.js rename to playground/ssr-webworker/worker.js diff --git a/packages/playground/tailwind-sourcemap/__tests__/build.spec.ts b/playground/tailwind-sourcemap/__tests__/build.spec.ts similarity index 100% rename from packages/playground/tailwind-sourcemap/__tests__/build.spec.ts rename to playground/tailwind-sourcemap/__tests__/build.spec.ts diff --git a/packages/playground/tailwind-sourcemap/__tests__/serve.spec.ts b/playground/tailwind-sourcemap/__tests__/serve.spec.ts similarity index 100% rename from packages/playground/tailwind-sourcemap/__tests__/serve.spec.ts rename to playground/tailwind-sourcemap/__tests__/serve.spec.ts diff --git a/packages/playground/tailwind-sourcemap/index.html b/playground/tailwind-sourcemap/index.html similarity index 100% rename from packages/playground/tailwind-sourcemap/index.html rename to playground/tailwind-sourcemap/index.html diff --git a/packages/playground/tailwind-sourcemap/package.json b/playground/tailwind-sourcemap/package.json similarity index 68% rename from packages/playground/tailwind-sourcemap/package.json rename to playground/tailwind-sourcemap/package.json index 5c374f3bf47f1b..10c02556713d1c 100644 --- a/packages/playground/tailwind-sourcemap/package.json +++ b/playground/tailwind-sourcemap/package.json @@ -5,10 +5,10 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { - "tailwindcss": "^3.0.23" + "tailwindcss": "^3.0.24" } } diff --git a/packages/playground/tailwind-sourcemap/postcss.config.js b/playground/tailwind-sourcemap/postcss.config.js similarity index 100% rename from packages/playground/tailwind-sourcemap/postcss.config.js rename to playground/tailwind-sourcemap/postcss.config.js diff --git a/packages/playground/tailwind-sourcemap/tailwind.config.js b/playground/tailwind-sourcemap/tailwind.config.js similarity index 100% rename from packages/playground/tailwind-sourcemap/tailwind.config.js rename to playground/tailwind-sourcemap/tailwind.config.js diff --git a/packages/playground/tailwind-sourcemap/tailwind.css b/playground/tailwind-sourcemap/tailwind.css similarity index 100% rename from packages/playground/tailwind-sourcemap/tailwind.css rename to playground/tailwind-sourcemap/tailwind.css diff --git a/packages/playground/tailwind-sourcemap/vite.config.js b/playground/tailwind-sourcemap/vite.config.js similarity index 100% rename from packages/playground/tailwind-sourcemap/vite.config.js rename to playground/tailwind-sourcemap/vite.config.js diff --git a/packages/playground/tailwind/__test__/tailwind.spec.ts b/playground/tailwind/__test__/tailwind.spec.ts similarity index 100% rename from packages/playground/tailwind/__test__/tailwind.spec.ts rename to playground/tailwind/__test__/tailwind.spec.ts diff --git a/packages/playground/tailwind/index.css b/playground/tailwind/index.css similarity index 100% rename from packages/playground/tailwind/index.css rename to playground/tailwind/index.css diff --git a/packages/playground/tailwind/index.html b/playground/tailwind/index.html similarity index 100% rename from packages/playground/tailwind/index.html rename to playground/tailwind/index.html diff --git a/packages/playground/tailwind/package.json b/playground/tailwind/package.json similarity index 54% rename from packages/playground/tailwind/package.json rename to playground/tailwind/package.json index ff79908d386e96..9bf1b1fbe5fff2 100644 --- a/packages/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -5,16 +5,17 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { - "autoprefixer": "^10.4.0", + "autoprefixer": "^10.4.7", "tailwindcss": "^2.2.19", - "vue": "^3.2.25", - "vue-router": "^4.0.0" + "vue": "^3.2.33", + "vue-router": "^4.0.15" }, "devDependencies": { - "@vitejs/plugin-vue": "workspace:*" + "@vitejs/plugin-vue": "workspace:*", + "ts-node": "^10.7.0" } } diff --git a/packages/playground/tailwind/postcss.config.js b/playground/tailwind/postcss.config.ts similarity index 85% rename from packages/playground/tailwind/postcss.config.js rename to playground/tailwind/postcss.config.ts index b73493f7f96fae..381d8cbd107f81 100644 --- a/packages/playground/tailwind/postcss.config.js +++ b/playground/tailwind/postcss.config.ts @@ -1,4 +1,4 @@ -// postcss.config.js +// postcss.config.ts module.exports = { plugins: { tailwindcss: { config: __dirname + '/tailwind.config.js' }, diff --git a/packages/playground/tailwind/public/favicon.ico b/playground/tailwind/public/favicon.ico similarity index 100% rename from packages/playground/tailwind/public/favicon.ico rename to playground/tailwind/public/favicon.ico diff --git a/packages/playground/tailwind/src/App.vue b/playground/tailwind/src/App.vue similarity index 100% rename from packages/playground/tailwind/src/App.vue rename to playground/tailwind/src/App.vue diff --git a/packages/playground/tailwind/src/assets/logo.png b/playground/tailwind/src/assets/logo.png similarity index 100% rename from packages/playground/tailwind/src/assets/logo.png rename to playground/tailwind/src/assets/logo.png diff --git a/packages/playground/tailwind/src/components/HelloWorld.vue b/playground/tailwind/src/components/HelloWorld.vue similarity index 100% rename from packages/playground/tailwind/src/components/HelloWorld.vue rename to playground/tailwind/src/components/HelloWorld.vue diff --git a/packages/playground/tailwind/src/main.js b/playground/tailwind/src/main.js similarity index 100% rename from packages/playground/tailwind/src/main.js rename to playground/tailwind/src/main.js diff --git a/packages/playground/tailwind/src/router.ts b/playground/tailwind/src/router.ts similarity index 100% rename from packages/playground/tailwind/src/router.ts rename to playground/tailwind/src/router.ts diff --git a/packages/playground/tailwind/src/views/Page.vue b/playground/tailwind/src/views/Page.vue similarity index 100% rename from packages/playground/tailwind/src/views/Page.vue rename to playground/tailwind/src/views/Page.vue diff --git a/packages/playground/tailwind/tailwind.config.js b/playground/tailwind/tailwind.config.js similarity index 100% rename from packages/playground/tailwind/tailwind.config.js rename to playground/tailwind/tailwind.config.js diff --git a/packages/playground/tailwind/vite.config.ts b/playground/tailwind/vite.config.ts similarity index 100% rename from packages/playground/tailwind/vite.config.ts rename to playground/tailwind/vite.config.ts diff --git a/packages/playground/testUtils.ts b/playground/testUtils.ts similarity index 88% rename from packages/playground/testUtils.ts rename to playground/testUtils.ts index 7454c88452e9b2..7abf09eaada081 100644 --- a/packages/playground/testUtils.ts +++ b/playground/testUtils.ts @@ -10,6 +10,23 @@ import type { Manifest } from 'vite' import { normalizePath } from 'vite' import { fromComment } from 'convert-source-map' +// make sure these ports are unique +export const ports = { + cli: 9510, + 'cli-module': 9511, + 'legacy/ssr': 9520, + lib: 9521, + 'optimize-missing-deps': 9522, + 'ssr-deps': 9600, + 'ssr-html': 9601, + 'ssr-pug': 9602, + 'ssr-react': 9603, + 'ssr-vue': 9604, + 'ssr-webworker': 9605, + 'css/postcss-caching': 5005, + 'css/postcss-plugins-different-dir': 5006 +} + export function slash(p: string): string { return p.replace(/\\/g, '/') } @@ -18,8 +35,8 @@ export const isBuild = !!process.env.VITE_TEST_BUILD const testPath = expect.getState().testPath const testName = slash(testPath).match(/playground\/([\w-]+)\//)?.[1] -export const testDir = path.resolve(__dirname, '../../packages/temp', testName) -export const workspaceRoot = path.resolve(__dirname, '../../') +export const testDir = path.resolve(__dirname, '../playground-temp', testName) +export const workspaceRoot = path.resolve(__dirname, '../') const hexToNameMap: Record = {} Object.keys(colors).forEach((color) => { @@ -139,7 +156,7 @@ export async function untilUpdated( /** * Send the rebuild complete message in build watch */ -export { notifyRebuildComplete } from '../../scripts/jestPerTestSetup' +export { notifyRebuildComplete } from '../scripts/jestPerTestSetup' export const extractSourcemap = (content: string) => { const lines = content.trim().split('\n') diff --git a/packages/playground/tsconfig-json-load-error/__tests__/tsconfig-json-load-error.spec.ts b/playground/tsconfig-json-load-error/__tests__/tsconfig-json-load-error.spec.ts similarity index 100% rename from packages/playground/tsconfig-json-load-error/__tests__/tsconfig-json-load-error.spec.ts rename to playground/tsconfig-json-load-error/__tests__/tsconfig-json-load-error.spec.ts diff --git a/packages/playground/tsconfig-json-load-error/has-error/main.ts b/playground/tsconfig-json-load-error/has-error/main.ts similarity index 100% rename from packages/playground/tsconfig-json-load-error/has-error/main.ts rename to playground/tsconfig-json-load-error/has-error/main.ts diff --git a/packages/playground/tsconfig-json-load-error/has-error/tsconfig.json b/playground/tsconfig-json-load-error/has-error/tsconfig.json similarity index 100% rename from packages/playground/tsconfig-json-load-error/has-error/tsconfig.json rename to playground/tsconfig-json-load-error/has-error/tsconfig.json diff --git a/packages/playground/tsconfig-json-load-error/index.html b/playground/tsconfig-json-load-error/index.html similarity index 100% rename from packages/playground/tsconfig-json-load-error/index.html rename to playground/tsconfig-json-load-error/index.html diff --git a/packages/playground/tsconfig-json-load-error/package.json b/playground/tsconfig-json-load-error/package.json similarity index 73% rename from packages/playground/tsconfig-json-load-error/package.json rename to playground/tsconfig-json-load-error/package.json index b02c6e5ee5ab53..b518a721d9ee62 100644 --- a/packages/playground/tsconfig-json-load-error/package.json +++ b/playground/tsconfig-json-load-error/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/tsconfig-json-load-error/src/main.ts b/playground/tsconfig-json-load-error/src/main.ts similarity index 100% rename from packages/playground/tsconfig-json-load-error/src/main.ts rename to playground/tsconfig-json-load-error/src/main.ts diff --git a/packages/playground/tsconfig-json-load-error/tsconfig.json b/playground/tsconfig-json-load-error/tsconfig.json similarity index 100% rename from packages/playground/tsconfig-json-load-error/tsconfig.json rename to playground/tsconfig-json-load-error/tsconfig.json diff --git a/packages/playground/tsconfig-json/__tests__/tsconfig-json.spec.ts b/playground/tsconfig-json/__tests__/tsconfig-json.spec.ts similarity index 100% rename from packages/playground/tsconfig-json/__tests__/tsconfig-json.spec.ts rename to playground/tsconfig-json/__tests__/tsconfig-json.spec.ts diff --git a/packages/playground/tsconfig-json/index.html b/playground/tsconfig-json/index.html similarity index 100% rename from packages/playground/tsconfig-json/index.html rename to playground/tsconfig-json/index.html diff --git a/packages/playground/tsconfig-json/nested-with-extends/main.ts b/playground/tsconfig-json/nested-with-extends/main.ts similarity index 100% rename from packages/playground/tsconfig-json/nested-with-extends/main.ts rename to playground/tsconfig-json/nested-with-extends/main.ts diff --git a/packages/playground/tsconfig-json/nested-with-extends/not-used-type.ts b/playground/tsconfig-json/nested-with-extends/not-used-type.ts similarity index 100% rename from packages/playground/tsconfig-json/nested-with-extends/not-used-type.ts rename to playground/tsconfig-json/nested-with-extends/not-used-type.ts diff --git a/packages/playground/tsconfig-json/nested-with-extends/tsconfig.json b/playground/tsconfig-json/nested-with-extends/tsconfig.json similarity index 100% rename from packages/playground/tsconfig-json/nested-with-extends/tsconfig.json rename to playground/tsconfig-json/nested-with-extends/tsconfig.json diff --git a/packages/playground/tsconfig-json/nested/main.ts b/playground/tsconfig-json/nested/main.ts similarity index 100% rename from packages/playground/tsconfig-json/nested/main.ts rename to playground/tsconfig-json/nested/main.ts diff --git a/packages/playground/tsconfig-json/nested/not-used-type.ts b/playground/tsconfig-json/nested/not-used-type.ts similarity index 100% rename from packages/playground/tsconfig-json/nested/not-used-type.ts rename to playground/tsconfig-json/nested/not-used-type.ts diff --git a/packages/playground/tsconfig-json/nested/tsconfig.json b/playground/tsconfig-json/nested/tsconfig.json similarity index 100% rename from packages/playground/tsconfig-json/nested/tsconfig.json rename to playground/tsconfig-json/nested/tsconfig.json diff --git a/packages/playground/tsconfig-json/package.json b/playground/tsconfig-json/package.json similarity index 72% rename from packages/playground/tsconfig-json/package.json rename to playground/tsconfig-json/package.json index c4248463facdb9..f236dbdc5fe77c 100644 --- a/packages/playground/tsconfig-json/package.json +++ b/playground/tsconfig-json/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/tsconfig-json/src/main.ts b/playground/tsconfig-json/src/main.ts similarity index 100% rename from packages/playground/tsconfig-json/src/main.ts rename to playground/tsconfig-json/src/main.ts diff --git a/packages/playground/tsconfig-json/src/not-used-type.ts b/playground/tsconfig-json/src/not-used-type.ts similarity index 100% rename from packages/playground/tsconfig-json/src/not-used-type.ts rename to playground/tsconfig-json/src/not-used-type.ts diff --git a/packages/playground/tsconfig-json/tsconfig.json b/playground/tsconfig-json/tsconfig.json similarity index 100% rename from packages/playground/tsconfig-json/tsconfig.json rename to playground/tsconfig-json/tsconfig.json diff --git a/packages/playground/tsconfig.json b/playground/tsconfig.json similarity index 100% rename from packages/playground/tsconfig.json rename to playground/tsconfig.json diff --git a/packages/playground/vue-jsx/Comp.tsx b/playground/vue-jsx/Comp.tsx similarity index 100% rename from packages/playground/vue-jsx/Comp.tsx rename to playground/vue-jsx/Comp.tsx diff --git a/packages/playground/vue-jsx/Comps.jsx b/playground/vue-jsx/Comps.jsx similarity index 100% rename from packages/playground/vue-jsx/Comps.jsx rename to playground/vue-jsx/Comps.jsx diff --git a/packages/playground/vue-jsx/OtherExt.tesx b/playground/vue-jsx/OtherExt.tesx similarity index 100% rename from packages/playground/vue-jsx/OtherExt.tesx rename to playground/vue-jsx/OtherExt.tesx diff --git a/packages/playground/vue-jsx/Query.jsx b/playground/vue-jsx/Query.jsx similarity index 100% rename from packages/playground/vue-jsx/Query.jsx rename to playground/vue-jsx/Query.jsx diff --git a/packages/playground/vue-jsx/Script.vue b/playground/vue-jsx/Script.vue similarity index 100% rename from packages/playground/vue-jsx/Script.vue rename to playground/vue-jsx/Script.vue diff --git a/packages/playground/vue-jsx/SrcImport.jsx b/playground/vue-jsx/SrcImport.jsx similarity index 100% rename from packages/playground/vue-jsx/SrcImport.jsx rename to playground/vue-jsx/SrcImport.jsx diff --git a/packages/playground/vue-jsx/SrcImport.vue b/playground/vue-jsx/SrcImport.vue similarity index 100% rename from packages/playground/vue-jsx/SrcImport.vue rename to playground/vue-jsx/SrcImport.vue diff --git a/playground/vue-jsx/TsImport.vue b/playground/vue-jsx/TsImport.vue new file mode 100644 index 00000000000000..c63923d51947fa --- /dev/null +++ b/playground/vue-jsx/TsImport.vue @@ -0,0 +1,8 @@ + + + diff --git a/playground/vue-jsx/TsImportFile.ts b/playground/vue-jsx/TsImportFile.ts new file mode 100644 index 00000000000000..62761d5733b432 --- /dev/null +++ b/playground/vue-jsx/TsImportFile.ts @@ -0,0 +1 @@ +export const foo = 'success' diff --git a/packages/playground/vue-jsx/__tests__/vue-jsx.spec.ts b/playground/vue-jsx/__tests__/vue-jsx.spec.ts similarity index 98% rename from packages/playground/vue-jsx/__tests__/vue-jsx.spec.ts rename to playground/vue-jsx/__tests__/vue-jsx.spec.ts index 999fdc19af51ec..275c918684119d 100644 --- a/packages/playground/vue-jsx/__tests__/vue-jsx.spec.ts +++ b/playground/vue-jsx/__tests__/vue-jsx.spec.ts @@ -9,6 +9,7 @@ test('should render', async () => { expect(await page.textContent('.src-import')).toMatch('5') expect(await page.textContent('.jsx-with-query')).toMatch('6') expect(await page.textContent('.other-ext')).toMatch('Other Ext') + expect(await page.textContent('.ts-import')).toMatch('success') }) test('should update', async () => { diff --git a/packages/playground/vue-jsx/index.html b/playground/vue-jsx/index.html similarity index 100% rename from packages/playground/vue-jsx/index.html rename to playground/vue-jsx/index.html diff --git a/packages/playground/vue-jsx/main.jsx b/playground/vue-jsx/main.jsx similarity index 92% rename from packages/playground/vue-jsx/main.jsx rename to playground/vue-jsx/main.jsx index e304e7788e49e7..f13e60c45367c0 100644 --- a/packages/playground/vue-jsx/main.jsx +++ b/playground/vue-jsx/main.jsx @@ -7,6 +7,7 @@ import JsxSrcImport from './SrcImport.vue' import JsxSetupSyntax from './setup-syntax-jsx.vue' // eslint-disable-next-line import JsxWithQuery from './Query.jsx?query=true' +import TsImport from './TsImport.vue' function App() { return ( @@ -20,6 +21,7 @@ function App() { + ) } diff --git a/packages/playground/vue-jsx/package.json b/playground/vue-jsx/package.json similarity index 78% rename from packages/playground/vue-jsx/package.json rename to playground/vue-jsx/package.json index 4b2135906b2833..697b9f312fd9b1 100644 --- a/packages/playground/vue-jsx/package.json +++ b/playground/vue-jsx/package.json @@ -5,11 +5,11 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { - "vue": "^3.2.25" + "vue": "^3.2.33" }, "devDependencies": { "@vitejs/plugin-vue": "workspace:*", diff --git a/packages/playground/vue-jsx/setup-syntax-jsx.vue b/playground/vue-jsx/setup-syntax-jsx.vue similarity index 100% rename from packages/playground/vue-jsx/setup-syntax-jsx.vue rename to playground/vue-jsx/setup-syntax-jsx.vue diff --git a/packages/playground/vue-jsx/vite.config.js b/playground/vue-jsx/vite.config.js similarity index 94% rename from packages/playground/vue-jsx/vite.config.js rename to playground/vue-jsx/vite.config.js index d6eb84e05f4e4a..2f4ea255c95094 100644 --- a/packages/playground/vue-jsx/vite.config.js +++ b/playground/vue-jsx/vite.config.js @@ -35,5 +35,8 @@ export default defineComponent(() => { build: { // to make tests faster minify: false + }, + optimizeDeps: { + disabled: true } } diff --git a/packages/playground/vue-lib/__tests__/serve.js b/playground/vue-lib/__tests__/serve.js similarity index 100% rename from packages/playground/vue-lib/__tests__/serve.js rename to playground/vue-lib/__tests__/serve.js diff --git a/packages/playground/vue-lib/__tests__/vue-lib.spec.ts b/playground/vue-lib/__tests__/vue-lib.spec.ts similarity index 100% rename from packages/playground/vue-lib/__tests__/vue-lib.spec.ts rename to playground/vue-lib/__tests__/vue-lib.spec.ts diff --git a/packages/playground/vue-lib/index.html b/playground/vue-lib/index.html similarity index 100% rename from packages/playground/vue-lib/index.html rename to playground/vue-lib/index.html diff --git a/packages/playground/vue-lib/package.json b/playground/vue-lib/package.json similarity index 94% rename from packages/playground/vue-lib/package.json rename to playground/vue-lib/package.json index df82cf48b62a9c..684e5ea83cb429 100644 --- a/packages/playground/vue-lib/package.json +++ b/playground/vue-lib/package.json @@ -8,7 +8,7 @@ "build-consumer": "vite build --config ./vite.config.consumer.ts" }, "dependencies": { - "vue": "^3.2.25" + "vue": "^3.2.33" }, "devDependencies": { "@vitejs/plugin-vue": "workspace:*" diff --git a/packages/playground/vue-lib/src-consumer/index.ts b/playground/vue-lib/src-consumer/index.ts similarity index 100% rename from packages/playground/vue-lib/src-consumer/index.ts rename to playground/vue-lib/src-consumer/index.ts diff --git a/packages/playground/vue-lib/src-lib/CompA.vue b/playground/vue-lib/src-lib/CompA.vue similarity index 100% rename from packages/playground/vue-lib/src-lib/CompA.vue rename to playground/vue-lib/src-lib/CompA.vue diff --git a/packages/playground/vue-lib/src-lib/CompB.vue b/playground/vue-lib/src-lib/CompB.vue similarity index 100% rename from packages/playground/vue-lib/src-lib/CompB.vue rename to playground/vue-lib/src-lib/CompB.vue diff --git a/packages/playground/vue-lib/src-lib/index.ts b/playground/vue-lib/src-lib/index.ts similarity index 100% rename from packages/playground/vue-lib/src-lib/index.ts rename to playground/vue-lib/src-lib/index.ts diff --git a/packages/playground/vue-lib/vite.config.consumer.ts b/playground/vue-lib/vite.config.consumer.ts similarity index 100% rename from packages/playground/vue-lib/vite.config.consumer.ts rename to playground/vue-lib/vite.config.consumer.ts diff --git a/packages/playground/vue-lib/vite.config.lib.ts b/playground/vue-lib/vite.config.lib.ts similarity index 89% rename from packages/playground/vue-lib/vite.config.lib.ts rename to playground/vue-lib/vite.config.lib.ts index a888382d008a8c..0cc082c7ceea85 100644 --- a/packages/playground/vue-lib/vite.config.lib.ts +++ b/playground/vue-lib/vite.config.lib.ts @@ -10,7 +10,7 @@ export default defineConfig({ entry: path.resolve(__dirname, 'src-lib/index.ts'), name: 'MyVueLib', formats: ['es'], - fileName: (format) => `my-vue-lib.${format}.js` + fileName: 'my-vue-lib' }, rollupOptions: { external: ['vue'], diff --git a/packages/playground/vue-sourcemap/Css.vue b/playground/vue-sourcemap/Css.vue similarity index 63% rename from packages/playground/vue-sourcemap/Css.vue rename to playground/vue-sourcemap/Css.vue index 19668de8d33965..4f677c7b84dfbd 100644 --- a/packages/playground/vue-sourcemap/Css.vue +++ b/playground/vue-sourcemap/Css.vue @@ -2,6 +2,7 @@

<css>

<css> module

<css> scoped

+

<css> scoped with nested

+ + diff --git a/packages/playground/vue-sourcemap/Js.vue b/playground/vue-sourcemap/Js.vue similarity index 100% rename from packages/playground/vue-sourcemap/Js.vue rename to playground/vue-sourcemap/Js.vue diff --git a/packages/playground/vue-sourcemap/Less.vue b/playground/vue-sourcemap/Less.vue similarity index 100% rename from packages/playground/vue-sourcemap/Less.vue rename to playground/vue-sourcemap/Less.vue diff --git a/packages/playground/vue-sourcemap/Main.vue b/playground/vue-sourcemap/Main.vue similarity index 100% rename from packages/playground/vue-sourcemap/Main.vue rename to playground/vue-sourcemap/Main.vue diff --git a/packages/playground/vue-sourcemap/Sass.vue b/playground/vue-sourcemap/Sass.vue similarity index 100% rename from packages/playground/vue-sourcemap/Sass.vue rename to playground/vue-sourcemap/Sass.vue diff --git a/packages/playground/vue-sourcemap/SassWithImport.vue b/playground/vue-sourcemap/SassWithImport.vue similarity index 100% rename from packages/playground/vue-sourcemap/SassWithImport.vue rename to playground/vue-sourcemap/SassWithImport.vue diff --git a/packages/playground/vue-sourcemap/Ts.vue b/playground/vue-sourcemap/Ts.vue similarity index 100% rename from packages/playground/vue-sourcemap/Ts.vue rename to playground/vue-sourcemap/Ts.vue diff --git a/packages/playground/vue-sourcemap/__tests__/build.spec.ts b/playground/vue-sourcemap/__tests__/build.spec.ts similarity index 100% rename from packages/playground/vue-sourcemap/__tests__/build.spec.ts rename to playground/vue-sourcemap/__tests__/build.spec.ts diff --git a/packages/playground/vue-sourcemap/__tests__/serve.spec.ts b/playground/vue-sourcemap/__tests__/serve.spec.ts similarity index 90% rename from packages/playground/vue-sourcemap/__tests__/serve.spec.ts rename to playground/vue-sourcemap/__tests__/serve.spec.ts index 08b4c04face111..7dfa271deea322 100644 --- a/packages/playground/vue-sourcemap/__tests__/serve.spec.ts +++ b/playground/vue-sourcemap/__tests__/serve.spec.ts @@ -80,7 +80,7 @@ if (!isBuild) { const map = extractSourcemap(css) expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` Object { - "mappings": ";AAOA;EACE,UAAU;AACZ", + "mappings": ";AAQA;EACE,UAAU;AACZ", "sources": Array [ "/root/Css.vue", ], @@ -89,6 +89,7 @@ if (!isBuild) {

<css>

<css> module

<css> scoped

+

<css> scoped with nested

+ + ", ], "version": 3, @@ -120,7 +131,7 @@ if (!isBuild) { const map = extractSourcemap(css) expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` Object { - "mappings": ";AAaA;EACE,UAAU;AACZ", + "mappings": ";AAcA;EACE,UAAU;AACZ", "sources": Array [ "/root/Css.vue", ], @@ -129,6 +140,7 @@ if (!isBuild) {

<css>

<css> module

<css> scoped

+

<css> scoped with nested

+ + ", ], "version": 3, @@ -160,7 +182,7 @@ if (!isBuild) { const map = extractSourcemap(css) expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` Object { - "mappings": ";AAmBA;EACE,UAAU;AACZ", + "mappings": ";AAoBA;EACE,UAAU;AACZ", "sources": Array [ "/root/Css.vue", ], @@ -169,6 +191,7 @@ if (!isBuild) {

<css>

<css> module

<css> scoped

+

<css> scoped with nested

+ + ", ], "version": 3, diff --git a/packages/playground/vue-sourcemap/index.html b/playground/vue-sourcemap/index.html similarity index 100% rename from packages/playground/vue-sourcemap/index.html rename to playground/vue-sourcemap/index.html diff --git a/packages/playground/vue-sourcemap/package.json b/playground/vue-sourcemap/package.json similarity index 67% rename from packages/playground/vue-sourcemap/package.json rename to playground/vue-sourcemap/package.json index 286940b01efa58..55b4deef42c77d 100644 --- a/packages/playground/vue-sourcemap/package.json +++ b/playground/vue-sourcemap/package.json @@ -5,15 +5,16 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "devDependencies": { "@vitejs/plugin-vue": "workspace:*", "less": "^4.1.2", - "sass": "^1.43.4" + "postcss-nested": "^5.0.6", + "sass": "^1.51.0" }, "dependencies": { - "vue": "^3.2.31" + "vue": "^3.2.33" } } diff --git a/playground/vue-sourcemap/postcss.config.js b/playground/vue-sourcemap/postcss.config.js new file mode 100644 index 00000000000000..9ea26b495d91b5 --- /dev/null +++ b/playground/vue-sourcemap/postcss.config.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [require('postcss-nested')] +} diff --git a/packages/playground/vue-sourcemap/sassWithImportImported.sass b/playground/vue-sourcemap/sassWithImportImported.sass similarity index 100% rename from packages/playground/vue-sourcemap/sassWithImportImported.sass rename to playground/vue-sourcemap/sassWithImportImported.sass diff --git a/packages/playground/vue-sourcemap/src-import/SrcImport.vue b/playground/vue-sourcemap/src-import/SrcImport.vue similarity index 100% rename from packages/playground/vue-sourcemap/src-import/SrcImport.vue rename to playground/vue-sourcemap/src-import/SrcImport.vue diff --git a/packages/playground/vue-sourcemap/src-import/src-import-imported.sass b/playground/vue-sourcemap/src-import/src-import-imported.sass similarity index 100% rename from packages/playground/vue-sourcemap/src-import/src-import-imported.sass rename to playground/vue-sourcemap/src-import/src-import-imported.sass diff --git a/packages/playground/vue-sourcemap/src-import/src-import.css b/playground/vue-sourcemap/src-import/src-import.css similarity index 100% rename from packages/playground/vue-sourcemap/src-import/src-import.css rename to playground/vue-sourcemap/src-import/src-import.css diff --git a/packages/playground/vue-sourcemap/src-import/src-import.sass b/playground/vue-sourcemap/src-import/src-import.sass similarity index 100% rename from packages/playground/vue-sourcemap/src-import/src-import.sass rename to playground/vue-sourcemap/src-import/src-import.sass diff --git a/packages/playground/vue-sourcemap/vite.config.js b/playground/vue-sourcemap/vite.config.js similarity index 100% rename from packages/playground/vue-sourcemap/vite.config.js rename to playground/vue-sourcemap/vite.config.js diff --git a/packages/playground/vue/Assets.vue b/playground/vue/Assets.vue similarity index 100% rename from packages/playground/vue/Assets.vue rename to playground/vue/Assets.vue diff --git a/packages/playground/vue/AsyncComponent.vue b/playground/vue/AsyncComponent.vue similarity index 100% rename from packages/playground/vue/AsyncComponent.vue rename to playground/vue/AsyncComponent.vue diff --git a/packages/playground/vue/CssModules.vue b/playground/vue/CssModules.vue similarity index 100% rename from packages/playground/vue/CssModules.vue rename to playground/vue/CssModules.vue diff --git a/packages/playground/vue/CustomBlock.vue b/playground/vue/CustomBlock.vue similarity index 100% rename from packages/playground/vue/CustomBlock.vue rename to playground/vue/CustomBlock.vue diff --git a/packages/playground/vue/CustomBlockPlugin.ts b/playground/vue/CustomBlockPlugin.ts similarity index 100% rename from packages/playground/vue/CustomBlockPlugin.ts rename to playground/vue/CustomBlockPlugin.ts diff --git a/packages/playground/vue/CustomElement.ce.vue b/playground/vue/CustomElement.ce.vue similarity index 100% rename from packages/playground/vue/CustomElement.ce.vue rename to playground/vue/CustomElement.ce.vue diff --git a/packages/playground/vue/Hmr.vue b/playground/vue/Hmr.vue similarity index 100% rename from packages/playground/vue/Hmr.vue rename to playground/vue/Hmr.vue diff --git a/packages/playground/vue/Main.vue b/playground/vue/Main.vue similarity index 96% rename from packages/playground/vue/Main.vue rename to playground/vue/Main.vue index 87319acdf6f736..c5f3d27402fda7 100644 --- a/packages/playground/vue/Main.vue +++ b/playground/vue/Main.vue @@ -15,6 +15,7 @@
this should be red
+ @@ -33,6 +34,7 @@ import CustomBlock from './CustomBlock.vue' import SrcImport from './src-import/SrcImport.vue' import Slotted from './Slotted.vue' import ScanDep from './ScanDep.vue' +import TsImport from './TsImport.vue' import AsyncComponent from './AsyncComponent.vue' import ReactivityTransform from './ReactivityTransform.vue' import SetupImportTemplate from './setup-import-template/SetupImportTemplate.vue' diff --git a/packages/playground/vue/Node.vue b/playground/vue/Node.vue similarity index 100% rename from packages/playground/vue/Node.vue rename to playground/vue/Node.vue diff --git a/packages/playground/vue/PreProcessors.vue b/playground/vue/PreProcessors.vue similarity index 100% rename from packages/playground/vue/PreProcessors.vue rename to playground/vue/PreProcessors.vue diff --git a/packages/playground/vue/ReactivityTransform.vue b/playground/vue/ReactivityTransform.vue similarity index 100% rename from packages/playground/vue/ReactivityTransform.vue rename to playground/vue/ReactivityTransform.vue diff --git a/packages/playground/vue/ScanDep.vue b/playground/vue/ScanDep.vue similarity index 100% rename from packages/playground/vue/ScanDep.vue rename to playground/vue/ScanDep.vue diff --git a/packages/playground/vue/Slotted.vue b/playground/vue/Slotted.vue similarity index 100% rename from packages/playground/vue/Slotted.vue rename to playground/vue/Slotted.vue diff --git a/packages/playground/vue/Syntax.vue b/playground/vue/Syntax.vue similarity index 100% rename from packages/playground/vue/Syntax.vue rename to playground/vue/Syntax.vue diff --git a/playground/vue/TsImport.vue b/playground/vue/TsImport.vue new file mode 100644 index 00000000000000..986c383b2b9f4b --- /dev/null +++ b/playground/vue/TsImport.vue @@ -0,0 +1,8 @@ + + + diff --git a/playground/vue/TsImportFile.ts b/playground/vue/TsImportFile.ts new file mode 100644 index 00000000000000..62761d5733b432 --- /dev/null +++ b/playground/vue/TsImportFile.ts @@ -0,0 +1 @@ +export const foo = 'success' diff --git a/packages/playground/vue/__tests__/vue.spec.ts b/playground/vue/__tests__/vue.spec.ts similarity index 98% rename from packages/playground/vue/__tests__/vue.spec.ts rename to playground/vue/__tests__/vue.spec.ts index 025c05f53e8688..0bce5d1e1a03f5 100644 --- a/packages/playground/vue/__tests__/vue.spec.ts +++ b/playground/vue/__tests__/vue.spec.ts @@ -14,6 +14,10 @@ test('template/script latest syntax support', async () => { expect(await page.textContent('.syntax')).toBe('baz') }) +test('import ts with .js extension with lang="ts"', async () => { + expect(await page.textContent('.ts-import')).toBe('success') +}) + test('should remove comments in prod', async () => { expect(await page.innerHTML('.comments')).toBe(isBuild ? `` : ``) }) diff --git a/packages/playground/vue/assets/asset.png b/playground/vue/assets/asset.png similarity index 100% rename from packages/playground/vue/assets/asset.png rename to playground/vue/assets/asset.png diff --git a/packages/playground/vue/assets/fragment.svg b/playground/vue/assets/fragment.svg similarity index 100% rename from packages/playground/vue/assets/fragment.svg rename to playground/vue/assets/fragment.svg diff --git a/packages/playground/vue/index.html b/playground/vue/index.html similarity index 100% rename from packages/playground/vue/index.html rename to playground/vue/index.html diff --git a/packages/playground/vue/package.json b/playground/vue/package.json similarity index 77% rename from packages/playground/vue/package.json rename to playground/vue/package.json index f493e9028b6ec3..2c228798e641da 100644 --- a/packages/playground/vue/package.json +++ b/playground/vue/package.json @@ -5,19 +5,19 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, "dependencies": { "lodash-es": "^4.17.21", - "vue": "^3.2.25" + "vue": "^3.2.33" }, "devDependencies": { "@vitejs/plugin-vue": "workspace:*", "js-yaml": "^4.1.0", "less": "^4.1.2", "pug": "^3.0.2", - "sass": "^1.43.4", + "sass": "^1.51.0", "stylus": "^0.55.0" } } diff --git a/packages/playground/vue/public/favicon.ico b/playground/vue/public/favicon.ico similarity index 100% rename from packages/playground/vue/public/favicon.ico rename to playground/vue/public/favicon.ico diff --git a/playground/vue/public/icon.png b/playground/vue/public/icon.png new file mode 100644 index 00000000000000..4388bfdca3d4d7 Binary files /dev/null and b/playground/vue/public/icon.png differ diff --git a/packages/playground/vue/setup-import-template/SetupImportTemplate.vue b/playground/vue/setup-import-template/SetupImportTemplate.vue similarity index 100% rename from packages/playground/vue/setup-import-template/SetupImportTemplate.vue rename to playground/vue/setup-import-template/SetupImportTemplate.vue diff --git a/packages/playground/vue/setup-import-template/template.html b/playground/vue/setup-import-template/template.html similarity index 100% rename from packages/playground/vue/setup-import-template/template.html rename to playground/vue/setup-import-template/template.html diff --git a/packages/playground/vue/src-import/SrcImport.vue b/playground/vue/src-import/SrcImport.vue similarity index 100% rename from packages/playground/vue/src-import/SrcImport.vue rename to playground/vue/src-import/SrcImport.vue diff --git a/packages/playground/vue/src-import/script.ts b/playground/vue/src-import/script.ts similarity index 100% rename from packages/playground/vue/src-import/script.ts rename to playground/vue/src-import/script.ts diff --git a/packages/playground/vue/src-import/srcImportStyle.vue b/playground/vue/src-import/srcImportStyle.vue similarity index 100% rename from packages/playground/vue/src-import/srcImportStyle.vue rename to playground/vue/src-import/srcImportStyle.vue diff --git a/packages/playground/vue/src-import/srcImportStyle2.vue b/playground/vue/src-import/srcImportStyle2.vue similarity index 100% rename from packages/playground/vue/src-import/srcImportStyle2.vue rename to playground/vue/src-import/srcImportStyle2.vue diff --git a/packages/playground/vue/src-import/style.css b/playground/vue/src-import/style.css similarity index 100% rename from packages/playground/vue/src-import/style.css rename to playground/vue/src-import/style.css diff --git a/packages/playground/vue/src-import/style2.css b/playground/vue/src-import/style2.css similarity index 100% rename from packages/playground/vue/src-import/style2.css rename to playground/vue/src-import/style2.css diff --git a/packages/playground/vue/src-import/template.html b/playground/vue/src-import/template.html similarity index 100% rename from packages/playground/vue/src-import/template.html rename to playground/vue/src-import/template.html diff --git a/packages/playground/vue/vite.config.ts b/playground/vue/vite.config.ts similarity index 100% rename from packages/playground/vue/vite.config.ts rename to playground/vue/vite.config.ts diff --git a/packages/playground/vue/worker.vue b/playground/vue/worker.vue similarity index 100% rename from packages/playground/vue/worker.vue rename to playground/vue/worker.vue diff --git a/packages/playground/vue/workerTest.js b/playground/vue/workerTest.js similarity index 100% rename from packages/playground/vue/workerTest.js rename to playground/vue/workerTest.js diff --git a/packages/playground/wasm/__tests__/wasm.spec.ts b/playground/wasm/__tests__/wasm.spec.ts similarity index 100% rename from packages/playground/wasm/__tests__/wasm.spec.ts rename to playground/wasm/__tests__/wasm.spec.ts diff --git a/packages/playground/wasm/add.wasm b/playground/wasm/add.wasm similarity index 100% rename from packages/playground/wasm/add.wasm rename to playground/wasm/add.wasm diff --git a/packages/playground/wasm/heavy.wasm b/playground/wasm/heavy.wasm similarity index 100% rename from packages/playground/wasm/heavy.wasm rename to playground/wasm/heavy.wasm diff --git a/packages/playground/wasm/heavy.wasm.map b/playground/wasm/heavy.wasm.map similarity index 100% rename from packages/playground/wasm/heavy.wasm.map rename to playground/wasm/heavy.wasm.map diff --git a/packages/playground/wasm/index.html b/playground/wasm/index.html similarity index 100% rename from packages/playground/wasm/index.html rename to playground/wasm/index.html diff --git a/packages/playground/wasm/light.wasm b/playground/wasm/light.wasm similarity index 100% rename from packages/playground/wasm/light.wasm rename to playground/wasm/light.wasm diff --git a/packages/playground/wasm/package.json b/playground/wasm/package.json similarity index 71% rename from packages/playground/wasm/package.json rename to playground/wasm/package.json index 9d903be37887b8..bd9c954441f73e 100644 --- a/packages/playground/wasm/package.json +++ b/playground/wasm/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "debug": "node --inspect-brk ../../vite/bin/vite", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" } } diff --git a/packages/playground/wasm/vite.config.ts b/playground/wasm/vite.config.ts similarity index 100% rename from packages/playground/wasm/vite.config.ts rename to playground/wasm/vite.config.ts diff --git a/packages/playground/wasm/worker.js b/playground/wasm/worker.js similarity index 100% rename from packages/playground/wasm/worker.js rename to playground/wasm/worker.js diff --git a/packages/playground/worker/__tests__/es/es-worker.spec.ts b/playground/worker/__tests__/es/es-worker.spec.ts similarity index 78% rename from packages/playground/worker/__tests__/es/es-worker.spec.ts rename to playground/worker/__tests__/es/es-worker.spec.ts index c7fd0d6c19e4bc..61215f931c77dc 100644 --- a/packages/playground/worker/__tests__/es/es-worker.spec.ts +++ b/playground/worker/__tests__/es/es-worker.spec.ts @@ -51,8 +51,12 @@ test.concurrent.each([[true], [false]])('shared worker', async (doTick) => { await waitSharedWorkerTick(page) }) -test('worker emitted', async () => { - await untilUpdated(() => page.textContent('.nested-worker'), 'pong') +test('worker emitted and import.meta.url in nested worker (serve)', async () => { + expect(await page.textContent('.nested-worker')).toMatch('/worker-nested') + expect(await page.textContent('.nested-worker-module')).toMatch('/sub-worker') + expect(await page.textContent('.nested-worker-constructor')).toMatch( + '"type":"constructor"' + ) }) if (isBuild) { @@ -60,7 +64,7 @@ if (isBuild) { // assert correct files test('inlined code generation', async () => { const files = fs.readdirSync(assetsDir) - expect(files.length).toBe(22) + expect(files.length).toBe(26) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const worker = files.find((f) => f.includes('my-worker')) @@ -79,6 +83,15 @@ if (isBuild) { expect(content).toMatch(`(window.URL||window.webkitURL).createObjectURL`) expect(content).toMatch(`window.Blob`) }) + + test('worker emitted and import.meta.url in nested worker (build)', async () => { + expect(await page.textContent('.nested-worker-module')).toMatch( + '"type":"module"' + ) + expect(await page.textContent('.nested-worker-constructor')).toMatch( + '"type":"constructor"' + ) + }) } test('module worker', async () => { @@ -100,3 +113,11 @@ test('emit chunk', async () => { '"A string/es/"' ) }) + +test('import.meta.glob in worker', async () => { + expect(await page.textContent('.importMetaGlob-worker')).toMatch('["') +}) + +test('import.meta.glob with eager in worker', async () => { + expect(await page.textContent('.importMetaGlobEager-worker')).toMatch('["') +}) diff --git a/packages/playground/worker/__tests__/es/vite.config.js b/playground/worker/__tests__/es/vite.config.js similarity index 100% rename from packages/playground/worker/__tests__/es/vite.config.js rename to playground/worker/__tests__/es/vite.config.js diff --git a/packages/playground/worker/__tests__/iife/vite.config.js b/playground/worker/__tests__/iife/vite.config.js similarity index 100% rename from packages/playground/worker/__tests__/iife/vite.config.js rename to playground/worker/__tests__/iife/vite.config.js diff --git a/packages/playground/worker/__tests__/iife/worker.spec.ts b/playground/worker/__tests__/iife/worker.spec.ts similarity index 78% rename from packages/playground/worker/__tests__/iife/worker.spec.ts rename to playground/worker/__tests__/iife/worker.spec.ts index fa9f72fe76131c..f49666e4918a25 100644 --- a/packages/playground/worker/__tests__/iife/worker.spec.ts +++ b/playground/worker/__tests__/iife/worker.spec.ts @@ -51,10 +51,11 @@ test.concurrent.each([[true], [false]])('shared worker', async (doTick) => { await waitSharedWorkerTick(page) }) -test('worker emitted and import.meta.url in nested worker', async () => { - await untilUpdated( - () => page.textContent('.nested-worker'), - 'pong http://localhost:3000/iife/sub-worker.js?worker_file' +test('worker emitted and import.meta.url in nested worker (serve)', async () => { + expect(await page.textContent('.nested-worker')).toMatch('/worker-nested') + expect(await page.textContent('.nested-worker-module')).toMatch('/sub-worker') + expect(await page.textContent('.nested-worker-constructor')).toMatch( + '"type":"constructor"' ) }) @@ -82,6 +83,15 @@ if (isBuild) { expect(content).toMatch(`(window.URL||window.webkitURL).createObjectURL`) expect(content).toMatch(`window.Blob`) }) + + test('worker emitted and import.meta.url in nested worker (build)', async () => { + expect(await page.textContent('.nested-worker-module')).toMatch( + '"type":"module"' + ) + expect(await page.textContent('.nested-worker-constructor')).toMatch( + '"type":"constructor"' + ) + }) } test('module worker', async () => { @@ -94,3 +104,7 @@ test('classic worker', async () => { expect(await page.textContent('.classic-worker')).toMatch('A classic') expect(await page.textContent('.classic-shared-worker')).toMatch('A classic') }) + +test('import.meta.glob eager in worker', async () => { + expect(await page.textContent('.importMetaGlobEager-worker')).toMatch('["') +}) diff --git a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts b/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts similarity index 99% rename from packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts rename to playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts index d846a5de2311d0..e4cb3318ebd5f5 100644 --- a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts +++ b/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(25) + expect(files.length).toBe(26) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/__tests__/sourcemap-hidden/vite.config.js b/playground/worker/__tests__/sourcemap-hidden/vite.config.js similarity index 100% rename from packages/playground/worker/__tests__/sourcemap-hidden/vite.config.js rename to playground/worker/__tests__/sourcemap-hidden/vite.config.js diff --git a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts b/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts similarity index 100% rename from packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts rename to playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts diff --git a/packages/playground/worker/__tests__/sourcemap-inline/vite.config.js b/playground/worker/__tests__/sourcemap-inline/vite.config.js similarity index 100% rename from packages/playground/worker/__tests__/sourcemap-inline/vite.config.js rename to playground/worker/__tests__/sourcemap-inline/vite.config.js diff --git a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts b/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts similarity index 99% rename from packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts rename to playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts index 54e4f1cb9f2d58..04cc079b4bc289 100644 --- a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts +++ b/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(25) + expect(files.length).toBe(26) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/__tests__/sourcemap/vite.config.js b/playground/worker/__tests__/sourcemap/vite.config.js similarity index 100% rename from packages/playground/worker/__tests__/sourcemap/vite.config.js rename to playground/worker/__tests__/sourcemap/vite.config.js diff --git a/packages/playground/worker/classic-shared-worker.js b/playground/worker/classic-shared-worker.js similarity index 74% rename from packages/playground/worker/classic-shared-worker.js rename to playground/worker/classic-shared-worker.js index 8bd39e194f0618..e629208f05cf0a 100644 --- a/packages/playground/worker/classic-shared-worker.js +++ b/playground/worker/classic-shared-worker.js @@ -4,3 +4,6 @@ self.onconnect = (event) => { const port = event.ports[0] port.postMessage(self.constant) } + +// for sourcemap +console.log('classic-shared-worker.js') diff --git a/packages/playground/worker/classic-worker.js b/playground/worker/classic-worker.js similarity index 74% rename from packages/playground/worker/classic-worker.js rename to playground/worker/classic-worker.js index 0700428ee0c80b..238857acf00a58 100644 --- a/packages/playground/worker/classic-worker.js +++ b/playground/worker/classic-worker.js @@ -3,3 +3,6 @@ importScripts(`/${self.location.pathname.split("/")[1]}/classic.js`) self.addEventListener('message', () => { self.postMessage(self.constant) }) + +// for sourcemap +console.log("classic-worker.js") diff --git a/playground/worker/emit-chunk-dynamic-import-worker.js b/playground/worker/emit-chunk-dynamic-import-worker.js new file mode 100644 index 00000000000000..9c3ede1faa2ed9 --- /dev/null +++ b/playground/worker/emit-chunk-dynamic-import-worker.js @@ -0,0 +1,6 @@ +import('./modules/module0').then((module) => { + self.postMessage(module.default + import.meta.env.BASE_URL) +}) + +// for sourcemap +console.log('emit-chunk-dynamic-import-worker.js') diff --git a/packages/playground/worker/emit-chunk-nested-worker.js b/playground/worker/emit-chunk-nested-worker.js similarity index 90% rename from packages/playground/worker/emit-chunk-nested-worker.js rename to playground/worker/emit-chunk-nested-worker.js index 6cb72b9488cfaf..629322033f3d9b 100644 --- a/packages/playground/worker/emit-chunk-nested-worker.js +++ b/playground/worker/emit-chunk-nested-worker.js @@ -26,3 +26,6 @@ import('./module-and-worker').then((res) => { data: res.module }) }) + +// for sourcemap +console.log('emit-chunk-nested-worker.js') diff --git a/packages/playground/worker/emit-chunk-sub-worker.js b/playground/worker/emit-chunk-sub-worker.js similarity index 78% rename from packages/playground/worker/emit-chunk-sub-worker.js rename to playground/worker/emit-chunk-sub-worker.js index 5d20becc781dd7..60d302e20bbb8a 100644 --- a/packages/playground/worker/emit-chunk-sub-worker.js +++ b/playground/worker/emit-chunk-sub-worker.js @@ -6,3 +6,6 @@ Promise.all([ const _data = { ...data[0], ...data[1], ...data[2] } self.postMessage(_data) }) + +// for sourcemap +console.log('emit-chunk-sub-worker.js') diff --git a/playground/worker/importMetaGlob.worker.js b/playground/worker/importMetaGlob.worker.js new file mode 100644 index 00000000000000..074a986c9bd808 --- /dev/null +++ b/playground/worker/importMetaGlob.worker.js @@ -0,0 +1,8 @@ +const modules = import.meta.glob('./modules/*js') + +self.onmessage = function (e) { + self.postMessage(Object.keys(modules)) +} + +// for sourcemap +console.log('importMetaGlob.worker.js') diff --git a/playground/worker/importMetaGlobEager.worker.js b/playground/worker/importMetaGlobEager.worker.js new file mode 100644 index 00000000000000..23245818ee7485 --- /dev/null +++ b/playground/worker/importMetaGlobEager.worker.js @@ -0,0 +1,8 @@ +const modules = import.meta.glob('./modules/*js', { eager: true }) + +self.onmessage = function (e) { + self.postMessage(Object.keys(modules)) +} + +// for sourcemap +console.log('importMetaGlobEager.worker.js') diff --git a/packages/playground/worker/index.html b/playground/worker/index.html similarity index 78% rename from packages/playground/worker/index.html rename to playground/worker/index.html index 602aa3d06bfcac..eae8c44119e3a6 100644 --- a/packages/playground/worker/index.html +++ b/playground/worker/index.html @@ -40,11 +40,25 @@

format iife:

- import NestedWorker from './worker-nested-worker?worker' - nested worker + import NestedWorker from './worker-nested-worker?worker' - import.meta.url .nested-worker

+

+ import NestedWorker from './worker-nested-worker?worker' - nested module + worker + .nested-worker-module +

+ + +

+ import NestedWorker from './worker-nested-worker?worker' - nested worker + constructor + .nested-worker-constructor +

+ +

new Worker(new URL('./classic-worker.js', import.meta.url)) .classic-worker @@ -58,9 +72,22 @@

format iife:

+

+ use import.meta.glob with eager in iife worker + .importMetaGlobEager-worker +

+ +
+

+

+ use import.meta.glob in es worker + .importMetaGlob-worker +

+ +

worker emit chunk
module and worker:worker in worker file
diff --git a/playground/worker/module-and-worker.js b/playground/worker/module-and-worker.js new file mode 100644 index 00000000000000..036dcdf4edf11d --- /dev/null +++ b/playground/worker/module-and-worker.js @@ -0,0 +1,8 @@ +import constant from './modules/module0' + +self.postMessage(constant) + +export const module = 'module and worker' + +// for sourcemap +console.log('module-and-worker.js') diff --git a/packages/playground/worker/modules/module.js b/playground/worker/modules/module0.js similarity index 100% rename from packages/playground/worker/modules/module.js rename to playground/worker/modules/module0.js diff --git a/packages/playground/worker/modules/module1.js b/playground/worker/modules/module1.js similarity index 100% rename from packages/playground/worker/modules/module1.js rename to playground/worker/modules/module1.js diff --git a/packages/playground/worker/modules/module2.js b/playground/worker/modules/module2.js similarity index 68% rename from packages/playground/worker/modules/module2.js rename to playground/worker/modules/module2.js index 60447933b8b16e..70c0fc94586ffd 100644 --- a/packages/playground/worker/modules/module2.js +++ b/playground/worker/modules/module2.js @@ -1,3 +1,3 @@ -export * from './module' +export * from './module0' export * from './module1' export const msg2 = 'module2' diff --git a/packages/playground/worker/modules/module3.js b/playground/worker/modules/module3.js similarity index 53% rename from packages/playground/worker/modules/module3.js rename to playground/worker/modules/module3.js index 33355423bc030e..65f7e274da3242 100644 --- a/packages/playground/worker/modules/module3.js +++ b/playground/worker/modules/module3.js @@ -1,2 +1,2 @@ -export * from './module' +export * from './module0' export const msg3 = 'module3' diff --git a/packages/playground/worker/modules/test-plugin.tsx b/playground/worker/modules/test-plugin.tsx similarity index 100% rename from packages/playground/worker/modules/test-plugin.tsx rename to playground/worker/modules/test-plugin.tsx diff --git a/packages/playground/worker/modules/workerImport.js b/playground/worker/modules/workerImport.js similarity index 100% rename from packages/playground/worker/modules/workerImport.js rename to playground/worker/modules/workerImport.js diff --git a/packages/playground/worker/my-shared-worker.ts b/playground/worker/my-shared-worker.ts similarity index 84% rename from packages/playground/worker/my-shared-worker.ts rename to playground/worker/my-shared-worker.ts index cd5b24f265b955..caab5257394266 100644 --- a/packages/playground/worker/my-shared-worker.ts +++ b/playground/worker/my-shared-worker.ts @@ -14,3 +14,6 @@ onconnect = (event) => { } } } + +// for sourcemap +console.log('my-shared-worker.js') diff --git a/packages/playground/worker/my-worker.ts b/playground/worker/my-worker.ts similarity index 82% rename from packages/playground/worker/my-worker.ts rename to playground/worker/my-worker.ts index dd6061885128c7..553754f4901030 100644 --- a/packages/playground/worker/my-worker.ts +++ b/playground/worker/my-worker.ts @@ -6,3 +6,6 @@ self.onmessage = (e) => { self.postMessage({ msg, mode, bundleWithPlugin }) } } + +// for sourcemap +console.log('my-worker.js') diff --git a/packages/playground/worker/package.json b/playground/worker/package.json similarity index 95% rename from packages/playground/worker/package.json rename to playground/worker/package.json index ba4e7fe87e4a98..52cdac8c27c051 100644 --- a/packages/playground/worker/package.json +++ b/playground/worker/package.json @@ -18,7 +18,7 @@ "dev:sourcemap-inline": "cross-env WORKER_MODE=inline vite --config ./vite.config-sourcemap.js dev", "build:sourcemap-inline": "cross-env WORKER_MODE=inline vite --config ./vite.config-sourcemap.js build", "preview:sourcemap-inline": "cross-env WORKER_MODE=inline vite --config ./vite.config-sourcemap.js preview", - "debug": "node --inspect-brk ../../vite/bin/vite" + "debug": "node --inspect-brk ../../packages/vite/bin/vite" }, "devDependencies": { "@vitejs/plugin-vue-jsx": "workspace:*" diff --git a/packages/playground/worker/possible-ts-output-worker.mjs b/playground/worker/possible-ts-output-worker.mjs similarity index 70% rename from packages/playground/worker/possible-ts-output-worker.mjs rename to playground/worker/possible-ts-output-worker.mjs index 25f1a447617cd9..db76614bc78267 100644 --- a/packages/playground/worker/possible-ts-output-worker.mjs +++ b/playground/worker/possible-ts-output-worker.mjs @@ -5,3 +5,6 @@ self.onmessage = (e) => { self.postMessage({ msg, mode }) } } + +// for sourcemap +console.log('possible-ts-output-worker.mjs') diff --git a/packages/playground/worker/public/classic.js b/playground/worker/public/classic.js similarity index 100% rename from packages/playground/worker/public/classic.js rename to playground/worker/public/classic.js diff --git a/playground/worker/sub-worker.js b/playground/worker/sub-worker.js new file mode 100644 index 00000000000000..37d5d4effabb27 --- /dev/null +++ b/playground/worker/sub-worker.js @@ -0,0 +1,8 @@ +self.onmessage = (event) => { + if (event.data === 'ping') { + self.postMessage(`pong ${self.location.href}`) + } +} + +// for sourcemap +console.log('sub-worker.js') diff --git a/playground/worker/url-shared-worker.js b/playground/worker/url-shared-worker.js new file mode 100644 index 00000000000000..9ef32c58f6c64b --- /dev/null +++ b/playground/worker/url-shared-worker.js @@ -0,0 +1,9 @@ +import constant from './modules/module0' + +self.onconnect = (event) => { + const port = event.ports[0] + port.postMessage(constant) +} + +// for sourcemap +console.log('url-shared-worker.js') diff --git a/playground/worker/url-worker.js b/playground/worker/url-worker.js new file mode 100644 index 00000000000000..1ba50225ee339d --- /dev/null +++ b/playground/worker/url-worker.js @@ -0,0 +1,4 @@ +self.postMessage('A string' + import.meta.env.BASE_URL + self.location.url) + +// for sourcemap +console.log('url-worker.js') diff --git a/packages/playground/worker/vite.config-es.js b/playground/worker/vite.config-es.js similarity index 100% rename from packages/playground/worker/vite.config-es.js rename to playground/worker/vite.config-es.js diff --git a/packages/playground/worker/vite.config-sourcemap.js b/playground/worker/vite.config-sourcemap.js similarity index 100% rename from packages/playground/worker/vite.config-sourcemap.js rename to playground/worker/vite.config-sourcemap.js diff --git a/packages/playground/worker/vite.config.js b/playground/worker/vite.config.js similarity index 100% rename from packages/playground/worker/vite.config.js rename to playground/worker/vite.config.js diff --git a/playground/worker/worker-nested-worker.js b/playground/worker/worker-nested-worker.js new file mode 100644 index 00000000000000..e74d1db760409b --- /dev/null +++ b/playground/worker/worker-nested-worker.js @@ -0,0 +1,31 @@ +import SubWorker from './sub-worker?worker' + +const subWorker = new SubWorker() + +self.onmessage = (event) => { + if (event.data === 'ping') { + subWorker.postMessage('ping') + } +} + +self.postMessage(self.location.href) + +subWorker.onmessage = (ev) => { + self.postMessage({ + type: 'module', + data: ev.data + }) +} + +const classicWorker = new Worker(new URL('./url-worker.js', import.meta.url), { + type: 'module' +}) +classicWorker.addEventListener('message', (ev) => { + self.postMessage({ + type: 'constructor', + data: ev.data + }) +}) + +// for sourcemap +console.log('worker-nested-worker.js') diff --git a/packages/playground/worker/worker/main-classic.js b/playground/worker/worker/main-classic.js similarity index 100% rename from packages/playground/worker/worker/main-classic.js rename to playground/worker/worker/main-classic.js diff --git a/packages/playground/worker/worker/main-format-es.js b/playground/worker/worker/main-format-es.js similarity index 77% rename from packages/playground/worker/worker/main-format-es.js rename to playground/worker/worker/main-format-es.js index 801c13469151a3..e418c82a136927 100644 --- a/packages/playground/worker/worker/main-format-es.js +++ b/playground/worker/worker/main-format-es.js @@ -1,5 +1,6 @@ // run when format es import NestedWorker from '../emit-chunk-nested-worker?worker' +import ImportMetaGlobWorker from '../importMetaGlob.worker?worker' function text(el, text) { document.querySelector(el).textContent = text @@ -39,3 +40,11 @@ const moduleWorker = new Worker( moduleWorker.addEventListener('message', (ev) => { text('.module-and-worker-worker', JSON.stringify(ev.data)) }) + +const importMetaGlobWorker = new ImportMetaGlobWorker() + +importMetaGlobWorker.postMessage('1') + +importMetaGlobWorker.addEventListener('message', (e) => { + text('.importMetaGlob-worker', JSON.stringify(e.data)) +}) diff --git a/packages/playground/worker/worker/main-module.js b/playground/worker/worker/main-module.js similarity index 79% rename from packages/playground/worker/worker/main-module.js rename to playground/worker/worker/main-module.js index 417cf1728c4b09..6284ca63686e99 100644 --- a/packages/playground/worker/worker/main-module.js +++ b/playground/worker/worker/main-module.js @@ -3,6 +3,7 @@ import InlineWorker from '../my-worker?worker&inline' import mySharedWorker from '../my-shared-worker?sharedworker&name=shared' import TSOutputWorker from '../possible-ts-output-worker?worker' import NestedWorker from '../worker-nested-worker?worker' +import ImportMetaGlobEagerWorker from '../importMetaGlobEager.worker?worker' import { mode } from '../modules/workerImport' function text(el, text) { @@ -56,6 +57,13 @@ const nestedWorker = new NestedWorker() nestedWorker.addEventListener('message', (ev) => { if (typeof ev.data === 'string') { text('.nested-worker', JSON.stringify(ev.data)) + } else if (typeof ev.data === 'object') { + const data = ev.data + if (data.type === 'module') { + text('.nested-worker-module', JSON.stringify(ev.data)) + } else if (data.type === 'constructor') { + text('.nested-worker-constructor', JSON.stringify(ev.data)) + } } }) nestedWorker.postMessage('ping') @@ -83,3 +91,11 @@ w2.port.addEventListener('message', (ev) => { text('.shared-worker-import-meta-url', JSON.stringify(ev.data)) }) w2.port.start() + +const importMetaGlobEagerWorker = new ImportMetaGlobEagerWorker() + +importMetaGlobEagerWorker.postMessage('1') + +importMetaGlobEagerWorker.addEventListener('message', (e) => { + text('.importMetaGlobEager-worker', JSON.stringify(e.data)) +}) diff --git a/packages/playground/worker/worker/main.js b/playground/worker/worker/main.js similarity index 100% rename from packages/playground/worker/worker/main.js rename to playground/worker/worker/main.js diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bafce2cc1f4ee6..1a06a82b104080 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,77 +10,79 @@ importers: .: specifiers: - '@microsoft/api-extractor': ^7.19.5 + '@microsoft/api-extractor': ^7.23.1 '@types/fs-extra': ^9.0.13 - '@types/jest': ^27.4.1 - '@types/node': ^16.11.26 - '@types/prompts': ^2.0.14 + '@types/jest': ^27.5.0 + '@types/node': ^17.0.31 + '@types/prompts': ^2.4.0 '@types/semver': ^7.3.9 - '@typescript-eslint/eslint-plugin': ^5.16.0 - '@typescript-eslint/parser': ^5.16.0 + '@typescript-eslint/eslint-plugin': ^5.22.0 + '@typescript-eslint/parser': ^5.22.0 conventional-changelog-cli: ^2.2.2 cross-env: ^7.0.3 - esbuild: ^0.14.27 - eslint: ^8.12.0 - eslint-define-config: ^1.3.0 + esbuild: ^0.14.38 + eslint: ^8.15.0 + eslint-define-config: ^1.4.0 eslint-plugin-node: ^11.1.0 execa: ^5.1.1 - fs-extra: ^10.0.1 + fs-extra: ^10.1.0 jest: ^27.5.1 - lint-staged: ^12.3.7 + lint-staged: ^12.4.1 minimist: ^1.2.6 - node-fetch: ^2.6.6 + node-fetch: ^2.6.7 npm-run-all: ^4.1.5 picocolors: ^1.0.0 - playwright-chromium: ^1.20.1 - prettier: 2.6.1 + playwright-chromium: ^1.21.1 + prettier: 2.6.2 prompts: ^2.4.2 rimraf: ^3.0.2 - rollup: ^2.59.0 - semver: ^7.3.5 + rollup: ^2.72.1 + semver: ^7.3.7 simple-git-hooks: ^2.7.0 sirv: ^2.0.2 ts-jest: ^27.1.4 - ts-node: ^10.4.0 - typescript: ~4.5.4 + ts-node: ^10.7.0 + typescript: ^4.6.4 vite: workspace:* - vitepress: ^0.22.3 + vitepress: ^0.22.4 + vitest: ^0.10.5 devDependencies: - '@microsoft/api-extractor': 7.19.5 + '@microsoft/api-extractor': 7.23.1 '@types/fs-extra': 9.0.13 - '@types/jest': 27.4.1 - '@types/node': 16.11.26 - '@types/prompts': 2.0.14 + '@types/jest': 27.5.0 + '@types/node': 17.0.31 + '@types/prompts': 2.4.0 '@types/semver': 7.3.9 - '@typescript-eslint/eslint-plugin': 5.16.0_e8f8f41828c0dd0ac8e32e1859a7f4f7 - '@typescript-eslint/parser': 5.16.0_eslint@8.12.0+typescript@4.5.4 + '@typescript-eslint/eslint-plugin': 5.22.0_9817cbad956b8aa5d1e3d9ec99e4a1e4 + '@typescript-eslint/parser': 5.22.0_eslint@8.15.0+typescript@4.6.4 conventional-changelog-cli: 2.2.2 cross-env: 7.0.3 - esbuild: 0.14.27 - eslint: 8.12.0 - eslint-define-config: 1.3.0 - eslint-plugin-node: 11.1.0_eslint@8.12.0 + esbuild: 0.14.38 + eslint: 8.15.0 + eslint-define-config: 1.4.0 + eslint-plugin-node: 11.1.0_eslint@8.15.0 execa: 5.1.1 - fs-extra: 10.0.1 - jest: 27.5.1_ts-node@10.4.0 - lint-staged: 12.3.7 + fs-extra: 10.1.0 + jest: 27.5.1_ts-node@10.7.0 + lint-staged: 12.4.1 minimist: 1.2.6 - node-fetch: 2.6.6 + node-fetch: 2.6.7 npm-run-all: 4.1.5 picocolors: 1.0.0 - playwright-chromium: 1.20.1 - prettier: 2.6.1 + playwright-chromium: 1.21.1 + prettier: 2.6.2 prompts: 2.4.2 rimraf: 3.0.2 - rollup: 2.62.0 - semver: 7.3.5 + rollup: 2.72.1 + semver: 7.3.7 simple-git-hooks: 2.7.0 sirv: 2.0.2 - ts-jest: 27.1.4_4dfe14e0e8266437469ae0475a5c09ac - ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6 - typescript: 4.5.4 + ts-jest: 27.1.4_edb1f862ecf73b6f0cc1f906c6266936 + ts-node: 10.7.0_5f3e12794cebfbf3197131903b74d233 + typescript: 4.6.4 vite: link:packages/vite - vitepress: 0.22.3 + vitepress: 0.22.4 + vitest: 0.10.5 packages/create-vite: specifiers: @@ -92,7 +94,227 @@ importers: minimist: 1.2.6 prompts: 2.4.2 - packages/playground: + packages/plugin-legacy: + specifiers: + '@babel/standalone': ^7.17.11 + core-js: ^3.22.4 + magic-string: ^0.26.1 + regenerator-runtime: ^0.13.9 + systemjs: ^6.12.1 + dependencies: + '@babel/standalone': 7.17.11 + core-js: 3.22.4 + magic-string: 0.26.1 + regenerator-runtime: 0.13.9 + systemjs: 6.12.1 + + packages/plugin-react: + specifiers: + '@babel/core': ^7.17.10 + '@babel/plugin-transform-react-jsx': ^7.17.3 + '@babel/plugin-transform-react-jsx-development': ^7.16.7 + '@babel/plugin-transform-react-jsx-self': ^7.16.7 + '@babel/plugin-transform-react-jsx-source': ^7.16.7 + '@rollup/pluginutils': ^4.2.1 + react-refresh: ^0.13.0 + resolve: ^1.22.0 + dependencies: + '@babel/core': 7.17.10 + '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.10 + '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.17.10 + '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.17.10 + '@rollup/pluginutils': 4.2.1 + react-refresh: 0.13.0 + resolve: 1.22.0 + + packages/plugin-vue: + specifiers: + '@rollup/pluginutils': ^4.2.1 + '@types/hash-sum': ^1.0.0 + debug: ^4.3.4 + hash-sum: ^2.0.0 + rollup: ^2.72.1 + slash: ^4.0.0 + source-map: ^0.6.1 + vue: ^3.2.33 + devDependencies: + '@rollup/pluginutils': 4.2.1 + '@types/hash-sum': 1.0.0 + debug: 4.3.4 + hash-sum: 2.0.0 + rollup: 2.72.1 + slash: 4.0.0 + source-map: 0.6.1 + vue: 3.2.33 + + packages/plugin-vue-jsx: + specifiers: + '@babel/core': ^7.17.10 + '@babel/plugin-syntax-import-meta': ^7.10.4 + '@babel/plugin-transform-typescript': ^7.16.8 + '@rollup/pluginutils': ^4.2.1 + '@vue/babel-plugin-jsx': ^1.1.1 + hash-sum: ^2.0.0 + dependencies: + '@babel/core': 7.17.10 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.10 + '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.10 + '@rollup/pluginutils': 4.2.1 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.10 + hash-sum: 2.0.0 + + packages/vite: + specifiers: + '@ampproject/remapping': ^2.2.0 + '@babel/parser': ^7.17.10 + '@babel/types': ^7.17.10 + '@jridgewell/trace-mapping': ^0.3.10 + '@rollup/plugin-alias': ^3.1.9 + '@rollup/plugin-commonjs': ^21.1.0 + '@rollup/plugin-dynamic-import-vars': ^1.4.3 + '@rollup/plugin-json': ^4.1.0 + '@rollup/plugin-node-resolve': 13.2.1 + '@rollup/plugin-typescript': ^8.3.2 + '@rollup/pluginutils': ^4.2.1 + '@types/convert-source-map': ^1.5.2 + '@types/cross-spawn': ^6.0.2 + '@types/debug': ^4.1.7 + '@types/estree': ^0.0.51 + '@types/etag': ^1.8.1 + '@types/less': ^3.0.3 + '@types/micromatch': ^4.0.2 + '@types/mime': ^2.0.3 + '@types/node': ^17.0.31 + '@types/resolve': ^1.20.2 + '@types/sass': ~1.43.1 + '@types/stylus': ^0.48.37 + '@types/ws': ^8.5.3 + '@vue/compiler-dom': ^3.2.33 + acorn: ^8.7.1 + cac: 6.7.9 + chokidar: ^3.5.3 + connect: ^3.7.0 + connect-history-api-fallback: ^1.6.0 + convert-source-map: ^1.8.0 + cors: ^2.8.5 + cross-spawn: ^7.0.3 + debug: ^4.3.4 + dotenv: ^14.3.2 + dotenv-expand: ^5.1.0 + es-module-lexer: ^0.10.5 + esbuild: ^0.14.38 + estree-walker: ^2.0.2 + etag: ^1.8.1 + fast-glob: ^3.2.11 + fsevents: ~2.3.2 + http-proxy: ^1.18.1 + json5: ^2.2.1 + launch-editor-middleware: ^2.3.0 + magic-string: ^0.26.1 + micromatch: ^4.0.5 + mrmime: ^1.0.0 + node-forge: ^1.3.1 + okie: ^1.0.1 + open: ^8.4.0 + periscopic: ^2.0.3 + picocolors: ^1.0.0 + postcss: ^8.4.13 + postcss-import: ^14.1.0 + postcss-load-config: ^3.1.4 + postcss-modules: ^4.3.1 + resolve: ^1.22.0 + resolve.exports: ^1.1.0 + rollup: ^2.72.1 + rollup-plugin-license: ^2.7.0 + sirv: ^2.0.2 + source-map-js: ^1.0.2 + source-map-support: ^0.5.21 + strip-ansi: ^6.0.1 + strip-literal: ^0.3.0 + terser: ^5.13.1 + tsconfck: ^1.2.2 + tslib: ^2.4.0 + types: link:./types + ufo: ^0.8.4 + ws: ^8.6.0 + dependencies: + esbuild: 0.14.38 + postcss: 8.4.13 + resolve: 1.22.0 + rollup: 2.72.1 + optionalDependencies: + fsevents: 2.3.2 + devDependencies: + '@ampproject/remapping': 2.2.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 + '@jridgewell/trace-mapping': 0.3.10 + '@rollup/plugin-alias': 3.1.9_rollup@2.72.1 + '@rollup/plugin-commonjs': 21.1.0_rollup@2.72.1 + '@rollup/plugin-dynamic-import-vars': 1.4.3_rollup@2.72.1 + '@rollup/plugin-json': 4.1.0_rollup@2.72.1 + '@rollup/plugin-node-resolve': 13.2.1_rollup@2.72.1 + '@rollup/plugin-typescript': 8.3.2_1ca3041dc435726c0a8fcb5dcdbe7c94 + '@rollup/pluginutils': 4.2.1 + '@types/convert-source-map': 1.5.2 + '@types/cross-spawn': 6.0.2 + '@types/debug': 4.1.7 + '@types/estree': 0.0.51 + '@types/etag': 1.8.1 + '@types/less': 3.0.3 + '@types/micromatch': 4.0.2 + '@types/mime': 2.0.3 + '@types/node': 17.0.31 + '@types/resolve': 1.20.2 + '@types/sass': 1.43.1 + '@types/stylus': 0.48.37 + '@types/ws': 8.5.3 + '@vue/compiler-dom': 3.2.33 + acorn: 8.7.1 + cac: 6.7.9 + chokidar: 3.5.3 + connect: 3.7.0 + connect-history-api-fallback: 1.6.0 + convert-source-map: 1.8.0 + cors: 2.8.5 + cross-spawn: 7.0.3 + debug: 4.3.4 + dotenv: 14.3.2 + dotenv-expand: 5.1.0 + es-module-lexer: 0.10.5 + estree-walker: 2.0.2 + etag: 1.8.1 + fast-glob: 3.2.11 + http-proxy: 1.18.1_debug@4.3.4 + json5: 2.2.1 + launch-editor-middleware: 2.3.0 + magic-string: 0.26.1 + micromatch: 4.0.5 + mrmime: 1.0.0 + node-forge: 1.3.1 + okie: 1.0.1 + open: 8.4.0 + periscopic: 2.0.3 + picocolors: 1.0.0 + postcss-import: 14.1.0_postcss@8.4.13 + postcss-load-config: 3.1.4_postcss@8.4.13+ts-node@10.7.0 + postcss-modules: 4.3.1_postcss@8.4.13 + resolve.exports: 1.1.0 + rollup-plugin-license: 2.7.0_rollup@2.72.1 + sirv: 2.0.2 + source-map-js: 1.0.2 + source-map-support: 0.5.21 + strip-ansi: 6.0.1 + strip-literal: 0.3.0 + terser: 5.13.1 + tsconfck: 1.2.2_typescript@4.6.4 + tslib: 2.4.0 + types: link:types + ufo: 0.8.4 + ws: 8.6.0 + + playground: specifiers: convert-source-map: ^1.8.0 css-color-names: ^1.0.1 @@ -100,109 +322,115 @@ importers: convert-source-map: 1.8.0 css-color-names: 1.0.1 - packages/playground/alias: + playground/alias: specifiers: aliased-module: file:./dir/module resolve-linked: workspace:* - vue: ^3.2.25 + vue: ^3.2.33 dependencies: aliased-module: link:dir/module - vue: 3.2.26 + vue: 3.2.33 devDependencies: resolve-linked: link:../resolve-linked - packages/playground/alias/dir/module: + playground/alias/dir/module: specifiers: {} - packages/playground/assets: + playground/assets: specifiers: {} - packages/playground/backend-integration: + playground/backend-integration: specifiers: fast-glob: ^3.2.11 tailwindcss: ^2.2.19 dependencies: - tailwindcss: 2.2.19_ts-node@10.4.0 + tailwindcss: 2.2.19_ts-node@10.7.0 devDependencies: fast-glob: 3.2.11 - packages/playground/cli: + playground/cli: specifiers: {} - packages/playground/cli-module: + playground/cli-module: specifiers: {} - packages/playground/css: + playground/css: specifiers: css-dep: link:./css-dep fast-glob: ^3.2.11 less: ^4.1.2 postcss-nested: ^5.0.6 - sass: ^1.43.4 + sass: ^1.51.0 stylus: ^0.55.0 devDependencies: css-dep: link:css-dep fast-glob: 3.2.11 less: 4.1.2 postcss-nested: 5.0.6 - sass: 1.45.1 + sass: 1.51.0 stylus: 0.55.0 - packages/playground/css-codesplit: + playground/css-codesplit: specifiers: {} - packages/playground/css-codesplit-cjs: + playground/css-codesplit-cjs: specifiers: {} - packages/playground/css-sourcemap: + playground/css-sourcemap: specifiers: less: ^4.1.2 - magic-string: ^0.25.7 - sass: ^1.43.4 + magic-string: ^0.25.9 + sass: ^1.51.0 stylus: ^0.55.0 devDependencies: less: 4.1.2 - magic-string: 0.25.7 - sass: 1.45.1 + magic-string: 0.25.9 + sass: 1.51.0 stylus: 0.55.0 - packages/playground/css/css-dep: + playground/css/css-dep: specifiers: {} - packages/playground/css/pkg-dep: + playground/css/pkg-dep: specifiers: {} - packages/playground/css/postcss-caching/blue-app: + playground/css/postcss-caching/blue-app: specifiers: {} - packages/playground/css/postcss-caching/green-app: + playground/css/postcss-caching/green-app: specifiers: {} - packages/playground/data-uri: + playground/data-uri: specifiers: {} - packages/playground/define: + playground/define: specifiers: {} - packages/playground/dynamic-import: + playground/dynamic-import: + specifiers: + pkg: file:./pkg + dependencies: + pkg: link:pkg + + playground/dynamic-import/pkg: specifiers: {} - packages/playground/env: + playground/env: specifiers: cross-env: ^7.0.3 devDependencies: cross-env: 7.0.3 - packages/playground/env-nested: + playground/env-nested: specifiers: {} - packages/playground/extensions: + playground/extensions: specifiers: - vue: ^3.2.25 + vue: ^3.2.33 dependencies: - vue: 3.2.26 + vue: 3.2.33 - packages/playground/file-delete-restore: + playground/file-delete-restore: specifiers: '@vitejs/plugin-react': workspace:* react: ^17.0.2 @@ -211,58 +439,58 @@ importers: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 devDependencies: - '@vitejs/plugin-react': link:../../plugin-react + '@vitejs/plugin-react': link:../../packages/plugin-react - packages/playground/fs-serve: + playground/fs-serve: specifiers: {} - packages/playground/glob-import: + playground/glob-import: specifiers: {} - packages/playground/hmr: + playground/hmr: specifiers: {} - packages/playground/html: + playground/html: specifiers: {} - packages/playground/js-sourcemap: + playground/js-sourcemap: specifiers: {} - packages/playground/json: + playground/json: specifiers: cross-env: ^7.0.3 express: ^4.17.1 json-module: file:./json-module - vue: ^3.2.25 + vue: ^3.2.33 devDependencies: cross-env: 7.0.3 - express: 4.17.2 + express: 4.18.1 json-module: link:json-module - vue: 3.2.26 + vue: 3.2.33 - packages/playground/json/json-module: + playground/json/json-module: specifiers: {} - packages/playground/legacy: + playground/legacy: specifiers: '@vitejs/plugin-legacy': workspace:* - express: ^4.17.1 + express: ^4.18.1 devDependencies: - '@vitejs/plugin-legacy': link:../../plugin-legacy - express: 4.17.2 + '@vitejs/plugin-legacy': link:../../packages/plugin-legacy + express: 4.18.1 - packages/playground/lib: + playground/lib: specifiers: {} - packages/playground/multiple-entrypoints: + playground/multiple-entrypoints: specifiers: fast-glob: ^3.2.11 - sass: ^1.43.4 + sass: ^1.51.0 devDependencies: fast-glob: 3.2.11 - sass: 1.45.1 + sass: 1.51.0 - packages/playground/nested-deps: + playground/nested-deps: specifiers: test-package-a: link:./test-package-a test-package-b: link:./test-package-b @@ -276,25 +504,25 @@ importers: test-package-d: link:test-package-d test-package-e: link:test-package-e - packages/playground/nested-deps/test-package-a: + playground/nested-deps/test-package-a: specifiers: {} - packages/playground/nested-deps/test-package-b: + playground/nested-deps/test-package-b: specifiers: {} - packages/playground/nested-deps/test-package-c: + playground/nested-deps/test-package-c: specifiers: {} - packages/playground/nested-deps/test-package-d: + playground/nested-deps/test-package-d: specifiers: test-package-d-nested: link:./test-package-d-nested dependencies: test-package-d-nested: link:test-package-d-nested - packages/playground/nested-deps/test-package-d/test-package-d-nested: + playground/nested-deps/test-package-d/test-package-d-nested: specifiers: {} - packages/playground/nested-deps/test-package-e: + playground/nested-deps/test-package-e: specifiers: test-package-e-excluded: link:./test-package-e-excluded test-package-e-included: link:./test-package-e-included @@ -302,135 +530,138 @@ importers: test-package-e-excluded: link:test-package-e-excluded test-package-e-included: link:test-package-e-included - packages/playground/nested-deps/test-package-e/test-package-e-excluded: + playground/nested-deps/test-package-e/test-package-e-excluded: specifiers: {} - packages/playground/nested-deps/test-package-e/test-package-e-included: + playground/nested-deps/test-package-e/test-package-e-included: specifiers: test-package-e-excluded: link:../test-package-e-excluded dependencies: test-package-e-excluded: link:../test-package-e-excluded - packages/playground/optimize-deps: + playground/optimize-deps: specifiers: '@vitejs/plugin-vue': workspace:* axios: ^0.24.0 - clipboard: ^2.0.8 + clipboard: ^2.0.11 dep-cjs-compiled-from-cjs: file:./dep-cjs-compiled-from-cjs dep-cjs-compiled-from-esm: file:./dep-cjs-compiled-from-esm dep-esbuild-plugin-transform: file:./dep-esbuild-plugin-transform dep-linked: link:./dep-linked dep-linked-include: link:./dep-linked-include + dep-node-env: file:./dep-node-env dep-not-js: file:./dep-not-js dep-with-dynamic-import: file:./dep-with-dynamic-import lodash-es: ^4.17.21 nested-exclude: file:./nested-exclude - phoenix: ^1.6.2 + phoenix: ^1.6.8 react: ^17.0.2 react-dom: ^17.0.2 resolve-linked: workspace:0.0.0 url: ^0.11.0 - vue: ^3.2.25 - vuex: ^4.0.0 + vue: ^3.2.33 + vuex: ^4.0.2 dependencies: axios: 0.24.0 - clipboard: 2.0.8 + clipboard: 2.0.11 dep-cjs-compiled-from-cjs: link:dep-cjs-compiled-from-cjs dep-cjs-compiled-from-esm: link:dep-cjs-compiled-from-esm dep-esbuild-plugin-transform: link:dep-esbuild-plugin-transform dep-linked: link:dep-linked dep-linked-include: link:dep-linked-include + dep-node-env: link:dep-node-env dep-not-js: link:dep-not-js dep-with-dynamic-import: link:dep-with-dynamic-import lodash-es: 4.17.21 nested-exclude: link:nested-exclude - phoenix: 1.6.5 + phoenix: 1.6.8 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 resolve-linked: link:../resolve-linked url: 0.11.0 - vue: 3.2.26 - vuex: 4.0.2_vue@3.2.26 + vue: 3.2.33 + vuex: 4.0.2_vue@3.2.33 devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue + '@vitejs/plugin-vue': link:../../packages/plugin-vue - packages/playground/optimize-deps/dep-cjs-compiled-from-cjs: + playground/optimize-deps/dep-cjs-compiled-from-cjs: specifiers: {} - packages/playground/optimize-deps/dep-cjs-compiled-from-esm: + playground/optimize-deps/dep-cjs-compiled-from-esm: specifiers: {} - packages/playground/optimize-deps/dep-esbuild-plugin-transform: + playground/optimize-deps/dep-esbuild-plugin-transform: specifiers: {} - packages/playground/optimize-deps/dep-linked: + playground/optimize-deps/dep-linked: specifiers: lodash-es: ^4.17.21 dependencies: lodash-es: 4.17.21 - packages/playground/optimize-deps/dep-linked-include: + playground/optimize-deps/dep-linked-include: specifiers: react: 17.0.2 dependencies: react: 17.0.2 - packages/playground/optimize-deps/dep-not-js: + playground/optimize-deps/dep-node-env: + specifiers: {} + + playground/optimize-deps/dep-not-js: specifiers: {} - packages/playground/optimize-deps/dep-with-dynamic-import: + playground/optimize-deps/dep-with-dynamic-import: specifiers: {} - packages/playground/optimize-deps/nested-exclude: + playground/optimize-deps/nested-exclude: specifiers: nested-include: link:./nested-include dependencies: nested-include: link:nested-include - packages/playground/optimize-deps/nested-exclude/nested-include: + playground/optimize-deps/nested-exclude/nested-include: specifiers: {} - packages/playground/optimize-missing-deps: + playground/optimize-missing-deps: specifiers: - express: ^4.17.1 + express: ^4.18.1 missing-dep: file:./missing-dep - multi-entry-dep: file:./multi-entry-dep dependencies: missing-dep: link:missing-dep - multi-entry-dep: link:multi-entry-dep devDependencies: - express: 4.17.2 + express: 4.18.1 - packages/playground/optimize-missing-deps/missing-dep: + playground/optimize-missing-deps/missing-dep: specifiers: multi-entry-dep: file:../multi-entry-dep dependencies: multi-entry-dep: link:../multi-entry-dep - packages/playground/optimize-missing-deps/multi-entry-dep: + playground/optimize-missing-deps/multi-entry-dep: specifiers: {} - packages/playground/preload: + playground/preload: specifiers: '@vitejs/plugin-vue': workspace:* - vue: ^3.2.25 - vue-router: ^4.0.0 + vue: ^3.2.33 + vue-router: ^4.0.15 dependencies: - vue: 3.2.26 - vue-router: 4.0.12_vue@3.2.26 + vue: 3.2.33 + vue-router: 4.0.15_vue@3.2.33 devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue + '@vitejs/plugin-vue': link:../../packages/plugin-vue - packages/playground/preserve-symlinks: + playground/preserve-symlinks: specifiers: '@symlinks/moduleA': link:./moduleA dependencies: '@symlinks/moduleA': link:moduleA - packages/playground/preserve-symlinks/moduleA: + playground/preserve-symlinks/moduleA: specifiers: {} - packages/playground/react: + playground/react: specifiers: '@vitejs/plugin-react': workspace:* react: ^17.0.2 @@ -439,30 +670,30 @@ importers: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 devDependencies: - '@vitejs/plugin-react': link:../../plugin-react + '@vitejs/plugin-react': link:../../packages/plugin-react - packages/playground/react-emotion: + playground/react-emotion: specifiers: - '@babel/plugin-proposal-pipeline-operator': ^7.16.0 - '@emotion/babel-plugin': ^11.3.0 - '@emotion/react': ^11.5.0 + '@babel/plugin-proposal-pipeline-operator': ^7.17.6 + '@emotion/babel-plugin': ^11.9.2 + '@emotion/react': ^11.9.0 '@vitejs/plugin-react': workspace:* react: ^17.0.2 react-dom: ^17.0.2 react-switch: ^6.0.0 dependencies: - '@emotion/react': 11.7.1_react@17.0.2 + '@emotion/react': 11.9.0_react@17.0.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-switch: 6.0.0_react-dom@17.0.2+react@17.0.2 devDependencies: - '@babel/plugin-proposal-pipeline-operator': 7.16.5 - '@emotion/babel-plugin': 11.7.2 - '@vitejs/plugin-react': link:../../plugin-react + '@babel/plugin-proposal-pipeline-operator': 7.17.6 + '@emotion/babel-plugin': 11.9.2 + '@vitejs/plugin-react': link:../../packages/plugin-react - packages/playground/resolve: + playground/resolve: specifiers: - '@babel/runtime': ^7.16.0 + '@babel/runtime': ^7.17.9 es5-ext: 0.10.53 normalize.css: ^8.0.1 require-pkg-with-module-field: link:./require-pkg-with-module-field @@ -473,7 +704,7 @@ importers: resolve-exports-path: link:./exports-path resolve-linked: workspace:* dependencies: - '@babel/runtime': 7.16.5 + '@babel/runtime': 7.17.9 es5-ext: 0.10.53 normalize.css: 8.0.1 require-pkg-with-module-field: link:require-pkg-with-module-field @@ -484,43 +715,43 @@ importers: resolve-exports-path: link:exports-path resolve-linked: link:../resolve-linked - packages/playground/resolve-config: + playground/resolve-config: specifiers: {} - packages/playground/resolve-linked: + playground/resolve-linked: specifiers: {} - packages/playground/resolve/browser-field: + playground/resolve/browser-field: specifiers: {} - packages/playground/resolve/custom-condition: + playground/resolve/custom-condition: specifiers: {} - packages/playground/resolve/custom-main-field: + playground/resolve/custom-main-field: specifiers: {} - packages/playground/resolve/exports-env: + playground/resolve/exports-env: specifiers: {} - packages/playground/resolve/exports-path: + playground/resolve/exports-path: specifiers: {} - packages/playground/resolve/inline-package: + playground/resolve/inline-package: specifiers: {} - packages/playground/resolve/require-pkg-with-module-field: + playground/resolve/require-pkg-with-module-field: specifiers: bignumber.js: 9.0.2 dependencies: bignumber.js: 9.0.2 - packages/playground/ssr-deps: + playground/ssr-deps: specifiers: bcrypt: ^5.0.1 cross-env: ^7.0.3 define-properties-exports: file:./define-properties-exports define-property-exports: file:./define-property-exports - express: ^4.17.1 + express: ^4.18.1 forwarded-export: file:./forwarded-export object-assigned-exports: file:./object-assigned-exports only-object-assigned-exports: file:./only-object-assigned-exports @@ -541,77 +772,77 @@ importers: ts-transpiled-exports: link:ts-transpiled-exports devDependencies: cross-env: 7.0.3 - express: 4.17.2 + express: 4.18.1 - packages/playground/ssr-deps/define-properties-exports: + playground/ssr-deps/define-properties-exports: specifiers: {} - packages/playground/ssr-deps/define-property-exports: + playground/ssr-deps/define-property-exports: specifiers: {} - packages/playground/ssr-deps/forwarded-export: + playground/ssr-deps/forwarded-export: specifiers: {} - packages/playground/ssr-deps/object-assigned-exports: + playground/ssr-deps/object-assigned-exports: specifiers: {} - packages/playground/ssr-deps/only-object-assigned-exports: + playground/ssr-deps/only-object-assigned-exports: specifiers: {} - packages/playground/ssr-deps/primitive-export: + playground/ssr-deps/primitive-export: specifiers: {} - packages/playground/ssr-deps/read-file-content: + playground/ssr-deps/read-file-content: specifiers: {} - packages/playground/ssr-deps/require-absolute: + playground/ssr-deps/require-absolute: specifiers: {} - packages/playground/ssr-deps/ts-transpiled-exports: + playground/ssr-deps/ts-transpiled-exports: specifiers: {} - packages/playground/ssr-html: + playground/ssr-html: specifiers: cross-env: ^7.0.3 - express: ^4.17.1 + express: ^4.18.1 devDependencies: cross-env: 7.0.3 - express: 4.17.2 + express: 4.18.1 - packages/playground/ssr-pug: + playground/ssr-pug: specifiers: cross-env: ^7.0.3 - express: ^4.17.1 + express: ^4.18.1 pug: ^3.0.2 devDependencies: cross-env: 7.0.3 - express: 4.17.2 + express: 4.18.1 pug: 3.0.2 - packages/playground/ssr-react: + playground/ssr-react: specifiers: '@vitejs/plugin-react': workspace:* compression: ^1.7.4 cross-env: ^7.0.3 - express: ^4.17.1 + express: ^4.18.1 react: ^17.0.2 react-dom: ^17.0.2 - react-router: ^5.2.1 - react-router-dom: ^5.3.0 - serve-static: ^1.14.1 + react-router: ^5.3.1 + react-router-dom: ^5.3.1 + serve-static: ^1.15.0 dependencies: react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - react-router: 5.2.1_react@17.0.2 - react-router-dom: 5.3.0_react@17.0.2 + react-router: 5.3.1_react@17.0.2 + react-router-dom: 5.3.1_react@17.0.2 devDependencies: - '@vitejs/plugin-react': link:../../plugin-react + '@vitejs/plugin-react': link:../../packages/plugin-react compression: 1.7.4 cross-env: 7.0.3 - express: 4.17.2 - serve-static: 1.14.2 + express: 4.18.1 + serve-static: 1.15.0 - packages/playground/ssr-vue: + playground/ssr-vue: specifiers: '@vitejs/plugin-vue': workspace:* '@vitejs/plugin-vue-jsx': workspace:* @@ -619,32 +850,32 @@ importers: cross-env: ^7.0.3 dep-import-type: link:./dep-import-type example-external-component: file:example-external-component - express: ^4.17.1 - serve-static: ^1.14.1 - vue: ^3.2.25 - vue-router: ^4.0.0 + express: ^4.18.1 + serve-static: ^1.15.0 + vue: ^3.2.33 + vue-router: ^4.0.15 vuex: ^4.0.2 dependencies: example-external-component: link:example-external-component - vue: 3.2.26 - vue-router: 4.0.12_vue@3.2.26 - vuex: 4.0.2_vue@3.2.26 + vue: 3.2.33 + vue-router: 4.0.15_vue@3.2.33 + vuex: 4.0.2_vue@3.2.33 devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue - '@vitejs/plugin-vue-jsx': link:../../plugin-vue-jsx + '@vitejs/plugin-vue': link:../../packages/plugin-vue + '@vitejs/plugin-vue-jsx': link:../../packages/plugin-vue-jsx compression: 1.7.4 cross-env: 7.0.3 dep-import-type: link:dep-import-type - express: 4.17.2 - serve-static: 1.14.2 + express: 4.18.1 + serve-static: 1.15.0 - packages/playground/ssr-vue/dep-import-type: + playground/ssr-vue/dep-import-type: specifiers: {} - packages/playground/ssr-vue/example-external-component: + playground/ssr-vue/example-external-component: specifiers: {} - packages/playground/ssr-webworker: + playground/ssr-webworker: specifiers: miniflare: ^1.4.1 react: ^17.0.2 @@ -655,473 +886,243 @@ importers: miniflare: 1.4.1 resolve-linked: link:../resolve-linked - packages/playground/tailwind: + playground/tailwind: specifiers: '@vitejs/plugin-vue': workspace:* - autoprefixer: ^10.4.0 + autoprefixer: ^10.4.7 tailwindcss: ^2.2.19 - vue: ^3.2.25 - vue-router: ^4.0.0 - dependencies: - autoprefixer: 10.4.0 - tailwindcss: 2.2.19_6d1fa3babc9cc84b994ff99ef39d1aff - vue: 3.2.26 - vue-router: 4.0.12_vue@3.2.26 + ts-node: ^10.7.0 + vue: ^3.2.33 + vue-router: ^4.0.15 + dependencies: + autoprefixer: 10.4.7 + tailwindcss: 2.2.19_243d11a951eff552b64227a524842e97 + vue: 3.2.33 + vue-router: 4.0.15_vue@3.2.33 devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue + '@vitejs/plugin-vue': link:../../packages/plugin-vue + ts-node: 10.7.0_5f3e12794cebfbf3197131903b74d233 - packages/playground/tailwind-sourcemap: + playground/tailwind-sourcemap: specifiers: - tailwindcss: ^3.0.23 + tailwindcss: ^3.0.24 dependencies: - tailwindcss: 3.0.23_ts-node@10.4.0 + tailwindcss: 3.0.24_ts-node@10.7.0 - packages/playground/tsconfig-json: + playground/tsconfig-json: specifiers: {} - packages/playground/tsconfig-json-load-error: + playground/tsconfig-json-load-error: specifiers: {} - packages/playground/vue: + playground/vue: specifiers: '@vitejs/plugin-vue': workspace:* js-yaml: ^4.1.0 less: ^4.1.2 lodash-es: ^4.17.21 pug: ^3.0.2 - sass: ^1.43.4 + sass: ^1.51.0 stylus: ^0.55.0 - vue: ^3.2.25 + vue: ^3.2.33 dependencies: lodash-es: 4.17.21 - vue: 3.2.26 + vue: 3.2.33 devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue + '@vitejs/plugin-vue': link:../../packages/plugin-vue js-yaml: 4.1.0 less: 4.1.2 pug: 3.0.2 - sass: 1.45.1 + sass: 1.51.0 stylus: 0.55.0 - packages/playground/vue-jsx: + playground/vue-jsx: specifiers: '@vitejs/plugin-vue': workspace:* '@vitejs/plugin-vue-jsx': workspace:* - vue: ^3.2.25 + vue: ^3.2.33 dependencies: - vue: 3.2.26 + vue: 3.2.33 devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue - '@vitejs/plugin-vue-jsx': link:../../plugin-vue-jsx + '@vitejs/plugin-vue': link:../../packages/plugin-vue + '@vitejs/plugin-vue-jsx': link:../../packages/plugin-vue-jsx - packages/playground/vue-lib: - specifiers: - '@vitejs/plugin-vue': workspace:* - vue: ^3.2.25 - dependencies: - vue: 3.2.26 - devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue - - packages/playground/vue-sourcemap: - specifiers: - '@vitejs/plugin-vue': workspace:* - less: ^4.1.2 - sass: ^1.43.4 - vue: ^3.2.31 - dependencies: - vue: 3.2.31 - devDependencies: - '@vitejs/plugin-vue': link:../../plugin-vue - less: 4.1.2 - sass: 1.45.1 - - packages/playground/wasm: - specifiers: {} - - packages/playground/worker: - specifiers: - '@vitejs/plugin-vue-jsx': workspace:* - devDependencies: - '@vitejs/plugin-vue-jsx': link:../../plugin-vue-jsx - - packages/plugin-legacy: - specifiers: - '@babel/standalone': ^7.17.8 - core-js: ^3.21.1 - magic-string: ^0.26.1 - regenerator-runtime: ^0.13.9 - systemjs: ^6.12.1 - dependencies: - '@babel/standalone': 7.17.8 - core-js: 3.21.1 - magic-string: 0.26.1 - regenerator-runtime: 0.13.9 - systemjs: 6.12.1 - - packages/plugin-react: - specifiers: - '@babel/core': ^7.17.8 - '@babel/plugin-transform-react-jsx': ^7.17.3 - '@babel/plugin-transform-react-jsx-development': ^7.16.7 - '@babel/plugin-transform-react-jsx-self': ^7.16.7 - '@babel/plugin-transform-react-jsx-source': ^7.16.7 - '@rollup/pluginutils': ^4.2.0 - react-refresh: ^0.11.0 - resolve: ^1.22.0 - dependencies: - '@babel/core': 7.17.8 - '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.8 - '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.8 - '@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.17.8 - '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.17.8 - '@rollup/pluginutils': 4.2.0 - react-refresh: 0.11.0 - resolve: 1.22.0 - - packages/plugin-vue: - specifiers: - '@rollup/pluginutils': ^4.2.0 - '@types/hash-sum': ^1.0.0 - debug: ^4.3.4 - hash-sum: ^2.0.0 - rollup: ^2.59.0 - slash: ^4.0.0 - source-map: ^0.6.1 - vue: ^3.2.31 - devDependencies: - '@rollup/pluginutils': 4.2.0 - '@types/hash-sum': 1.0.0 - debug: 4.3.4 - hash-sum: 2.0.0 - rollup: 2.62.0 - slash: 4.0.0 - source-map: 0.6.1 - vue: 3.2.31 - - packages/plugin-vue-jsx: - specifiers: - '@babel/core': ^7.17.8 - '@babel/plugin-syntax-import-meta': ^7.10.4 - '@babel/plugin-transform-typescript': ^7.16.8 - '@rollup/pluginutils': ^4.2.0 - '@vue/babel-plugin-jsx': ^1.1.1 - hash-sum: ^2.0.0 - dependencies: - '@babel/core': 7.17.8 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.8 - '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.8 - '@rollup/pluginutils': 4.2.0 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.8 - hash-sum: 2.0.0 - - packages/vite: - specifiers: - '@ampproject/remapping': ^2.1.2 - '@babel/parser': ^7.17.8 - '@babel/types': ^7.17.0 - '@jridgewell/trace-mapping': ^0.3.4 - '@rollup/plugin-alias': ^3.1.9 - '@rollup/plugin-commonjs': ^21.0.3 - '@rollup/plugin-dynamic-import-vars': ^1.4.2 - '@rollup/plugin-json': ^4.1.0 - '@rollup/plugin-node-resolve': 13.1.3 - '@rollup/plugin-typescript': ^8.3.1 - '@rollup/pluginutils': ^4.2.0 - '@types/convert-source-map': ^1.5.2 - '@types/cross-spawn': ^6.0.2 - '@types/debug': ^4.1.7 - '@types/estree': ^0.0.51 - '@types/etag': ^1.8.1 - '@types/less': ^3.0.3 - '@types/micromatch': ^4.0.2 - '@types/mime': ^2.0.3 - '@types/node': ^16.11.26 - '@types/resolve': ^1.20.1 - '@types/sass': ~1.43.1 - '@types/stylus': ^0.48.36 - '@types/ws': ^8.5.3 - '@vue/compiler-dom': ^3.2.31 - acorn: ^8.7.0 - cac: 6.7.9 - chokidar: ^3.5.3 - connect: ^3.7.0 - connect-history-api-fallback: ^1.6.0 - convert-source-map: ^1.8.0 - cors: ^2.8.5 - cross-spawn: ^7.0.3 - debug: ^4.3.4 - dotenv: ^14.3.2 - dotenv-expand: ^5.1.0 - es-module-lexer: ^0.10.4 - esbuild: ^0.14.27 - estree-walker: ^2.0.2 - etag: ^1.8.1 - fast-glob: ^3.2.11 - fsevents: ~2.3.2 - http-proxy: ^1.18.1 - json5: ^2.2.1 - launch-editor-middleware: ^2.3.0 - magic-string: ^0.26.1 - micromatch: ^4.0.5 - mrmime: ^1.0.0 - node-forge: ^1.3.0 - okie: ^1.0.1 - open: ^8.4.0 - periscopic: ^2.0.3 - picocolors: ^1.0.0 - postcss: ^8.4.12 - postcss-import: ^14.1.0 - postcss-load-config: ^3.1.3 - postcss-modules: ^4.3.1 - resolve: ^1.22.0 - resolve.exports: ^1.1.0 - rollup: ^2.59.0 - rollup-plugin-license: ^2.6.1 - sirv: ^2.0.2 - source-map-js: ^1.0.2 - source-map-support: ^0.5.21 - strip-ansi: ^6.0.1 - terser: ^5.12.1 - tsconfck: ^1.2.1 - tslib: ^2.3.1 - types: link:./types - ws: ^8.5.0 - dependencies: - esbuild: 0.14.27 - postcss: 8.4.12 - resolve: 1.22.0 - rollup: 2.62.0 - optionalDependencies: - fsevents: 2.3.2 - devDependencies: - '@ampproject/remapping': 2.1.2 - '@babel/parser': 7.17.8 - '@babel/types': 7.17.0 - '@jridgewell/trace-mapping': 0.3.4 - '@rollup/plugin-alias': 3.1.9_rollup@2.62.0 - '@rollup/plugin-commonjs': 21.0.3_rollup@2.62.0 - '@rollup/plugin-dynamic-import-vars': 1.4.2_rollup@2.62.0 - '@rollup/plugin-json': 4.1.0_rollup@2.62.0 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.62.0 - '@rollup/plugin-typescript': 8.3.1_7c5ff569c0887b4f0035eb7cb6988163 - '@rollup/pluginutils': 4.2.0 - '@types/convert-source-map': 1.5.2 - '@types/cross-spawn': 6.0.2 - '@types/debug': 4.1.7 - '@types/estree': 0.0.51 - '@types/etag': 1.8.1 - '@types/less': 3.0.3 - '@types/micromatch': 4.0.2 - '@types/mime': 2.0.3 - '@types/node': 16.11.26 - '@types/resolve': 1.20.1 - '@types/sass': 1.43.1 - '@types/stylus': 0.48.36 - '@types/ws': 8.5.3 - '@vue/compiler-dom': 3.2.31 - acorn: 8.7.0 - cac: 6.7.9 - chokidar: 3.5.3 - connect: 3.7.0 - connect-history-api-fallback: 1.6.0 - convert-source-map: 1.8.0 - cors: 2.8.5 - cross-spawn: 7.0.3 - debug: 4.3.4 - dotenv: 14.3.2 - dotenv-expand: 5.1.0 - es-module-lexer: 0.10.4 - estree-walker: 2.0.2 - etag: 1.8.1 - fast-glob: 3.2.11 - http-proxy: 1.18.1_debug@4.3.4 - json5: 2.2.1 - launch-editor-middleware: 2.3.0 - magic-string: 0.26.1 - micromatch: 4.0.5 - mrmime: 1.0.0 - node-forge: 1.3.0 - okie: 1.0.1 - open: 8.4.0 - periscopic: 2.0.3 - picocolors: 1.0.0 - postcss-import: 14.1.0_postcss@8.4.12 - postcss-load-config: 3.1.3_postcss@8.4.12+ts-node@10.4.0 - postcss-modules: 4.3.1_postcss@8.4.12 - resolve.exports: 1.1.0 - rollup-plugin-license: 2.6.1_rollup@2.62.0 - sirv: 2.0.2 - source-map-js: 1.0.2 - source-map-support: 0.5.21 - strip-ansi: 6.0.1 - terser: 5.12.1 - tsconfck: 1.2.1_typescript@4.5.4 - tslib: 2.3.1 - types: link:types - ws: 8.5.0 + playground/vue-lib: + specifiers: + '@vitejs/plugin-vue': workspace:* + vue: ^3.2.33 + dependencies: + vue: 3.2.33 + devDependencies: + '@vitejs/plugin-vue': link:../../packages/plugin-vue + + playground/vue-sourcemap: + specifiers: + '@vitejs/plugin-vue': workspace:* + less: ^4.1.2 + postcss-nested: ^5.0.6 + sass: ^1.51.0 + vue: ^3.2.33 + dependencies: + vue: 3.2.33 + devDependencies: + '@vitejs/plugin-vue': link:../../packages/plugin-vue + less: 4.1.2 + postcss-nested: 5.0.6 + sass: 1.51.0 + + playground/wasm: + specifiers: {} + + playground/worker: + specifiers: + '@vitejs/plugin-vue-jsx': workspace:* + devDependencies: + '@vitejs/plugin-vue-jsx': link:../../packages/plugin-vue-jsx packages: - /@algolia/autocomplete-core/1.5.0: - resolution: {integrity: sha512-E7+VJwcvwMM8vPeaVn7fNUgix8WHV8A1WUeHDi2KHemCaaGc8lvUnP3QnvhMxiDhTe7OpMEv4o2TBUMyDgThaw==} + /@algolia/autocomplete-core/1.5.2: + resolution: {integrity: sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==} dependencies: - '@algolia/autocomplete-shared': 1.5.0 + '@algolia/autocomplete-shared': 1.5.2 dev: true - /@algolia/autocomplete-preset-algolia/1.5.0_algoliasearch@4.11.0: - resolution: {integrity: sha512-iiFxKERGHkvkiupmrFJbvESpP/zv5jSgH714XRiP5LDvUHaYOo4GLAwZCFf2ef/L5tdtPBARvekn6k1Xf33gjA==} + /@algolia/autocomplete-preset-algolia/1.5.2_algoliasearch@4.13.0: + resolution: {integrity: sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==} peerDependencies: '@algolia/client-search': ^4.9.1 algoliasearch: ^4.9.1 dependencies: - '@algolia/autocomplete-shared': 1.5.0 - algoliasearch: 4.11.0 + '@algolia/autocomplete-shared': 1.5.2 + algoliasearch: 4.13.0 dev: true - /@algolia/autocomplete-shared/1.5.0: - resolution: {integrity: sha512-bRSkqHHHSwZYbFY3w9hgMyQRm86Wz27bRaGCbNldLfbk0zUjApmE4ajx+ZCVSLqxvcUEjMqZFJzDsder12eKsg==} + /@algolia/autocomplete-shared/1.5.2: + resolution: {integrity: sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==} dev: true - /@algolia/cache-browser-local-storage/4.11.0: - resolution: {integrity: sha512-4sr9vHIG1fVA9dONagdzhsI/6M5mjs/qOe2xUP0yBmwsTsuwiZq3+Xu6D3dsxsuFetcJgC6ydQoCW8b7fDJHYQ==} + /@algolia/cache-browser-local-storage/4.13.0: + resolution: {integrity: sha512-nj1vHRZauTqP/bluwkRIgEADEimqojJgoTRCel5f6q8WCa9Y8QeI4bpDQP28FoeKnDRYa3J5CauDlN466jqRhg==} dependencies: - '@algolia/cache-common': 4.11.0 + '@algolia/cache-common': 4.13.0 dev: true - /@algolia/cache-common/4.11.0: - resolution: {integrity: sha512-lODcJRuPXqf+6mp0h6bOxPMlbNoyn3VfjBVcQh70EDP0/xExZbkpecgHyyZK4kWg+evu+mmgvTK3GVHnet/xKw==} + /@algolia/cache-common/4.13.0: + resolution: {integrity: sha512-f9mdZjskCui/dA/fA/5a+6hZ7xnHaaZI5tM/Rw9X8rRB39SUlF/+o3P47onZ33n/AwkpSbi5QOyhs16wHd55kA==} dev: true - /@algolia/cache-in-memory/4.11.0: - resolution: {integrity: sha512-aBz+stMSTBOBaBEQ43zJXz2DnwS7fL6dR0e2myehAgtfAWlWwLDHruc/98VOy1ZAcBk1blE2LCU02bT5HekGxQ==} + /@algolia/cache-in-memory/4.13.0: + resolution: {integrity: sha512-hHdc+ahPiMM92CQMljmObE75laYzNFYLrNOu0Q3/eyvubZZRtY2SUsEEgyUEyzXruNdzrkcDxFYa7YpWBJYHAg==} dependencies: - '@algolia/cache-common': 4.11.0 + '@algolia/cache-common': 4.13.0 dev: true - /@algolia/client-account/4.11.0: - resolution: {integrity: sha512-jwmFBoUSzoMwMqgD3PmzFJV/d19p1RJXB6C1ADz4ju4mU7rkaQLtqyZroQpheLoU5s5Tilmn/T8/0U2XLoJCRQ==} + /@algolia/client-account/4.13.0: + resolution: {integrity: sha512-FzFqFt9b0g/LKszBDoEsW+dVBuUe1K3scp2Yf7q6pgHWM1WqyqUlARwVpLxqyc+LoyJkTxQftOKjyFUqddnPKA==} dependencies: - '@algolia/client-common': 4.11.0 - '@algolia/client-search': 4.11.0 - '@algolia/transporter': 4.11.0 + '@algolia/client-common': 4.13.0 + '@algolia/client-search': 4.13.0 + '@algolia/transporter': 4.13.0 dev: true - /@algolia/client-analytics/4.11.0: - resolution: {integrity: sha512-v5U9585aeEdYml7JqggHAj3E5CQ+jPwGVztPVhakBk8H/cmLyPS2g8wvmIbaEZCHmWn4TqFj3EBHVYxAl36fSA==} + /@algolia/client-analytics/4.13.0: + resolution: {integrity: sha512-klmnoq2FIiiMHImkzOm+cGxqRLLu9CMHqFhbgSy9wtXZrqb8BBUIUE2VyBe7azzv1wKcxZV2RUyNOMpFqmnRZA==} dependencies: - '@algolia/client-common': 4.11.0 - '@algolia/client-search': 4.11.0 - '@algolia/requester-common': 4.11.0 - '@algolia/transporter': 4.11.0 + '@algolia/client-common': 4.13.0 + '@algolia/client-search': 4.13.0 + '@algolia/requester-common': 4.13.0 + '@algolia/transporter': 4.13.0 dev: true - /@algolia/client-common/4.11.0: - resolution: {integrity: sha512-Qy+F+TZq12kc7tgfC+FM3RvYH/Ati7sUiUv/LkvlxFwNwNPwWGoZO81AzVSareXT/ksDDrabD4mHbdTbBPTRmQ==} + /@algolia/client-common/4.13.0: + resolution: {integrity: sha512-GoXfTp0kVcbgfSXOjfrxx+slSipMqGO9WnNWgeMmru5Ra09MDjrcdunsiiuzF0wua6INbIpBQFTC2Mi5lUNqGA==} dependencies: - '@algolia/requester-common': 4.11.0 - '@algolia/transporter': 4.11.0 + '@algolia/requester-common': 4.13.0 + '@algolia/transporter': 4.13.0 dev: true - /@algolia/client-personalization/4.11.0: - resolution: {integrity: sha512-mI+X5IKiijHAzf9fy8VSl/GTT67dzFDnJ0QAM8D9cMPevnfX4U72HRln3Mjd0xEaYUOGve8TK/fMg7d3Z5yG6g==} + /@algolia/client-personalization/4.13.0: + resolution: {integrity: sha512-KneLz2WaehJmNfdr5yt2HQETpLaCYagRdWwIwkTqRVFCv4DxRQ2ChPVW9jeTj4YfAAhfzE6F8hn7wkQ/Jfj6ZA==} dependencies: - '@algolia/client-common': 4.11.0 - '@algolia/requester-common': 4.11.0 - '@algolia/transporter': 4.11.0 + '@algolia/client-common': 4.13.0 + '@algolia/requester-common': 4.13.0 + '@algolia/transporter': 4.13.0 dev: true - /@algolia/client-search/4.11.0: - resolution: {integrity: sha512-iovPLc5YgiXBdw2qMhU65sINgo9umWbHFzInxoNErWnYoTQWfXsW6P54/NlKx5uscoLVjSf+5RUWwFu5BX+lpw==} + /@algolia/client-search/4.13.0: + resolution: {integrity: sha512-blgCKYbZh1NgJWzeGf+caKE32mo3j54NprOf0LZVCubQb3Kx37tk1Hc8SDs9bCAE8hUvf3cazMPIg7wscSxspA==} dependencies: - '@algolia/client-common': 4.11.0 - '@algolia/requester-common': 4.11.0 - '@algolia/transporter': 4.11.0 + '@algolia/client-common': 4.13.0 + '@algolia/requester-common': 4.13.0 + '@algolia/transporter': 4.13.0 dev: true - /@algolia/logger-common/4.11.0: - resolution: {integrity: sha512-pRMJFeOY8hoWKIxWuGHIrqnEKN/kqKh7UilDffG/+PeEGxBuku+Wq5CfdTFG0C9ewUvn8mAJn5BhYA5k8y0Jqg==} + /@algolia/logger-common/4.13.0: + resolution: {integrity: sha512-8yqXk7rMtmQJ9wZiHOt/6d4/JDEg5VCk83gJ39I+X/pwUPzIsbKy9QiK4uJ3aJELKyoIiDT1hpYVt+5ia+94IA==} dev: true - /@algolia/logger-console/4.11.0: - resolution: {integrity: sha512-wXztMk0a3VbNmYP8Kpc+F7ekuvaqZmozM2eTLok0XIshpAeZ/NJDHDffXK2Pw+NF0wmHqurptLYwKoikjBYvhQ==} + /@algolia/logger-console/4.13.0: + resolution: {integrity: sha512-YepRg7w2/87L0vSXRfMND6VJ5d6699sFJBRWzZPOlek2p5fLxxK7O0VncYuc/IbVHEgeApvgXx0WgCEa38GVuQ==} dependencies: - '@algolia/logger-common': 4.11.0 + '@algolia/logger-common': 4.13.0 dev: true - /@algolia/requester-browser-xhr/4.11.0: - resolution: {integrity: sha512-Fp3SfDihAAFR8bllg8P5ouWi3+qpEVN5e7hrtVIYldKBOuI/qFv80Zv/3/AMKNJQRYglS4zWyPuqrXm58nz6KA==} + /@algolia/requester-browser-xhr/4.13.0: + resolution: {integrity: sha512-Dj+bnoWR5MotrnjblzGKZ2kCdQi2cK/VzPURPnE616NU/il7Ypy6U6DLGZ/ZYz+tnwPa0yypNf21uqt84fOgrg==} dependencies: - '@algolia/requester-common': 4.11.0 - dev: true - - /@algolia/requester-common/4.11.0: - resolution: {integrity: sha512-+cZGe/9fuYgGuxjaBC+xTGBkK7OIYdfapxhfvEf03dviLMPmhmVYFJtJlzAjQ2YmGDJpHrGgAYj3i/fbs8yhiA==} + '@algolia/requester-common': 4.13.0 dev: true - /@algolia/requester-node-http/4.11.0: - resolution: {integrity: sha512-qJIk9SHRFkKDi6dMT9hba8X1J1z92T5AZIgl+tsApjTGIRQXJLTIm+0q4yOefokfu4CoxYwRZ9QAq+ouGwfeOg==} - dependencies: - '@algolia/requester-common': 4.11.0 + /@algolia/requester-common/4.13.0: + resolution: {integrity: sha512-BRTDj53ecK+gn7ugukDWOOcBRul59C4NblCHqj4Zm5msd5UnHFjd/sGX+RLOEoFMhetILAnmg6wMrRrQVac9vw==} dev: true - /@algolia/transporter/4.11.0: - resolution: {integrity: sha512-k4dyxiaEfYpw4UqybK9q7lrFzehygo6KV3OCYJMMdX0IMWV0m4DXdU27c1zYRYtthaFYaBzGF4Kjcl8p8vxCKw==} + /@algolia/requester-node-http/4.13.0: + resolution: {integrity: sha512-9b+3O4QFU4azLhGMrZAr/uZPydvzOR4aEZfSL8ZrpLZ7fbbqTO0S/5EVko+QIgglRAtVwxvf8UJ1wzTD2jvKxQ==} dependencies: - '@algolia/cache-common': 4.11.0 - '@algolia/logger-common': 4.11.0 - '@algolia/requester-common': 4.11.0 + '@algolia/requester-common': 4.13.0 dev: true - /@ampproject/remapping/2.1.0: - resolution: {integrity: sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==} - engines: {node: '>=6.0.0'} + /@algolia/transporter/4.13.0: + resolution: {integrity: sha512-8tSQYE+ykQENAdeZdofvtkOr5uJ9VcQSWgRhQ9h01AehtBIPAczk/b2CLrMsw5yQZziLs5cZ3pJ3478yI+urhA==} dependencies: - '@jridgewell/trace-mapping': 0.3.4 + '@algolia/cache-common': 4.13.0 + '@algolia/logger-common': 4.13.0 + '@algolia/requester-common': 4.13.0 dev: true - /@ampproject/remapping/2.1.2: - resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.4 - - /@babel/code-frame/7.16.0: - resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.16.0 + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.10 /@babel/code-frame/7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.16.10 - - /@babel/compat-data/7.16.4: - resolution: {integrity: sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/highlight': 7.17.9 - /@babel/compat-data/7.17.7: - resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==} + /@babel/compat-data/7.17.10: + resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==} engines: {node: '>=6.9.0'} - dev: false - /@babel/core/7.17.2: - resolution: {integrity: sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==} + /@babel/core/7.17.10: + resolution: {integrity: sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.1.0 + '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.0 - '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.17.2 - '@babel/helper-module-transforms': 7.16.7 - '@babel/helpers': 7.17.2 - '@babel/parser': 7.17.0 + '@babel/generator': 7.17.10 + '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.10 + '@babel/helper-module-transforms': 7.17.7 + '@babel/helpers': 7.17.9 + '@babel/parser': 7.17.10 '@babel/template': 7.16.7 - '@babel/traverse': 7.17.0 - '@babel/types': 7.17.0 + '@babel/traverse': 7.17.10 + '@babel/types': 7.17.10 convert-source-map: 1.8.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1129,111 +1130,45 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: true - - /@babel/core/7.17.8: - resolution: {integrity: sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.1.2 - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.7 - '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.8 - '@babel/helper-module-transforms': 7.17.7 - '@babel/helpers': 7.17.8 - '@babel/parser': 7.17.8 - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.3 - '@babel/types': 7.17.0 - convert-source-map: 1.8.0 - debug: 4.3.3 - gensync: 1.0.0-beta.2 - json5: 2.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/generator/7.16.5: - resolution: {integrity: sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: false - - /@babel/generator/7.16.8: - resolution: {integrity: sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: false - - /@babel/generator/7.17.0: - resolution: {integrity: sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: true - /@babel/generator/7.17.7: - resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} + /@babel/generator/7.17.10: + resolution: {integrity: sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.17.10 + '@jridgewell/gen-mapping': 0.1.1 jsesc: 2.5.2 - source-map: 0.5.7 - dev: false /@babel/helper-annotate-as-pure/7.16.7: resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.8 + '@babel/types': 7.17.10 dev: false - /@babel/helper-compilation-targets/7.16.7_@babel+core@7.17.2: - resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.17.2 - '@babel/helper-validator-option': 7.16.7 - browserslist: 4.19.1 - semver: 6.3.0 - dev: true - - /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.8: - resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==} + /@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10: + resolution: {integrity: sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.17.7 - '@babel/core': 7.17.8 + '@babel/compat-data': 7.17.10 + '@babel/core': 7.17.10 '@babel/helper-validator-option': 7.16.7 - browserslist: 4.19.1 + browserslist: 4.20.3 semver: 6.3.0 - dev: false - /@babel/helper-create-class-features-plugin/7.16.10_@babel+core@7.17.8: - resolution: {integrity: sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==} + /@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10: + resolution: {integrity: sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.8 + '@babel/core': 7.17.10 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.16.7 - '@babel/helper-member-expression-to-functions': 7.16.7 + '@babel/helper-function-name': 7.17.9 + '@babel/helper-member-expression-to-functions': 7.17.7 '@babel/helper-optimise-call-expression': 7.16.7 '@babel/helper-replace-supers': 7.16.7 '@babel/helper-split-export-declaration': 7.16.7 @@ -1245,69 +1180,33 @@ packages: resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.17.10 - /@babel/helper-function-name/7.16.7: - resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} + /@babel/helper-function-name/7.17.9: + resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-get-function-arity': 7.16.7 '@babel/template': 7.16.7 - '@babel/types': 7.17.0 - - /@babel/helper-get-function-arity/7.16.7: - resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - - /@babel/helper-hoist-variables/7.16.0: - resolution: {integrity: sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: false + '@babel/types': 7.17.10 /@babel/helper-hoist-variables/7.16.7: resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.17.10 - /@babel/helper-member-expression-to-functions/7.16.7: - resolution: {integrity: sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==} + /@babel/helper-member-expression-to-functions/7.17.7: + resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.8 + '@babel/types': 7.17.10 dev: false - /@babel/helper-module-imports/7.16.0: - resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - /@babel/helper-module-imports/7.16.7: resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 - - /@babel/helper-module-transforms/7.16.7: - resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-module-imports': 7.16.7 - '@babel/helper-simple-access': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/helper-validator-identifier': 7.16.7 - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.0 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - dev: true + '@babel/types': 7.17.10 /@babel/helper-module-transforms/7.17.7: resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==} @@ -1319,23 +1218,18 @@ packages: '@babel/helper-split-export-declaration': 7.16.7 '@babel/helper-validator-identifier': 7.16.7 '@babel/template': 7.16.7 - '@babel/traverse': 7.17.3 - '@babel/types': 7.17.0 + '@babel/traverse': 7.17.10 + '@babel/types': 7.17.10 transitivePeerDependencies: - supports-color - dev: false /@babel/helper-optimise-call-expression/7.16.7: resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.8 + '@babel/types': 7.17.10 dev: false - /@babel/helper-plugin-utils/7.16.5: - resolution: {integrity: sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==} - engines: {node: '>=6.9.0'} - /@babel/helper-plugin-utils/7.16.7: resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} engines: {node: '>=6.9.0'} @@ -1345,37 +1239,25 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-member-expression-to-functions': 7.16.7 + '@babel/helper-member-expression-to-functions': 7.17.7 '@babel/helper-optimise-call-expression': 7.16.7 - '@babel/traverse': 7.16.10 - '@babel/types': 7.16.8 + '@babel/traverse': 7.17.10 + '@babel/types': 7.17.10 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-simple-access/7.16.7: - resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.0 - dev: true - /@babel/helper-simple-access/7.17.7: resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 - dev: false + '@babel/types': 7.17.10 /@babel/helper-split-export-declaration/7.16.7: resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 - - /@babel/helper-validator-identifier/7.15.7: - resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.17.10 /@babel/helper-validator-identifier/7.16.7: resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} @@ -1385,426 +1267,279 @@ packages: resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} engines: {node: '>=6.9.0'} - /@babel/helpers/7.17.2: - resolution: {integrity: sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.0 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helpers/7.17.8: - resolution: {integrity: sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==} + /@babel/helpers/7.17.9: + resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.16.7 - '@babel/traverse': 7.17.3 - '@babel/types': 7.17.0 + '@babel/traverse': 7.17.10 + '@babel/types': 7.17.10 transitivePeerDependencies: - supports-color - dev: false - - /@babel/highlight/7.16.0: - resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - /@babel/highlight/7.16.10: - resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} + /@babel/highlight/7.17.9: + resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.16.7 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.16.12: - resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: false - - /@babel/parser/7.16.6: - resolution: {integrity: sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - /@babel/parser/7.17.0: - resolution: {integrity: sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: true - - /@babel/parser/7.17.8: - resolution: {integrity: sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==} + /@babel/parser/7.17.10: + resolution: {integrity: sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==} engines: {node: '>=6.0.0'} hasBin: true - /@babel/plugin-proposal-pipeline-operator/7.16.5: - resolution: {integrity: sha512-aMw3gPJYa2F6mVnL6QuHr9NtAScspBPTVXU2kaup7FVl02Hr4tY2diaGNdismAOmiroWa/2ENy4EFyoz81ACLg==} + /@babel/plugin-proposal-pipeline-operator/7.17.6: + resolution: {integrity: sha512-n1jaBJW05mRSShsMwK6ObEN9C925w3bleGZlzvPRdEJ0ZNvXoSncAJMGSzLKo7NScfZdWuLtf7BQtBMfFTHP+g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-pipeline-operator': 7.16.5 + '@babel/helper-plugin-utils': 7.16.7 + '@babel/plugin-syntax-pipeline-operator': 7.17.0 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.2: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.10: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.17.2: + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.17.10: resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.2: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.10: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.2: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.17.2 - '@babel/helper-plugin-utils': 7.16.5 - dev: true - - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.8: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.10: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 - '@babel/helper-plugin-utils': 7.16.5 - dev: false - - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.2: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 - dev: true - /@babel/plugin-syntax-jsx/7.16.5: - resolution: {integrity: sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.10: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-jsx/7.16.5_@babel+core@7.17.8: - resolution: {integrity: sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==} + /@babel/plugin-syntax-jsx/7.16.7: + resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 '@babel/helper-plugin-utils': 7.16.7 - dev: false - /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.8: + /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.10: resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: false - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.2: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.10: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.2: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.10: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.2: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.10: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.2: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.10: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.2: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.10: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.2: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.10: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-pipeline-operator/7.16.5: - resolution: {integrity: sha512-JNPDHcP1DfYkVMREaQtRo6h8aaZBvK/dlKSRJpZcFv3wD9ZDg4qwwYzTmFxY4hTpwSKyty6rqLb6KIP52v11ig==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.16.5 - dev: true - - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.2: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + /@babel/plugin-syntax-pipeline-operator/7.17.0: + resolution: {integrity: sha512-vNE+4pNAOk2Q0BkyTf+XMwZ53vMDJ7Ic/Z85sruaJfJJ+4O5k/61z2a4Xj3CSl9kKRlXOALbsxWca0vZz7ENbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.2: - resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==} + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.10: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.8: - resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==} + /@babel/plugin-syntax-typescript/7.17.10_@babel+core@7.17.10: + resolution: {integrity: sha512-xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 - dev: false - /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.17.8: + /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.17.10: resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 - '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.8 + '@babel/core': 7.17.10 + '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.10 dev: false - /@babel/plugin-transform-react-jsx-self/7.16.7_@babel+core@7.17.8: + /@babel/plugin-transform-react-jsx-self/7.16.7_@babel+core@7.17.10: resolution: {integrity: sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: false - /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.17.8: + /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.17.10: resolution: {integrity: sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 + '@babel/core': 7.17.10 '@babel/helper-plugin-utils': 7.16.7 dev: false - /@babel/plugin-transform-react-jsx/7.17.3_@babel+core@7.17.8: + /@babel/plugin-transform-react-jsx/7.17.3_@babel+core@7.17.10: resolution: {integrity: sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 + '@babel/core': 7.17.10 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-module-imports': 7.16.7 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 - '@babel/types': 7.17.0 + '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.10 + '@babel/types': 7.17.10 dev: false - /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.8: + /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.10: resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.8 - '@babel/helper-create-class-features-plugin': 7.16.10_@babel+core@7.17.8 + '@babel/core': 7.17.10 + '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.10 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.8 + '@babel/plugin-syntax-typescript': 7.17.10_@babel+core@7.17.10 transitivePeerDependencies: - supports-color dev: false - /@babel/runtime/7.16.5: - resolution: {integrity: sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==} + /@babel/runtime/7.17.9: + resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 - /@babel/standalone/7.17.8: - resolution: {integrity: sha512-tr3SDpVnxR/fzrxyG+HZPAyEA9eTHZIAjy4eqrc7m+KBwsdo1YvTbUfJ6teWHQ177mk6GmdmltsIiOYCcvRPWA==} + /@babel/standalone/7.17.11: + resolution: {integrity: sha512-47wVYBeTktYHwtzlFuK7qqV/H5X6mU4MUNqpQ9iiJOqnP8rWL0eX0GWLKRsv8D8suYzhuS1K/dtwgGr+26U7Gg==} engines: {node: '>=6.9.0'} dev: false - /@babel/template/7.16.0: - resolution: {integrity: sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/parser': 7.16.6 - '@babel/types': 7.16.8 - dev: false - /@babel/template/7.16.7: resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.7 - '@babel/parser': 7.17.8 - '@babel/types': 7.17.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 - /@babel/traverse/7.16.10: - resolution: {integrity: sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==} + /@babel/traverse/7.17.10: + resolution: {integrity: sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.7 - '@babel/generator': 7.16.8 + '@babel/generator': 7.17.10 '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.16.7 + '@babel/helper-function-name': 7.17.9 '@babel/helper-hoist-variables': 7.16.7 '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - debug: 4.3.3 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/traverse/7.16.5: - resolution: {integrity: sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.16.7 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.16.6 - '@babel/types': 7.16.8 - debug: 4.3.3 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/traverse/7.17.0: - resolution: {integrity: sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.0 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.16.7 - '@babel/helper-hoist-variables': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.17.0 - '@babel/types': 7.17.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - - /@babel/traverse/7.17.3: - resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.7 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.16.7 - '@babel/helper-hoist-variables': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.17.8 - '@babel/types': 7.17.0 - debug: 4.3.3 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/types/7.16.0: - resolution: {integrity: sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - to-fast-properties: 2.0.0 - - /@babel/types/7.16.8: - resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.16.7 - to-fast-properties: 2.0.0 - /@babel/types/7.17.0: - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + /@babel/types/7.17.10: + resolution: {integrity: sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.16.7 @@ -1830,15 +1565,15 @@ packages: '@cspotcode/source-map-consumer': 0.8.0 dev: true - /@docsearch/css/3.0.0-alpha.42: - resolution: {integrity: sha512-AGwI2AXUacYhVOHmYnsXoYDJKO6Ued2W+QO80GERbMLhC7GH5tfvtW5REs/s7jSdcU3vzFoxT8iPDBCh/PkrlQ==} + /@docsearch/css/3.0.0: + resolution: {integrity: sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA==} dev: true - /@docsearch/js/3.0.0-alpha.42: - resolution: {integrity: sha512-8rxxsvFKS5GzDX2MYMETeib4EOwAkoxVUHFP5R4tSENXojhuCEy3np+k3Q0c9WPT+MUmWLxKJab5jyl0jmaeBQ==} + /@docsearch/js/3.0.0: + resolution: {integrity: sha512-j3tUJWlgW3slYqzGB8fm7y05kh2qqrIK1dZOXHeMUm/5gdKE85fiz/ltfCPMDFb/MXF+bLZChJXSMzqY0Ck30Q==} dependencies: - '@docsearch/react': 3.0.0-alpha.42 - preact: 10.6.4 + '@docsearch/react': 3.0.0 + preact: 10.7.2 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -1846,46 +1581,45 @@ packages: - react-dom dev: true - /@docsearch/react/3.0.0-alpha.42: - resolution: {integrity: sha512-1aOslZJDxwUUcm2QRNmlEePUgL8P5fOAeFdOLDMctHQkV2iTja9/rKVbkP8FZbIUnZxuuCCn8ErLrjD/oXWOag==} + /@docsearch/react/3.0.0: + resolution: {integrity: sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==} peerDependencies: '@types/react': '>= 16.8.0 < 18.0.0' react: '>= 16.8.0 < 18.0.0' react-dom: '>= 16.8.0 < 18.0.0' dependencies: - '@algolia/autocomplete-core': 1.5.0 - '@algolia/autocomplete-preset-algolia': 1.5.0_algoliasearch@4.11.0 - '@docsearch/css': 3.0.0-alpha.42 - algoliasearch: 4.11.0 + '@algolia/autocomplete-core': 1.5.2 + '@algolia/autocomplete-preset-algolia': 1.5.2_algoliasearch@4.13.0 + '@docsearch/css': 3.0.0 + algoliasearch: 4.13.0 transitivePeerDependencies: - '@algolia/client-search' dev: true - /@emotion/babel-plugin/11.7.2: - resolution: {integrity: sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ==} + /@emotion/babel-plugin/11.9.2: + resolution: {integrity: sha512-Pr/7HGH6H6yKgnVFNEj2MVlreu3ADqftqjqwUvDy/OJzKFgxKeTQ+eeUf20FOTuHVkDON2iNa25rAXVYtWJCjw==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/helper-module-imports': 7.16.0 - '@babel/plugin-syntax-jsx': 7.16.5 - '@babel/runtime': 7.16.5 + '@babel/helper-module-imports': 7.16.7 + '@babel/plugin-syntax-jsx': 7.16.7 + '@babel/runtime': 7.17.9 '@emotion/hash': 0.8.0 '@emotion/memoize': 0.7.5 - '@emotion/serialize': 1.0.2 + '@emotion/serialize': 1.0.3 babel-plugin-macros: 2.8.0 convert-source-map: 1.8.0 escape-string-regexp: 4.0.0 find-root: 1.1.0 source-map: 0.5.7 stylis: 4.0.13 - dev: true /@emotion/cache/11.7.1: resolution: {integrity: sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==} dependencies: '@emotion/memoize': 0.7.5 '@emotion/sheet': 1.1.0 - '@emotion/utils': 1.0.0 + '@emotion/utils': 1.1.0 '@emotion/weak-memoize': 0.2.5 stylis: 4.0.13 dev: false @@ -1896,8 +1630,8 @@ packages: /@emotion/memoize/0.7.5: resolution: {integrity: sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==} - /@emotion/react/11.7.1_react@17.0.2: - resolution: {integrity: sha512-DV2Xe3yhkF1yT4uAUoJcYL1AmrnO5SVsdfvu+fBuS7IbByDeTVx9+wFmvx9Idzv7/78+9Mgx2Hcmr7Fex3tIyw==} + /@emotion/react/11.9.0_react@17.0.2: + resolution: {integrity: sha512-lBVSF5d0ceKtfKCDQJveNAtkC7ayxpVlgOohLgXqRwqWr9bOf4TZAFFyIcNngnV6xK6X4x2ZeXq7vliHkoVkxQ==} peerDependencies: '@babel/core': ^7.0.0 '@types/react': '*' @@ -1908,24 +1642,24 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.16.5 + '@babel/runtime': 7.17.9 + '@emotion/babel-plugin': 11.9.2 '@emotion/cache': 11.7.1 - '@emotion/serialize': 1.0.2 - '@emotion/sheet': 1.1.0 - '@emotion/utils': 1.0.0 + '@emotion/serialize': 1.0.3 + '@emotion/utils': 1.1.0 '@emotion/weak-memoize': 0.2.5 hoist-non-react-statics: 3.3.2 react: 17.0.2 dev: false - /@emotion/serialize/1.0.2: - resolution: {integrity: sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==} + /@emotion/serialize/1.0.3: + resolution: {integrity: sha512-2mSSvgLfyV3q+iVh3YWgNlUc2a9ZlDU7DjuP5MjK3AXRR0dYigCrP99aeFtaB2L/hjfEZdSThn5dsZ0ufqbvsA==} dependencies: '@emotion/hash': 0.8.0 '@emotion/memoize': 0.7.5 '@emotion/unitless': 0.7.5 - '@emotion/utils': 1.0.0 - csstype: 3.0.10 + '@emotion/utils': 1.1.0 + csstype: 3.0.11 /@emotion/sheet/1.1.0: resolution: {integrity: sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==} @@ -1934,37 +1668,37 @@ packages: /@emotion/unitless/0.7.5: resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} - /@emotion/utils/1.0.0: - resolution: {integrity: sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==} + /@emotion/utils/1.1.0: + resolution: {integrity: sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==} /@emotion/weak-memoize/0.2.5: resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} dev: false - /@eslint/eslintrc/1.2.1: - resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} + /@eslint/eslintrc/1.2.3: + resolution: {integrity: sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.3.1 - globals: 13.12.0 + espree: 9.3.2 + globals: 13.14.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 - minimatch: 3.0.4 + minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color dev: true - /@humanwhocodes/config-array/0.9.2: - resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==} + /@humanwhocodes/config-array/0.9.5: + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 debug: 4.3.4 - minimatch: 3.0.4 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true @@ -2003,14 +1737,14 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 slash: 3.0.0 dev: true - /@jest/core/27.5.1_ts-node@10.4.0: + /@jest/core/27.5.1_ts-node@10.7.0: resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -2024,14 +1758,14 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-changed-files: 27.5.1 - jest-config: 27.5.1_ts-node@10.4.0 + jest-config: 27.5.1_ts-node@10.7.0 jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -2043,7 +1777,7 @@ packages: jest-util: 27.5.1 jest-validate: 27.5.1 jest-watcher: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.5 rimraf: 3.0.2 slash: 3.0.0 strip-ansi: 6.0.1 @@ -2061,7 +1795,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 jest-mock: 27.5.1 dev: true @@ -2071,7 +1805,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 16.11.26 + '@types/node': 17.0.31 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -2100,17 +1834,17 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.1.0 + istanbul-lib-instrument: 5.2.0 istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.3 + istanbul-reports: 3.1.4 jest-haste-map: 27.5.1 jest-resolve: 27.5.1 jest-util: 27.5.1 @@ -2119,7 +1853,7 @@ packages: source-map: 0.6.1 string-length: 4.0.2 terminal-link: 2.1.1 - v8-to-istanbul: 8.1.0 + v8-to-istanbul: 8.1.1 transitivePeerDependencies: - supports-color dev: true @@ -2129,7 +1863,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: callsites: 3.1.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 source-map: 0.6.1 dev: true @@ -2148,7 +1882,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/test-result': 27.5.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-runtime: 27.5.1 transitivePeerDependencies: @@ -2159,18 +1893,18 @@ packages: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 1.8.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-regex-util: 27.5.1 jest-util: 27.5.1 - micromatch: 4.0.4 - pirates: 4.0.4 + micromatch: 4.0.5 + pirates: 4.0.5 slash: 3.0.0 source-map: 0.6.1 write-file-atomic: 3.0.3 @@ -2184,78 +1918,90 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true - /@jridgewell/resolve-uri/3.0.5: - resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==} + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.1 + '@jridgewell/sourcemap-codec': 1.4.13 + + /@jridgewell/resolve-uri/3.0.7: + resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} engines: {node: '>=6.0.0'} - /@jridgewell/sourcemap-codec/1.4.10: - resolution: {integrity: sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==} + /@jridgewell/set-array/1.1.1: + resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec/1.4.13: + resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} - /@jridgewell/trace-mapping/0.3.4: - resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==} + /@jridgewell/trace-mapping/0.3.10: + resolution: {integrity: sha512-Q0YbBd6OTsXm8Y21+YUSDXupHnodNC2M4O18jtd3iwJ3+vMZNdKGols0a9G6JOK0dcJ3IdUUHoh908ZI6qhk8Q==} dependencies: - '@jridgewell/resolve-uri': 3.0.5 - '@jridgewell/sourcemap-codec': 1.4.10 + '@jridgewell/resolve-uri': 3.0.7 + '@jridgewell/sourcemap-codec': 1.4.13 - /@mapbox/node-pre-gyp/1.0.8: - resolution: {integrity: sha512-CMGKi28CF+qlbXh26hDe6NxCd7amqeAzEqnS6IHeO6LoaKyM/n+Xw3HT1COdq8cuioOdlKdqn/hCmqPUOMOywg==} + /@mapbox/node-pre-gyp/1.0.9: + resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} hasBin: true dependencies: - detect-libc: 1.0.3 - https-proxy-agent: 5.0.0 + detect-libc: 2.0.1 + https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.6 + node-fetch: 2.6.7 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.3.5 + semver: 7.3.7 tar: 6.1.11 transitivePeerDependencies: + - encoding - supports-color dev: false - /@microsoft/api-extractor-model/7.15.4: - resolution: {integrity: sha512-9bIXQKKQr5jAH1c9atXrukr4ua30fhqxMwWIOOjEnexPBPu3nhy9lC4/GpE0kPUp1Al3wSXgFnOEGzEH+HFz+w==} + /@microsoft/api-extractor-model/7.17.2: + resolution: {integrity: sha512-fYfCeBeLm7jnZligC64qHiH4/vzswFLDfyPpX+uKO36OI2kIeMHrYG0zaezmuinKvE4vg1dAz38zZeDbPvBKGg==} dependencies: - '@microsoft/tsdoc': 0.13.2 - '@microsoft/tsdoc-config': 0.15.2 - '@rushstack/node-core-library': 3.45.1 + '@microsoft/tsdoc': 0.14.1 + '@microsoft/tsdoc-config': 0.16.1 + '@rushstack/node-core-library': 3.45.4 dev: true - /@microsoft/api-extractor/7.19.5: - resolution: {integrity: sha512-ra5r8P7PocOpemrZRccI3Tf1+wukI0gT6ncRB448QSxSYlmqKuvez95YUSYPwHIN/ztKL0cn5PfMOauU1lZfGQ==} + /@microsoft/api-extractor/7.23.1: + resolution: {integrity: sha512-J5cTjbMzSZPRZT4AKvFI1KmLGHVhV6bHnFcPo3Og9cN9QmknzpKg5BxvpBecEdFKNZxUpUrBkps2xOQ4Fjc6zg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.15.4 - '@microsoft/tsdoc': 0.13.2 - '@microsoft/tsdoc-config': 0.15.2 - '@rushstack/node-core-library': 3.45.1 - '@rushstack/rig-package': 0.3.8 - '@rushstack/ts-command-line': 4.10.7 + '@microsoft/api-extractor-model': 7.17.2 + '@microsoft/tsdoc': 0.14.1 + '@microsoft/tsdoc-config': 0.16.1 + '@rushstack/node-core-library': 3.45.4 + '@rushstack/rig-package': 0.3.11 + '@rushstack/ts-command-line': 4.10.10 colors: 1.2.5 lodash: 4.17.21 resolve: 1.17.0 - semver: 7.3.5 + semver: 7.3.7 source-map: 0.6.1 - typescript: 4.5.4 + typescript: 4.6.4 dev: true - /@microsoft/tsdoc-config/0.15.2: - resolution: {integrity: sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==} + /@microsoft/tsdoc-config/0.16.1: + resolution: {integrity: sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ==} dependencies: - '@microsoft/tsdoc': 0.13.2 + '@microsoft/tsdoc': 0.14.1 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 dev: true - /@microsoft/tsdoc/0.13.2: - resolution: {integrity: sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==} + /@microsoft/tsdoc/0.14.1: + resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} dev: true /@mrbbot/node-fetch/4.6.0: @@ -2265,7 +2011,7 @@ packages: '@cloudflare/workers-types': 2.2.2 busboy: 0.3.1 formdata-node: 2.5.0 - web-streams-polyfill: 3.2.0 + web-streams-polyfill: 3.2.1 dev: true /@nodelib/fs.scandir/2.1.5: @@ -2286,116 +2032,116 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@peculiar/asn1-schema/2.0.44: - resolution: {integrity: sha512-uaCnjQ9A9WwQSMuDJcNOCYEPXTahgKbFMvI7eMOMd8lXgx0J1eU7F3BoMsK5PFxa3dVUxjSQbaOjfgGoeHGgoQ==} + /@peculiar/asn1-schema/2.1.0: + resolution: {integrity: sha512-D6g4C5YRKC/iPujMAOXuZ7YGdaoMx8GsvWzfVSyx2LYeL38ECOKNywlYAuwbqQvON64lgsYdAujWQPX8hhoBLw==} dependencies: '@types/asn1js': 2.0.2 - asn1js: 2.2.0 - pvtsutils: 1.2.1 - tslib: 2.3.1 + asn1js: 2.4.0 + pvtsutils: 1.3.2 + tslib: 2.4.0 dev: true /@peculiar/json-schema/1.1.12: resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} engines: {node: '>=8.0.0'} dependencies: - tslib: 2.3.1 + tslib: 2.4.0 dev: true - /@peculiar/webcrypto/1.2.3: - resolution: {integrity: sha512-q7wDfZy3k/tpnsYB23/MyyDkjn6IdHh8w+xwoVMS5cu6CjVoFzngXDZEOOuSE4zus2yO6ciQhhHxd4XkLpwVnQ==} + /@peculiar/webcrypto/1.3.3: + resolution: {integrity: sha512-+jkp16Hp18HkphJlMtqsQKjyDWJBh0AhDuoB+vVakuIRbkBdaFb7v26Ldm25altjiYhCyQnR5NChHxwSTvbXJw==} engines: {node: '>=10.12.0'} dependencies: - '@peculiar/asn1-schema': 2.0.44 + '@peculiar/asn1-schema': 2.1.0 '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.2.1 - tslib: 2.3.1 - webcrypto-core: 1.4.0 + pvtsutils: 1.3.2 + tslib: 2.4.0 + webcrypto-core: 1.7.3 dev: true /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@rollup/plugin-alias/3.1.9_rollup@2.62.0: + /@rollup/plugin-alias/3.1.9_rollup@2.72.1: resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=8.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - rollup: 2.62.0 + rollup: 2.72.1 slash: 3.0.0 dev: true - /@rollup/plugin-commonjs/21.0.3_rollup@2.62.0: - resolution: {integrity: sha512-ThGfwyvcLc6cfP/MWxA5ACF+LZCvsuhUq7V5134Az1oQWsiC7lNpLT4mJI86WQunK7BYmpUiHmMk2Op6OAHs0g==} + /@rollup/plugin-commonjs/21.1.0_rollup@2.72.1: + resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==} engines: {node: '>= 8.0.0'} peerDependencies: rollup: ^2.38.3 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.62.0 + '@rollup/pluginutils': 3.1.0_rollup@2.72.1 commondir: 1.0.1 estree-walker: 2.0.2 glob: 7.2.0 is-reference: 1.2.1 - magic-string: 0.25.7 + magic-string: 0.25.9 resolve: 1.22.0 - rollup: 2.62.0 + rollup: 2.72.1 dev: true - /@rollup/plugin-dynamic-import-vars/1.4.2_rollup@2.62.0: - resolution: {integrity: sha512-SEaS9Pf0RyaZ/oJ1knLZT+Fu0X6DlyTfUcoE7XKkiKJjNaB+8SLoHmDVRhomo5RpWHPyd+B00G/bE5R5+Q+HEg==} + /@rollup/plugin-dynamic-import-vars/1.4.3_rollup@2.72.1: + resolution: {integrity: sha512-VYP9BBVI0pcYpLp/DkFT8YP+EmqmWFMmWXoTObDH6OouERxJyPsIj0tC3HxhjNBOKgcRc7eV75IQItzELt7QSg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 4.2.0 + '@rollup/pluginutils': 4.2.1 estree-walker: 2.0.2 fast-glob: 3.2.11 - magic-string: 0.25.7 - rollup: 2.62.0 + magic-string: 0.25.9 + rollup: 2.72.1 dev: true - /@rollup/plugin-json/4.1.0_rollup@2.62.0: + /@rollup/plugin-json/4.1.0_rollup@2.72.1: resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.62.0 - rollup: 2.62.0 + '@rollup/pluginutils': 3.1.0_rollup@2.72.1 + rollup: 2.72.1 dev: true - /@rollup/plugin-node-resolve/13.1.3_rollup@2.62.0: - resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==} + /@rollup/plugin-node-resolve/13.2.1_rollup@2.72.1: + resolution: {integrity: sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.62.0 + '@rollup/pluginutils': 3.1.0_rollup@2.72.1 '@types/resolve': 1.17.1 builtin-modules: 3.2.0 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.22.0 - rollup: 2.62.0 + rollup: 2.72.1 dev: true - /@rollup/plugin-typescript/8.3.1_7c5ff569c0887b4f0035eb7cb6988163: - resolution: {integrity: sha512-84rExe3ICUBXzqNX48WZV2Jp3OddjTMX97O2Py6D1KJaGSwWp0mDHXj+bCGNJqWHIEKDIT2U0sDjhP4czKi6cA==} + /@rollup/plugin-typescript/8.3.2_1ca3041dc435726c0a8fcb5dcdbe7c94: + resolution: {integrity: sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==} engines: {node: '>=8.0.0'} peerDependencies: rollup: ^2.14.0 tslib: '*' typescript: '>=3.7.0' dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.62.0 + '@rollup/pluginutils': 3.1.0_rollup@2.72.1 resolve: 1.22.0 - rollup: 2.62.0 - tslib: 2.3.1 - typescript: 4.5.4 + rollup: 2.72.1 + tslib: 2.4.0 + typescript: 4.6.4 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.62.0: + /@rollup/pluginutils/3.1.0_rollup@2.72.1: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -2403,19 +2149,19 @@ packages: dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 - picomatch: 2.3.0 - rollup: 2.62.0 + picomatch: 2.3.1 + rollup: 2.72.1 dev: true - /@rollup/pluginutils/4.2.0: - resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==} + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 - picomatch: 2.3.0 + picomatch: 2.3.1 - /@rushstack/node-core-library/3.45.1: - resolution: {integrity: sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ==} + /@rushstack/node-core-library/3.45.4: + resolution: {integrity: sha512-FMoEQWjK7nWAO2uFgV1eVpVhY9ZDGOdIIomi9zTej64cKJ+8/Nvu+ny0xKaUDEjw/ALftN2D2ml7L0RDpW/Z9g==} dependencies: '@types/node': 12.20.24 colors: 1.2.5 @@ -2423,20 +2169,20 @@ packages: import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.17.0 - semver: 7.3.5 + semver: 7.3.7 timsort: 0.3.0 - z-schema: 5.0.2 + z-schema: 5.0.3 dev: true - /@rushstack/rig-package/0.3.8: - resolution: {integrity: sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q==} + /@rushstack/rig-package/0.3.11: + resolution: {integrity: sha512-uI1/g5oQPtyrT9nStoyX/xgZSLa2b+srRFaDk3r1eqC7zA5th4/bvTGl2QfV3C9NcP+coSqmk5mFJkUfH6i3Lw==} dependencies: resolve: 1.17.0 strip-json-comments: 3.1.1 dev: true - /@rushstack/ts-command-line/4.10.7: - resolution: {integrity: sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og==} + /@rushstack/ts-command-line/4.10.10: + resolution: {integrity: sha512-F+MH7InPDXqX40qvvcEsnvPpmg566SBpfFqj2fcCh8RjM6AyOoWlXc8zx7giBD3ZN85NVAEjZAgrcLU0z+R2yg==} dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 @@ -2485,39 +2231,49 @@ packages: resolution: {integrity: sha512-t4YHCgtD+ERvH0FyxvNlYwJ2ezhqw7t+Ygh4urQ7dJER8i185JPv6oIM3ey5YQmGN6Zp9EMbpohkjZi9t3UxwA==} dev: true - /@types/babel__core/7.1.17: - resolution: {integrity: sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==} + /@types/babel__core/7.1.19: + resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} dependencies: - '@babel/parser': 7.17.0 - '@babel/types': 7.17.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.14.2 + '@types/babel__traverse': 7.17.1 dev: true /@types/babel__generator/7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.17.10 dev: true /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.17.0 - '@babel/types': 7.17.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 dev: true - /@types/babel__traverse/7.14.2: - resolution: {integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==} + /@types/babel__traverse/7.17.1: + resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==} dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.17.10 dev: true /@types/braces/3.0.1: resolution: {integrity: sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ==} dev: true + /@types/chai-subset/1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + dependencies: + '@types/chai': 4.3.1 + dev: true + + /@types/chai/4.3.1: + resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==} + dev: true + /@types/convert-source-map/1.5.2: resolution: {integrity: sha512-tHs++ZeXer40kCF2JpE51Hg7t4HPa18B1b1Dzy96S0eCw8QKECNMYMfwa1edK/x8yCN0r4e6ewvLcc5CsVGkdg==} dev: true @@ -2525,7 +2281,7 @@ packages: /@types/cross-spawn/6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /@types/debug/4.1.7: @@ -2545,19 +2301,19 @@ packages: /@types/etag/1.8.1: resolution: {integrity: sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /@types/hash-sum/1.0.0: @@ -2580,15 +2336,15 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/27.4.1: - resolution: {integrity: sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==} + /@types/jest/27.5.0: + resolution: {integrity: sha512-9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==} dependencies: jest-matcher-utils: 27.5.1 pretty-format: 27.5.1 dev: true - /@types/json-schema/7.0.9: - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} + /@types/json-schema/7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true /@types/less/3.0.3: @@ -2621,8 +2377,8 @@ packages: resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} dev: true - /@types/node/16.11.26: - resolution: {integrity: sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==} + /@types/node/17.0.31: + resolution: {integrity: sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==} dev: true /@types/normalize-package-data/2.4.1: @@ -2632,30 +2388,28 @@ packages: /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - /@types/prettier/2.4.2: - resolution: {integrity: sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==} + /@types/prettier/2.6.0: + resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==} dev: true - /@types/prompts/2.0.14: - resolution: {integrity: sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==} - dependencies: - '@types/node': 16.11.26 + /@types/prompts/2.4.0: + resolution: {integrity: sha512-7th8Opn+0XlN0O6qzO7dXOPwL6rigq/EwRS2DntaTHwSw8cLaYKeAPt5dWEKHSL+ffVSUl1itTPUC06+FlsV4Q==} dev: true /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true - /@types/resolve/1.20.1: - resolution: {integrity: sha512-Ku5+GPFa12S3W26Uwtw+xyrtIpaZsGYHH6zxNbZlstmlvMYSZRzOwzwsXbxlVUbHyUucctSyuFtu6bNxwYomIw==} + /@types/resolve/1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /@types/semver/7.3.9: @@ -2670,38 +2424,38 @@ packages: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true - /@types/stylus/0.48.36: - resolution: {integrity: sha512-7klEq45BUE8ZJWkYWy1E442DcCs0wi0FkFY1Tjr6EJ7edL77t9w/QmOwlkFumBMqHlatDBtrA2xgfRrGqkUkzg==} + /@types/stylus/0.48.37: + resolution: {integrity: sha512-IkLnS/GzdDK3rgAmQwLr8LqPvUMa43SHlCnXqsfXNukwaIpiXBNgSHil3ro8aemhF4k4ZiMoa4URE7mwBHPJnQ==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true - /@types/yargs-parser/20.2.1: - resolution: {integrity: sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==} + /@types/yargs-parser/21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true /@types/yargs/16.0.4: resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} dependencies: - '@types/yargs-parser': 20.2.1 + '@types/yargs-parser': 21.0.0 dev: true - /@types/yauzl/2.9.2: - resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==} + /@types/yauzl/2.10.0: + resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true optional: true - /@typescript-eslint/eslint-plugin/5.16.0_e8f8f41828c0dd0ac8e32e1859a7f4f7: - resolution: {integrity: sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==} + /@typescript-eslint/eslint-plugin/5.22.0_9817cbad956b8aa5d1e3d9ec99e4a1e4: + resolution: {integrity: sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -2711,24 +2465,24 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.16.0_eslint@8.12.0+typescript@4.5.4 - '@typescript-eslint/scope-manager': 5.16.0 - '@typescript-eslint/type-utils': 5.16.0_eslint@8.12.0+typescript@4.5.4 - '@typescript-eslint/utils': 5.16.0_eslint@8.12.0+typescript@4.5.4 + '@typescript-eslint/parser': 5.22.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/scope-manager': 5.22.0 + '@typescript-eslint/type-utils': 5.22.0_eslint@8.15.0+typescript@4.6.4 + '@typescript-eslint/utils': 5.22.0_eslint@8.15.0+typescript@4.6.4 debug: 4.3.4 - eslint: 8.12.0 + eslint: 8.15.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.5.4 - typescript: 4.5.4 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.6.4 + typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.16.0_eslint@8.12.0+typescript@4.5.4: - resolution: {integrity: sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==} + /@typescript-eslint/parser/5.22.0_eslint@8.15.0+typescript@4.6.4: + resolution: {integrity: sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2737,26 +2491,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.16.0 - '@typescript-eslint/types': 5.16.0 - '@typescript-eslint/typescript-estree': 5.16.0_typescript@4.5.4 + '@typescript-eslint/scope-manager': 5.22.0 + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.6.4 debug: 4.3.4 - eslint: 8.12.0 - typescript: 4.5.4 + eslint: 8.15.0 + typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.16.0: - resolution: {integrity: sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==} + /@typescript-eslint/scope-manager/5.22.0: + resolution: {integrity: sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.16.0 - '@typescript-eslint/visitor-keys': 5.16.0 + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/visitor-keys': 5.22.0 dev: true - /@typescript-eslint/type-utils/5.16.0_eslint@8.12.0+typescript@4.5.4: - resolution: {integrity: sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==} + /@typescript-eslint/type-utils/5.22.0_eslint@8.15.0+typescript@4.6.4: + resolution: {integrity: sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -2765,22 +2519,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.16.0_eslint@8.12.0+typescript@4.5.4 + '@typescript-eslint/utils': 5.22.0_eslint@8.15.0+typescript@4.6.4 debug: 4.3.4 - eslint: 8.12.0 - tsutils: 3.21.0_typescript@4.5.4 - typescript: 4.5.4 + eslint: 8.15.0 + tsutils: 3.21.0_typescript@4.6.4 + typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.16.0: - resolution: {integrity: sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==} + /@typescript-eslint/types/5.22.0: + resolution: {integrity: sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.16.0_typescript@4.5.4: - resolution: {integrity: sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==} + /@typescript-eslint/typescript-estree/5.22.0_typescript@4.6.4: + resolution: {integrity: sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -2788,41 +2542,41 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.16.0 - '@typescript-eslint/visitor-keys': 5.16.0 + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/visitor-keys': 5.22.0 debug: 4.3.4 - globby: 11.0.4 + globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.5.4 - typescript: 4.5.4 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.6.4 + typescript: 4.6.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.16.0_eslint@8.12.0+typescript@4.5.4: - resolution: {integrity: sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==} + /@typescript-eslint/utils/5.22.0_eslint@8.15.0+typescript@4.6.4: + resolution: {integrity: sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@types/json-schema': 7.0.9 - '@typescript-eslint/scope-manager': 5.16.0 - '@typescript-eslint/types': 5.16.0 - '@typescript-eslint/typescript-estree': 5.16.0_typescript@4.5.4 - eslint: 8.12.0 + '@types/json-schema': 7.0.11 + '@typescript-eslint/scope-manager': 5.22.0 + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.6.4 + eslint: 8.15.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.12.0 + eslint-utils: 3.0.0_eslint@8.15.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.16.0: - resolution: {integrity: sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==} + /@typescript-eslint/visitor-keys/5.22.0: + resolution: {integrity: sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.16.0 + '@typescript-eslint/types': 5.22.0 eslint-visitor-keys: 3.3.0 dev: true @@ -2830,172 +2584,99 @@ packages: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: false - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.8: + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.10: resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: - '@babel/helper-module-imports': 7.16.0 - '@babel/plugin-syntax-jsx': 7.16.5_@babel+core@7.17.8 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 + '@babel/helper-module-imports': 7.16.7 + '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.10 + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.10 + '@babel/types': 7.17.10 '@vue/babel-helper-vue-transform-on': 1.0.2 - camelcase: 6.2.1 - html-tags: 3.1.0 + camelcase: 6.3.0 + html-tags: 3.2.0 svg-tags: 1.0.0 transitivePeerDependencies: - '@babel/core' - supports-color dev: false - /@vue/compiler-core/3.2.26: - resolution: {integrity: sha512-N5XNBobZbaASdzY9Lga2D9Lul5vdCIOXvUMd6ThcN8zgqQhPKfCV+wfAJNNJKQkSHudnYRO2gEB+lp0iN3g2Tw==} - dependencies: - '@babel/parser': 7.16.6 - '@vue/shared': 3.2.26 - estree-walker: 2.0.2 - source-map: 0.6.1 - - /@vue/compiler-core/3.2.31: - resolution: {integrity: sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==} + /@vue/compiler-core/3.2.33: + resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} dependencies: - '@babel/parser': 7.17.8 - '@vue/shared': 3.2.31 + '@babel/parser': 7.17.10 + '@vue/shared': 3.2.33 estree-walker: 2.0.2 source-map: 0.6.1 - /@vue/compiler-dom/3.2.26: - resolution: {integrity: sha512-smBfaOW6mQDxcT3p9TKT6mE22vjxjJL50GFVJiI0chXYGU/xzC05QRGrW3HHVuJrmLTLx5zBhsZ2dIATERbarg==} - dependencies: - '@vue/compiler-core': 3.2.26 - '@vue/shared': 3.2.26 - - /@vue/compiler-dom/3.2.31: - resolution: {integrity: sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==} - dependencies: - '@vue/compiler-core': 3.2.31 - '@vue/shared': 3.2.31 - - /@vue/compiler-sfc/3.2.26: - resolution: {integrity: sha512-ePpnfktV90UcLdsDQUh2JdiTuhV0Skv2iYXxfNMOK/F3Q+2BO0AulcVcfoksOpTJGmhhfosWfMyEaEf0UaWpIw==} + /@vue/compiler-dom/3.2.33: + resolution: {integrity: sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==} dependencies: - '@babel/parser': 7.16.6 - '@vue/compiler-core': 3.2.26 - '@vue/compiler-dom': 3.2.26 - '@vue/compiler-ssr': 3.2.26 - '@vue/reactivity-transform': 3.2.26 - '@vue/shared': 3.2.26 - estree-walker: 2.0.2 - magic-string: 0.25.7 - postcss: 8.4.5 - source-map: 0.6.1 + '@vue/compiler-core': 3.2.33 + '@vue/shared': 3.2.33 - /@vue/compiler-sfc/3.2.31: - resolution: {integrity: sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==} + /@vue/compiler-sfc/3.2.33: + resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} dependencies: - '@babel/parser': 7.17.8 - '@vue/compiler-core': 3.2.31 - '@vue/compiler-dom': 3.2.31 - '@vue/compiler-ssr': 3.2.31 - '@vue/reactivity-transform': 3.2.31 - '@vue/shared': 3.2.31 + '@babel/parser': 7.17.10 + '@vue/compiler-core': 3.2.33 + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-ssr': 3.2.33 + '@vue/reactivity-transform': 3.2.33 + '@vue/shared': 3.2.33 estree-walker: 2.0.2 - magic-string: 0.25.7 - postcss: 8.4.12 + magic-string: 0.25.9 + postcss: 8.4.13 source-map: 0.6.1 - /@vue/compiler-ssr/3.2.26: - resolution: {integrity: sha512-2mywLX0ODc4Zn8qBoA2PDCsLEZfpUGZcyoFRLSOjyGGK6wDy2/5kyDOWtf0S0UvtoyVq95OTSGIALjZ4k2q/ag==} - dependencies: - '@vue/compiler-dom': 3.2.26 - '@vue/shared': 3.2.26 - - /@vue/compiler-ssr/3.2.31: - resolution: {integrity: sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==} + /@vue/compiler-ssr/3.2.33: + resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} dependencies: - '@vue/compiler-dom': 3.2.31 - '@vue/shared': 3.2.31 + '@vue/compiler-dom': 3.2.33 + '@vue/shared': 3.2.33 - /@vue/devtools-api/6.0.0-beta.21.1: - resolution: {integrity: sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw==} + /@vue/devtools-api/6.1.4: + resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} dev: false - /@vue/reactivity-transform/3.2.26: - resolution: {integrity: sha512-XKMyuCmzNA7nvFlYhdKwD78rcnmPb7q46uoR00zkX6yZrUmcCQ5OikiwUEVbvNhL5hBJuvbSO95jB5zkUon+eQ==} - dependencies: - '@babel/parser': 7.16.6 - '@vue/compiler-core': 3.2.26 - '@vue/shared': 3.2.26 - estree-walker: 2.0.2 - magic-string: 0.25.7 - - /@vue/reactivity-transform/3.2.31: - resolution: {integrity: sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==} + /@vue/reactivity-transform/3.2.33: + resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} dependencies: - '@babel/parser': 7.17.8 - '@vue/compiler-core': 3.2.31 - '@vue/shared': 3.2.31 + '@babel/parser': 7.17.10 + '@vue/compiler-core': 3.2.33 + '@vue/shared': 3.2.33 estree-walker: 2.0.2 - magic-string: 0.25.7 + magic-string: 0.25.9 - /@vue/reactivity/3.2.26: - resolution: {integrity: sha512-h38bxCZLW6oFJVDlCcAiUKFnXI8xP8d+eO0pcDxx+7dQfSPje2AO6M9S9QO6MrxQB7fGP0DH0dYQ8ksf6hrXKQ==} + /@vue/reactivity/3.2.33: + resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} dependencies: - '@vue/shared': 3.2.26 + '@vue/shared': 3.2.33 - /@vue/reactivity/3.2.31: - resolution: {integrity: sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==} + /@vue/runtime-core/3.2.33: + resolution: {integrity: sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==} dependencies: - '@vue/shared': 3.2.31 + '@vue/reactivity': 3.2.33 + '@vue/shared': 3.2.33 - /@vue/runtime-core/3.2.26: - resolution: {integrity: sha512-BcYi7qZ9Nn+CJDJrHQ6Zsmxei2hDW0L6AB4vPvUQGBm2fZyC0GXd/4nVbyA2ubmuhctD5RbYY8L+5GUJszv9mQ==} + /@vue/runtime-dom/3.2.33: + resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} dependencies: - '@vue/reactivity': 3.2.26 - '@vue/shared': 3.2.26 + '@vue/runtime-core': 3.2.33 + '@vue/shared': 3.2.33 + csstype: 2.6.20 - /@vue/runtime-core/3.2.31: - resolution: {integrity: sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==} - dependencies: - '@vue/reactivity': 3.2.31 - '@vue/shared': 3.2.31 - - /@vue/runtime-dom/3.2.26: - resolution: {integrity: sha512-dY56UIiZI+gjc4e8JQBwAifljyexfVCkIAu/WX8snh8vSOt/gMSEGwPRcl2UpYpBYeyExV8WCbgvwWRNt9cHhQ==} - dependencies: - '@vue/runtime-core': 3.2.26 - '@vue/shared': 3.2.26 - csstype: 2.6.19 - - /@vue/runtime-dom/3.2.31: - resolution: {integrity: sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==} - dependencies: - '@vue/runtime-core': 3.2.31 - '@vue/shared': 3.2.31 - csstype: 2.6.19 - - /@vue/server-renderer/3.2.26_vue@3.2.26: - resolution: {integrity: sha512-Jp5SggDUvvUYSBIvYEhy76t4nr1vapY/FIFloWmQzn7UxqaHrrBpbxrqPcTrSgGrcaglj0VBp22BKJNre4aA1w==} - peerDependencies: - vue: 3.2.26 - dependencies: - '@vue/compiler-ssr': 3.2.26 - '@vue/shared': 3.2.26 - vue: 3.2.26 - - /@vue/server-renderer/3.2.31_vue@3.2.31: - resolution: {integrity: sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==} + /@vue/server-renderer/3.2.33_vue@3.2.33: + resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} peerDependencies: - vue: 3.2.31 + vue: 3.2.33 dependencies: - '@vue/compiler-ssr': 3.2.31 - '@vue/shared': 3.2.31 - vue: 3.2.31 - - /@vue/shared/3.2.26: - resolution: {integrity: sha512-vPV6Cq+NIWbH5pZu+V+2QHE9y1qfuTq49uNWw4f7FDEeZaDU2H2cx5jcUZOAKW7qTrUS4k6qZPbMy1x4N96nbA==} + '@vue/compiler-ssr': 3.2.33 + '@vue/shared': 3.2.33 + vue: 3.2.33 - /@vue/shared/3.2.31: - resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==} + /@vue/shared/3.2.33: + resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} /@wessberg/stringutil/1.0.19: resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==} @@ -3010,20 +2691,20 @@ packages: through: 2.3.8 dev: true - /abab/2.0.5: - resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} + /abab/2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true /abbrev/1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /accepts/1.3.7: - resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} dependencies: - mime-types: 2.1.34 - negotiator: 0.6.2 + mime-types: 2.1.35 + negotiator: 0.6.3 dev: true /acorn-globals/6.0.0: @@ -3033,12 +2714,12 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-jsx/5.3.2_acorn@8.7.0: + /acorn-jsx/5.3.2_acorn@8.7.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.7.0 + acorn: 8.7.1 dev: true /acorn-node/1.8.2: @@ -3063,8 +2744,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /acorn/8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} + /acorn/8.7.1: + resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -3098,23 +2779,23 @@ packages: uri-js: 4.4.1 dev: true - /algoliasearch/4.11.0: - resolution: {integrity: sha512-IXRj8kAP2WrMmj+eoPqPc6P7Ncq1yZkFiyDrjTBObV1ADNL8Z/KdZ+dWC5MmYcBLAbcB/mMCpak5N/D1UIZvsA==} + /algoliasearch/4.13.0: + resolution: {integrity: sha512-oHv4faI1Vl2s+YC0YquwkK/TsaJs79g2JFg5FDm2rKN12VItPTAeQ7hyJMHarOPPYuCnNC5kixbtcqvb21wchw==} dependencies: - '@algolia/cache-browser-local-storage': 4.11.0 - '@algolia/cache-common': 4.11.0 - '@algolia/cache-in-memory': 4.11.0 - '@algolia/client-account': 4.11.0 - '@algolia/client-analytics': 4.11.0 - '@algolia/client-common': 4.11.0 - '@algolia/client-personalization': 4.11.0 - '@algolia/client-search': 4.11.0 - '@algolia/logger-common': 4.11.0 - '@algolia/logger-console': 4.11.0 - '@algolia/requester-browser-xhr': 4.11.0 - '@algolia/requester-common': 4.11.0 - '@algolia/requester-node-http': 4.11.0 - '@algolia/transporter': 4.11.0 + '@algolia/cache-browser-local-storage': 4.13.0 + '@algolia/cache-common': 4.13.0 + '@algolia/cache-in-memory': 4.13.0 + '@algolia/client-account': 4.13.0 + '@algolia/client-analytics': 4.13.0 + '@algolia/client-common': 4.13.0 + '@algolia/client-personalization': 4.13.0 + '@algolia/client-search': 4.13.0 + '@algolia/logger-common': 4.13.0 + '@algolia/logger-console': 4.13.0 + '@algolia/requester-browser-xhr': 4.13.0 + '@algolia/requester-common': 4.13.0 + '@algolia/requester-node-http': 4.13.0 + '@algolia/transporter': 4.13.0 dev: true /ansi-escapes/4.3.2: @@ -3219,8 +2900,8 @@ packages: resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} dev: true - /asn1js/2.2.0: - resolution: {integrity: sha512-oagLNqpfNv7CvmyMoexMDNyVDSiq1rya0AEUgcLlNHdHgNl6U/hi8xY370n5y+ZIFEXOx0J4B1qF2NDjMRxklA==} + /asn1js/2.4.0: + resolution: {integrity: sha512-PvZC0FMyMut8aOnR2jAEGSkmRtHIUYPe9amUEnGjr9TdnUmsfoOkjrvUkOEU9mzpYBR1HyO9bF+8U1cLTMMHhQ==} engines: {node: '>=6.0.0'} dependencies: pvutils: 1.1.3 @@ -3230,6 +2911,10 @@ packages: resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} dev: true + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + /astral-regex/2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -3245,16 +2930,16 @@ packages: hasBin: true dev: true - /autoprefixer/10.4.0: - resolution: {integrity: sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==} + /autoprefixer/10.4.7: + resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.19.1 - caniuse-lite: 1.0.30001294 - fraction.js: 4.1.2 + browserslist: 4.20.3 + caniuse-lite: 1.0.30001338 + fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 postcss-value-parser: 4.2.0 @@ -3263,25 +2948,25 @@ packages: /axios/0.24.0: resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: - follow-redirects: 1.14.6 + follow-redirects: 1.15.0 transitivePeerDependencies: - debug dev: false - /babel-jest/27.5.1_@babel+core@7.17.2: + /babel-jest/27.5.1_@babel+core@7.17.10: resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__core': 7.1.17 + '@types/babel__core': 7.1.19 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1_@babel+core@7.17.2 + babel-preset-jest: 27.5.1_@babel+core@7.17.10 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 slash: 3.0.0 transitivePeerDependencies: - supports-color @@ -3294,7 +2979,7 @@ packages: '@babel/helper-plugin-utils': 7.16.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.1.0 + istanbul-lib-instrument: 5.2.0 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color @@ -3305,55 +2990,54 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@babel/template': 7.16.7 - '@babel/types': 7.17.0 - '@types/babel__core': 7.1.17 - '@types/babel__traverse': 7.14.2 + '@babel/types': 7.17.10 + '@types/babel__core': 7.1.19 + '@types/babel__traverse': 7.17.1 dev: true /babel-plugin-macros/2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.16.5 + '@babel/runtime': 7.17.9 cosmiconfig: 6.0.0 - resolve: 1.20.0 - dev: true + resolve: 1.22.0 - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.17.2: + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.17.10: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.2 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.2 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.17.2 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.2 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.2 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.2 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.2 - dev: true - - /babel-preset-jest/27.5.1_@babel+core@7.17.2: + '@babel/core': 7.17.10 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.10 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.10 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.10 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.10 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.10 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.10 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.10 + dev: true + + /babel-preset-jest/27.5.1_@babel+core@7.17.10: resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.2 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.10 dev: true /babel-walk/3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.17.10 dev: true /balanced-match/1.0.2: @@ -3369,9 +3053,10 @@ packages: engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: - '@mapbox/node-pre-gyp': 1.0.8 + '@mapbox/node-pre-gyp': 1.0.9 node-addon-api: 3.2.1 transitivePeerDependencies: + - encoding - supports-color dev: false @@ -3383,20 +3068,22 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /body-parser/1.19.1: - resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} - engines: {node: '>= 0.8'} + /body-parser/1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: - bytes: 3.1.1 + bytes: 3.1.2 content-type: 1.0.4 debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.8.1 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.9.6 - raw-body: 2.4.2 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 type-is: 1.6.18 + unpipe: 1.0.0 dev: true /brace-expansion/1.1.11: @@ -3415,15 +3102,15 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist/4.19.1: - resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} + /browserslist/4.20.3: + resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001294 - electron-to-chromium: 1.4.29 + caniuse-lite: 1.0.30001338 + electron-to-chromium: 1.4.137 escalade: 3.1.1 - node-releases: 2.0.1 + node-releases: 2.0.4 picocolors: 1.0.0 /bs-logger/0.2.6: @@ -3464,8 +3151,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /bytes/3.1.1: - resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} /cac/6.7.9: @@ -3503,12 +3190,25 @@ packages: engines: {node: '>=6'} dev: true - /camelcase/6.2.1: - resolution: {integrity: sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==} + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-lite/1.0.30001294: - resolution: {integrity: sha512-LiMlrs1nSKZ8qkNhpUf5KD0Al1KCBE3zaT7OLOwEkagXMEDij98SiOovn9wxVGQpklk9vVC/pUSqgYmkmKOS8g==} + /caniuse-lite/1.0.30001338: + resolution: {integrity: sha512-1gLHWyfVoRDsHieO+CaeYe7jSo/MT7D7lhaXUiwwbuR5BwQxORs0f1tAwUSQr3YbxRXJvxHM/PA5FfPQRnsPeQ==} + + /chai/4.3.6: + resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 3.0.1 + get-func-name: 2.0.0 + loupe: 2.3.4 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -3536,19 +3236,9 @@ packages: is-regex: 1.1.4 dev: true - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 + /check-error/1.0.2: + resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} + dev: true /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -3577,7 +3267,7 @@ packages: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true - /cjstoesm/1.1.4_typescript@4.5.4: + /cjstoesm/1.1.4_typescript@4.6.4: resolution: {integrity: sha512-cixLJwK2HS8R8J1jJcYwlrLxWUbdNms5EmVQuvP3O0CGvHNv2WVd2gnqTP/tbTEYzbgWiSYQBZDoAakqsSl94Q==} engines: {node: '>=10.0.0'} hasBin: true @@ -3587,13 +3277,13 @@ packages: '@wessberg/stringutil': 1.0.19 chalk: 4.1.2 commander: 7.2.0 - compatfactory: 0.0.6_typescript@4.5.4 + compatfactory: 0.0.6_typescript@4.6.4 crosspath: 0.0.8 - fast-glob: 3.2.7 + fast-glob: 3.2.11 helpertypes: 0.0.2 reserved-words: 0.1.2 - resolve: 1.20.0 - typescript: 4.5.4 + resolve: 1.22.0 + typescript: 4.6.4 dev: true /clean-stack/2.2.0: @@ -3621,11 +3311,11 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: slice-ansi: 5.0.0 - string-width: 5.0.1 + string-width: 5.1.2 dev: true - /clipboard/2.0.8: - resolution: {integrity: sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==} + /clipboard/2.0.11: + resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==} dependencies: good-listener: 1.2.2 select: 1.1.2 @@ -3671,8 +3361,8 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-string/1.9.0: - resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==} + /color-string/1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 @@ -3683,11 +3373,12 @@ packages: hasBin: true dev: false - /color/4.1.0: - resolution: {integrity: sha512-o2rkkxyLGgYoeUy1OodXpbPAQNmlNBrirQ8ODO8QutzDiDMNdezSOZLNnusQ6pUpCQJUsaJIo9DZJKqa2HgH7A==} + /color/4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 - color-string: 1.9.0 + color-string: 1.9.1 dev: false /colorette/2.0.16: @@ -3713,7 +3404,6 @@ packages: /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - requiresBuild: true dev: true /commander/7.2.0: @@ -3740,28 +3430,28 @@ packages: dot-prop: 5.3.0 dev: true - /compatfactory/0.0.6_typescript@4.5.4: + /compatfactory/0.0.6_typescript@4.6.4: resolution: {integrity: sha512-F1LpdNxgxay4UdanmeL75+guJPDg2zu8bFZDVih/kse5hA3oa+aMgvk4tLwq7AFBpy3S0ilnPdSfYsTl/L9NXA==} engines: {node: '>=10.0.0'} peerDependencies: typescript: '>=3.x || >= 4.x' dependencies: helpertypes: 0.0.2 - typescript: 4.5.4 + typescript: 4.6.4 dev: true /compressible/2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: - mime-db: 1.51.0 + mime-db: 1.52.0 dev: true /compression/1.7.4: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 bytes: 3.0.0 compressible: 2.0.18 debug: 2.6.9 @@ -3795,8 +3485,8 @@ packages: /constantinople/4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.16.6 - '@babel/types': 7.16.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 dev: true /content-disposition/0.5.4: @@ -3845,8 +3535,8 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-conventionalcommits/4.6.2: - resolution: {integrity: sha512-fo+VhM0VtD3wdHZtrPhgvTFjAhAMUjYeQV6B5+DB/cupG1O554pJdTwrvBInq8JLHl+GucKQpZycMPye/OpgSw==} + /conventional-changelog-conventionalcommits/4.6.3: + resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} engines: {node: '>=10'} dependencies: compare-func: 2.0.0 @@ -3859,11 +3549,11 @@ packages: engines: {node: '>=10'} dependencies: add-stream: 1.0.0 - conventional-changelog-writer: 5.0.0 - conventional-commits-parser: 3.2.3 + conventional-changelog-writer: 5.0.1 + conventional-commits-parser: 3.2.4 dateformat: 3.0.3 get-pkg-repo: 4.2.1 - git-raw-commits: 2.0.10 + git-raw-commits: 2.0.11 git-remote-origin-url: 2.0.0 git-semver-tags: 4.1.1 lodash: 4.17.21 @@ -3915,8 +3605,8 @@ packages: engines: {node: '>=10'} dev: true - /conventional-changelog-writer/5.0.0: - resolution: {integrity: sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==} + /conventional-changelog-writer/5.0.1: + resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -3938,7 +3628,7 @@ packages: conventional-changelog-angular: 5.0.13 conventional-changelog-atom: 2.0.8 conventional-changelog-codemirror: 2.0.8 - conventional-changelog-conventionalcommits: 4.6.2 + conventional-changelog-conventionalcommits: 4.6.3 conventional-changelog-core: 4.2.4 conventional-changelog-ember: 2.0.9 conventional-changelog-eslint: 3.0.9 @@ -3956,8 +3646,8 @@ packages: modify-values: 1.0.1 dev: true - /conventional-commits-parser/3.2.3: - resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==} + /conventional-commits-parser/3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} hasBin: true dependencies: @@ -3978,19 +3668,24 @@ packages: resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: true - /cookie/0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + /cookie/0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: true + + /cookie/0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: true - /copy-anything/2.0.3: - resolution: {integrity: sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==} + /copy-anything/2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} dependencies: is-what: 3.14.1 dev: true - /core-js/3.21.1: - resolution: {integrity: sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==} + /core-js/3.22.4: + resolution: {integrity: sha512-1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==} requiresBuild: true dev: false @@ -4015,7 +3710,6 @@ packages: parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.2 - dev: true /cosmiconfig/7.0.1: resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} @@ -4107,11 +3801,11 @@ packages: cssom: 0.3.8 dev: true - /csstype/2.6.19: - resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==} + /csstype/2.6.20: + resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} - /csstype/3.0.10: - resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==} + /csstype/3.0.11: + resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} /d/1.0.1: resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} @@ -4129,7 +3823,7 @@ packages: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} dependencies: - abab: 2.0.5 + abab: 2.0.6 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 dev: true @@ -4167,6 +3861,7 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: true /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -4179,7 +3874,7 @@ packages: dependencies: ms: 2.1.2 - /debug/4.3.4_supports-color@9.2.1: + /debug/4.3.4_supports-color@9.2.2: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -4189,7 +3884,7 @@ packages: optional: true dependencies: ms: 2.1.2 - supports-color: 9.2.1 + supports-color: 9.2.2 dev: true /decamelize-keys/1.1.0: @@ -4218,6 +3913,13 @@ packages: resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} dev: true + /deep-eql/3.0.1: + resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} + engines: {node: '>=0.12'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -4232,10 +3934,11 @@ packages: engines: {node: '>=8'} dev: true - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} + /define-properties/1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} dependencies: + has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: true @@ -4261,19 +3964,19 @@ packages: engines: {node: '>=0.10'} dev: true - /depd/1.1.2: - resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} - engines: {node: '>= 0.6'} + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} dev: true - /destroy/1.0.4: - resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true - /detect-libc/1.0.3: - resolution: {integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=} - engines: {node: '>=0.10'} - hasBin: true + /detect-libc/2.0.1: + resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + engines: {node: '>=8'} dev: false /detect-newline/3.1.0: @@ -4288,7 +3991,7 @@ packages: dependencies: acorn-node: 1.8.2 defined: 1.0.0 - minimist: 1.2.5 + minimist: 1.2.6 dev: false /dicer/0.3.0: @@ -4362,12 +4065,16 @@ packages: engines: {node: '>=10'} dev: true + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /ee-first/1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true - /electron-to-chromium/1.4.29: - resolution: {integrity: sha512-N2Jbwxo5Rum8G2YXeUxycs1sv4Qme/ry71HG73bv8BvZl+I/4JtRgK/En+ST/Wh/yF1fqvVCY4jZBgMxnhjtBA==} + /electron-to-chromium/1.4.137: + resolution: {integrity: sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==} /emittery/0.8.1: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} @@ -4411,34 +4118,37 @@ packages: dependencies: is-arrayish: 0.2.1 - /es-abstract/1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} + /es-abstract/1.20.0: + resolution: {integrity: sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 es-to-primitive: 1.2.1 function-bind: 1.1.1 + function.prototype.name: 1.1.5 get-intrinsic: 1.1.1 get-symbol-description: 1.0.0 has: 1.0.3 - has-symbols: 1.0.2 + has-property-descriptors: 1.0.0 + has-symbols: 1.0.3 internal-slot: 1.0.3 is-callable: 1.2.4 is-negative-zero: 2.0.2 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.1 + is-shared-array-buffer: 1.0.2 is-string: 1.0.7 is-weakref: 1.0.2 object-inspect: 1.12.0 object-keys: 1.1.1 object.assign: 4.1.2 - string.prototype.trimend: 1.0.4 - string.prototype.trimstart: 1.0.4 - unbox-primitive: 1.0.1 + regexp.prototype.flags: 1.4.3 + string.prototype.trimend: 1.0.5 + string.prototype.trimstart: 1.0.5 + unbox-primitive: 1.0.2 dev: true - /es-module-lexer/0.10.4: - resolution: {integrity: sha512-n5bOGUnrmuCKyMkmHNtC1ObnUx8AgFcKWe2mbxb6jYzuK81W0Rk3Z//sCoGJuxWzos8R2w48TemGIFqZsTY6YA==} + /es-module-lexer/0.10.5: + resolution: {integrity: sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==} dev: true /es-to-primitive/1.2.1: @@ -4473,192 +4183,192 @@ packages: ext: 1.6.0 dev: false - /esbuild-android-64/0.14.27: - resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==} + /esbuild-android-64/0.14.38: + resolution: {integrity: sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true optional: true - /esbuild-android-arm64/0.14.27: - resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==} + /esbuild-android-arm64/0.14.38: + resolution: {integrity: sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /esbuild-darwin-64/0.14.27: - resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==} + /esbuild-darwin-64/0.14.38: + resolution: {integrity: sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /esbuild-darwin-arm64/0.14.27: - resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==} + /esbuild-darwin-arm64/0.14.38: + resolution: {integrity: sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /esbuild-freebsd-64/0.14.27: - resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==} + /esbuild-freebsd-64/0.14.38: + resolution: {integrity: sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /esbuild-freebsd-arm64/0.14.27: - resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==} + /esbuild-freebsd-arm64/0.14.38: + resolution: {integrity: sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true optional: true - /esbuild-linux-32/0.14.27: - resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==} + /esbuild-linux-32/0.14.38: + resolution: {integrity: sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true optional: true - /esbuild-linux-64/0.14.27: - resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==} + /esbuild-linux-64/0.14.38: + resolution: {integrity: sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-arm/0.14.27: - resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==} + /esbuild-linux-arm/0.14.38: + resolution: {integrity: sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /esbuild-linux-arm64/0.14.27: - resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==} + /esbuild-linux-arm64/0.14.38: + resolution: {integrity: sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-mips64le/0.14.27: - resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==} + /esbuild-linux-mips64le/0.14.38: + resolution: {integrity: sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true optional: true - /esbuild-linux-ppc64le/0.14.27: - resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==} + /esbuild-linux-ppc64le/0.14.38: + resolution: {integrity: sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-riscv64/0.14.27: - resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==} + /esbuild-linux-riscv64/0.14.38: + resolution: {integrity: sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-s390x/0.14.27: - resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==} + /esbuild-linux-s390x/0.14.38: + resolution: {integrity: sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /esbuild-netbsd-64/0.14.27: - resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==} + /esbuild-netbsd-64/0.14.38: + resolution: {integrity: sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true optional: true - /esbuild-openbsd-64/0.14.27: - resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==} + /esbuild-openbsd-64/0.14.38: + resolution: {integrity: sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true optional: true - /esbuild-sunos-64/0.14.27: - resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==} + /esbuild-sunos-64/0.14.38: + resolution: {integrity: sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true optional: true - /esbuild-windows-32/0.14.27: - resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==} + /esbuild-windows-32/0.14.38: + resolution: {integrity: sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /esbuild-windows-64/0.14.27: - resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==} + /esbuild-windows-64/0.14.38: + resolution: {integrity: sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /esbuild-windows-arm64/0.14.27: - resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==} + /esbuild-windows-arm64/0.14.38: + resolution: {integrity: sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /esbuild/0.14.27: - resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==} + /esbuild/0.14.38: + resolution: {integrity: sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.27 - esbuild-android-arm64: 0.14.27 - esbuild-darwin-64: 0.14.27 - esbuild-darwin-arm64: 0.14.27 - esbuild-freebsd-64: 0.14.27 - esbuild-freebsd-arm64: 0.14.27 - esbuild-linux-32: 0.14.27 - esbuild-linux-64: 0.14.27 - esbuild-linux-arm: 0.14.27 - esbuild-linux-arm64: 0.14.27 - esbuild-linux-mips64le: 0.14.27 - esbuild-linux-ppc64le: 0.14.27 - esbuild-linux-riscv64: 0.14.27 - esbuild-linux-s390x: 0.14.27 - esbuild-netbsd-64: 0.14.27 - esbuild-openbsd-64: 0.14.27 - esbuild-sunos-64: 0.14.27 - esbuild-windows-32: 0.14.27 - esbuild-windows-64: 0.14.27 - esbuild-windows-arm64: 0.14.27 + esbuild-android-64: 0.14.38 + esbuild-android-arm64: 0.14.38 + esbuild-darwin-64: 0.14.38 + esbuild-darwin-arm64: 0.14.38 + esbuild-freebsd-64: 0.14.38 + esbuild-freebsd-arm64: 0.14.38 + esbuild-linux-32: 0.14.38 + esbuild-linux-64: 0.14.38 + esbuild-linux-arm: 0.14.38 + esbuild-linux-arm64: 0.14.38 + esbuild-linux-mips64le: 0.14.38 + esbuild-linux-ppc64le: 0.14.38 + esbuild-linux-riscv64: 0.14.38 + esbuild-linux-s390x: 0.14.38 + esbuild-netbsd-64: 0.14.38 + esbuild-openbsd-64: 0.14.38 + esbuild-sunos-64: 0.14.38 + esbuild-windows-32: 0.14.38 + esbuild-windows-64: 0.14.38 + esbuild-windows-arm64: 0.14.38 /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -4680,7 +4390,6 @@ packages: /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true /escodegen/2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} @@ -4695,34 +4404,34 @@ packages: source-map: 0.6.1 dev: true - /eslint-define-config/1.3.0: - resolution: {integrity: sha512-sFbHUnaXdJfG74c0EfFjXajjM3ugDVOMteKBnddCHQP5eas6p3nmS7PbSVhyZ8Y9DaNNtFbzlovdGmVdTwrHcw==} - engines: {node: '>= 16.9.0', npm: '>= 7.0.0', pnpm: '>= 6.32.2'} + /eslint-define-config/1.4.0: + resolution: {integrity: sha512-DJGEdzX4fkdkhPSzPgOpBbBjhT+b9DcgbAgxfrEUcipVWlSuesQJriKffHz1JF5mhKFm7PGoiZz4D2nb4GslNA==} + engines: {node: '>= 14.6.0', npm: '>= 6.0.0', pnpm: '>= 6.32.9'} dev: true - /eslint-plugin-es/3.0.1_eslint@8.12.0: + /eslint-plugin-es/3.0.1_eslint@8.15.0: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.12.0 + eslint: 8.15.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-node/11.1.0_eslint@8.12.0: + /eslint-plugin-node/11.1.0_eslint@8.15.0: resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.12.0 - eslint-plugin-es: 3.0.1_eslint@8.12.0 + eslint: 8.15.0 + eslint-plugin-es: 3.0.1_eslint@8.15.0 eslint-utils: 2.1.0 ignore: 5.2.0 - minimatch: 3.0.4 - resolve: 1.20.0 + minimatch: 3.1.2 + resolve: 1.22.0 semver: 6.3.0 dev: true @@ -4749,13 +4458,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.12.0: + /eslint-utils/3.0.0_eslint@8.15.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.12.0 + eslint: 8.15.0 eslint-visitor-keys: 2.1.0 dev: true @@ -4774,13 +4483,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.12.0: - resolution: {integrity: sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==} + /eslint/8.15.0: + resolution: {integrity: sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.2.1 - '@humanwhocodes/config-array': 0.9.2 + '@eslint/eslintrc': 1.2.3 + '@humanwhocodes/config-array': 0.9.5 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -4788,16 +4497,16 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.12.0 + eslint-utils: 3.0.0_eslint@8.15.0 eslint-visitor-keys: 3.3.0 - espree: 9.3.1 + espree: 9.3.2 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.12.0 + globals: 13.14.0 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -4806,7 +4515,7 @@ packages: json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.0.4 + minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 regexpp: 3.2.0 @@ -4818,12 +4527,12 @@ packages: - supports-color dev: true - /espree/9.3.1: - resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} + /espree/9.3.2: + resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.2_acorn@8.7.0 + acorn: 8.7.1 + acorn-jsx: 5.3.2_acorn@8.7.1 eslint-visitor-keys: 3.3.0 dev: true @@ -4894,7 +4603,7 @@ packages: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 strip-final-newline: 2.0.0 dev: true @@ -4913,37 +4622,38 @@ packages: jest-message-util: 27.5.1 dev: true - /express/4.17.2: - resolution: {integrity: sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==} + /express/4.18.1: + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} engines: {node: '>= 0.10.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.19.1 + body-parser: 1.20.0 content-disposition: 0.5.4 content-type: 1.0.4 - cookie: 0.4.1 + cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 - depd: 1.1.2 + depd: 2.0.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.1.2 + finalhandler: 1.2.0 fresh: 0.5.2 + http-errors: 2.0.0 merge-descriptors: 1.0.1 methods: 1.1.2 - on-finished: 2.3.0 + on-finished: 2.4.1 parseurl: 1.3.3 path-to-regexp: 0.1.7 proxy-addr: 2.0.7 - qs: 6.9.6 + qs: 6.10.3 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 + send: 0.18.0 + serve-static: 1.15.0 setprototypeof: 1.2.0 - statuses: 1.5.0 + statuses: 2.0.1 type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 @@ -4952,7 +4662,7 @@ packages: /ext/1.6.0: resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==} dependencies: - type: 2.5.0 + type: 2.6.0 dev: false /extract-zip/2.0.1: @@ -4960,11 +4670,11 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true dependencies: - debug: 4.3.4 + debug: 4.3.3 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.9.2 + '@types/yauzl': 2.10.0 transitivePeerDependencies: - supports-color dev: true @@ -4981,18 +4691,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.4 - - /fast-glob/3.2.7: - resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} - engines: {node: '>=8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.4 - dev: true + micromatch: 4.0.5 /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -5045,9 +4744,21 @@ packages: unpipe: 1.0.0 dev: true + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + dev: true + /find-root/1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - dev: true /find-up/2.1.0: resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} @@ -5068,16 +4779,16 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.4 + flatted: 3.2.5 rimraf: 3.0.2 dev: true - /flatted/3.2.4: - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} + /flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true - /follow-redirects/1.14.6: - resolution: {integrity: sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==} + /follow-redirects/1.15.0: + resolution: {integrity: sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5091,7 +4802,7 @@ packages: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.34 + mime-types: 2.1.35 dev: true /formdata-node/2.5.0: @@ -5106,8 +4817,8 @@ packages: engines: {node: '>= 0.6'} dev: true - /fraction.js/4.1.2: - resolution: {integrity: sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==} + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: false /fresh/0.5.2: @@ -5115,29 +4826,19 @@ packages: engines: {node: '>= 0.6'} dev: true - /fs-extra/10.0.0: - resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 - dev: false - - /fs-extra/10.0.1: - resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.9 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true /fs-extra/7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -5162,10 +4863,24 @@ packages: /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function.prototype.name/1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.0 + functions-have-names: 1.2.3 + dev: true + /functional-red-black-tree/1.0.1: resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} dev: true + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + /gauge/3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} @@ -5175,7 +4890,7 @@ packages: console-control-strings: 1.1.0 has-unicode: 2.0.1 object-assign: 4.1.1 - signal-exit: 3.0.6 + signal-exit: 3.0.7 string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 @@ -5196,12 +4911,16 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true + /get-func-name/2.0.0: + resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=} + dev: true + /get-intrinsic/1.1.1: resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 - has-symbols: 1.0.2 + has-symbols: 1.0.3 dev: true /get-package-type/0.1.0: @@ -5215,7 +4934,7 @@ packages: hasBin: true dependencies: '@hutson/parse-repository-url': 3.0.2 - hosted-git-info: 4.0.2 + hosted-git-info: 4.1.0 through2: 2.0.5 yargs: 16.2.0 dev: true @@ -5240,8 +4959,8 @@ packages: get-intrinsic: 1.1.1 dev: true - /git-raw-commits/2.0.10: - resolution: {integrity: sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==} + /git-raw-commits/2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5293,7 +5012,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 @@ -5301,15 +5020,15 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals/13.12.0: - resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} + /globals/13.14.0: + resolution: {integrity: sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true - /globby/11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: array-union: 2.1.0 @@ -5326,12 +5045,8 @@ packages: delegate: 3.2.0 dev: false - /graceful-fs/4.2.8: - resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} - dev: false - - /graceful-fs/4.2.9: - resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} /handlebars/4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} @@ -5343,7 +5058,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.15.0 + uglify-js: 3.15.4 dev: true /hard-rejection/2.1.0: @@ -5351,8 +5066,8 @@ packages: engines: {node: '>=6'} dev: true - /has-bigints/1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag/3.0.0: @@ -5363,8 +5078,14 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-symbols/1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.1.1 + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} dev: true @@ -5372,7 +5093,7 @@ packages: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.2 + has-symbols: 1.0.3 dev: true /has-unicode/2.0.1: @@ -5400,7 +5121,7 @@ packages: /history/4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.16.5 + '@babel/runtime': 7.17.9 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.2.0 @@ -5418,8 +5139,8 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /hosted-git-info/4.0.2: - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 @@ -5448,8 +5169,8 @@ packages: resolution: {integrity: sha512-b+pOh+bs00uRVNIZoTgGBREjUKN47pchTNwkxKuP4ecQTFcOA6KJIW+jjvjjXrkSRURZsideLxFKqX7hnxdegQ==} dev: true - /html-tags/3.1.0: - resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} + /html-tags/3.2.0: + resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} engines: {node: '>=8'} dev: false @@ -5457,14 +5178,14 @@ packages: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true - /http-errors/1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} dependencies: - depd: 1.1.2 + depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 - statuses: 1.5.0 + statuses: 2.0.1 toidentifier: 1.0.1 dev: true @@ -5484,7 +5205,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.14.6 + follow-redirects: 1.15.0 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -5493,6 +5214,16 @@ packages: /https-proxy-agent/5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.4 @@ -5515,13 +5246,13 @@ packages: resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=} dev: true - /icss-utils/5.1.0_postcss@8.4.12: + /icss-utils/5.1.0_postcss@8.4.13: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 dev: true /ignore/5.2.0: @@ -5541,13 +5272,6 @@ packages: resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==} dev: true - /import-cwd/3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} - dependencies: - import-from: 3.0.0 - dev: false - /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -5555,20 +5279,13 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-from/3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: false - /import-lazy/4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} dev: true - /import-local/3.0.3: - resolution: {integrity: sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==} + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} hasBin: true dependencies: @@ -5608,12 +5325,12 @@ packages: side-channel: 1.0.4 dev: true - /ioredis/4.28.2: - resolution: {integrity: sha512-kQ+Iv7+c6HsDdPP2XUHaMv8DhnSeAeKEwMbaoqsXYbO+03dItXt7+5jGQDRyjdRUV2rFJbzg7P4Qt1iX2tqkOg==} + /ioredis/4.28.5: + resolution: {integrity: sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==} engines: {node: '>=6'} dependencies: cluster-key-slot: 1.1.0 - debug: 4.3.3 + debug: 4.3.4 denque: 1.5.1 lodash.defaults: 4.2.0 lodash.flatten: 4.4.0 @@ -5646,7 +5363,7 @@ packages: /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: - has-bigints: 1.0.1 + has-bigints: 1.0.2 dev: true /is-binary-path/2.1.0: @@ -5679,13 +5396,8 @@ packages: rgba-regex: 1.0.0 dev: false - /is-core-module/2.8.0: - resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==} - dependencies: - has: 1.0.3 - - /is-core-module/2.8.1: - resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + /is-core-module/2.9.0: + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: has: 1.0.3 @@ -5742,8 +5454,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-number-object/1.0.6: - resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 @@ -5785,8 +5497,10 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-shared-array-buffer/1.0.1: - resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 dev: true /is-stream/2.0.1: @@ -5805,7 +5519,7 @@ packages: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.2 + has-symbols: 1.0.3 dev: true /is-text-path/1.0.1: @@ -5853,12 +5567,12 @@ packages: engines: {node: '>=8'} dev: true - /istanbul-lib-instrument/5.1.0: - resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} + /istanbul-lib-instrument/5.2.0: + resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.17.2 - '@babel/parser': 7.17.0 + '@babel/core': 7.17.10 + '@babel/parser': 7.17.10 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -5886,8 +5600,8 @@ packages: - supports-color dev: true - /istanbul-reports/3.1.3: - resolution: {integrity: sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==} + /istanbul-reports/3.1.4: + resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 @@ -5910,7 +5624,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -5930,7 +5644,7 @@ packages: - supports-color dev: true - /jest-cli/27.5.1_ts-node@10.4.0: + /jest-cli/27.5.1_ts-node@10.7.0: resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -5940,14 +5654,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 27.5.1_ts-node@10.4.0 + '@jest/core': 27.5.1_ts-node@10.7.0 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.9 - import-local: 3.0.3 - jest-config: 27.5.1_ts-node@10.4.0 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 27.5.1_ts-node@10.7.0 jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -5960,7 +5674,7 @@ packages: - utf-8-validate dev: true - /jest-config/27.5.1_ts-node@10.4.0: + /jest-config/27.5.1_ts-node@10.7.0: resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -5969,15 +5683,15 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.17.2 + '@babel/core': 7.17.10 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1_@babel+core@7.17.2 + babel-jest: 27.5.1_@babel+core@7.17.10 chalk: 4.1.2 ci-info: 3.3.0 deepmerge: 4.2.2 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-circus: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -5988,12 +5702,12 @@ packages: jest-runner: 27.5.1 jest-util: 27.5.1 jest-validate: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.5 parse-json: 5.2.0 pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6 + ts-node: 10.7.0_5f3e12794cebfbf3197131903b74d233 transitivePeerDependencies: - bufferutil - canvas @@ -6036,7 +5750,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -6054,7 +5768,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -6070,15 +5784,15 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.5 - '@types/node': 16.11.26 + '@types/node': 17.0.31 anymatch: 3.1.2 fb-watchman: 2.0.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-regex-util: 27.5.1 jest-serializer: 27.5.1 jest-util: 27.5.1 jest-worker: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 @@ -6092,7 +5806,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -6135,8 +5849,8 @@ packages: '@jest/types': 27.5.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.9 - micromatch: 4.0.4 + graceful-fs: 4.2.10 + micromatch: 4.0.5 pretty-format: 27.5.1 slash: 3.0.0 stack-utils: 2.0.5 @@ -6147,7 +5861,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 dev: true /jest-pnp-resolver/1.2.2_jest-resolve@27.5.1: @@ -6184,7 +5898,7 @@ packages: dependencies: '@jest/types': 27.5.1 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-pnp-resolver: 1.2.2_jest-resolve@27.5.1 jest-util: 27.5.1 @@ -6203,10 +5917,10 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 chalk: 4.1.2 emittery: 0.8.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-docblock: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -6242,7 +5956,7 @@ packages: collect-v8-coverage: 1.0.1 execa: 5.1.1 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-mock: 27.5.1 @@ -6260,27 +5974,27 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 16.11.26 - graceful-fs: 4.2.9 + '@types/node': 17.0.31 + graceful-fs: 4.2.10 dev: true /jest-snapshot/27.5.1: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.17.2 - '@babel/generator': 7.17.0 - '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.2 - '@babel/traverse': 7.17.0 - '@babel/types': 7.17.0 + '@babel/core': 7.17.10 + '@babel/generator': 7.17.10 + '@babel/plugin-syntax-typescript': 7.17.10_@babel+core@7.17.10 + '@babel/traverse': 7.17.10 + '@babel/types': 7.17.10 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__traverse': 7.14.2 - '@types/prettier': 2.4.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.2 + '@types/babel__traverse': 7.17.1 + '@types/prettier': 2.6.0 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.10 chalk: 4.1.2 expect: 27.5.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-diff: 27.5.1 jest-get-type: 27.5.1 jest-haste-map: 27.5.1 @@ -6289,7 +6003,7 @@ packages: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.3.5 + semver: 7.3.7 transitivePeerDependencies: - supports-color dev: true @@ -6299,11 +6013,11 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 chalk: 4.1.2 ci-info: 3.3.0 - graceful-fs: 4.2.9 - picomatch: 2.3.0 + graceful-fs: 4.2.10 + picomatch: 2.3.1 dev: true /jest-validate/27.5.1: @@ -6311,7 +6025,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - camelcase: 6.2.1 + camelcase: 6.3.0 chalk: 4.1.2 jest-get-type: 27.5.1 leven: 3.1.0 @@ -6324,7 +6038,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.26 + '@types/node': 17.0.31 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -6335,12 +6049,12 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 16.11.26 + '@types/node': 17.0.31 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest/27.5.1_ts-node@10.4.0: + /jest/27.5.1_ts-node@10.7.0: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -6350,9 +6064,9 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 27.5.1_ts-node@10.4.0 - import-local: 3.0.3 - jest-cli: 27.5.1_ts-node@10.4.0 + '@jest/core': 27.5.1_ts-node@10.7.0 + import-local: 3.1.0 + jest-cli: 27.5.1_ts-node@10.7.0 transitivePeerDependencies: - bufferutil - canvas @@ -6400,8 +6114,8 @@ packages: canvas: optional: true dependencies: - abab: 2.0.5 - acorn: 8.7.0 + abab: 2.0.6 + acorn: 8.7.1 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -6412,7 +6126,7 @@ packages: form-data: 3.0.1 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.0 parse5: 6.0.1 @@ -6425,7 +6139,7 @@ packages: whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - ws: 7.5.6 + ws: 7.5.7 xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil @@ -6457,24 +6171,15 @@ packages: resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} dev: true - /json5/2.2.0: - resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: false - /json5/2.2.1: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} hasBin: true - dev: true /jsonfile/4.0.0: resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} optionalDependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 dev: true /jsonfile/6.1.0: @@ -6482,7 +6187,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 /jsonparse/1.3.1: resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=} @@ -6532,12 +6237,12 @@ packages: engines: {node: '>=6'} hasBin: true dependencies: - copy-anything: 2.0.3 + copy-anything: 2.0.6 parse-node-version: 1.0.1 - tslib: 2.3.1 + tslib: 2.4.0 optionalDependencies: errno: 0.1.8 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 @@ -6569,35 +6274,40 @@ packages: /lilconfig/2.0.4: resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} engines: {node: '>=10'} + dev: true + + /lilconfig/2.0.5: + resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} + engines: {node: '>=10'} /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - /lint-staged/12.3.7: - resolution: {integrity: sha512-/S4D726e2GIsDVWIk1XGvheCaDm1SJRQp8efamZFWJxQMVEbOwSysp7xb49Oo73KYCdy97mIWinhlxcoNqIfIQ==} + /lint-staged/12.4.1: + resolution: {integrity: sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dependencies: cli-truncate: 3.1.0 colorette: 2.0.16 commander: 8.3.0 - debug: 4.3.4_supports-color@9.2.1 + debug: 4.3.4_supports-color@9.2.2 execa: 5.1.1 lilconfig: 2.0.4 - listr2: 4.0.2 - micromatch: 4.0.4 + listr2: 4.0.5 + micromatch: 4.0.5 normalize-path: 3.0.0 object-inspect: 1.12.0 pidtree: 0.5.0 string-argv: 0.3.1 - supports-color: 9.2.1 + supports-color: 9.2.2 yaml: 1.10.2 transitivePeerDependencies: - enquirer dev: true - /listr2/4.0.2: - resolution: {integrity: sha512-YcgwfCWpvPbj9FLUGqvdFvd3hrFWKpOeuXznRgfWEJ7RNr8b/IKKIKZABHx3aU+4CWN/iSAFFSReziQG6vTeIA==} + /listr2/4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} engines: {node: '>=12'} peerDependencies: enquirer: '>= 2.3.0 < 3' @@ -6610,7 +6320,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.5.2 + rxjs: 7.5.5 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -6619,7 +6329,7 @@ packages: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -6630,6 +6340,11 @@ packages: engines: {node: '>= 12.13.0'} dev: true + /local-pkg/0.4.1: + resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} + engines: {node: '>=14'} + dev: true + /locate-path/2.0.0: resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} engines: {node: '>=4'} @@ -6685,6 +6400,10 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true + /lodash.sortby/4.7.0: + resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} + dev: true + /lodash.topath/4.5.2: resolution: {integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=} dev: false @@ -6709,14 +6428,20 @@ packages: js-tokens: 4.0.0 dev: false + /loupe/2.3.4: + resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} + dependencies: + get-func-name: 2.0.0 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - /magic-string/0.25.7: - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 @@ -6806,28 +6531,20 @@ packages: engines: {node: '>= 0.6'} dev: true - /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.0 - /micromatch/4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /mime-db/1.46.0: resolution: {integrity: sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==} engines: {node: '>= 0.6'} dev: true - /mime-db/1.51.0: - resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} dev: true @@ -6838,18 +6555,17 @@ packages: mime-db: 1.46.0 dev: true - /mime-types/2.1.34: - resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: - mime-db: 1.51.0 + mime-db: 1.52.0 dev: true /mime/1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - requiresBuild: true dev: true /mime/3.0.0: @@ -6868,14 +6584,14 @@ packages: engines: {node: '>=4'} dev: true - /mini-create-react-context/0.4.1_prop-types@15.8.0+react@17.0.2: + /mini-create-react-context/0.4.1_prop-types@15.8.1+react@17.0.2: resolution: {integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==} peerDependencies: prop-types: ^15.0.0 react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.16.5 - prop-types: 15.8.0 + '@babel/runtime': 7.17.9 + prop-types: 15.8.1 react: 17.0.2 tiny-warning: 1.0.3 dev: false @@ -6887,29 +6603,29 @@ packages: dependencies: '@iarna/toml': 2.2.5 '@mrbbot/node-fetch': 4.6.0 - '@peculiar/webcrypto': 1.2.3 - chokidar: 3.5.2 - cjstoesm: 1.1.4_typescript@4.5.4 + '@peculiar/webcrypto': 1.3.3 + chokidar: 3.5.3 + cjstoesm: 1.1.4_typescript@4.6.4 dotenv: 8.6.0 env-paths: 2.2.1 event-target-shim: 6.0.2 formdata-node: 2.5.0 html-rewriter-wasm: 0.3.2 http-cache-semantics: 4.1.0 - ioredis: 4.28.2 + ioredis: 4.28.5 kleur: 4.1.4 node-cron: 2.0.3 - picomatch: 2.3.0 + picomatch: 2.3.1 sanitize-filename: 1.6.3 - selfsigned: 1.10.11 + selfsigned: 1.10.14 semiver: 1.1.0 source-map-support: 0.5.21 - tslib: 2.3.1 - typescript: 4.5.4 + tslib: 2.4.0 + typescript: 4.6.4 typeson: 6.1.0 typeson-registry: 1.0.0-alpha.39 - web-streams-polyfill: 3.2.0 - ws: 7.5.6 + web-streams-polyfill: 3.2.1 + ws: 7.5.7 yargs: 16.2.0 youch: 2.2.2 transitivePeerDependencies: @@ -6918,8 +6634,8 @@ packages: - utf-8-validate dev: true - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 @@ -6932,10 +6648,6 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - dev: false - /minimist/1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} @@ -6969,8 +6681,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /moment/2.29.1: - resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} + /moment/2.29.2: + resolution: {integrity: sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==} dev: true /mrmime/1.0.0: @@ -6994,13 +6706,8 @@ packages: hasBin: true dev: true - /nanoid/3.1.30: - resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - /nanoid/3.3.1: - resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -7020,8 +6727,8 @@ packages: dev: true optional: true - /negotiator/0.6.2: - resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} dev: true @@ -7056,9 +6763,14 @@ packages: lodash: 4.17.21 dev: false - /node-fetch/2.6.6: - resolution: {integrity: sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==} + /node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true dependencies: whatwg-url: 5.0.0 @@ -7067,8 +6779,8 @@ packages: engines: {node: '>= 6.0.0'} dev: true - /node-forge/1.3.0: - resolution: {integrity: sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==} + /node-forge/1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} dev: true @@ -7076,8 +6788,8 @@ packages: resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} dev: true - /node-releases/2.0.1: - resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} + /node-releases/2.0.4: + resolution: {integrity: sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==} /nopt/5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} @@ -7100,9 +6812,9 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: - hosted-git-info: 4.0.2 - is-core-module: 2.8.1 - semver: 7.3.5 + hosted-git-info: 4.1.0 + is-core-module: 2.9.0 + semver: 7.3.7 validate-npm-package-license: 3.0.4 dev: true @@ -7128,7 +6840,7 @@ packages: chalk: 2.4.2 cross-spawn: 6.0.5 memorystream: 0.3.1 - minimatch: 3.0.4 + minimatch: 3.1.2 pidtree: 0.3.1 read-pkg: 3.0.0 shell-quote: 1.7.3 @@ -7164,6 +6876,11 @@ packages: engines: {node: '>= 6'} dev: false + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: false + /object-inspect/1.12.0: resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} dev: true @@ -7178,8 +6895,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 object-keys: 1.1.1 dev: true @@ -7195,6 +6912,13 @@ packages: ee-first: 1.1.1 dev: true + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + /on-headers/1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} @@ -7300,8 +7024,8 @@ packages: engines: {node: '>=6'} dev: true - /package-name-regex/2.0.5: - resolution: {integrity: sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==} + /package-name-regex/2.0.6: + resolution: {integrity: sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==} engines: {node: '>=12'} dev: true @@ -7323,7 +7047,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.16.0 + '@babel/code-frame': 7.16.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7390,6 +7114,10 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + /pend/1.2.0: resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} dev: true @@ -7401,17 +7129,13 @@ packages: is-reference: 1.2.1 dev: true - /phoenix/1.6.5: - resolution: {integrity: sha512-Krhx9IwB1Lzj+MqK5bz8CI2ULxjdO63CAjdAZni2lSa1LW3zNflMnsVeQLOu6jz8TDl9wtUKfx3vNSZDAB8jQw==} + /phoenix/1.6.8: + resolution: {integrity: sha512-utrfX8fcFbtZC33RtxrK01q5/q6xClMfuAS7FVo8NOqgnHEnBTxh/CF/GCd/eSO5yXyDAEzuhdAox2Rj35fYfA==} dev: false /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - /picomatch/2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -7444,8 +7168,8 @@ packages: dev: true optional: true - /pirates/4.0.4: - resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true @@ -7463,21 +7187,21 @@ packages: find-up: 4.1.0 dev: true - /playwright-chromium/1.20.1: - resolution: {integrity: sha512-zDJm59GEOWrHqpByblzaKI+bpswd3nrheCoAGOTBDX7MsQYwAV/ZBS2aCJzeGxDt/67brq/fQuZse3GwnCk+6A==} + /playwright-chromium/1.21.1: + resolution: {integrity: sha512-bbqFFpcTs+3amiofja/KvTmZ+FZnMNEOuGkRyJk2p6DV9EbgRYVrlzzgLtMnX2DwaX3ZZ23MukGuQ+bVKOdsnw==} engines: {node: '>=12'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.20.1 + playwright-core: 1.21.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: true - /playwright-core/1.20.1: - resolution: {integrity: sha512-A8ZsZ09gaSbxP0UijoLyzp3LJc0kWMxDooLPi+mm4/5iYnTbd6PF5nKjoFw1a7KwjZIEgdhJduah4BcUIh+IPA==} + /playwright-core/1.21.1: + resolution: {integrity: sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==} engines: {node: '>=12'} hasBin: true dependencies: @@ -7515,13 +7239,13 @@ packages: engines: {node: '>=12.13.0'} dev: true - /postcss-import/14.1.0_postcss@8.4.12: + /postcss-import/14.1.0_postcss@8.4.13: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.0 @@ -7532,92 +7256,95 @@ packages: engines: {node: '>=10.0'} dependencies: camelcase-css: 2.0.1 - postcss: 8.4.5 + postcss: 8.4.13 dev: false - /postcss-js/4.0.0_postcss@8.4.12: + /postcss-js/4.0.0_postcss@8.4.13: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.12 + postcss: 8.4.13 dev: false - /postcss-load-config/3.1.0_ts-node@10.4.0: - resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==} + /postcss-load-config/3.1.4_postcss@8.4.13+ts-node@10.7.0: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: - postcss: '*' + postcss: '>=8.0.9' ts-node: '>=9.0.0' peerDependenciesMeta: + postcss: + optional: true ts-node: optional: true dependencies: - import-cwd: 3.0.0 - lilconfig: 2.0.4 - ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6 + lilconfig: 2.0.5 + postcss: 8.4.13 + ts-node: 10.7.0_5f3e12794cebfbf3197131903b74d233 yaml: 1.10.2 - dev: false - /postcss-load-config/3.1.3_postcss@8.4.12+ts-node@10.4.0: - resolution: {integrity: sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==} + /postcss-load-config/3.1.4_ts-node@10.7.0: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: - postcss: '*' + postcss: '>=8.0.9' ts-node: '>=9.0.0' peerDependenciesMeta: + postcss: + optional: true ts-node: optional: true dependencies: - lilconfig: 2.0.4 - postcss: 8.4.12 - ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6 + lilconfig: 2.0.5 + ts-node: 10.7.0_5f3e12794cebfbf3197131903b74d233 yaml: 1.10.2 + dev: false - /postcss-modules-extract-imports/3.0.0_postcss@8.4.12: + /postcss-modules-extract-imports/3.0.0_postcss@8.4.13: resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.4.12: + /postcss-modules-local-by-default/4.0.0_postcss@8.4.13: resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.12 - postcss: 8.4.12 - postcss-selector-parser: 6.0.8 + icss-utils: 5.1.0_postcss@8.4.13 + postcss: 8.4.13 + postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope/3.0.0_postcss@8.4.12: + /postcss-modules-scope/3.0.0_postcss@8.4.13: resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.12 - postcss-selector-parser: 6.0.8 + postcss: 8.4.13 + postcss-selector-parser: 6.0.10 dev: true - /postcss-modules-values/4.0.0_postcss@8.4.12: + /postcss-modules-values/4.0.0_postcss@8.4.13: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.12 - postcss: 8.4.12 + icss-utils: 5.1.0_postcss@8.4.13 + postcss: 8.4.13 dev: true - /postcss-modules/4.3.1_postcss@8.4.12: + /postcss-modules/4.3.1_postcss@8.4.13: resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} peerDependencies: postcss: ^8.0.0 @@ -7625,11 +7352,11 @@ packages: generic-names: 4.0.0 icss-replace-symbols: 1.1.0 lodash.camelcase: 4.3.0 - postcss: 8.4.12 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.12 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.12 - postcss-modules-scope: 3.0.0_postcss@8.4.12 - postcss-modules-values: 4.0.0_postcss@8.4.12 + postcss: 8.4.13 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.13 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.13 + postcss-modules-scope: 3.0.0_postcss@8.4.13 + postcss-modules-values: 4.0.0_postcss@8.4.13 string-hash: 1.1.3 dev: true @@ -7639,32 +7366,24 @@ packages: peerDependencies: postcss: ^8.2.14 dependencies: - postcss-selector-parser: 6.0.8 + postcss-selector-parser: 6.0.10 - /postcss-nested/5.0.6_postcss@8.4.12: + /postcss-nested/5.0.6_postcss@8.4.13: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.12 - postcss-selector-parser: 6.0.8 + postcss: 8.4.13 + postcss-selector-parser: 6.0.10 dev: false - /postcss-selector-parser/6.0.8: - resolution: {integrity: sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - /postcss-selector-parser/6.0.9: - resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==} + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false /postcss-value-parser/3.3.1: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} @@ -7673,24 +7392,16 @@ packages: /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss/8.4.12: - resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} + /postcss/8.4.13: + resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.1 + nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss/8.4.5: - resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.1.30 - picocolors: 1.0.0 - source-map-js: 1.0.2 - - /preact/10.6.4: - resolution: {integrity: sha512-WyosM7pxGcndU8hY0OQlLd54tOU+qmG45QXj2dAYrL11HoyU/EzOSTlpJsirbBr1QW7lICxSsVJJmcmUglovHQ==} + /preact/10.7.2: + resolution: {integrity: sha512-GLjn0I3r6ka+NvxJUppsVFqb4V0qDTEHT/QxHlidPuClGaxF/4AI2Qti4a0cv3XMh5n1+D3hLScW10LRIm5msQ==} dev: true /prelude-ls/1.1.2: @@ -7703,8 +7414,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier/2.6.1: - resolution: {integrity: sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==} + /prettier/2.6.2: + resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -7723,8 +7434,9 @@ packages: engines: {node: '>= 0.8'} dev: false - /prismjs/1.25.0: - resolution: {integrity: sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==} + /prismjs/1.28.0: + resolution: {integrity: sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==} + engines: {node: '>=6'} dev: true /process-nextick-args/2.0.1: @@ -7749,8 +7461,8 @@ packages: kleur: 3.0.3 sisteransi: 1.0.5 - /prop-types/15.8.0: - resolution: {integrity: sha512-fDGekdaHh65eI3lMi5OnErU6a8Ighg2KjcjQxO7m8VHyWjcPyj5kiOgV1LQDOOOgVy3+5FgjXvdSSX7B8/5/4g==} + /prop-types/15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -7760,9 +7472,9 @@ packages: /proper-lockfile/4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 retry: 0.12.0 - signal-exit: 3.0.6 + signal-exit: 3.0.7 dev: true /proxy-addr/2.0.7: @@ -7818,7 +7530,7 @@ packages: jstransformer: 1.0.0 pug-error: 2.0.0 pug-walk: 2.0.0 - resolve: 1.20.0 + resolve: 1.22.0 dev: true /pug-lexer/5.0.1: @@ -7899,14 +7611,14 @@ packages: dependencies: commander: 8.3.0 glob: 7.2.0 - postcss: 8.4.5 - postcss-selector-parser: 6.0.8 + postcss: 8.4.13 + postcss-selector-parser: 6.0.10 dev: false - /pvtsutils/1.2.1: - resolution: {integrity: sha512-Q867jEr30lBR2YSFFLZ0/XsEvpweqH6Kj096wmlRAFXrdRGPCNq2iz9B5Tk085EZ+OBZyYAVA5UhPkjSHGrUzQ==} + /pvtsutils/1.3.2: + resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} dependencies: - tslib: 2.3.1 + tslib: 2.4.0 dev: true /pvutils/1.1.3: @@ -7919,9 +7631,11 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true - /qs/6.9.6: - resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} + /qs/6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 dev: true /querystring/0.2.0: @@ -7948,12 +7662,12 @@ packages: engines: {node: '>= 0.6'} dev: true - /raw-body/2.4.2: - resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} dependencies: - bytes: 3.1.1 - http-errors: 1.8.1 + bytes: 3.1.2 + http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 dev: true @@ -7977,38 +7691,38 @@ packages: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true - /react-refresh/0.11.0: - resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} + /react-refresh/0.13.0: + resolution: {integrity: sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==} engines: {node: '>=0.10.0'} dev: false - /react-router-dom/5.3.0_react@17.0.2: - resolution: {integrity: sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==} + /react-router-dom/5.3.1_react@17.0.2: + resolution: {integrity: sha512-f0pj/gMAbv9e8gahTmCEY20oFhxhrmHwYeIwH5EO5xu0qme+wXtsdB8YfUOAZzUz4VaXmb58m3ceiLtjMhqYmQ==} peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.16.5 + '@babel/runtime': 7.17.9 history: 4.10.1 loose-envify: 1.4.0 - prop-types: 15.8.0 + prop-types: 15.8.1 react: 17.0.2 - react-router: 5.2.1_react@17.0.2 + react-router: 5.3.1_react@17.0.2 tiny-invariant: 1.2.0 tiny-warning: 1.0.3 dev: false - /react-router/5.2.1_react@17.0.2: - resolution: {integrity: sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==} + /react-router/5.3.1_react@17.0.2: + resolution: {integrity: sha512-v+zwjqb7bakqgF+wMVKlAPTca/cEmPOvQ9zt7gpSNyPXau1+0qvuYZ5BWzzNDP1y6s15zDwgb9rPN63+SIniRQ==} peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.16.5 + '@babel/runtime': 7.17.9 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - mini-create-react-context: 0.4.1_prop-types@15.8.0+react@17.0.2 + mini-create-react-context: 0.4.1_prop-types@15.8.1+react@17.0.2 path-to-regexp: 1.8.0 - prop-types: 15.8.0 + prop-types: 15.8.1 react: 17.0.2 react-is: 16.13.1 tiny-invariant: 1.2.0 @@ -8021,7 +7735,7 @@ packages: react: ^15.3.0 || ^16.0.0 || ^17.0.0 react-dom: ^15.3.0 || ^16.0.0 || ^17.0.0 dependencies: - prop-types: 15.8.0 + prop-types: 15.8.1 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 dev: false @@ -8136,6 +7850,15 @@ packages: /regenerator-runtime/0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + /regexp.prototype.flags/1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + functions-have-names: 1.2.3 + dev: true + /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -8168,6 +7891,7 @@ packages: /resolve-from/5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + dev: true /resolve-pathname/3.0.0: resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} @@ -8187,21 +7911,15 @@ packages: /resolve/1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.8.1 + is-core-module: 2.9.0 path-parse: 1.0.7 dev: true - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} - dependencies: - is-core-module: 2.8.0 - path-parse: 1.0.7 - /resolve/1.22.0: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true dependencies: - is-core-module: 2.8.1 + is-core-module: 2.9.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -8210,7 +7928,7 @@ packages: engines: {node: '>=8'} dependencies: onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 dev: true /retry/0.12.0: @@ -8240,8 +7958,8 @@ packages: dependencies: glob: 7.2.0 - /rollup-plugin-license/2.6.1_rollup@2.62.0: - resolution: {integrity: sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg==} + /rollup-plugin-license/2.7.0_rollup@2.72.1: + resolution: {integrity: sha512-0H1Fbuf85rvpadpmAaairdahzQHY0zHtcXkOFV5EStjX9aMCO2Hz5AQp/zZe+K/PB3o6As7R9uzcb8Pw1K94dg==} engines: {node: '>=10.0.0'} peerDependencies: rollup: ^1.0.0 || ^2.0.0 @@ -8249,17 +7967,17 @@ packages: commenting: 1.1.0 glob: 7.2.0 lodash: 4.17.21 - magic-string: 0.25.7 + magic-string: 0.26.1 mkdirp: 1.0.4 - moment: 2.29.1 - package-name-regex: 2.0.5 - rollup: 2.62.0 + moment: 2.29.2 + package-name-regex: 2.0.6 + rollup: 2.72.1 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 dev: true - /rollup/2.62.0: - resolution: {integrity: sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw==} + /rollup/2.72.1: + resolution: {integrity: sha512-NTc5UGy/NWFGpSqF1lFY8z9Adri6uhyMLI6LvPAXdBKoPRFhIIiBUpt+Qg2awixqO3xvzSijjhnb4+QEZwJmxA==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -8270,10 +7988,10 @@ packages: dependencies: queue-microtask: 1.2.3 - /rxjs/7.5.2: - resolution: {integrity: sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==} + /rxjs/7.5.5: + resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: - tslib: 2.3.1 + tslib: 2.4.0 dev: true /safe-buffer/5.1.2: @@ -8292,9 +8010,9 @@ packages: truncate-utf8-bytes: 1.0.2 dev: true - /sass/1.45.1: - resolution: {integrity: sha512-pwPRiq29UR0o4X3fiQyCtrESldXvUQAAE0QmcJTpsI4kuHHcLzZ54M1oNBVIXybQv8QF2zfkpFcTxp8ta97dUA==} - engines: {node: '>=8.9.0'} + /sass/1.51.0: + resolution: {integrity: sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==} + engines: {node: '>=12.0.0'} hasBin: true dependencies: chokidar: 3.5.3 @@ -8324,8 +8042,8 @@ packages: resolution: {integrity: sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=} dev: false - /selfsigned/1.10.11: - resolution: {integrity: sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==} + /selfsigned/1.10.14: + resolution: {integrity: sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==} dependencies: node-forge: 0.10.0 dev: true @@ -8344,40 +8062,40 @@ packages: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + /semver/7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 - /send/0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 + depd: 2.0.0 + destroy: 1.2.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 fresh: 0.5.2 - http-errors: 1.8.1 + http-errors: 2.0.0 mime: 1.6.0 ms: 2.1.3 - on-finished: 2.3.0 + on-finished: 2.4.1 range-parser: 1.2.1 - statuses: 1.5.0 + statuses: 2.0.1 dev: true - /serve-static/1.14.2: - resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.17.2 + send: 0.18.0 dev: true /set-blocking/2.0.0: @@ -8424,8 +8142,8 @@ packages: object-inspect: 1.12.0 dev: true - /signal-exit/3.0.6: - resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /simple-git-hooks/2.7.0: resolution: {integrity: sha512-nQe6ASMO9zn5/htIrU37xEIHGr9E6wikXelLbOeTcfsX2O++DHaVug7RSQoq+kO7DvZTH37WA5gW49hN9HTDmQ==} @@ -8497,14 +8215,14 @@ packages: engines: {node: '>= 10'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.6.1 + debug: 4.3.3 + socks: 2.6.2 transitivePeerDependencies: - supports-color dev: true - /socks/2.6.1: - resolution: {integrity: sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==} + /socks/2.6.2: + resolution: {integrity: sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: ip: 1.1.5 @@ -8543,6 +8261,13 @@ packages: engines: {node: '>= 8'} dev: true + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} @@ -8630,6 +8355,11 @@ packages: engines: {node: '>= 0.6'} dev: true + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + /streamsearch/0.1.2: resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} engines: {node: '>=0.8.0'} @@ -8660,12 +8390,12 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width/5.0.1: - resolution: {integrity: sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==} + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} dependencies: + eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - is-fullwidth-code-point: 4.0.0 strip-ansi: 7.0.1 dev: true @@ -8674,22 +8404,24 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.20.0 dev: true - /string.prototype.trimend/1.0.4: - resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} + /string.prototype.trimend/1.0.5: + resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 + es-abstract: 1.20.0 dev: true - /string.prototype.trimstart/1.0.4: - resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} + /string.prototype.trimstart/1.0.5: + resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 + es-abstract: 1.20.0 dev: true /string_decoder/1.1.1: @@ -8743,6 +8475,12 @@ packages: engines: {node: '>=8'} dev: true + /strip-literal/0.3.0: + resolution: {integrity: sha512-J+lfm3Pw5nzURj2B8acyvUSBqs3JbjM8WAfrmeH3qcn32+ew6kFwbZFV9+X8k9UOIAkQw9WPSzFZy3083c7l5Q==} + dependencies: + acorn: 8.7.1 + dev: true + /stylis/4.0.13: resolution: {integrity: sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==} @@ -8779,8 +8517,8 @@ packages: has-flag: 4.0.0 dev: true - /supports-color/9.2.1: - resolution: {integrity: sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==} + /supports-color/9.2.2: + resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} engines: {node: '>=12'} dev: true @@ -8808,7 +8546,7 @@ packages: resolution: {integrity: sha512-hqTN6kW+pN6/qro6G9OZ7ceDQOcYno020zBQKpZQLsJhYTDMCMNfXi/Y8duF5iW+4WWZr42ry0MMkcRGpbwG2A==} dev: false - /tailwindcss/2.2.19_6d1fa3babc9cc84b994ff99ef39d1aff: + /tailwindcss/2.2.19_243d11a951eff552b64227a524842e97: resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} engines: {node: '>=12.13.0'} hasBin: true @@ -8817,19 +8555,19 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - autoprefixer: 10.4.0 - bytes: 3.1.1 + autoprefixer: 10.4.7 + bytes: 3.1.2 chalk: 4.1.2 - chokidar: 3.5.2 - color: 4.1.0 + chokidar: 3.5.3 + color: 4.2.3 cosmiconfig: 7.0.1 detective: 5.2.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.11 - fs-extra: 10.0.0 + fs-extra: 10.1.0 glob-parent: 6.0.2 - html-tags: 3.1.0 + html-tags: 3.2.0 is-color-stop: 1.1.0 is-glob: 4.0.3 lodash: 4.17.21 @@ -8839,21 +8577,21 @@ packages: normalize-path: 3.0.0 object-hash: 2.2.0 postcss-js: 3.0.3 - postcss-load-config: 3.1.0_ts-node@10.4.0 + postcss-load-config: 3.1.4_ts-node@10.7.0 postcss-nested: 5.0.6 - postcss-selector-parser: 6.0.8 + postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 pretty-hrtime: 1.0.3 purgecss: 4.1.3 quick-lru: 5.1.1 reduce-css-calc: 2.1.8 - resolve: 1.20.0 + resolve: 1.22.0 tmp: 0.2.1 transitivePeerDependencies: - ts-node dev: false - /tailwindcss/2.2.19_ts-node@10.4.0: + /tailwindcss/2.2.19_ts-node@10.7.0: resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} engines: {node: '>=12.13.0'} hasBin: true @@ -8862,18 +8600,18 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - bytes: 3.1.1 + bytes: 3.1.2 chalk: 4.1.2 - chokidar: 3.5.2 - color: 4.1.0 + chokidar: 3.5.3 + color: 4.2.3 cosmiconfig: 7.0.1 detective: 5.2.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.11 - fs-extra: 10.0.0 + fs-extra: 10.1.0 glob-parent: 6.0.2 - html-tags: 3.1.0 + html-tags: 3.2.0 is-color-stop: 1.1.0 is-glob: 4.0.3 lodash: 4.17.21 @@ -8883,45 +8621,43 @@ packages: normalize-path: 3.0.0 object-hash: 2.2.0 postcss-js: 3.0.3 - postcss-load-config: 3.1.0_ts-node@10.4.0 + postcss-load-config: 3.1.4_ts-node@10.7.0 postcss-nested: 5.0.6 - postcss-selector-parser: 6.0.8 + postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 pretty-hrtime: 1.0.3 purgecss: 4.1.3 quick-lru: 5.1.1 reduce-css-calc: 2.1.8 - resolve: 1.20.0 + resolve: 1.22.0 tmp: 0.2.1 transitivePeerDependencies: - ts-node dev: false - /tailwindcss/3.0.23_ts-node@10.4.0: - resolution: {integrity: sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==} + /tailwindcss/3.0.24_ts-node@10.7.0: + resolution: {integrity: sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig==} engines: {node: '>=12.13.0'} hasBin: true - peerDependencies: - autoprefixer: ^10.0.2 dependencies: arg: 5.0.1 - chalk: 4.1.2 chokidar: 3.5.3 color-name: 1.1.4 - cosmiconfig: 7.0.1 detective: 5.2.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.11 glob-parent: 6.0.2 is-glob: 4.0.3 + lilconfig: 2.0.5 normalize-path: 3.0.0 - object-hash: 2.2.0 - postcss: 8.4.12 - postcss-js: 4.0.0_postcss@8.4.12 - postcss-load-config: 3.1.3_postcss@8.4.12+ts-node@10.4.0 - postcss-nested: 5.0.6_postcss@8.4.12 - postcss-selector-parser: 6.0.9 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.13 + postcss-js: 4.0.0_postcss@8.4.13 + postcss-load-config: 3.1.4_postcss@8.4.13+ts-node@10.7.0 + postcss-nested: 5.0.6_postcss@8.4.13 + postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 resolve: 1.22.0 @@ -8962,14 +8698,14 @@ packages: supports-hyperlinks: 2.2.0 dev: true - /terser/5.12.1: - resolution: {integrity: sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==} + /terser/5.13.1: + resolution: {integrity: sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==} engines: {node: '>=10'} hasBin: true dependencies: - acorn: 8.7.0 + acorn: 8.7.1 commander: 2.20.3 - source-map: 0.7.3 + source-map: 0.8.0-beta.0 source-map-support: 0.5.21 dev: true @@ -8979,7 +8715,7 @@ packages: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.0 - minimatch: 3.0.4 + minimatch: 3.1.2 dev: true /text-extensions/1.9.0: @@ -9028,6 +8764,16 @@ packages: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false + /tinypool/0.1.3: + resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy/0.3.2: + resolution: {integrity: sha512-2+40EP4D3sFYy42UkgkFFB+kiX2Tg3URG/lVvAZFfLxgGpnWl5qQJuBw1gaLttq8UOS+2p3C0WrhJnQigLTT2Q==} + engines: {node: '>=14.0.0'} + dev: true + /tmp/0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} @@ -9075,6 +8821,12 @@ packages: /tr46/0.0.3: resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} + /tr46/1.0.1: + resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=} + dependencies: + punycode: 2.1.1 + dev: true + /tr46/2.1.0: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} @@ -9093,7 +8845,7 @@ packages: utf8-byte-length: 1.0.4 dev: true - /ts-jest/27.1.4_4dfe14e0e8266437469ae0475a5c09ac: + /ts-jest/27.1.4_edb1f862ecf73b6f0cc1f906c6266936: resolution: {integrity: sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -9114,22 +8866,22 @@ packages: esbuild: optional: true dependencies: - '@types/jest': 27.4.1 + '@types/jest': 27.5.0 bs-logger: 0.2.6 - esbuild: 0.14.27 + esbuild: 0.14.38 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1_ts-node@10.4.0 + jest: 27.5.1_ts-node@10.7.0 jest-util: 27.5.1 json5: 2.2.1 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.3.5 - typescript: 4.5.4 + semver: 7.3.7 + typescript: 4.6.4 yargs-parser: 20.2.9 dev: true - /ts-node/10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6: - resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} + /ts-node/10.7.0_5f3e12794cebfbf3197131903b74d233: + resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -9147,19 +8899,20 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 16.11.26 - acorn: 8.7.0 + '@types/node': 17.0.31 + acorn: 8.7.1 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.5.4 + typescript: 4.6.4 + v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /tsconfck/1.2.1_typescript@4.5.4: - resolution: {integrity: sha512-x28dvgpazY0+Gdpheb+D47NiaepLoueunDXlNQ6gVruu9HJbUj3M07ORgjmOQBUpPbXUAQXyfACc8Mi/jlLDVw==} + /tsconfck/1.2.2_typescript@4.6.4: + resolution: {integrity: sha512-x5YpjOqjJnMs1EsJvQBQbrysrY32eGoZRRr5YvbN1hwlrXKc7jiphCOUrT7xbFdOWk8sh+EtMYbGPbTO8rDmcw==} engines: {node: ^12.20 || ^14.13.1 || >= 16} hasBin: true peerDependencies: @@ -9168,25 +8921,25 @@ packages: typescript: optional: true dependencies: - typescript: 4.5.4 + typescript: 4.6.4 dev: true /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib/2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + /tslib/2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true - /tsutils/3.21.0_typescript@4.5.4: + /tsutils/3.21.0_typescript@4.6.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.5.4 + typescript: 4.6.4 dev: true /type-check/0.3.2: @@ -9238,15 +8991,15 @@ packages: engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 - mime-types: 2.1.34 + mime-types: 2.1.35 dev: true /type/1.2.0: resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} dev: false - /type/2.5.0: - resolution: {integrity: sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==} + /type/2.6.0: + resolution: {integrity: sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==} dev: false /typedarray-to-buffer/3.1.5: @@ -9255,8 +9008,8 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.5.4: - resolution: {integrity: sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==} + /typescript/4.6.4: + resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -9279,20 +9032,24 @@ packages: resolution: {integrity: sha512-kMBmblijHJXyOpKzgDhKx9INYU4u4E1RPMB0HqmKSgWG8vEcf3exEfLh4FFfzd3xdQOw9EuIy/cP0akY6rHopQ==} dev: true - /uglify-js/3.15.0: - resolution: {integrity: sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==} + /ufo/0.8.4: + resolution: {integrity: sha512-/+BmBDe8GvlB2nIflWasLLAInjYG0bC9HRnfEpNi4sw77J2AJNnEVnTDReVrehoh825+Q/evF3THXTAweyam2g==} + dev: true + + /uglify-js/3.15.4: + resolution: {integrity: sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true dev: true optional: true - /unbox-primitive/1.0.1: - resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true @@ -9341,12 +9098,16 @@ packages: hasBin: true dev: true + /v8-compile-cache-lib/3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true - /v8-to-istanbul/8.1.0: - resolution: {integrity: sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==} + /v8-to-istanbul/8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} dependencies: '@types/istanbul-lib-coverage': 2.0.4 @@ -9375,17 +9136,17 @@ packages: engines: {node: '>= 0.8'} dev: true - /vitepress/0.22.3: - resolution: {integrity: sha512-Yfvu/rent2vp/TXIDZMutS6ft2TJPn4xngS48PYFWDEbuFI2ccUAXM481lF1qVVnCKxfh4g8e/KPvevSJdg1Bw==} + /vitepress/0.22.4: + resolution: {integrity: sha512-oZUnLO/SpYdThaBKefDeOiVlr0Rie4Ppx3FzMnMyLtJnI5GlBMNjqYqMy/4+umm/iC+ZDJfI+IlDKxv5fZnYzA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - '@docsearch/css': 3.0.0-alpha.42 - '@docsearch/js': 3.0.0-alpha.42 + '@docsearch/css': 3.0.0 + '@docsearch/js': 3.0.0 '@vitejs/plugin-vue': link:packages/plugin-vue - prismjs: 1.25.0 + prismjs: 1.28.0 vite: link:packages/vite - vue: 3.2.31 + vue: 3.2.33 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -9393,45 +9154,64 @@ packages: - react-dom dev: true + /vitest/0.10.5: + resolution: {integrity: sha512-4qXdNbHwAd9YcsztJoVMWUQGcMATVlY9Xd95I3KQ2JJwDLTL97f/jgfGRotqptvNxdlmme5TBY0Gv+l6+JSYvA==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@vitest/ui': '*' + c8: '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@vitest/ui': + optional: true + c8: + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/chai': 4.3.1 + '@types/chai-subset': 1.3.3 + chai: 4.3.6 + local-pkg: 0.4.1 + tinypool: 0.1.3 + tinyspy: 0.3.2 + vite: link:packages/vite + dev: true + /void-elements/3.1.0: resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=} engines: {node: '>=0.10.0'} dev: true - /vue-router/4.0.12_vue@3.2.26: - resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==} + /vue-router/4.0.15_vue@3.2.33: + resolution: {integrity: sha512-xa+pIN9ZqORdIW1MkN2+d9Ui2pCM1b/UMgwYUCZOiFYHAvz/slKKBDha8DLrh5aCG/RibtrpyhKjKOZ85tYyWg==} peerDependencies: - vue: ^3.0.0 + vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.0.0-beta.21.1 - vue: 3.2.26 + '@vue/devtools-api': 6.1.4 + vue: 3.2.33 dev: false - /vue/3.2.26: - resolution: {integrity: sha512-KD4lULmskL5cCsEkfhERVRIOEDrfEL9CwAsLYpzptOGjaGFNWo3BQ9g8MAb7RaIO71rmVOziZ/uEN/rHwcUIhg==} - dependencies: - '@vue/compiler-dom': 3.2.26 - '@vue/compiler-sfc': 3.2.26 - '@vue/runtime-dom': 3.2.26 - '@vue/server-renderer': 3.2.26_vue@3.2.26 - '@vue/shared': 3.2.26 - - /vue/3.2.31: - resolution: {integrity: sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==} + /vue/3.2.33: + resolution: {integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==} dependencies: - '@vue/compiler-dom': 3.2.31 - '@vue/compiler-sfc': 3.2.31 - '@vue/runtime-dom': 3.2.31 - '@vue/server-renderer': 3.2.31_vue@3.2.31 - '@vue/shared': 3.2.31 + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-sfc': 3.2.33 + '@vue/runtime-dom': 3.2.33 + '@vue/server-renderer': 3.2.33_vue@3.2.33 + '@vue/shared': 3.2.33 - /vuex/4.0.2_vue@3.2.26: + /vuex/4.0.2_vue@3.2.33: resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==} peerDependencies: vue: ^3.0.2 dependencies: - '@vue/devtools-api': 6.0.0-beta.21.1 - vue: 3.2.26 + '@vue/devtools-api': 6.1.4 + vue: 3.2.33 dev: false /w3c-hr-time/1.0.2: @@ -9453,24 +9233,28 @@ packages: makeerror: 1.0.12 dev: true - /web-streams-polyfill/3.2.0: - resolution: {integrity: sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==} + /web-streams-polyfill/3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} dev: true - /webcrypto-core/1.4.0: - resolution: {integrity: sha512-HY3Zo0GcRIQUUDnlZ/shGjN+4f7LVMkdJZoGPog+oHhJsJdMz6iM8Za5xZ0t6qg7Fx/JXXz+oBv2J2p982hGTQ==} + /webcrypto-core/1.7.3: + resolution: {integrity: sha512-8TnMtwwC/hQOyvElAOJ26lJKGgcErUG02KnKS1+QhjV4mDvQetVWU1EUEeLF8ICOrdc42+GypocyBJKRqo2kQg==} dependencies: - '@peculiar/asn1-schema': 2.0.44 + '@peculiar/asn1-schema': 2.1.0 '@peculiar/json-schema': 1.1.12 - asn1js: 2.2.0 - pvtsutils: 1.2.1 - tslib: 2.3.1 + asn1js: 2.4.0 + pvtsutils: 1.3.2 + tslib: 2.4.0 dev: true /webidl-conversions/3.0.1: resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + /webidl-conversions/5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} @@ -9497,6 +9281,14 @@ packages: tr46: 0.0.3 webidl-conversions: 3.0.1 + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + /whatwg-url/8.7.0: resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} engines: {node: '>=10'} @@ -9511,7 +9303,7 @@ packages: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 - is-number-object: 1.0.6 + is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 dev: true @@ -9541,8 +9333,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.16.6 - '@babel/types': 7.16.0 + '@babel/parser': 7.17.10 + '@babel/types': 7.17.10 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: true @@ -9582,12 +9374,12 @@ packages: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 - signal-exit: 3.0.6 + signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 dev: true - /ws/7.5.6: - resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} + /ws/7.5.7: + resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -9612,8 +9404,8 @@ packages: optional: true dev: true - /ws/8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + /ws/8.6.0: + resolution: {integrity: sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -9689,13 +9481,13 @@ packages: resolution: {integrity: sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ==} dependencies: '@types/stack-trace': 0.0.29 - cookie: 0.4.1 + cookie: 0.4.2 mustache: 4.2.0 stack-trace: 0.0.10 dev: true - /z-schema/5.0.2: - resolution: {integrity: sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw==} + /z-schema/5.0.3: + resolution: {integrity: sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==} engines: {node: '>=8.0.0'} hasBin: true dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f8a7dd53d45fb0..7c6523c6cbb288 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,3 @@ packages: - 'packages/*' - - 'packages/playground/**' + - 'playground/**' diff --git a/scripts/jestEnv.cjs b/scripts/jestEnv.cjs index 255b83063efc5a..a053faef1a69a5 100644 --- a/scripts/jestEnv.cjs +++ b/scripts/jestEnv.cjs @@ -29,13 +29,13 @@ module.exports = class PlaywrightEnvironment extends NodeEnvironment { })) this.global.page = await browser.newPage() - // suppress @vue/ref-transform warning const console = this.global.console const warn = console.warn console.warn = (msg, ...args) => { - if (!msg.includes('@vue/ref-transform')) { - warn.call(console, msg, ...args) - } + // suppress @vue/reactivity-transform warning + if (msg.includes('@vue/reactivity-transform')) return + if (msg.includes('Generated an empty chunk')) return + warn.call(console, msg, ...args) } } diff --git a/scripts/jestGlobalSetup.cjs b/scripts/jestGlobalSetup.cjs index 7341cba40968d9..b4098ba3f6f2c1 100644 --- a/scripts/jestGlobalSetup.cjs +++ b/scripts/jestGlobalSetup.cjs @@ -19,10 +19,10 @@ module.exports = async () => { await fs.mkdirp(DIR) await fs.writeFile(path.join(DIR, 'wsEndpoint'), browserServer.wsEndpoint()) - const tempDir = path.resolve(__dirname, '../packages/temp') + const tempDir = path.resolve(__dirname, '../playground-temp') await fs.remove(tempDir) await fs - .copy(path.resolve(__dirname, '../packages/playground'), tempDir, { + .copy(path.resolve(__dirname, '../playground'), tempDir, { dereference: false, filter(file) { file = file.replace(/\\/g, '/') diff --git a/scripts/jestGlobalTeardown.cjs b/scripts/jestGlobalTeardown.cjs index fc3370d626683a..786b7b95724fa3 100644 --- a/scripts/jestGlobalTeardown.cjs +++ b/scripts/jestGlobalTeardown.cjs @@ -4,6 +4,6 @@ const path = require('path') module.exports = async () => { await global.__BROWSER_SERVER__.close() if (!process.env.VITE_PRESERVE_BUILD_ARTIFACTS) { - fs.removeSync(path.resolve(__dirname, '../packages/temp')) + fs.removeSync(path.resolve(__dirname, '../playground-temp')) } } diff --git a/scripts/jestPerTestSetup.ts b/scripts/jestPerTestSetup.ts index 150c02eed5b76c..8160a04d9df4a9 100644 --- a/scripts/jestPerTestSetup.ts +++ b/scripts/jestPerTestSetup.ts @@ -24,6 +24,7 @@ declare global { const page: Page | undefined const browserLogs: string[] + const browserErrors: Error[] const serverLogs: string[] const viteTestUrl: string | undefined const watcher: RollupWatcher | undefined @@ -34,6 +35,7 @@ declare const global: { page?: Page browserLogs: string[] + browserErrors: Error[] serverLogs: string[] viteTestUrl?: string watcher?: RollupWatcher @@ -56,6 +58,11 @@ const onConsole = (msg: ConsoleMessage) => { logs.push(msg.text()) } +const errors: Error[] = (global.browserErrors = []) +const onPageError = (error: Error) => { + errors.push(error) +} + beforeAll(async () => { const page = global.page if (!page) { @@ -63,6 +70,7 @@ beforeAll(async () => { } try { page.on('console', onConsole) + page.on('pageerror', onPageError) const testPath = expect.getState().testPath const testName = slash(testPath).match(/playground\/([\w-]+)\//)?.[1] @@ -70,8 +78,8 @@ beforeAll(async () => { // if this is a test placed under playground/xxx/__tests__ // start a vite server in that directory. if (testName) { - const playgroundRoot = resolve(__dirname, '../packages/playground') - tempDir = resolve(__dirname, '../packages/temp/', testName) + const playgroundRoot = resolve(__dirname, '../playground') + tempDir = resolve(__dirname, '../playground-temp/', testName) // when `root` dir is present, use it as vite's root const testCustomRoot = resolve(tempDir, 'root') @@ -115,6 +123,7 @@ beforeAll(async () => { } }, build: { + // esbuild do not minify ES lib output since that would remove pure annotations and break tree-shaking // skip transpilation during tests to make it faster target: 'esnext' }, @@ -175,6 +184,7 @@ afterAll(async () => { global.serverLogs = [] await global.page?.close() await server?.close() + global.watcher?.close() const beforeAllErr = getBeforeAllError() if (beforeAllErr) { throw beforeAllErr @@ -200,7 +210,7 @@ function startStaticServer(config?: InlineConfig): Promise { } // start static file server - const serve = sirv(resolve(rootDir, 'dist')) + const serve = sirv(resolve(rootDir, 'dist'), { dev: !!config?.build?.watch }) const httpServer = (server = http.createServer((req, res) => { if (req.url === '/ping') { res.statusCode = 200 @@ -233,14 +243,15 @@ function startStaticServer(config?: InlineConfig): Promise { export async function notifyRebuildComplete( watcher: RollupWatcher ): Promise { - let callback: (event: RollupWatcherEvent) => void - await new Promise((resolve, reject) => { - callback = (event) => { - if (event.code === 'END') { - resolve() - } + let resolveFn: undefined | (() => void) + const callback = (event: RollupWatcherEvent): void => { + if (event.code === 'END') { + resolveFn?.() } - watcher.on('event', callback) + } + watcher.on('event', callback) + await new Promise((resolve) => { + resolveFn = resolve }) return watcher.removeListener('event', callback) } diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 00000000000000..0a8f8c2ff22648 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + exclude: [ + '**/node_modules/**', + '**/dist/**', + './playground/**/*.*', + './playground-temp/**/*.*' + ], + testTimeout: 20000 + }, + esbuild: { + target: 'node14' + } +})