From 49c089662916bb2c0ae2aae649c7c8b714509922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 14 Jun 2022 14:53:40 +0900 Subject: [PATCH 01/31] fix: default host to `localhost` instead of `127.0.0.1` (#8543) --- docs/config/server-options.md | 2 +- docs/guide/migration.md | 2 ++ .../vite/src/node/__tests__/utils.spec.ts | 25 +++++++++++-- packages/vite/src/node/constants.ts | 12 +++++++ packages/vite/src/node/http.ts | 12 +++++-- packages/vite/src/node/logger.ts | 36 +++++++++++++++---- packages/vite/src/node/utils.ts | 14 +++----- playground/css/postcss-caching/css.spec.ts | 2 +- 8 files changed, 84 insertions(+), 21 deletions(-) diff --git a/docs/config/server-options.md b/docs/config/server-options.md index cf59ab27644656..a3f82aa0f12b79 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -3,7 +3,7 @@ ## server.host - **Type:** `string | boolean` -- **Default:** `'127.0.0.1'` +- **Default:** `'localhost'` Specify which IP addresses the server should listen on. Set this to `0.0.0.0` or `true` to listen on all addresses, including LAN and public addresses. diff --git a/docs/guide/migration.md b/docs/guide/migration.md index 78b738afb82ddf..c3e7be3a8a2c27 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -31,6 +31,8 @@ A small fraction of users will now require using [@vitejs/plugin-legacy](https:/ Vite's default dev server port is now 5173. You can use [`server.port`](../config/server-options.md#server-port) to set it to 3000. +Vite's default dev server host is now `localhost`. You can use [`server.host`](../config/server-options.md#server-host) to set it to `127.0.0.1`. + Vite optimizes dependencies with esbuild to both convert CJS-only deps to ESM and to reduce the number of modules the browser needs to request. In v3, the default strategy to discover and batch dependencies has changed. Vite no longer pre-scans user code with esbuild to get an initial list of dependencies on cold start. Instead, it delays the first dependency optimization run until every imported user module on load is processed. To get back the v2 strategy, you can use [`optimizeDeps.devScan`](../config/dep-optimization-options.md#optimizedepsdevscan). diff --git a/packages/vite/src/node/__tests__/utils.spec.ts b/packages/vite/src/node/__tests__/utils.spec.ts index c8a824bbb3d28f..5a6ea4d55de30c 100644 --- a/packages/vite/src/node/__tests__/utils.spec.ts +++ b/packages/vite/src/node/__tests__/utils.spec.ts @@ -49,9 +49,9 @@ describe('injectQuery', () => { }) describe('resolveHostname', () => { - test('defaults to 127.0.0.1', () => { + test('defaults to localhost', () => { expect(resolveHostname(undefined)).toEqual({ - host: '127.0.0.1', + host: 'localhost', name: 'localhost' }) }) @@ -62,6 +62,27 @@ describe('resolveHostname', () => { name: 'localhost' }) }) + + test('accepts 0.0.0.0', () => { + expect(resolveHostname('0.0.0.0')).toEqual({ + host: '0.0.0.0', + name: 'localhost' + }) + }) + + test('accepts ::', () => { + expect(resolveHostname('::')).toEqual({ + host: '::', + name: 'localhost' + }) + }) + + test('accepts 0000:0000:0000:0000:0000:0000:0000:0000', () => { + expect(resolveHostname('0000:0000:0000:0000:0000:0000:0000:0000')).toEqual({ + host: '0000:0000:0000:0000:0000:0000:0000:0000', + name: 'localhost' + }) + }) }) test('ts import of file with .js extension', () => { diff --git a/packages/vite/src/node/constants.ts b/packages/vite/src/node/constants.ts index acd067908a598c..3b4d496e30bd3c 100644 --- a/packages/vite/src/node/constants.ts +++ b/packages/vite/src/node/constants.ts @@ -105,3 +105,15 @@ export const DEFAULT_ASSETS_RE = new RegExp( ) export const DEP_VERSION_RE = /[\?&](v=[\w\.-]+)\b/ + +export const loopbackHosts = new Set([ + 'localhost', + '127.0.0.1', + '::1', + '0000:0000:0000:0000:0000:0000:0000:0001' +]) +export const wildcardHosts = new Set([ + '0.0.0.0', + '::', + '0000:0000:0000:0000:0000:0000:0000:0000' +]) diff --git a/packages/vite/src/node/http.ts b/packages/vite/src/node/http.ts index 2a1c7c920b8ea9..c2757f36477600 100644 --- a/packages/vite/src/node/http.ts +++ b/packages/vite/src/node/http.ts @@ -5,6 +5,7 @@ import type { OutgoingHttpHeaders as HttpServerHeaders } from 'http' import type { ServerOptions as HttpsServerOptions } from 'https' +import { promises as dns } from 'dns' import type { Connect } from 'types/connect' import { isObject } from './utils' import type { ProxyOptions } from './server/middlewares/proxy' @@ -184,9 +185,16 @@ export async function httpServerStart( logger: Logger } ): Promise { - return new Promise((resolve, reject) => { - let { port, strictPort, host, logger } = serverOptions + let { port, strictPort, host, logger } = serverOptions + + // This could be removed when Vite only supports Node 17+ because verbatim=true is default + // https://github.com/nodejs/node/pull/39987 + if (host === 'localhost') { + const addr = await dns.lookup('localhost', { verbatim: true }) + host = addr.address + } + return new Promise((resolve, reject) => { const onError = (e: Error & { code?: string }) => { if (e.code === 'EADDRINUSE') { if (strictPort) { diff --git a/packages/vite/src/node/logger.ts b/packages/vite/src/node/logger.ts index 1176a265a4fcbe..d3ed4ce896d6fb 100644 --- a/packages/vite/src/node/logger.ts +++ b/packages/vite/src/node/logger.ts @@ -8,6 +8,7 @@ import type { RollupError } from 'rollup' import type { CommonServerOptions } from './http' import type { Hostname } from './utils' import { resolveHostname } from './utils' +import { loopbackHosts, wildcardHosts } from './constants' import type { ResolvedConfig } from '.' export type LogType = 'error' | 'warn' | 'info' @@ -173,15 +174,23 @@ function printServerUrls( ): void { const urls: Array<{ label: string; url: string }> = [] - if (hostname.host === '127.0.0.1') { + if (hostname.host && loopbackHosts.has(hostname.host)) { + let hostnameName = hostname.name + if ( + hostnameName === '::1' || + hostnameName === '0000:0000:0000:0000:0000:0000:0000:0001' + ) { + hostnameName = `[${hostnameName}]` + } + urls.push({ label: 'Local', url: colors.cyan( - `${protocol}://${hostname.name}:${colors.bold(port)}${base}` + `${protocol}://${hostnameName}:${colors.bold(port)}${base}` ) }) - if (hostname.name !== '127.0.0.1') { + if (hostname.name === 'localhost') { urls.push({ label: 'Network', url: colors.dim(`use ${colors.white(colors.bold('--host'))} to expose`) @@ -212,11 +221,26 @@ function printServerUrls( (length, { label }) => Math.max(length, label.length), 0 ) - urls.forEach(({ label, url: text }) => { + const print = ( + iconWithColor: string, + label: string, + messageWithColor: string + ) => { info( - ` ${colors.green('➜')} ${colors.bold(label)}: ${' '.repeat( + ` ${iconWithColor} ${colors.bold(label)}: ${' '.repeat( length - label.length - )}${text}` + )}${messageWithColor}` ) + } + + urls.forEach(({ label, url: text }) => { + print(colors.green('➜'), label, text) }) + if (!hostname.host || wildcardHosts.has(hostname.host)) { + print( + colors.bold(colors.blue('ⓘ')), + 'Note', + colors.dim('You are using a wildcard host. Ports might be overriden.') + ) + } } diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index fff0d714770c8d..e36e33c3cb7225 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -23,7 +23,8 @@ import { DEFAULT_EXTENSIONS, ENV_PUBLIC_PATH, FS_PREFIX, - VALID_ID_PREFIX + VALID_ID_PREFIX, + wildcardHosts } from './constants' import type { ResolvedConfig } from '.' @@ -747,7 +748,7 @@ export function resolveHostname( let host: string | undefined if (optionsHost === undefined || optionsHost === false) { // Use a secure default - host = '127.0.0.1' + host = 'localhost' } else if (optionsHost === true) { // If passed --host in the CLI without arguments host = undefined // undefined typically means 0.0.0.0 or :: (listen on all IPs) @@ -755,14 +756,9 @@ export function resolveHostname( host = optionsHost } - // Set host name to localhost when possible, unless the user explicitly asked for '127.0.0.1' + // Set host name to localhost when possible const name = - (optionsHost !== '127.0.0.1' && host === '127.0.0.1') || - host === '0.0.0.0' || - host === '::' || - host === undefined - ? 'localhost' - : host + host === undefined || wildcardHosts.has(host) ? 'localhost' : host return { host, name } } diff --git a/playground/css/postcss-caching/css.spec.ts b/playground/css/postcss-caching/css.spec.ts index bbffdb618280e4..45e8aadaa5489c 100644 --- a/playground/css/postcss-caching/css.spec.ts +++ b/playground/css/postcss-caching/css.spec.ts @@ -36,7 +36,7 @@ test('postcss config', async () => { blueApp = null greenApp = await startServer(greenAppDir) - await page.goto(`http://localhost:${port}`) + await page.reload() // hmr reloads it automatically but reload here for consistency const greenA = await page.$('.postcss-a') expect(await getColor(greenA)).toBe('black') const greenB = await page.$('.postcss-b') From 98ccc0b243f0ead1dc488f89bb338366bc434c2d Mon Sep 17 00:00:00 2001 From: patak-dev Date: Tue, 14 Jun 2022 09:03:08 +0200 Subject: [PATCH 02/31] release: v3.0.0-alpha.11 --- packages/vite/CHANGELOG.md | 21 +++++++++++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 92a05ffb43ea64..5f0f19a5f034e6 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,24 @@ +## 3.0.0-alpha.11 (2022-06-14) + +* fix: add missed JPEG file extensions to `KNOWN_ASSET_TYPES` (#8565) ([2dfc015](https://github.com/vitejs/vite/commit/2dfc015)), closes [#8565](https://github.com/vitejs/vite/issues/8565) +* fix: default export module transformation for vitest spy (#8567) ([d357e33](https://github.com/vitejs/vite/commit/d357e33)), closes [#8567](https://github.com/vitejs/vite/issues/8567) +* fix: default host to `localhost` instead of `127.0.0.1` (#8543) ([49c0896](https://github.com/vitejs/vite/commit/49c0896)), closes [#8543](https://github.com/vitejs/vite/issues/8543) +* fix: dont handle sigterm in middleware mode (#8550) ([c6f43dd](https://github.com/vitejs/vite/commit/c6f43dd)), closes [#8550](https://github.com/vitejs/vite/issues/8550) +* fix: mime missing extensions (#8568) ([acf3024](https://github.com/vitejs/vite/commit/acf3024)), closes [#8568](https://github.com/vitejs/vite/issues/8568) +* fix: objurl for type module, and concurrent tests (#8541) ([26ecd5a](https://github.com/vitejs/vite/commit/26ecd5a)), closes [#8541](https://github.com/vitejs/vite/issues/8541) +* fix: outdated optimized dep removed from module graph (#8533) ([3f4d22d](https://github.com/vitejs/vite/commit/3f4d22d)), closes [#8533](https://github.com/vitejs/vite/issues/8533) +* fix(config): only rewrite .js loader in `loadConfigFromBundledFile` (#8556) ([2548dd3](https://github.com/vitejs/vite/commit/2548dd3)), closes [#8556](https://github.com/vitejs/vite/issues/8556) +* fix(deps): update all non-major dependencies (#8558) ([9a1fd4c](https://github.com/vitejs/vite/commit/9a1fd4c)), closes [#8558](https://github.com/vitejs/vite/issues/8558) +* fix(ssr): dont replace rollup input (#7275) ([9a88afa](https://github.com/vitejs/vite/commit/9a88afa)), closes [#7275](https://github.com/vitejs/vite/issues/7275) +* chore: include 2.9.10-2.9.12 changelog in main (#8535) ([87f58ad](https://github.com/vitejs/vite/commit/87f58ad)), closes [#8535](https://github.com/vitejs/vite/issues/8535) +* chore: refactor interop named imports (#8544) ([63b523a](https://github.com/vitejs/vite/commit/63b523a)), closes [#8544](https://github.com/vitejs/vite/issues/8544) +* chore: remove rollup `namespaceToStringTag` (#8569) ([b85802a](https://github.com/vitejs/vite/commit/b85802a)), closes [#8569](https://github.com/vitejs/vite/issues/8569) +* chore: remove unused timestamp option (#8545) ([d641860](https://github.com/vitejs/vite/commit/d641860)), closes [#8545](https://github.com/vitejs/vite/issues/8545) +* chore: update major deps (#8572) ([0e20949](https://github.com/vitejs/vite/commit/0e20949)), closes [#8572](https://github.com/vitejs/vite/issues/8572) +* feat: expose createFilter util (#8562) ([c5c424a](https://github.com/vitejs/vite/commit/c5c424a)), closes [#8562](https://github.com/vitejs/vite/issues/8562) + + + ## 3.0.0-alpha.10 (2022-06-10) * fix: deps optimizer idle logic for workers (fix #8479) (#8511) ([1e05548](https://github.com/vitejs/vite/commit/1e05548)), closes [#8479](https://github.com/vitejs/vite/issues/8479) [#8511](https://github.com/vitejs/vite/issues/8511) diff --git a/packages/vite/package.json b/packages/vite/package.json index ab4ae1235eb3ed..4e8adc9642fcb8 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "3.0.0-alpha.10", + "version": "3.0.0-alpha.11", "type": "module", "license": "MIT", "author": "Evan You", From c0c5e1a26d2099acd65a062fcfc790b85dc94db5 Mon Sep 17 00:00:00 2001 From: yoho Date: Tue, 14 Jun 2022 15:12:39 +0800 Subject: [PATCH 03/31] docs: worker related notes (#8554) Co-authored-by: Bjorn Lu --- docs/config/worker-options.md | 2 +- docs/guide/features.md | 6 ++++++ packages/vite/src/node/config.ts | 5 ++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/config/worker-options.md b/docs/config/worker-options.md index c0c13bf4133adb..c506d249a24932 100644 --- a/docs/config/worker-options.md +++ b/docs/config/worker-options.md @@ -11,7 +11,7 @@ Output format for worker bundle. - **Type:** [`(Plugin | Plugin[])[]`](./shared-options#plugins) -Vite plugins that apply to worker bundle +Vite plugins that apply to worker bundle. Note that [config.plugins](./shared-options#plugins) does not apply to workers, it should be configured here instead. ## worker.rollupOptions diff --git a/docs/guide/features.md b/docs/guide/features.md index 57d1e5a71e4a82..65d01f9b6c7239 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -511,6 +511,12 @@ By default, the worker script will be emitted as a separate chunk in the product import MyWorker from './worker?worker&inline' ``` +If you wish to retrieve the worker as a URL, add the `url` query: + +```js +import MyWorker from './worker?worker&url' +``` + See [Worker Options](/config/#worker-options) for details on configuring the bundling of all workers. ## Build Optimizations diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 6bfe9eed759859..3b733fc4032f80 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -253,6 +253,7 @@ export type ResolvedConfig = Readonly< command: 'build' | 'serve' mode: string isWorker: boolean + // in nested worker bundle to find the main config /** @internal */ mainConfig: ResolvedConfig | null isProduction: boolean @@ -521,7 +522,9 @@ export async function resolveConfig( spa: config.spa ?? true } - // flat config.worker.plugin + // Some plugins that aren't intended to work in the bundling of workers (doing post-processing at build time for example). + // And Plugins may also have cached that could be corrupted by being used in these extra rollup calls. + // So we need to separate the worker plugin from the plugin that vite needs to run. const [workerPrePlugins, workerNormalPlugins, workerPostPlugins] = sortUserPlugins(config.worker?.plugins as Plugin[]) const workerResolved: ResolvedConfig = { From e8eb0b6db11f28a8d45a50235ad088620e3ca310 Mon Sep 17 00:00:00 2001 From: Kia King Ishii Date: Tue, 14 Jun 2022 21:59:48 +0900 Subject: [PATCH 04/31] docs: update vitepress to alpha.2 (#8583) --- docs/.vitepress/config.ts | 4 +- package.json | 2 +- pnpm-lock.yaml | 364 ++++++++++++++------------------------ 3 files changed, 131 insertions(+), 239 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 9c3150eb1d0c1b..55b4657af24288 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -14,9 +14,7 @@ export default defineConfig({ logo: '/logo.svg', editLink: { - repo: 'vitejs/vite', - branch: 'main', - dir: 'docs', + pattern: 'https://github.com/vitejs/vite/edit/main/docs/:path', text: 'Suggest changes to this page' }, diff --git a/package.json b/package.json index 44ddf5e1ac23b9..d4b32487f48797 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "typescript": "^4.6.4", "unbuild": "^0.7.4", "vite": "workspace:*", - "vitepress": "1.0.0-draft.8", + "vitepress": "^1.0.0-alpha.2", "vitest": "^0.14.2", "vue": "^3.2.37" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0720264b376893..de2c44762c9a07 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,7 +64,7 @@ importers: typescript: ^4.6.4 unbuild: ^0.7.4 vite: workspace:* - vitepress: 1.0.0-draft.8 + vitepress: ^1.0.0-alpha.2 vitest: ^0.14.2 vue: ^3.2.37 devDependencies: @@ -122,7 +122,7 @@ importers: typescript: 4.6.4 unbuild: 0.7.4 vite: link:packages/vite - vitepress: 1.0.0-draft.8 + vitepress: 1.0.0-alpha.2 vitest: 0.14.2 vue: 3.2.37 @@ -1052,114 +1052,104 @@ importers: packages: - /@algolia/autocomplete-core/1.5.2: - resolution: {integrity: sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==} + /@algolia/autocomplete-core/1.6.3: + resolution: {integrity: sha512-dqQqRt01fX3YuVFrkceHsoCnzX0bLhrrg8itJI1NM68KjrPYQPYsE+kY8EZTCM4y8VDnhqJErR73xe/ZsV+qAA==} dependencies: - '@algolia/autocomplete-shared': 1.5.2 + '@algolia/autocomplete-shared': 1.6.3 dev: true - /@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.2 - algoliasearch: 4.13.0 - dev: true - - /@algolia/autocomplete-shared/1.5.2: - resolution: {integrity: sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==} + /@algolia/autocomplete-shared/1.6.3: + resolution: {integrity: sha512-UV46bnkTztyADFaETfzFC5ryIdGVb2zpAoYgu0tfcuYWjhg1KbLXveFffZIrGVoboqmAk1b+jMrl6iCja1i3lg==} dev: true - /@algolia/cache-browser-local-storage/4.13.0: - resolution: {integrity: sha512-nj1vHRZauTqP/bluwkRIgEADEimqojJgoTRCel5f6q8WCa9Y8QeI4bpDQP28FoeKnDRYa3J5CauDlN466jqRhg==} + /@algolia/cache-browser-local-storage/4.13.1: + resolution: {integrity: sha512-UAUVG2PEfwd/FfudsZtYnidJ9eSCpS+LW9cQiesePQLz41NAcddKxBak6eP2GErqyFagSlnVXe/w2E9h2m2ttg==} dependencies: - '@algolia/cache-common': 4.13.0 + '@algolia/cache-common': 4.13.1 dev: true - /@algolia/cache-common/4.13.0: - resolution: {integrity: sha512-f9mdZjskCui/dA/fA/5a+6hZ7xnHaaZI5tM/Rw9X8rRB39SUlF/+o3P47onZ33n/AwkpSbi5QOyhs16wHd55kA==} + /@algolia/cache-common/4.13.1: + resolution: {integrity: sha512-7Vaf6IM4L0Jkl3sYXbwK+2beQOgVJ0mKFbz/4qSxKd1iy2Sp77uTAazcX+Dlexekg1fqGUOSO7HS4Sx47ZJmjA==} dev: true - /@algolia/cache-in-memory/4.13.0: - resolution: {integrity: sha512-hHdc+ahPiMM92CQMljmObE75laYzNFYLrNOu0Q3/eyvubZZRtY2SUsEEgyUEyzXruNdzrkcDxFYa7YpWBJYHAg==} + /@algolia/cache-in-memory/4.13.1: + resolution: {integrity: sha512-pZzybCDGApfA/nutsFK1P0Sbsq6fYJU3DwIvyKg4pURerlJM4qZbB9bfLRef0FkzfQu7W11E4cVLCIOWmyZeuQ==} dependencies: - '@algolia/cache-common': 4.13.0 + '@algolia/cache-common': 4.13.1 dev: true - /@algolia/client-account/4.13.0: - resolution: {integrity: sha512-FzFqFt9b0g/LKszBDoEsW+dVBuUe1K3scp2Yf7q6pgHWM1WqyqUlARwVpLxqyc+LoyJkTxQftOKjyFUqddnPKA==} + /@algolia/client-account/4.13.1: + resolution: {integrity: sha512-TFLiZ1KqMiir3FNHU+h3b0MArmyaHG+eT8Iojio6TdpeFcAQ1Aiy+2gb3SZk3+pgRJa/BxGmDkRUwE5E/lv3QQ==} dependencies: - '@algolia/client-common': 4.13.0 - '@algolia/client-search': 4.13.0 - '@algolia/transporter': 4.13.0 + '@algolia/client-common': 4.13.1 + '@algolia/client-search': 4.13.1 + '@algolia/transporter': 4.13.1 dev: true - /@algolia/client-analytics/4.13.0: - resolution: {integrity: sha512-klmnoq2FIiiMHImkzOm+cGxqRLLu9CMHqFhbgSy9wtXZrqb8BBUIUE2VyBe7azzv1wKcxZV2RUyNOMpFqmnRZA==} + /@algolia/client-analytics/4.13.1: + resolution: {integrity: sha512-iOS1JBqh7xaL5x00M5zyluZ9+9Uy9GqtYHv/2SMuzNW1qP7/0doz1lbcsP3S7KBbZANJTFHUOfuqyRLPk91iFA==} dependencies: - '@algolia/client-common': 4.13.0 - '@algolia/client-search': 4.13.0 - '@algolia/requester-common': 4.13.0 - '@algolia/transporter': 4.13.0 + '@algolia/client-common': 4.13.1 + '@algolia/client-search': 4.13.1 + '@algolia/requester-common': 4.13.1 + '@algolia/transporter': 4.13.1 dev: true - /@algolia/client-common/4.13.0: - resolution: {integrity: sha512-GoXfTp0kVcbgfSXOjfrxx+slSipMqGO9WnNWgeMmru5Ra09MDjrcdunsiiuzF0wua6INbIpBQFTC2Mi5lUNqGA==} + /@algolia/client-common/4.13.1: + resolution: {integrity: sha512-LcDoUE0Zz3YwfXJL6lJ2OMY2soClbjrrAKB6auYVMNJcoKZZ2cbhQoFR24AYoxnGUYBER/8B+9sTBj5bj/Gqbg==} dependencies: - '@algolia/requester-common': 4.13.0 - '@algolia/transporter': 4.13.0 + '@algolia/requester-common': 4.13.1 + '@algolia/transporter': 4.13.1 dev: true - /@algolia/client-personalization/4.13.0: - resolution: {integrity: sha512-KneLz2WaehJmNfdr5yt2HQETpLaCYagRdWwIwkTqRVFCv4DxRQ2ChPVW9jeTj4YfAAhfzE6F8hn7wkQ/Jfj6ZA==} + /@algolia/client-personalization/4.13.1: + resolution: {integrity: sha512-1CqrOW1ypVrB4Lssh02hP//YxluoIYXAQCpg03L+/RiXJlCs+uIqlzC0ctpQPmxSlTK6h07kr50JQoYH/TIM9w==} dependencies: - '@algolia/client-common': 4.13.0 - '@algolia/requester-common': 4.13.0 - '@algolia/transporter': 4.13.0 + '@algolia/client-common': 4.13.1 + '@algolia/requester-common': 4.13.1 + '@algolia/transporter': 4.13.1 dev: true - /@algolia/client-search/4.13.0: - resolution: {integrity: sha512-blgCKYbZh1NgJWzeGf+caKE32mo3j54NprOf0LZVCubQb3Kx37tk1Hc8SDs9bCAE8hUvf3cazMPIg7wscSxspA==} + /@algolia/client-search/4.13.1: + resolution: {integrity: sha512-YQKYA83MNRz3FgTNM+4eRYbSmHi0WWpo019s5SeYcL3HUan/i5R09VO9dk3evELDFJYciiydSjbsmhBzbpPP2A==} dependencies: - '@algolia/client-common': 4.13.0 - '@algolia/requester-common': 4.13.0 - '@algolia/transporter': 4.13.0 + '@algolia/client-common': 4.13.1 + '@algolia/requester-common': 4.13.1 + '@algolia/transporter': 4.13.1 dev: true - /@algolia/logger-common/4.13.0: - resolution: {integrity: sha512-8yqXk7rMtmQJ9wZiHOt/6d4/JDEg5VCk83gJ39I+X/pwUPzIsbKy9QiK4uJ3aJELKyoIiDT1hpYVt+5ia+94IA==} + /@algolia/logger-common/4.13.1: + resolution: {integrity: sha512-L6slbL/OyZaAXNtS/1A8SAbOJeEXD5JcZeDCPYDqSTYScfHu+2ePRTDMgUTY4gQ7HsYZ39N1LujOd8WBTmM2Aw==} dev: true - /@algolia/logger-console/4.13.0: - resolution: {integrity: sha512-YepRg7w2/87L0vSXRfMND6VJ5d6699sFJBRWzZPOlek2p5fLxxK7O0VncYuc/IbVHEgeApvgXx0WgCEa38GVuQ==} + /@algolia/logger-console/4.13.1: + resolution: {integrity: sha512-7jQOTftfeeLlnb3YqF8bNgA2GZht7rdKkJ31OCeSH2/61haO0tWPoNRjZq9XLlgMQZH276pPo0NdiArcYPHjCA==} dependencies: - '@algolia/logger-common': 4.13.0 + '@algolia/logger-common': 4.13.1 dev: true - /@algolia/requester-browser-xhr/4.13.0: - resolution: {integrity: sha512-Dj+bnoWR5MotrnjblzGKZ2kCdQi2cK/VzPURPnE616NU/il7Ypy6U6DLGZ/ZYz+tnwPa0yypNf21uqt84fOgrg==} + /@algolia/requester-browser-xhr/4.13.1: + resolution: {integrity: sha512-oa0CKr1iH6Nc7CmU6RE7TnXMjHnlyp7S80pP/LvZVABeJHX3p/BcSCKovNYWWltgTxUg0U1o+2uuy8BpMKljwA==} dependencies: - '@algolia/requester-common': 4.13.0 + '@algolia/requester-common': 4.13.1 dev: true - /@algolia/requester-common/4.13.0: - resolution: {integrity: sha512-BRTDj53ecK+gn7ugukDWOOcBRul59C4NblCHqj4Zm5msd5UnHFjd/sGX+RLOEoFMhetILAnmg6wMrRrQVac9vw==} + /@algolia/requester-common/4.13.1: + resolution: {integrity: sha512-eGVf0ID84apfFEuXsaoSgIxbU3oFsIbz4XiotU3VS8qGCJAaLVUC5BUJEkiFENZIhon7hIB4d0RI13HY4RSA+w==} dev: true - /@algolia/requester-node-http/4.13.0: - resolution: {integrity: sha512-9b+3O4QFU4azLhGMrZAr/uZPydvzOR4aEZfSL8ZrpLZ7fbbqTO0S/5EVko+QIgglRAtVwxvf8UJ1wzTD2jvKxQ==} + /@algolia/requester-node-http/4.13.1: + resolution: {integrity: sha512-7C0skwtLdCz5heKTVe/vjvrqgL/eJxmiEjHqXdtypcE5GCQCYI15cb+wC4ytYioZDMiuDGeVYmCYImPoEgUGPw==} dependencies: - '@algolia/requester-common': 4.13.0 + '@algolia/requester-common': 4.13.1 dev: true - /@algolia/transporter/4.13.0: - resolution: {integrity: sha512-8tSQYE+ykQENAdeZdofvtkOr5uJ9VcQSWgRhQ9h01AehtBIPAczk/b2CLrMsw5yQZziLs5cZ3pJ3478yI+urhA==} + /@algolia/transporter/4.13.1: + resolution: {integrity: sha512-pICnNQN7TtrcYJqqPEXByV8rJ8ZRU2hCiIKLTLRyNpghtQG3VAFk6fVtdzlNfdUGZcehSKGarPIZEHlQXnKjgw==} dependencies: - '@algolia/cache-common': 4.13.0 - '@algolia/logger-common': 4.13.0 - '@algolia/requester-common': 4.13.0 + '@algolia/cache-common': 4.13.1 + '@algolia/logger-common': 4.13.1 + '@algolia/requester-common': 4.13.1 dev: true /@ampproject/remapping/2.2.0: @@ -1613,36 +1603,33 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 + dev: true - /@docsearch/css/3.0.0: - resolution: {integrity: sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA==} + /@docsearch/css/3.1.0: + resolution: {integrity: sha512-bh5IskwkkodbvC0FzSg1AxMykfDl95hebEKwxNoq4e5QaGzOXSBgW8+jnMFZ7JU4sTBiB04vZWoUSzNrPboLZA==} dev: true - /@docsearch/js/3.0.0: - resolution: {integrity: sha512-j3tUJWlgW3slYqzGB8fm7y05kh2qqrIK1dZOXHeMUm/5gdKE85fiz/ltfCPMDFb/MXF+bLZChJXSMzqY0Ck30Q==} + /@docsearch/js/3.1.0: + resolution: {integrity: sha512-5XSK+xbP0hcTIp54MECqxkWLs6kf7Ug4nWdxWNtx8cUpLiFNFnKXDxCb35wnyNpjukmrx7Q9DkO5tFFsmNVxng==} dependencies: - '@docsearch/react': 3.0.0 - preact: 10.7.2 + '@docsearch/react': 3.1.0 + preact: 10.7.3 transitivePeerDependencies: - - '@algolia/client-search' - '@types/react' - react - react-dom dev: true - /@docsearch/react/3.0.0: - resolution: {integrity: sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==} + /@docsearch/react/3.1.0: + resolution: {integrity: sha512-bjB6ExnZzf++5B7Tfoi6UXgNwoUnNOfZ1NyvnvPhWgCMy5V/biAtLL4o7owmZSYdAKeFSvZ5Lxm0is4su/dBWg==} 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.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' + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + dependencies: + '@algolia/autocomplete-core': 1.6.3 + '@docsearch/css': 3.1.0 + algoliasearch: 4.13.1 dev: true /@emotion/babel-plugin/11.9.2: @@ -1840,6 +1827,7 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.0.7 '@jridgewell/sourcemap-codec': 1.4.13 + dev: true /@mapbox/node-pre-gyp/1.0.9: resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} @@ -2132,15 +2120,19 @@ packages: /@tsconfig/node10/1.0.8: resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} + dev: true /@tsconfig/node12/1.0.9: resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} + dev: true /@tsconfig/node14/1.0.1: resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} + dev: true /@tsconfig/node16/1.0.2: resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} + dev: true /@types/argparse/1.0.38: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -2477,15 +2469,6 @@ packages: - supports-color dev: false - /@vue/compiler-core/3.2.33: - resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} - dependencies: - '@babel/parser': 7.18.5 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - source-map: 0.6.1 - dev: true - /@vue/compiler-core/3.2.37: resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==} dependencies: @@ -2494,34 +2477,12 @@ packages: estree-walker: 2.0.2 source-map: 0.6.1 - /@vue/compiler-dom/3.2.33: - resolution: {integrity: sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==} - dependencies: - '@vue/compiler-core': 3.2.33 - '@vue/shared': 3.2.33 - dev: true - /@vue/compiler-dom/3.2.37: resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==} dependencies: '@vue/compiler-core': 3.2.37 '@vue/shared': 3.2.37 - /@vue/compiler-sfc/3.2.33: - resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} - dependencies: - '@babel/parser': 7.18.5 - '@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.9 - postcss: 8.4.14 - source-map: 0.6.1 - dev: true - /@vue/compiler-sfc/3.2.37: resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==} dependencies: @@ -2536,13 +2497,6 @@ packages: postcss: 8.4.14 source-map: 0.6.1 - /@vue/compiler-ssr/3.2.33: - resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} - dependencies: - '@vue/compiler-dom': 3.2.33 - '@vue/shared': 3.2.33 - dev: true - /@vue/compiler-ssr/3.2.37: resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==} dependencies: @@ -2551,17 +2505,6 @@ packages: /@vue/devtools-api/6.1.4: resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} - dev: false - - /@vue/reactivity-transform/3.2.33: - resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} - dependencies: - '@babel/parser': 7.18.5 - '@vue/compiler-core': 3.2.33 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - magic-string: 0.25.9 - dev: true /@vue/reactivity-transform/3.2.37: resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==} @@ -2572,38 +2515,17 @@ packages: estree-walker: 2.0.2 magic-string: 0.25.9 - /@vue/reactivity/3.2.33: - resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} - dependencies: - '@vue/shared': 3.2.33 - dev: true - /@vue/reactivity/3.2.37: resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==} dependencies: '@vue/shared': 3.2.37 - /@vue/runtime-core/3.2.33: - resolution: {integrity: sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==} - dependencies: - '@vue/reactivity': 3.2.33 - '@vue/shared': 3.2.33 - dev: true - /@vue/runtime-core/3.2.37: resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==} dependencies: '@vue/reactivity': 3.2.37 '@vue/shared': 3.2.37 - /@vue/runtime-dom/3.2.33: - resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} - dependencies: - '@vue/runtime-core': 3.2.33 - '@vue/shared': 3.2.33 - csstype: 2.6.20 - dev: true - /@vue/runtime-dom/3.2.37: resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==} dependencies: @@ -2611,16 +2533,6 @@ packages: '@vue/shared': 3.2.37 csstype: 2.6.20 - /@vue/server-renderer/3.2.33_vue@3.2.33: - resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} - peerDependencies: - vue: 3.2.33 - dependencies: - '@vue/compiler-ssr': 3.2.33 - '@vue/shared': 3.2.33 - vue: 3.2.33 - dev: true - /@vue/server-renderer/3.2.37_vue@3.2.37: resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==} peerDependencies: @@ -2630,15 +2542,11 @@ packages: '@vue/shared': 3.2.37 vue: 3.2.37 - /@vue/shared/3.2.33: - resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} - dev: true - /@vue/shared/3.2.37: resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==} - /@vueuse/core/8.5.0_vue@3.2.33: - resolution: {integrity: sha512-VEJ6sGNsPlUp0o9BGda2YISvDZbhWJSOJu5zlp2TufRGVrLcYUKr31jyFEOj6RXzG3k/H4aCYeZyjpItfU8glw==} + /@vueuse/core/8.6.0_vue@3.2.37: + resolution: {integrity: sha512-VirzExCm/N+QdrEWT7J4uSrvJ5hquKIAU9alQ37kUvIJk9XxCLxmfRnmekYc1kz2+6BnoyuKYXVmrMV351CB4w==} peerDependencies: '@vue/composition-api': ^1.1.0 vue: ^2.6.0 || ^3.2.0 @@ -2648,18 +2556,18 @@ packages: vue: optional: true dependencies: - '@vueuse/metadata': 8.5.0 - '@vueuse/shared': 8.5.0_vue@3.2.33 - vue: 3.2.33 - vue-demi: 0.12.5_vue@3.2.33 + '@vueuse/metadata': 8.6.0 + '@vueuse/shared': 8.6.0_vue@3.2.37 + vue: 3.2.37 + vue-demi: 0.13.1_vue@3.2.37 dev: true - /@vueuse/metadata/8.5.0: - resolution: {integrity: sha512-WxsD+Cd+bn+HcjpY6Dl9FJ8ywTRTT9pTwk3bCQpzEhXVYAyNczKDSahk50fCfIJKeWHhyI4B2+/ZEOxQAkUr0g==} + /@vueuse/metadata/8.6.0: + resolution: {integrity: sha512-F+CKPvaExsm7QgRr8y+ZNJFwXasn89rs5wth/HeX9lJ1q8XEt+HJ16Q5Sxh4rfG5YSKXrStveVge8TKvPjMjFA==} dev: true - /@vueuse/shared/8.5.0_vue@3.2.33: - resolution: {integrity: sha512-qKG+SZb44VvGD4dU5cQ63z4JE2Yk39hQUecR0a9sEdJA01cx+XrxAvFKJfPooxwoiqalAVw/ktWK6xbyc/jS3g==} + /@vueuse/shared/8.6.0_vue@3.2.37: + resolution: {integrity: sha512-Y/IVywZo7IfEoSSEtCYpkVEmPV7pU35mEIxV7PbD/D3ly18B3mEsBaPbtDkNM/QP3zAZ5mn4nEkOfddX4uwuIA==} peerDependencies: '@vue/composition-api': ^1.1.0 vue: ^2.6.0 || ^3.2.0 @@ -2669,8 +2577,8 @@ packages: vue: optional: true dependencies: - vue: 3.2.33 - vue-demi: 0.12.5_vue@3.2.33 + vue: 3.2.37 + vue-demi: 0.13.1_vue@3.2.37 dev: true /@wessberg/stringutil/1.0.19: @@ -2722,6 +2630,7 @@ packages: /acorn-walk/8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + dev: true /acorn/7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} @@ -2732,6 +2641,7 @@ packages: resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} engines: {node: '>=0.4.0'} hasBin: true + dev: true /add-stream/1.0.0: resolution: {integrity: sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=} @@ -2763,23 +2673,23 @@ packages: uri-js: 4.4.1 dev: true - /algoliasearch/4.13.0: - resolution: {integrity: sha512-oHv4faI1Vl2s+YC0YquwkK/TsaJs79g2JFg5FDm2rKN12VItPTAeQ7hyJMHarOPPYuCnNC5kixbtcqvb21wchw==} + /algoliasearch/4.13.1: + resolution: {integrity: sha512-dtHUSE0caWTCE7liE1xaL+19AFf6kWEcyn76uhcitWpntqvicFHXKFoZe5JJcv9whQOTRM6+B8qJz6sFj+rDJA==} dependencies: - '@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 + '@algolia/cache-browser-local-storage': 4.13.1 + '@algolia/cache-common': 4.13.1 + '@algolia/cache-in-memory': 4.13.1 + '@algolia/client-account': 4.13.1 + '@algolia/client-analytics': 4.13.1 + '@algolia/client-common': 4.13.1 + '@algolia/client-personalization': 4.13.1 + '@algolia/client-search': 4.13.1 + '@algolia/logger-common': 4.13.1 + '@algolia/logger-console': 4.13.1 + '@algolia/requester-browser-xhr': 4.13.1 + '@algolia/requester-common': 4.13.1 + '@algolia/requester-node-http': 4.13.1 + '@algolia/transporter': 4.13.1 dev: true /ansi-escapes/4.3.2: @@ -2836,6 +2746,7 @@ packages: /arg/4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true /arg/5.0.1: resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==} @@ -3630,6 +3541,7 @@ packages: /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true /cross-env/7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -3877,6 +3789,7 @@ packages: /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + dev: true /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -5053,19 +4966,6 @@ packages: peerDependenciesMeta: debug: optional: true - dev: false - - /follow-redirects/1.15.0_debug@4.3.4: - resolution: {integrity: sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: - debug: 4.3.4 - dev: true /form-data/4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -5458,7 +5358,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.0_debug@4.3.4 + follow-redirects: 1.15.0 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -6158,6 +6058,7 @@ packages: /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true /map-obj/1.0.1: resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} @@ -7130,8 +7031,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact/10.7.2: - resolution: {integrity: sha512-GLjn0I3r6ka+NvxJUppsVFqb4V0qDTEHT/QxHlidPuClGaxF/4AI2Qti4a0cv3XMh5n1+D3hLScW10LRIm5msQ==} + /preact/10.7.3: + resolution: {integrity: sha512-giqJXP8VbtA1tyGa3f1n9wiN7PrHtONrDyE3T+ifjr/tTkg+2N4d/6sjC9WyJKv8wM7rOYDveqy5ZoFmYlwo4w==} dev: true /prelude-ls/1.2.1: @@ -8469,6 +8370,7 @@ packages: make-error: 1.3.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + dev: true /tsconfck/2.0.1: resolution: {integrity: sha512-/ipap2eecmVBmBlsQLBRbUmUNFwNJV/z2E+X0FPtHNjPwroMZQ7m39RMaCywlCulBheYXgMdUlWDd9rzxwMA0Q==} @@ -8710,6 +8612,7 @@ packages: /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==} @@ -8736,21 +8639,21 @@ packages: engines: {node: '>= 0.8'} dev: true - /vitepress/1.0.0-draft.8: - resolution: {integrity: sha512-r1cphHgtJ/KFwtph3cyusGWjRyX0NHvwfBboKnG5mRJpOP/JyvX5q5+NIiRYElPgdFXU7Roxkl8BcJbxWht56Q==} + /vitepress/1.0.0-alpha.2: + resolution: {integrity: sha512-twSsmx2DI/3XgZZ8KLyRAH8RgK2Zj4kJx/kwhZhimwndYqQDrtcIaAcuV+P3FKukZ+cYtm9yt9qohz631jKx4A==} engines: {node: '>=14.6.0'} hasBin: true dependencies: - '@docsearch/css': 3.0.0 - '@docsearch/js': 3.0.0 + '@docsearch/css': 3.1.0 + '@docsearch/js': 3.1.0 '@vitejs/plugin-vue': link:packages/plugin-vue - '@vueuse/core': 8.5.0_vue@3.2.33 + '@vue/devtools-api': 6.1.4 + '@vueuse/core': 8.6.0_vue@3.2.37 body-scroll-lock: 4.0.0-beta.0 shiki: 0.10.1 vite: link:packages/vite - vue: 3.2.33 + vue: 3.2.37 transitivePeerDependencies: - - '@algolia/client-search' - '@types/react' - '@vue/composition-api' - react @@ -8801,8 +8704,8 @@ packages: resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==} dev: true - /vue-demi/0.12.5_vue@3.2.33: - resolution: {integrity: sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==} + /vue-demi/0.13.1_vue@3.2.37: + resolution: {integrity: sha512-xmkJ56koG3ptpLnpgmIzk9/4nFf4CqduSJbUM0OdPoU87NwRuZ6x49OLhjSa/fC15fV+5CbEnrxU4oyE022svg==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -8813,7 +8716,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.2.33 + vue: 3.2.37 dev: true /vue-router/4.0.16_vue@3.2.37: @@ -8825,16 +8728,6 @@ packages: vue: 3.2.37 dev: false - /vue/3.2.33: - resolution: {integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==} - dependencies: - '@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 - dev: true - /vue/3.2.37: resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==} dependencies: @@ -9032,6 +8925,7 @@ packages: /yn/3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + dev: true /youch/2.2.2: resolution: {integrity: sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ==} From 3aa54f7bce81b9d1336b45bd1780a6ff9aad9fd2 Mon Sep 17 00:00:00 2001 From: Shinigami Date: Tue, 14 Jun 2022 15:01:02 +0200 Subject: [PATCH 05/31] chore(deps): update dependency prettier to v2.7 (#8581) --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d4b32487f48797..bff4025a81a5f0 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "picocolors": "^1.0.0", "playwright-chromium": "^1.22.2", "pnpm": "^7.2.1", - "prettier": "2.6.2", + "prettier": "2.7.0", "prompts": "^2.4.2", "rimraf": "^3.0.2", "rollup": "^2.75.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de2c44762c9a07..dab7d063a19ec4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,7 +53,7 @@ importers: picocolors: ^1.0.0 playwright-chromium: ^1.22.2 pnpm: ^7.2.1 - prettier: 2.6.2 + prettier: 2.7.0 prompts: ^2.4.2 rimraf: ^3.0.2 rollup: ^2.75.6 @@ -111,7 +111,7 @@ importers: picocolors: 1.0.0 playwright-chromium: 1.22.2 pnpm: 7.2.1 - prettier: 2.6.2 + prettier: 2.7.0 prompts: 2.4.2 rimraf: 3.0.2 rollup: 2.75.6 @@ -7040,8 +7040,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier/2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} + /prettier/2.7.0: + resolution: {integrity: sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ==} engines: {node: '>=10.13.0'} hasBin: true dev: true From 73e17750022749515efd9413480ae02fb9244bb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Bergstr=C3=B6m?= Date: Tue, 14 Jun 2022 09:14:14 -0400 Subject: [PATCH 06/31] feat: 500 response if the node proxy request fails (#7398) --- packages/vite/src/node/server/middlewares/proxy.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 5c447435911ecd..9cd529a0dbba7b 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -43,11 +43,16 @@ export function proxyMiddleware( } const proxy = httpProxy.createProxyServer(opts) as HttpProxy.Server - proxy.on('error', (err) => { + proxy.on('error', (err, req, res) => { config.logger.error(`${colors.red(`http proxy error:`)}\n${err.stack}`, { timestamp: true, error: err }) + res + .writeHead(500, { + 'Content-Type': 'text/plain' + }) + .end() }) if (opts.configure) { From 3439132a06d2e71a0250d5961b739bd1499b4b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 14 Jun 2022 22:30:57 +0900 Subject: [PATCH 07/31] chore: tweak server start output (#8582) --- packages/vite/src/node/logger.ts | 33 +++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/logger.ts b/packages/vite/src/node/logger.ts index d3ed4ce896d6fb..70a6ee49a80bf2 100644 --- a/packages/vite/src/node/logger.ts +++ b/packages/vite/src/node/logger.ts @@ -173,6 +173,7 @@ function printServerUrls( info: Logger['info'] ): void { const urls: Array<{ label: string; url: string }> = [] + const notes: Array<{ label: string; message: string }> = [] if (hostname.host && loopbackHosts.has(hostname.host)) { let hostnameName = hostname.name @@ -191,9 +192,11 @@ function printServerUrls( }) if (hostname.name === 'localhost') { - urls.push({ - label: 'Network', - url: colors.dim(`use ${colors.white(colors.bold('--host'))} to expose`) + notes.push({ + label: 'Hint', + message: colors.dim( + `Use ${colors.white(colors.bold('--host'))} to expose to network.` + ) }) } } else { @@ -217,9 +220,17 @@ function printServerUrls( }) } - const length = urls.reduce( - (length, { label }) => Math.max(length, label.length), - 0 + if (!hostname.host || wildcardHosts.has(hostname.host)) { + notes.push({ + label: 'Note', + message: colors.dim( + 'You are using a wildcard host. Ports might be overriden.' + ) + }) + } + + const length = Math.max( + ...[...urls, ...notes].map(({ label }) => label.length) ) const print = ( iconWithColor: string, @@ -236,11 +247,7 @@ function printServerUrls( urls.forEach(({ label, url: text }) => { print(colors.green('➜'), label, text) }) - if (!hostname.host || wildcardHosts.has(hostname.host)) { - print( - colors.bold(colors.blue('ⓘ')), - 'Note', - colors.dim('You are using a wildcard host. Ports might be overriden.') - ) - } + notes.forEach(({ label, message: text }) => { + print(colors.white('❖'), label, text) + }) } From d1ba0590a43f3c25a25522b1b2c9bf51a17fbde4 Mon Sep 17 00:00:00 2001 From: dayuan <2191516303@qq.com> Date: Tue, 14 Jun 2022 21:40:40 +0800 Subject: [PATCH 08/31] chore(create-vite): use Type assertion in preact-ts (#8579) --- packages/create-vite/template-preact-ts/src/main.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-vite/template-preact-ts/src/main.tsx b/packages/create-vite/template-preact-ts/src/main.tsx index 812f602e33bc95..e0ce3e9980eecd 100644 --- a/packages/create-vite/template-preact-ts/src/main.tsx +++ b/packages/create-vite/template-preact-ts/src/main.tsx @@ -2,4 +2,4 @@ import { render } from 'preact' import { App } from './app' import './index.css' -render(, document.getElementById('app')!) +render(, document.getElementById('app') as HTMLElement) From eb47b1e2580cd6f8285dadba8f943e1b667ec390 Mon Sep 17 00:00:00 2001 From: Menci Date: Tue, 14 Jun 2022 22:44:00 +0800 Subject: [PATCH 09/31] fix(plugin-legacy): don't include SystemJS in modern polyfills (#6902) Co-authored-by: sapphi-red --- packages/plugin-legacy/src/index.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/plugin-legacy/src/index.ts b/packages/plugin-legacy/src/index.ts index 4aaab1aab2412d..0c9fb1c8c68d33 100644 --- a/packages/plugin-legacy/src/index.ts +++ b/packages/plugin-legacy/src/index.ts @@ -134,7 +134,7 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { config.build, 'es', opts, - options.externalSystemJS + true ) return } @@ -566,7 +566,7 @@ async function buildPolyfillChunk( buildOptions: BuildOptions, format: 'iife' | 'es', rollupOutputOptions: NormalizedOutputOptions, - externalSystemJS?: boolean + excludeSystemJS?: boolean ) { let { minify, assetsDir } = buildOptions minify = minify ? 'terser' : false @@ -575,7 +575,7 @@ async function buildPolyfillChunk( root: path.dirname(fileURLToPath(import.meta.url)), configFile: false, logLevel: 'error', - plugins: [polyfillsPlugin(imports, externalSystemJS)], + plugins: [polyfillsPlugin(imports, excludeSystemJS)], build: { write: false, target: false, @@ -614,7 +614,7 @@ const polyfillId = '\0vite/legacy-polyfills' function polyfillsPlugin( imports: Set, - externalSystemJS?: boolean + excludeSystemJS?: boolean ): Plugin { return { name: 'vite:legacy-polyfills', @@ -627,7 +627,7 @@ function polyfillsPlugin( if (id === polyfillId) { return ( [...imports].map((i) => `import "${i}";`).join('') + - (externalSystemJS ? '' : `import "systemjs/dist/s.min.js";`) + (excludeSystemJS ? '' : `import "systemjs/dist/s.min.js";`) ) } } From d7beaebbfcf448e5f24222c3ec5dba748490ee9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 15 Jun 2022 01:15:41 +0900 Subject: [PATCH 10/31] chore: enable eslint and prettier cache (#8585) --- .gitignore | 1 + package.json | 12 ++++++------ packages/vite/package.json | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 9194d44b544c4e..7f1cab0e1f4356 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ node_modules playground-temp temp TODOs.md +.eslintcache diff --git a/package.json b/package.json index bff4025a81a5f0..d9923fa7b80bf4 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ ], "scripts": { "preinstall": "npx only-allow pnpm", - "format": "prettier --write .", - "lint": "eslint packages/*/{src,types,__tests__}/** playground/**/__tests__/**/*.ts scripts/**", + "format": "prettier --write --cache .", + "lint": "eslint --cache packages/*/{src,types,__tests__}/** playground/**/__tests__/**/*.ts scripts/**", "typecheck": "tsc -p scripts --noEmit && tsc -p playground --noEmit", "test": "run-s test-unit test-serve test-build", "test-serve": "vitest run -c vitest.config.e2e.ts", @@ -98,16 +98,16 @@ }, "lint-staged": { "*": [ - "prettier --write --ignore-unknown" + "prettier --write --cache --ignore-unknown" ], "packages/*/{src,types}/**/*.ts": [ - "eslint --fix" + "eslint --cache --fix" ], "packages/**/*.d.ts": [ - "eslint --fix" + "eslint --cache --fix" ], "playground/**/__tests__/**/*.ts": [ - "eslint --fix" + "eslint --cache --fix" ] }, "packageManager": "pnpm@7.2.1", diff --git a/packages/vite/package.json b/packages/vite/package.json index 4e8adc9642fcb8..b30f184906058a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -51,8 +51,8 @@ "patch-types": "esno scripts/patchTypes.ts", "roll-types": "api-extractor run && rimraf temp", "check-dist-types": "tsc --project tsconfig.check.json", - "lint": "eslint --ext .ts src/**", - "format": "prettier --write --parser typescript \"src/**/*.ts\"", + "lint": "eslint --cache --ext .ts src/**", + "format": "prettier --write --cache --parser typescript \"src/**/*.ts\"", "prepublishOnly": "npm run build" }, "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", From 649c7f60525ec4755f147312475cb473b80d7d5e Mon Sep 17 00:00:00 2001 From: Menci Date: Wed, 15 Jun 2022 02:13:46 +0800 Subject: [PATCH 11/31] fix: sequential injection of tags in transformIndexHtml (#5851) (#6901) Co-authored-by: sapphi-red --- packages/vite/src/node/plugins/html.ts | 34 ++++++++++++-------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index 9d06d6e168f2e1..a66a6288f8e8c2 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -767,11 +767,6 @@ export async function applyHtmlTransforms( hooks: IndexHtmlTransformHook[], ctx: IndexHtmlTransformContext ): Promise { - const headTags: HtmlTagDescriptor[] = [] - const headPrependTags: HtmlTagDescriptor[] = [] - const bodyTags: HtmlTagDescriptor[] = [] - const bodyPrependTags: HtmlTagDescriptor[] = [] - for (const hook of hooks) { const res = await hook(html, ctx) if (!res) { @@ -787,6 +782,12 @@ export async function applyHtmlTransforms( html = res.html || html tags = res.tags } + + const headTags: HtmlTagDescriptor[] = [] + const headPrependTags: HtmlTagDescriptor[] = [] + const bodyTags: HtmlTagDescriptor[] = [] + const bodyPrependTags: HtmlTagDescriptor[] = [] + for (const tag of tags) { if (tag.injectTo === 'body') { bodyTags.push(tag) @@ -798,21 +799,12 @@ export async function applyHtmlTransforms( headPrependTags.push(tag) } } - } - } - // inject tags - if (headPrependTags.length) { - html = injectToHead(html, headPrependTags, true) - } - if (headTags.length) { - html = injectToHead(html, headTags) - } - if (bodyPrependTags.length) { - html = injectToBody(html, bodyPrependTags, true) - } - if (bodyTags.length) { - html = injectToBody(html, bodyTags) + html = injectToHead(html, headPrependTags, true) + html = injectToHead(html, headTags) + html = injectToBody(html, bodyPrependTags, true) + html = injectToBody(html, bodyTags) + } } return html @@ -859,6 +851,8 @@ function injectToHead( tags: HtmlTagDescriptor[], prepend = false ) { + if (tags.length === 0) return html + if (prepend) { // inject as the first element of head if (headPrependInjectRE.test(html)) { @@ -893,6 +887,8 @@ function injectToBody( tags: HtmlTagDescriptor[], prepend = false ) { + if (tags.length === 0) return html + if (prepend) { // inject after body open if (bodyPrependInjectRE.test(html)) { From ed12ed1b1d40ae106fdc9403fd581f316b20f560 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 15 Jun 2022 02:42:52 +0800 Subject: [PATCH 12/31] docs: update config jsdoc style (#8590) --- docs/config/index.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/config/index.md b/docs/config/index.md index 5daf5e7f714275..73a20082295304 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -41,14 +41,10 @@ const func = () => { Since Vite ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints: ```js -/** - * @type {import('vite').UserConfig} - */ -const config = { +/** @type {import('vite').UserConfig} */ +export default { // ... } - -export default config ``` Alternatively, you can use the `defineConfig` helper which should provide intellisense without the need for jsdoc annotations: From b4bddb92003e6e7cd7ad412d1ea09cbec08bb922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 15 Jun 2022 03:53:14 +0900 Subject: [PATCH 13/31] docs: add some changes to "Migration from v2" (#8591) --- docs/guide/migration.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index c3e7be3a8a2c27..9885dec7117742 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -52,6 +52,10 @@ If using ESM for SSR isn't possible in your project, you can set `ssr.format: 'c ## General Changes - JS file extensions in SSR and lib mode now use a valid extension (`js`, `mjs`, or `cjs`) for output JS entries and chunks based on their format and the package type. +- Terser is now an optional dependency. If you are using `build.minify: 'terser'`, you need to install it. + ```shell + npm add -D terser + ``` ### `import.meta.glob` @@ -95,6 +99,8 @@ There are some changes which only affects plugin/tool creators. - `printHttpServerUrls` is removed - `server.app`, `server.transformWithEsbuild` are removed - `import.meta.hot.acceptDeps` is removed +- [[#6901] fix: sequential injection of tags in transformIndexHtml](https://github.com/vitejs/vite/pull/6901) + - `transformIndexHtml` now gets the correct content modified by earlier plugins, so the order of the injected tags now works as expected. - [[#7995] chore: do not fixStacktrace](https://github.com/vitejs/vite/pull/7995) - `ssrLoadModule`'s `fixStacktrace` option's default is now `false` - [[#8178] feat!: migrate to ESM](https://github.com/vitejs/vite/pull/8178) @@ -107,8 +113,12 @@ Also there are other breaking changes which only affect few users. - Transpile to ES5 is now necessary even if the user code only includes ES5. - [[#7877] fix: vite client types](https://github.com/vitejs/vite/pull/7877) - `/// ` is removed from `vite/client.d.ts`. `{ "lib": ["dom"] }` or `{ "lib": ["webworker"] }` is necessary in `tsconfig.json`. +- [[#8090] feat: preserve process env vars in lib build](https://github.com/vitejs/vite/pull/8090) + - `process.env.*` is now preserved in library mode - [[#8280] feat: non-blocking esbuild optimization at build time](https://github.com/vitejs/vite/pull/8280) - `server.force` option was removed in favor of `force` option. +- [[#8550] fix: dont handle sigterm in middleware mode](https://github.com/vitejs/vite/pull/8550) + - When running in middleware mode, Vite no longer kills process on `SIGTERM`. ## Migration from v1 From b1baca769d0ee2501ea56c32e70a72f494c7e831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 15 Jun 2022 03:55:02 +0900 Subject: [PATCH 14/31] ci: only install chromium for playwright (#8589) --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 248bb3fbedd101..55a556686dfa68 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,8 +59,9 @@ jobs: - name: Install deps run: pnpm install + # This could be removed when https://github.com/pnpm/pnpm/issues/4888 is resolved - name: Install Playwright - run: pnpm playwright install + run: pnpm playwright install chromium - name: Build run: pnpm run build From 5151e7466bdb86066991b77df8db6ada066bb71f Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 14 Jun 2022 15:39:23 -0400 Subject: [PATCH 15/31] fix(css): escape pattern chars from base path in postcss dir-dependency messages (#7081) Co-authored-by: sapphi-red --- packages/vite/src/node/plugins/css.ts | 4 +++- playground/css/__tests__/css.spec.ts | 9 +++++++++ playground/css/glob-dep/nested (dir)/baz.css | 3 +++ playground/css/index.html | 3 +++ playground/css/postcss.config.js | 10 +++++++++- 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 playground/css/glob-dep/nested (dir)/baz.css diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index ce068ac6104f81..45af9233bf4560 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -861,7 +861,9 @@ async function compileCSS( // https://github.com/postcss/postcss/blob/main/docs/guidelines/plugin.md#3-dependencies const { dir, glob: globPattern = '**' } = message const pattern = - normalizePath(path.resolve(path.dirname(id), dir)) + `/` + globPattern + glob.escapePath(normalizePath(path.resolve(path.dirname(id), dir))) + + `/` + + globPattern const files = glob.sync(pattern, { ignore: ['**/node_modules/**'] }) diff --git a/playground/css/__tests__/css.spec.ts b/playground/css/__tests__/css.spec.ts index e9d1fccac61d6e..564f0665bf0cea 100644 --- a/playground/css/__tests__/css.spec.ts +++ b/playground/css/__tests__/css.spec.ts @@ -317,9 +317,11 @@ test('treeshaken async chunk', async () => { test('PostCSS dir-dependency', async () => { const el1 = await page.$('.dir-dep') const el2 = await page.$('.dir-dep-2') + const el3 = await page.$('.dir-dep-3') expect(await getColor(el1)).toBe('grey') expect(await getColor(el2)).toBe('grey') + expect(await getColor(el3)).toBe('grey') if (!isBuild) { editFile('glob-dep/foo.css', (code) => @@ -334,6 +336,13 @@ test('PostCSS dir-dependency', async () => { await untilUpdated(() => getColor(el2), 'red') expect(await getColor(el1)).toBe('blue') + editFile('glob-dep/nested (dir)/baz.css', (code) => + code.replace('color: grey', 'color: green') + ) + await untilUpdated(() => getColor(el3), 'green') + expect(await getColor(el1)).toBe('blue') + expect(await getColor(el2)).toBe('red') + // test add/remove removeFile('glob-dep/bar.css') await untilUpdated(() => getColor(el2), 'black') diff --git a/playground/css/glob-dep/nested (dir)/baz.css b/playground/css/glob-dep/nested (dir)/baz.css new file mode 100644 index 00000000000000..9a8b0f0ba47dc5 --- /dev/null +++ b/playground/css/glob-dep/nested (dir)/baz.css @@ -0,0 +1,3 @@ +.dir-dep-3 { + color: grey; +} diff --git a/playground/css/index.html b/playground/css/index.html index 15e81192cec7f1..4310967b6ca65b 100644 --- a/playground/css/index.html +++ b/playground/css/index.html @@ -113,6 +113,9 @@

CSS

PostCSS dir-dependency (file 2): this should be grey too

+

+ PostCSS dir-dependency (file 3): this should be grey too +

URL separation preservation: should have valid background-image diff --git a/playground/css/postcss.config.js b/playground/css/postcss.config.js index 33058023541515..b30209bff42097 100644 --- a/playground/css/postcss.config.js +++ b/playground/css/postcss.config.js @@ -16,7 +16,7 @@ function testDirDep() { AtRule(atRule, { result, Comment }) { if (atRule.name === 'test') { const pattern = normalizePath( - path.resolve(path.dirname(result.opts.from), './glob-dep/*.css') + path.resolve(path.dirname(result.opts.from), './glob-dep/**/*.css') ) const files = glob.sync(pattern) const text = files.map((f) => fs.readFileSync(f, 'utf-8')).join('\n') @@ -30,6 +30,14 @@ function testDirDep() { glob: '*.css', parent: result.opts.from }) + + result.messages.push({ + type: 'dir-dependency', + plugin: 'dir-dep', + dir: './glob-dep/nested (dir)', // includes special characters in glob + glob: '*.css', + parent: result.opts.from + }) } } } From 4e6c26f6c355ec3aac2a277961c3280f8eaa21b0 Mon Sep 17 00:00:00 2001 From: cyitao <36476221+inkyMountain@users.noreply.github.com> Date: Wed, 15 Jun 2022 13:03:38 +0800 Subject: [PATCH 16/31] fix(asset): respect assetFileNames if rollupOptions.output is an array (#8561) Co-authored-by: patak-dev --- packages/vite/src/node/config.ts | 23 +++++++++++++++ packages/vite/src/node/plugins/asset.ts | 19 ++++++++++--- playground/legacy/main.js | 1 + playground/legacy/package.json | 1 + .../legacy/vite.config-multiple-output.js | 28 +++++++++++++++++++ playground/legacy/vite.svg | 1 + 6 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 playground/legacy/vite.config-multiple-output.js create mode 100644 playground/legacy/vite.svg diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 3b733fc4032f80..24b0e67fc9d390 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -569,6 +569,29 @@ export async function resolveConfig( ) } + // Check if all assetFileNames have the same reference. + // If not, display a warn for user. + const outputOption = config.build?.rollupOptions?.output ?? [] + // Use isArray to narrow its type to array + if (Array.isArray(outputOption)) { + const assetFileNamesList = outputOption.map( + (output) => output.assetFileNames + ) + if (assetFileNamesList.length > 1) { + const firstAssetFileNames = assetFileNamesList[0] + const hasDifferentReference = assetFileNamesList.some( + (assetFileNames) => assetFileNames !== firstAssetFileNames + ) + if (hasDifferentReference) { + resolved.logger.warn( + colors.yellow(` +assetFileNames isn't equal for every build.rollupOptions.output. A single pattern across all outputs is supported by Vite. +`) + ) + } + } + } + return resolved } diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 9e99629c8144e9..2a119808a4eb72 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -365,11 +365,22 @@ async function fileToBuiltUrl( const { search, hash } = parseUrl(id) const postfix = (search || '') + (hash || '') const output = config.build?.rollupOptions?.output - const assetFileNames = + + const defaultAssetFileNames = path.posix.join( + config.build.assetsDir, + '[name].[hash][extname]' + ) + // Steps to determine which assetFileNames will be actually used. + // First, if output is an object or string, use assetFileNames in it. + // And a default assetFileNames as fallback. + let assetFileNames: Exclude = (output && !Array.isArray(output) ? output.assetFileNames : undefined) ?? - // defaults to '/[name].[hash][extname]' - // slightly different from rollup's one ('assets/[name]-[hash][extname]') - path.posix.join(config.build.assetsDir, '[name].[hash][extname]') + defaultAssetFileNames + if (output && Array.isArray(output)) { + // Second, if output is an array, adopt assetFileNames in the first object. + assetFileNames = output[0].assetFileNames ?? assetFileNames + } + const fileName = assetFileNamesToFileName( assetFileNames, file, diff --git a/playground/legacy/main.js b/playground/legacy/main.js index 157b6c8448e9c3..24959b129f28f2 100644 --- a/playground/legacy/main.js +++ b/playground/legacy/main.js @@ -1,4 +1,5 @@ import './style.css' +import './vite.svg' async function run() { const { fn } = await import('./async.js') diff --git a/playground/legacy/package.json b/playground/legacy/package.json index 7ba9c0e8a47953..53657df1c6b84f 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -7,6 +7,7 @@ "build": "vite build --debug legacy", "build:custom-filename": "vite --config ./vite.config-custom-filename.js build --debug legacy", "build:dynamic-css": "vite --config ./vite.config-dynamic-css.js build --debug legacy", + "build:multiple-output": "vite --config ./vite.config-multiple-output.js build", "debug": "node --inspect-brk ../../packages/vite/bin/vite", "preview": "vite preview" }, diff --git a/playground/legacy/vite.config-multiple-output.js b/playground/legacy/vite.config-multiple-output.js new file mode 100644 index 00000000000000..6d958bd892d621 --- /dev/null +++ b/playground/legacy/vite.config-multiple-output.js @@ -0,0 +1,28 @@ +import legacy from '@vitejs/plugin-legacy' +import { defineConfig } from 'vite' + +export default defineConfig({ + plugins: [legacy({ modernPolyfills: true })], + build: { + manifest: true, + minify: false, + rollupOptions: { + output: [ + { + assetFileNames() { + return 'assets/subdir/[name].[hash][extname]' + }, + entryFileNames: `assets/subdir/[name].js`, + chunkFileNames: `assets/subdir/[name].js` + }, + { + assetFileNames() { + return 'assets/subdir/[name].[hash][extname]' + }, + entryFileNames: `assets/anotherSubdir/[name].js`, + chunkFileNames: `assets/anotherSubdir/[name].js` + } + ] + } + } +}) diff --git a/playground/legacy/vite.svg b/playground/legacy/vite.svg new file mode 100644 index 00000000000000..e7b8dfb1b2a60b --- /dev/null +++ b/playground/legacy/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file From 6234bcdc7172e8c71c754c9370c42c769678001e Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 15 Jun 2022 20:54:40 +0800 Subject: [PATCH 17/31] chore: upgrade playground deps (#8587) --- .github/renovate.json5 | 2 - playground/backend-integration/package.json | 2 +- .../backend-integration/tailwind.config.js | 4 +- playground/file-delete-restore/index.html | 6 +- playground/file-delete-restore/package.json | 4 +- playground/optimize-deps/cjs-dynamic.js | 7 +- playground/optimize-deps/cjs.js | 6 +- playground/optimize-deps/dedupe.js | 6 +- .../dep-linked-include/package.json | 2 +- playground/optimize-deps/package.json | 4 +- playground/react-emotion/index.html | 6 +- playground/react-emotion/package.json | 6 +- playground/react/index.html | 6 +- playground/react/package.json | 4 +- playground/ssr-react/package.json | 7 +- playground/ssr-react/src/App.jsx | 12 +- playground/ssr-react/src/entry-client.jsx | 8 +- playground/ssr-react/src/entry-server.jsx | 2 +- playground/ssr-webworker/package.json | 2 +- playground/tailwind/package.json | 2 +- playground/tailwind/tailwind.config.js | 4 +- pnpm-lock.yaml | 485 ++++-------------- 22 files changed, 144 insertions(+), 443 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 1f12ef5dc54a5c..0014c768519180 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -19,8 +19,6 @@ "typescript", // breaking changes - "react-router", // `react-router:v6.0.0+` has breaking changes - "react-router-dom", // `react-router-dom:v6.0.0+` has breaking changes "source-map", // `source-map:v0.7.0+` needs more investigation "dotenv-expand", // `dotenv-expand:6.0.0+` has breaking changes (#6858) "kill-port", // `kill-port:^2.0.0 has perf issues (#8392) diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index c1419548cb3bd3..a9c2b4f2bca63d 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "tailwindcss": "^2.2.19" + "tailwindcss": "^3.1.2" }, "devDependencies": { "fast-glob": "^3.2.11" diff --git a/playground/backend-integration/tailwind.config.js b/playground/backend-integration/tailwind.config.js index 6e72a7e5d9d87b..0c3ae11de7565e 100644 --- a/playground/backend-integration/tailwind.config.js +++ b/playground/backend-integration/tailwind.config.js @@ -1,7 +1,5 @@ module.exports = { - mode: 'jit', - purge: [__dirname + '/frontend/**/*.{css,html,ts,js}'], - darkMode: false, // or 'media' or 'class' + content: [__dirname + '/frontend/**/*.{css,html,ts,js}'], theme: { extend: {} }, diff --git a/playground/file-delete-restore/index.html b/playground/file-delete-restore/index.html index ce1b9213c82763..f0015ceb9829a3 100644 --- a/playground/file-delete-restore/index.html +++ b/playground/file-delete-restore/index.html @@ -1,8 +1,10 @@

diff --git a/playground/file-delete-restore/package.json b/playground/file-delete-restore/package.json index b9c511aacfa62e..2282c4d3ce72e0 100644 --- a/playground/file-delete-restore/package.json +++ b/playground/file-delete-restore/package.json @@ -9,8 +9,8 @@ "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": "workspace:*" diff --git a/playground/optimize-deps/cjs-dynamic.js b/playground/optimize-deps/cjs-dynamic.js index 91dc5a964d5481..21aec63fe27098 100644 --- a/playground/optimize-deps/cjs-dynamic.js +++ b/playground/optimize-deps/cjs-dynamic.js @@ -4,7 +4,7 @@ ;(async () => { const { useState } = await import('react') const React = (await import('react')).default - const ReactDOM = await import('react-dom') + const ReactDOM = await import('react-dom/client') const clip = await import('clipboard') if (typeof clip.default === 'function') { @@ -42,9 +42,8 @@ ) } - ReactDOM.render( - React.createElement(App), - document.querySelector('.cjs-dynamic') + ReactDOM.createRoot(document.querySelector('.cjs-dynamic')).render( + React.createElement(App) ) function text(el, text) { diff --git a/playground/optimize-deps/cjs.js b/playground/optimize-deps/cjs.js index 9dc613c4b3ba71..53da284e0dc8d2 100644 --- a/playground/optimize-deps/cjs.js +++ b/playground/optimize-deps/cjs.js @@ -2,7 +2,7 @@ // React is the ultimate test of this because its dynamic exports assignments // are not statically detectable by @rollup/plugin-commonjs. import React, { useState } from 'react' -import ReactDOM from 'react-dom' +import ReactDOM from 'react-dom/client' import { Socket } from 'phoenix' import clip from 'clipboard' @@ -28,7 +28,9 @@ function App() { ) } -ReactDOM.render(React.createElement(App), document.querySelector('.cjs')) +ReactDOM.createRoot(document.querySelector('.cjs')).render( + React.createElement(App) +) function text(el, text) { document.querySelector(el).textContent = text diff --git a/playground/optimize-deps/dedupe.js b/playground/optimize-deps/dedupe.js index d04726330a6138..7299fb9d3bb6c8 100644 --- a/playground/optimize-deps/dedupe.js +++ b/playground/optimize-deps/dedupe.js @@ -1,5 +1,5 @@ import React from 'react' -import ReactDOM from 'react-dom' +import ReactDOM from 'react-dom/client' // #1302: The linked package has a different version of React in its deps // and is itself optimized. Without `dedupe`, the linked package is optimized @@ -20,4 +20,6 @@ function App() { ) } -ReactDOM.render(React.createElement(App), document.querySelector('.dedupe')) +ReactDOM.createRoot(document.querySelector('.dedupe')).render( + React.createElement(App) +) diff --git a/playground/optimize-deps/dep-linked-include/package.json b/playground/optimize-deps/dep-linked-include/package.json index 0cfabdb9a2f2b9..274eb64092bbda 100644 --- a/playground/optimize-deps/dep-linked-include/package.json +++ b/playground/optimize-deps/dep-linked-include/package.json @@ -4,6 +4,6 @@ "version": "0.0.0", "main": "index.mjs", "dependencies": { - "react": "17.0.2" + "react": "18.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index d8302ff0e23cc7..3cabd98fa8ea4b 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -26,8 +26,8 @@ "lodash-es": "^4.17.21", "nested-exclude": "file:./nested-exclude", "phoenix": "^1.6.10", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.1.0", + "react-dom": "^18.1.0", "resolve-linked": "workspace:0.0.0", "url": "^0.11.0", "vue": "^3.2.37", diff --git a/playground/react-emotion/index.html b/playground/react-emotion/index.html index ce1b9213c82763..f0015ceb9829a3 100644 --- a/playground/react-emotion/index.html +++ b/playground/react-emotion/index.html @@ -1,8 +1,10 @@
diff --git a/playground/react-emotion/package.json b/playground/react-emotion/package.json index ee12bf20dbcc00..dfff6bd21b1e32 100644 --- a/playground/react-emotion/package.json +++ b/playground/react-emotion/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@emotion/react": "^11.9.3", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-switch": "^6.1.0" + "react": "^18.1.0", + "react-dom": "^18.1.0", + "react-switch": "^7.0.0" }, "devDependencies": { "@babel/plugin-proposal-pipeline-operator": "^7.18.2", diff --git a/playground/react/index.html b/playground/react/index.html index ce1b9213c82763..f0015ceb9829a3 100644 --- a/playground/react/index.html +++ b/playground/react/index.html @@ -1,8 +1,10 @@
diff --git a/playground/react/package.json b/playground/react/package.json index bd4aed9e79157f..b5b6a0ede20831 100644 --- a/playground/react/package.json +++ b/playground/react/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "jsx-entry": "file:./jsx-entry", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": "^18.1.0", + "react-dom": "^18.1.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*" diff --git a/playground/ssr-react/package.json b/playground/ssr-react/package.json index 2c5265163c5be4..cbab9914048237 100644 --- a/playground/ssr-react/package.json +++ b/playground/ssr-react/package.json @@ -13,10 +13,9 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-router": "^5.3.3", - "react-router-dom": "^5.3.3" + "react": "^18.1.0", + "react-dom": "^18.1.0", + "react-router-dom": "^6.3.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*", diff --git a/playground/ssr-react/src/App.jsx b/playground/ssr-react/src/App.jsx index 59e14cd5c3eea0..6be6af9a8fb0ab 100644 --- a/playground/ssr-react/src/App.jsx +++ b/playground/ssr-react/src/App.jsx @@ -1,4 +1,4 @@ -import { Link, Route, Switch } from 'react-router-dom' +import { Link, Route, Routes } from 'react-router-dom' // Auto generates routes from files under ./pages // https://vitejs.dev/guide/features.html#glob-import @@ -27,15 +27,11 @@ export function App() { })} - + {routes.map(({ path, component: RouteComp }) => { - return ( - - - - ) + return }> })} - + ) } diff --git a/playground/ssr-react/src/entry-client.jsx b/playground/ssr-react/src/entry-client.jsx index 8757bdc929d0e4..d2caee5e04cf6f 100644 --- a/playground/ssr-react/src/entry-client.jsx +++ b/playground/ssr-react/src/entry-client.jsx @@ -1,10 +1,10 @@ -import ReactDOM from 'react-dom' +import ReactDOM from 'react-dom/client' import { BrowserRouter } from 'react-router-dom' import { App } from './App' -ReactDOM.hydrate( +ReactDOM.hydrateRoot( + document.getElementById('app'), - , - document.getElementById('app') + ) diff --git a/playground/ssr-react/src/entry-server.jsx b/playground/ssr-react/src/entry-server.jsx index 56d4810d11ba3c..ea1b86aebd4716 100644 --- a/playground/ssr-react/src/entry-server.jsx +++ b/playground/ssr-react/src/entry-server.jsx @@ -1,5 +1,5 @@ import ReactDOMServer from 'react-dom/server' -import { StaticRouter } from 'react-router-dom' +import { StaticRouter } from 'react-router-dom/server' import { App } from './App' export function render(url, context) { diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 00439576fbac69..b05a50a542bfd4 100644 --- a/playground/ssr-webworker/package.json +++ b/playground/ssr-webworker/package.json @@ -8,7 +8,7 @@ "build:worker": "vite build --ssr src/entry-worker.jsx --outDir dist/worker" }, "dependencies": { - "react": "^17.0.2" + "react": "^18.1.0" }, "devDependencies": { "miniflare": "^1.4.1", diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index aa87248c0e8c43..bfa138db748f50 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "autoprefixer": "^10.4.7", - "tailwindcss": "^2.2.19", + "tailwindcss": "^3.1.2", "vue": "^3.2.37", "vue-router": "^4.0.16" }, diff --git a/playground/tailwind/tailwind.config.js b/playground/tailwind/tailwind.config.js index 64a2b1a2499bb4..d346b0549e2b35 100644 --- a/playground/tailwind/tailwind.config.js +++ b/playground/tailwind/tailwind.config.js @@ -1,12 +1,10 @@ module.exports = { - mode: 'jit', - purge: [ + content: [ // Before editing this section, make sure no paths are matching with `/src/App.vue` // Look https://github.com/vitejs/vite/pull/6959 for more details __dirname + '/src/{components,views}/**/*.vue', __dirname + '/src/App.vue' ], - darkMode: false, // or 'media' or 'class' theme: { extend: {} }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dab7d063a19ec4..811e48b4ec9a0a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -361,9 +361,9 @@ importers: playground/backend-integration: specifiers: fast-glob: ^3.2.11 - tailwindcss: ^2.2.19 + tailwindcss: ^3.1.2 dependencies: - tailwindcss: 2.2.19 + tailwindcss: 3.1.2 devDependencies: fast-glob: 3.2.11 @@ -452,11 +452,11 @@ importers: playground/file-delete-restore: specifiers: '@vitejs/plugin-react': workspace:* - react: ^17.0.2 - react-dom: ^17.0.2 + react: ^18.1.0 + react-dom: ^18.1.0 dependencies: - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 devDependencies: '@vitejs/plugin-react': link:../../packages/plugin-react @@ -582,8 +582,8 @@ importers: lodash.clonedeep: ^4.5.0 nested-exclude: file:./nested-exclude phoenix: ^1.6.10 - react: ^17.0.2 - react-dom: ^17.0.2 + react: ^18.1.0 + react-dom: ^18.1.0 resolve-linked: workspace:0.0.0 url: ^0.11.0 vue: ^3.2.37 @@ -608,8 +608,8 @@ importers: lodash.clonedeep: 4.5.0 nested-exclude: file:playground/optimize-deps/nested-exclude phoenix: 1.6.10 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 resolve-linked: link:../resolve-linked url: 0.11.0 vue: 3.2.37 @@ -640,9 +640,9 @@ importers: playground/optimize-deps/dep-linked-include: specifiers: - react: 17.0.2 + react: 18.1.0 dependencies: - react: 17.0.2 + react: 18.1.0 playground/optimize-deps/dep-node-env: specifiers: {} @@ -712,12 +712,12 @@ importers: specifiers: '@vitejs/plugin-react': workspace:* jsx-entry: file:./jsx-entry - react: ^17.0.2 - react-dom: ^17.0.2 + react: ^18.1.0 + react-dom: ^18.1.0 dependencies: jsx-entry: file:playground/react/jsx-entry - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 devDependencies: '@vitejs/plugin-react': link:../../packages/plugin-react @@ -727,14 +727,14 @@ importers: '@emotion/babel-plugin': ^11.9.2 '@emotion/react': ^11.9.3 '@vitejs/plugin-react': workspace:* - react: ^17.0.2 - react-dom: ^17.0.2 - react-switch: ^6.1.0 - dependencies: - '@emotion/react': 11.9.3_react@17.0.2 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - react-switch: 6.1.0_sfoxds7t5ydpegc3knd667wn6m + react: ^18.1.0 + react-dom: ^18.1.0 + react-switch: ^7.0.0 + dependencies: + '@emotion/react': 11.9.3_react@18.1.0 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-switch: 7.0.0_ef5jwxihqo6n7gxfmzogljlgcm devDependencies: '@babel/plugin-proposal-pipeline-operator': 7.18.2 '@emotion/babel-plugin': 11.9.2 @@ -880,16 +880,14 @@ importers: compression: ^1.7.4 cross-env: ^7.0.3 express: ^4.18.1 - react: ^17.0.2 - react-dom: ^17.0.2 - react-router: ^5.3.3 - react-router-dom: ^5.3.3 + react: ^18.1.0 + react-dom: ^18.1.0 + react-router-dom: ^6.3.0 serve-static: ^1.15.0 dependencies: - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - react-router: 5.3.3_react@17.0.2 - react-router-dom: 5.3.3_react@17.0.2 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm devDependencies: '@vitejs/plugin-react': link:../../packages/plugin-react compression: 1.7.4 @@ -933,10 +931,10 @@ importers: playground/ssr-webworker: specifiers: miniflare: ^1.4.1 - react: ^17.0.2 + react: ^18.1.0 resolve-linked: workspace:* dependencies: - react: 17.0.2 + react: 18.1.0 devDependencies: miniflare: 1.4.1 resolve-linked: link:../resolve-linked @@ -945,13 +943,13 @@ importers: specifiers: '@vitejs/plugin-vue': workspace:* autoprefixer: ^10.4.7 - tailwindcss: ^2.2.19 + tailwindcss: ^3.1.2 ts-node: ^10.8.1 vue: ^3.2.37 vue-router: ^4.0.16 dependencies: autoprefixer: 10.4.7 - tailwindcss: 2.2.19_lbvqn3ypbknass5qgyhojko2ui + tailwindcss: 3.1.2_ts-node@10.8.1 vue: 3.2.37 vue-router: 4.0.16_vue@3.2.37 devDependencies: @@ -1603,7 +1601,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true /@docsearch/css/3.1.0: resolution: {integrity: sha512-bh5IskwkkodbvC0FzSg1AxMykfDl95hebEKwxNoq4e5QaGzOXSBgW8+jnMFZ7JU4sTBiB04vZWoUSzNrPboLZA==} @@ -1666,7 +1663,7 @@ packages: /@emotion/memoize/0.7.5: resolution: {integrity: sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==} - /@emotion/react/11.9.3_react@17.0.2: + /@emotion/react/11.9.3_react@18.1.0: resolution: {integrity: sha512-g9Q1GcTOlzOEjqwuLF/Zd9LC+4FljjPjDfxSM7KmEakm+hsHXk+bYZ2q+/hTJzr0OUNkujo72pXLQvXj6H+GJQ==} peerDependencies: '@babel/core': ^7.0.0 @@ -1685,7 +1682,7 @@ packages: '@emotion/utils': 1.1.0 '@emotion/weak-memoize': 0.2.5 hoist-non-react-statics: 3.3.2 - react: 17.0.2 + react: 18.1.0 dev: false /@emotion/serialize/1.0.3: @@ -1827,7 +1824,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.0.7 '@jridgewell/sourcemap-codec': 1.4.13 - dev: true /@mapbox/node-pre-gyp/1.0.9: resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} @@ -2120,19 +2116,15 @@ packages: /@tsconfig/node10/1.0.8: resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true /@tsconfig/node12/1.0.9: resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true /@tsconfig/node14/1.0.1: resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true /@tsconfig/node16/1.0.2: resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true /@types/argparse/1.0.38: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -2630,7 +2622,6 @@ packages: /acorn-walk/8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - dev: true /acorn/7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} @@ -2641,7 +2632,6 @@ packages: resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /add-stream/1.0.0: resolution: {integrity: sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=} @@ -2719,6 +2709,7 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 + dev: true /ansi-styles/6.1.0: resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} @@ -2746,7 +2737,6 @@ packages: /arg/4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true /arg/5.0.1: resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==} @@ -2977,6 +2967,7 @@ packages: /bytes/3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + dev: true /cac/6.7.12: resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==} @@ -3048,6 +3039,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true /chalk/5.0.1: resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} @@ -3161,6 +3153,7 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name/1.1.3: resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} @@ -3168,26 +3161,11 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-string/1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false - /color-support/1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: false - /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.1 - dev: false - /colorette/2.0.17: resolution: {integrity: sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==} dev: true @@ -3214,11 +3192,6 @@ packages: engines: {node: '>= 10'} dev: true - /commander/8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: false - /commander/9.3.0: resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==} engines: {node: ^12.20.0 || >=14} @@ -3528,20 +3501,8 @@ packages: path-type: 4.0.0 yaml: 1.10.2 - /cosmiconfig/7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: false - /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true /cross-env/7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -3578,18 +3539,10 @@ packages: '@types/node': 15.14.9 dev: true - /css-color-names/0.0.4: - resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} - dev: false - /css-color-names/1.0.1: resolution: {integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==} dev: true - /css-unit-converter/1.1.2: - resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} - dev: false - /css/3.0.0: resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} dependencies: @@ -3755,16 +3708,6 @@ packages: engines: {node: '>=8'} dev: false - /detective/5.2.0: - resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - acorn-node: 1.8.2 - defined: 1.0.0 - minimist: 1.2.6 - dev: false - /detective/5.2.1: resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} engines: {node: '>=0.8.0'} @@ -3789,7 +3732,6 @@ packages: /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - dev: true /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -5011,6 +4953,7 @@ packages: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 + dev: true /fs-extra/7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} @@ -5221,6 +5164,7 @@ packages: /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true /handlebars/4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} @@ -5251,6 +5195,7 @@ packages: /has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors/1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} @@ -5285,19 +5230,10 @@ packages: engines: {node: '>=10.0.0'} dev: true - /hex-color-regex/1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} - dev: false - - /history/4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + /history/5.3.0: + resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} dependencies: - '@babel/runtime': 7.17.9 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.2.0 - tiny-warning: 1.0.3 - value-equal: 1.0.1 + '@babel/runtime': 7.18.3 dev: false /hoist-non-react-statics/3.3.2: @@ -5321,14 +5257,6 @@ packages: lru-cache: 6.0.0 dev: true - /hsl-regex/1.0.0: - resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} - dev: false - - /hsla-regex/1.0.0: - resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} - dev: false - /html-rewriter-wasm/0.3.2: resolution: {integrity: sha512-b+pOh+bs00uRVNIZoTgGBREjUKN47pchTNwkxKuP4ecQTFcOA6KJIW+jjvjjXrkSRURZsideLxFKqX7hnxdegQ==} dev: true @@ -5495,10 +5423,6 @@ packages: /is-arrayish/0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} - /is-arrayish/0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false - /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -5531,17 +5455,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-color-stop/1.1.0: - resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} - dependencies: - css-color-names: 0.0.4 - hex-color-regex: 1.1.0 - hsl-regex: 1.0.0 - hsla-regex: 1.0.0 - rgb-regex: 1.0.1 - rgba-regex: 1.0.0 - dev: false - /is-core-module/2.9.0: resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: @@ -5689,10 +5602,6 @@ packages: is-docker: 2.2.1 dev: true - /isarray/0.0.1: - resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} - dev: false - /isarray/1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: true @@ -5781,6 +5690,7 @@ packages: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.10 + dev: true /jsonparse/1.3.1: resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=} @@ -5985,10 +5895,6 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.topath/4.5.2: - resolution: {integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=} - dev: false - /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -6058,7 +5964,6 @@ packages: /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true /map-obj/1.0.1: resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} @@ -6164,18 +6069,6 @@ packages: engines: {node: '>=4'} dev: true - /mini-create-react-context/0.4.1_at7mkepldmzoo6silmqc5bca74: - 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.17.9 - prop-types: 15.8.1 - react: 17.0.2 - tiny-warning: 1.0.3 - dev: false - /miniflare/1.4.1: resolution: {integrity: sha512-hJkMbTEM+sSiAo2yuPOucrdFYINLU7vvl9uVkRzAQ/h0CjmkYOCoyBn4jYzWtDZeQ0XrkyS6PGUCO277B5TsXA==} engines: {node: '>=10.12.0'} @@ -6281,11 +6174,6 @@ packages: pkg-types: 0.3.2 dev: true - /modern-normalize/1.1.0: - resolution: {integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==} - engines: {node: '>=6'} - dev: false - /modify-values/1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} @@ -6379,12 +6267,6 @@ packages: engines: {node: '>=10.5.0'} dev: true - /node-emoji/1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - dependencies: - lodash: 4.17.21 - dev: false - /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -6492,14 +6374,9 @@ packages: dev: false /object-assign/4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-hash/2.2.0: - resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} - engines: {node: '>= 6'} - dev: false - /object-hash/3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} @@ -6730,12 +6607,6 @@ packages: resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} dev: true - /path-to-regexp/1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - dependencies: - isarray: 0.0.1 - dev: false - /path-type/3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -6840,14 +6711,6 @@ packages: read-cache: 1.0.0 resolve: 1.22.0 - /postcss-js/3.0.3: - resolution: {integrity: sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==} - engines: {node: '>=10.0'} - dependencies: - camelcase-css: 2.0.1 - postcss: 8.4.13 - dev: false - /postcss-js/4.0.0_postcss@8.4.14: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} @@ -6858,7 +6721,7 @@ packages: postcss: 8.4.14 dev: false - /postcss-load-config/3.1.4: + /postcss-load-config/3.1.4_apxnowcr5uhxb4jlsbpuejnlvi: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -6871,6 +6734,8 @@ packages: optional: true dependencies: lilconfig: 2.0.5 + postcss: 8.4.14 + ts-node: 10.8.1 yaml: 1.10.2 dev: false @@ -6891,23 +6756,6 @@ packages: yaml: 1.10.2 dev: false - /postcss-load-config/3.1.4_ts-node@10.8.1: - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.0.5 - ts-node: 10.8.1 - yaml: 1.10.2 - dev: false - /postcss-load-config/4.0.1_postcss@8.4.14: resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} @@ -6989,6 +6837,7 @@ packages: postcss: ^8.2.14 dependencies: postcss-selector-parser: 6.0.10 + dev: true /postcss-nested/5.0.6_postcss@8.4.14: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} @@ -7007,22 +6856,9 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-value-parser/3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} - dev: false - /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss/8.4.13: - resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - /postcss/8.4.14: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} engines: {node: ^10 || ^12 || >=14} @@ -7051,11 +6887,6 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} dev: true - /pretty-hrtime/1.0.3: - resolution: {integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=} - engines: {node: '>= 0.8'} - dev: false - /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true @@ -7194,16 +7025,6 @@ packages: engines: {node: '>=6'} dev: true - /purgecss/4.1.3: - resolution: {integrity: sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==} - hasBin: true - dependencies: - commander: 8.3.0 - glob: 7.2.0 - postcss: 8.4.13 - postcss-selector-parser: 6.0.10 - dev: false - /pvtsutils/1.3.2: resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} dependencies: @@ -7261,15 +7082,14 @@ packages: unpipe: 1.0.0 dev: true - /react-dom/17.0.2_react@17.0.2: - resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} + /react-dom/18.1.0_react@18.1.0: + resolution: {integrity: sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==} peerDependencies: - react: 17.0.2 + react: ^18.1.0 dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 - react: 17.0.2 - scheduler: 0.20.2 + react: 18.1.0 + scheduler: 0.22.0 dev: false /react-is/16.13.1: @@ -7281,56 +7101,43 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-router-dom/5.3.3_react@17.0.2: - resolution: {integrity: sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng==} + /react-router-dom/6.3.0_ef5jwxihqo6n7gxfmzogljlgcm: + resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} peerDependencies: - react: '>=15' + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@babel/runtime': 7.17.9 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 17.0.2 - react-router: 5.3.3_react@17.0.2 - tiny-invariant: 1.2.0 - tiny-warning: 1.0.3 + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-router: 6.3.0_react@18.1.0 dev: false - /react-router/5.3.3_react@17.0.2: - resolution: {integrity: sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w==} + /react-router/6.3.0_react@18.1.0: + resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} peerDependencies: - react: '>=15' + react: '>=16.8' dependencies: - '@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_at7mkepldmzoo6silmqc5bca74 - path-to-regexp: 1.8.0 - prop-types: 15.8.1 - react: 17.0.2 - react-is: 16.13.1 - tiny-invariant: 1.2.0 - tiny-warning: 1.0.3 + history: 5.3.0 + react: 18.1.0 dev: false - /react-switch/6.1.0_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-cOwQkxtHCOGtoK0KN3kZBPTQjt8P1TTpaor+TS0AJRLfFBIRkgjVIUCwAfvVlW32Bi1BK333rk9y/14suD38SA==} + /react-switch/7.0.0_ef5jwxihqo6n7gxfmzogljlgcm: + resolution: {integrity: sha512-KkDeW+cozZXI6knDPyUt3KBN1rmhoVYgAdCJqAh7st7tk8YE6N0iR89zjCWO8T8dUTeJGTR0KU+5CHCRMRffiA==} peerDependencies: react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 dependencies: prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 dev: false - /react/17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + /react/18.1.0: + resolution: {integrity: sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 dev: false /read-cache/1.0.0: @@ -7424,13 +7231,6 @@ packages: redis-errors: 1.2.0 dev: true - /reduce-css-calc/2.1.8: - resolution: {integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==} - dependencies: - css-unit-converter: 1.1.2 - postcss-value-parser: 3.3.1 - dev: false - /regenerator-runtime/0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} @@ -7465,10 +7265,6 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - /resolve-pathname/3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - dev: false - /resolve.exports/1.1.0: resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} engines: {node: '>=10'} @@ -7511,14 +7307,6 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true - /rgb-regex/1.0.1: - resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} - dev: false - - /rgba-regex/1.0.0: - resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} - dev: false - /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -7623,11 +7411,10 @@ packages: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: true - /scheduler/0.20.2: - resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + /scheduler/0.22.0: + resolution: {integrity: sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==} dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 dev: false /scule/0.2.1: @@ -7763,12 +7550,6 @@ packages: requiresBuild: true dev: true - /simple-swizzle/0.2.2: - resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} - dependencies: - is-arrayish: 0.3.2 - dev: false - /sirv/2.0.2: resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} engines: {node: '>= 10'} @@ -8069,6 +7850,7 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -8082,96 +7864,38 @@ packages: resolution: {integrity: sha512-hqTN6kW+pN6/qro6G9OZ7ceDQOcYno020zBQKpZQLsJhYTDMCMNfXi/Y8duF5iW+4WWZr42ry0MMkcRGpbwG2A==} dev: false - /tailwindcss/2.2.19: - resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} - engines: {node: '>=12.13.0'} - hasBin: true - peerDependencies: - autoprefixer: ^10.0.2 - postcss: ^8.0.9 - dependencies: - arg: 5.0.1 - bytes: 3.1.2 - chalk: 4.1.2 - 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.1.0 - glob-parent: 6.0.2 - html-tags: 3.2.0 - is-color-stop: 1.1.0 - is-glob: 4.0.3 - lodash: 4.17.21 - lodash.topath: 4.5.2 - modern-normalize: 1.1.0 - node-emoji: 1.11.0 - normalize-path: 3.0.0 - object-hash: 2.2.0 - postcss-js: 3.0.3 - postcss-load-config: 3.1.4 - postcss-nested: 5.0.6 - 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.22.0 - tmp: 0.2.1 - transitivePeerDependencies: - - ts-node - dev: false - - /tailwindcss/2.2.19_lbvqn3ypbknass5qgyhojko2ui: - resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} + /tailwindcss/3.1.2: + resolution: {integrity: sha512-yJ6L5s1U5AeS5g7HHy212zdQfjwD426FBfm59pet/JsyneuZuD4C2W7PpJEg4ppisiB21uLqtNagv8KXury3+Q==} engines: {node: '>=12.13.0'} hasBin: true - peerDependencies: - autoprefixer: ^10.0.2 - postcss: ^8.0.9 dependencies: arg: 5.0.1 - autoprefixer: 10.4.7 - bytes: 3.1.2 - chalk: 4.1.2 chokidar: 3.5.3 - color: 4.2.3 - cosmiconfig: 7.0.1 - detective: 5.2.0 + color-name: 1.1.4 + detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.11 - fs-extra: 10.1.0 glob-parent: 6.0.2 - html-tags: 3.2.0 - is-color-stop: 1.1.0 is-glob: 4.0.3 - lodash: 4.17.21 - lodash.topath: 4.5.2 - modern-normalize: 1.1.0 - node-emoji: 1.11.0 + lilconfig: 2.0.5 normalize-path: 3.0.0 - object-hash: 2.2.0 - postcss-js: 3.0.3 - postcss-load-config: 3.1.4_ts-node@10.8.1 - postcss-nested: 5.0.6 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.14 + postcss-import: 14.1.0_postcss@8.4.14 + postcss-js: 4.0.0_postcss@8.4.14 + postcss-load-config: 3.1.4_postcss@8.4.14 + postcss-nested: 5.0.6_postcss@8.4.14 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.22.0 - tmp: 0.2.1 transitivePeerDependencies: - ts-node dev: false - /tailwindcss/3.1.2: + /tailwindcss/3.1.2_ts-node@10.8.1: resolution: {integrity: sha512-yJ6L5s1U5AeS5g7HHy212zdQfjwD426FBfm59pet/JsyneuZuD4C2W7PpJEg4ppisiB21uLqtNagv8KXury3+Q==} engines: {node: '>=12.13.0'} hasBin: true @@ -8192,7 +7916,7 @@ packages: postcss: 8.4.14 postcss-import: 14.1.0_postcss@8.4.14 postcss-js: 4.0.0_postcss@8.4.14 - postcss-load-config: 3.1.4_postcss@8.4.14 + postcss-load-config: 3.1.4_apxnowcr5uhxb4jlsbpuejnlvi postcss-nested: 5.0.6_postcss@8.4.14 postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 @@ -8272,14 +7996,6 @@ packages: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} dev: false - /tiny-invariant/1.2.0: - resolution: {integrity: sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==} - dev: false - - /tiny-warning/1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - dev: false - /tinypool/0.1.3: resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} engines: {node: '>=14.0.0'} @@ -8290,13 +8006,6 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tmp/0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 - dev: false - /to-fast-properties/2.0.0: resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} engines: {node: '>=4'} @@ -8370,7 +8079,6 @@ packages: make-error: 1.3.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /tsconfck/2.0.1: resolution: {integrity: sha512-/ipap2eecmVBmBlsQLBRbUmUNFwNJV/z2E+X0FPtHNjPwroMZQ7m39RMaCywlCulBheYXgMdUlWDd9rzxwMA0Q==} @@ -8562,6 +8270,7 @@ packages: /universalify/2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} + dev: true /unpipe/1.0.0: resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} @@ -8612,7 +8321,6 @@ packages: /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==} @@ -8630,10 +8338,6 @@ packages: engines: {node: '>= 0.10'} dev: true - /value-equal/1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - dev: false - /vary/1.1.2: resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} engines: {node: '>= 0.8'} @@ -8925,7 +8629,6 @@ packages: /yn/3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} - dev: true /youch/2.2.2: resolution: {integrity: sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ==} From 7157b15205e27b6d8d2e30c3717ae80244b2c266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 16 Jun 2022 01:07:41 +0900 Subject: [PATCH 18/31] ci: cache playwright binary correctly (#8599) --- .github/workflows/ci.yml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55a556686dfa68..f190529faa247d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,8 @@ env: # 7 GiB by default on GitHub, setting to 6 GiB # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources NODE_OPTIONS: --max-old-space-size=6144 + # install playwright binary manually (because pnpm only runs install script once) + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1" on: push: @@ -38,10 +40,6 @@ jobs: node_version: 16 fail-fast: false - env: - # Install playwright's binray under node_modules so it will be cached together - PLAYWRIGHT_BROWSERS_PATH: "0" - name: "Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}" steps: - name: Checkout @@ -59,8 +57,24 @@ jobs: - name: Install deps run: pnpm install - # This could be removed when https://github.com/pnpm/pnpm/issues/4888 is resolved + # Install playwright's binary under custom directory to cache + - name: Set Playwright path (non-windows) + if: runner.os != 'Windows' + run: echo "PLAYWRIGHT_BROWSERS_PATH=$HOME/.cache/playwright-bin" >> $GITHUB_ENV + - name: Set Playwright path (windows) + if: runner.os == 'Windows' + run: echo "PLAYWRIGHT_BROWSERS_PATH=$HOME\.cache\playwright-bin" >> $env:GITHUB_ENV + + - name: Cache Playwright's binary + uses: actions/cache@v3 + with: + # Playwright removes unused browsers automatically + # So does not need to add playwright version to key + key: ${{ runner.os }}-playwright-bin-v1 + path: ${{ env.PLAYWRIGHT_BROWSERS_PATH }} + - name: Install Playwright + # does not need to explictly set chromium after https://github.com/microsoft/playwright/issues/14862 is solved run: pnpm playwright install chromium - name: Build @@ -98,8 +112,6 @@ jobs: - name: Install deps run: pnpm install - env: - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1" - name: Build run: pnpm run build From 739175b2f65d7ce46ce3b79cfc1efd416651c2a5 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 16 Jun 2022 09:52:28 +0200 Subject: [PATCH 19/31] fix: avoid replacing defines and NODE_ENV in optimized deps (fix #8593) (#8606) --- packages/vite/src/node/optimizer/index.ts | 16 +++++----------- playground/define/__tests__/define.spec.ts | 3 +++ playground/define/commonjs-dep/index.js | 1 + playground/define/commonjs-dep/package.json | 6 ++++++ playground/define/index.html | 4 ++++ playground/define/package.json | 3 +++ playground/define/vite.config.js | 3 ++- pnpm-lock.yaml | 12 ++++++++++++ 8 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 playground/define/commonjs-dep/index.js create mode 100644 playground/define/commonjs-dep/package.json diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 8160ee0b0d83a0..f005a521a97a52 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -385,6 +385,7 @@ export async function runOptimizeDeps( resolvedConfig: ResolvedConfig, depsInfo: Record ): Promise { + const isBuild = resolvedConfig.command === 'build' const config: ResolvedConfig = { ...resolvedConfig, command: 'build' @@ -471,20 +472,15 @@ export async function runOptimizeDeps( flatIdToExports[flatId] = exportsData } - const define: Record = { - 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || config.mode) - } - for (const key in config.define) { - const value = config.define[key] - define[key] = typeof value === 'string' ? value : JSON.stringify(value) - } - const start = performance.now() const result = await build({ absWorkingDir: process.cwd(), entryPoints: Object.keys(flatIdDeps), bundle: true, + // Ensure resolution is handled by esbuildDepPlugin and + // avoid replacing `process.env.NODE_ENV` for 'browser' + platform: 'neutral', format: 'esm', target: config.build.target || undefined, external: config.optimizeDeps?.exclude, @@ -492,9 +488,8 @@ export async function runOptimizeDeps( splitting: true, sourcemap: true, outdir: processingCacheDir, - ignoreAnnotations: resolvedConfig.command !== 'build', + ignoreAnnotations: !isBuild, metafile: true, - define, plugins: [ ...plugins, esbuildDepPlugin(flatIdDeps, flatIdToExports, config) @@ -887,7 +882,6 @@ export function getDepHash(config: ResolvedConfig): string { { mode: process.env.NODE_ENV || config.mode, root: config.root, - define: config.define, resolve: config.resolve, buildTarget: config.build.target, assetsInclude: config.assetsInclude, diff --git a/playground/define/__tests__/define.spec.ts b/playground/define/__tests__/define.spec.ts index 695d210a822ed6..76b1dfef5feb39 100644 --- a/playground/define/__tests__/define.spec.ts +++ b/playground/define/__tests__/define.spec.ts @@ -40,4 +40,7 @@ test('string', async () => { // html would't need to define replacement expect(await page.textContent('.exp-define')).toBe('__EXP__') expect(await page.textContent('.import-json')).toBe('__EXP__') + expect(await page.textContent('.define-in-dep')).toBe( + defines.__STRINGIFIED_OBJ__ + ) }) diff --git a/playground/define/commonjs-dep/index.js b/playground/define/commonjs-dep/index.js new file mode 100644 index 00000000000000..23e0bf1b32e32f --- /dev/null +++ b/playground/define/commonjs-dep/index.js @@ -0,0 +1 @@ +module.exports = { defined: __STRINGIFIED_OBJ__ } diff --git a/playground/define/commonjs-dep/package.json b/playground/define/commonjs-dep/package.json new file mode 100644 index 00000000000000..3047ae68c9f75a --- /dev/null +++ b/playground/define/commonjs-dep/package.json @@ -0,0 +1,6 @@ +{ + "name": "commonjs-dep", + "private": true, + "version": "1.0.0", + "type": "commonjs" +} diff --git a/playground/define/index.html b/playground/define/index.html index 1260b119149d28..c4f4c598aba563 100644 --- a/playground/define/index.html +++ b/playground/define/index.html @@ -16,6 +16,7 @@

Define

no identifier substring:

define variable in html: __EXP__

import json:

+

define in dep: