From 1f2ca536101d54649c6abc34e9665c2163878b56 Mon Sep 17 00:00:00 2001
From: Rom
Date: Fri, 15 Apr 2022 07:45:26 +0200
Subject: [PATCH 001/107] fix: `apply` condition skipped for nested plugins
(#7741)
---
packages/vite/src/node/config.ts | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts
index f633d1158bfa95..a30d84465e9990 100644
--- a/packages/vite/src/node/config.ts
+++ b/packages/vite/src/node/config.ts
@@ -63,7 +63,7 @@ export function defineConfig(config: UserConfigExport): UserConfigExport {
return config
}
-export type PluginOption = Plugin | false | null | undefined
+export type PluginOption = Plugin | false | null | undefined | PluginOption[]
export interface UserConfig {
/**
@@ -109,7 +109,7 @@ export interface UserConfig {
/**
* Array of vite plugins to use.
*/
- plugins?: (PluginOption | PluginOption[])[]
+ plugins?: PluginOption[]
/**
* Configure resolver
*/
@@ -199,7 +199,7 @@ export interface UserConfig {
/**
* Vite plugins that apply to worker bundle
*/
- plugins?: (PluginOption | PluginOption[])[]
+ plugins?: PluginOption[]
/**
* Rollup options to build worker bundle
*/
@@ -322,7 +322,7 @@ export async function resolveConfig(
configEnv.mode = mode
// resolve plugins
- const rawUserPlugins = (config.plugins || []).flat().filter((p) => {
+ const rawUserPlugins = (config.plugins || []).flat(Infinity).filter((p) => {
if (!p) {
return false
} else if (!p.apply) {
From b89974a127c7a986d309db675d95287a9ae75386 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Sat, 16 Apr 2022 04:20:36 +0900
Subject: [PATCH 002/107] fix(ssr): rewrite dynamic class method name (fix
#7751) (#7757)
---
.../node/ssr/__tests__/ssrTransform.spec.ts | 39 +++++++++++++++++++
packages/vite/src/node/ssr/ssrTransform.ts | 2 +-
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts
index a5f915edea97fd..14481f98a4a87a 100644
--- a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts
+++ b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts
@@ -545,6 +545,45 @@ class A {
`)
})
+test('class methods', async () => {
+ expect(
+ (
+ await ssrTransform(
+ `
+import foo from 'foo'
+
+const bar = 'bar'
+
+class A {
+ foo() {}
+ [foo]() {}
+ [bar]() {}
+ #foo() {}
+ bar(foo) {}
+}
+`,
+ null,
+ null
+ )
+ ).code
+ ).toMatchInlineSnapshot(`
+ "
+ const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
+
+
+ const bar = 'bar'
+
+ class A {
+ foo() {}
+ [__vite_ssr_import_0__.default]() {}
+ [bar]() {}
+ #foo() {}
+ bar(foo) {}
+ }
+ "
+ `)
+})
+
test('declare scope', async () => {
expect(
(
diff --git a/packages/vite/src/node/ssr/ssrTransform.ts b/packages/vite/src/node/ssr/ssrTransform.ts
index 79ccd25f9ca8ff..238482a0ceac2f 100644
--- a/packages/vite/src/node/ssr/ssrTransform.ts
+++ b/packages/vite/src/node/ssr/ssrTransform.ts
@@ -429,7 +429,7 @@ function isRefIdentifier(id: Identifier, parent: _Node, parentStack: _Node[]) {
}
// class method name
- if (parent.type === 'MethodDefinition') {
+ if (parent.type === 'MethodDefinition' && !parent.computed) {
return false
}
From 12a4e7d8bbf06d35d6fcc0135dcb76fd06a57c22 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Sat, 16 Apr 2022 17:32:13 +0900
Subject: [PATCH 003/107] refactor(legacy): remove unneeded dynamic import var
init code (#7759)
---
packages/plugin-legacy/README.md | 1 -
packages/plugin-legacy/index.js | 8 --------
2 files changed, 9 deletions(-)
diff --git a/packages/plugin-legacy/README.md b/packages/plugin-legacy/README.md
index 36da971c6a17c2..3c9fe67e107f7f 100644
--- a/packages/plugin-legacy/README.md
+++ b/packages/plugin-legacy/README.md
@@ -163,7 +163,6 @@ The legacy plugin requires inline scripts for [Safari 10.1 `nomodule` fix](https
- `sha256-MS6/3FCg4WjP9gwgaBGwLpRCY6fZBgwmhVCdrPrNf3E=`
- `sha256-tQjf8gvb2ROOMapIxFvFAYBeUJ0v1HCbOcSmDNXGtDo=`
-- `sha256-xYj09txJ9OsgySe5ommpqul6FiaJZRrwe3KTD7wbV6w=`
- `sha256-4m6wOIrq/wFDmi9Xh3mFM2mwI4ik9n3TMgHk6xDtLxk=`
- `sha256-uS7/g9fhQwNZS1f/MqYqqKv8y9hCu36IfX9XZB5L7YY=`
diff --git a/packages/plugin-legacy/index.js b/packages/plugin-legacy/index.js
index 41f7157ebfc533..2f1b1991c31c31 100644
--- a/packages/plugin-legacy/index.js
+++ b/packages/plugin-legacy/index.js
@@ -20,7 +20,6 @@ const legacyEntryId = 'vite-legacy-entry'
const systemJSInlineCode = `System.import(document.getElementById('${legacyEntryId}').getAttribute('data-src'))`
const detectDynamicImportVarName = '__vite_is_dynamic_import_support'
-const detectDynamicImportVarInitCode = `var ${detectDynamicImportVarName}=false;`
const detectDynamicImportCode = `try{import("_").catch(()=>1);}catch(e){}window.${detectDynamicImportVarName}=true;`
const dynamicFallbackInlineCode = `!function(){if(window.${detectDynamicImportVarName})return;console.warn("vite: loading legacy build because dynamic import is unsupported, syntax error above should be ignored");var e=document.getElementById("${legacyPolyfillId}"),n=document.createElement("script");n.src=e.src,n.onload=function(){${systemJSInlineCode}},document.body.appendChild(n)}();`
@@ -437,12 +436,6 @@ function viteLegacyPlugin(options = {}) {
// 5. inject dynamic import fallback entry
if (genDynamicFallback && legacyPolyfillFilename && legacyEntryFilename) {
- tags.push({
- tag: 'script',
- attrs: { type: 'module' },
- children: detectDynamicImportVarInitCode,
- injectTo: 'head'
- })
tags.push({
tag: 'script',
attrs: { type: 'module' },
@@ -714,7 +707,6 @@ viteLegacyPlugin.default = viteLegacyPlugin
viteLegacyPlugin.cspHashes = [
createHash('sha256').update(safari10NoModuleFix).digest('base64'),
createHash('sha256').update(systemJSInlineCode).digest('base64'),
- createHash('sha256').update(detectDynamicImportVarInitCode).digest('base64'),
createHash('sha256').update(detectDynamicImportCode).digest('base64'),
createHash('sha256').update(dynamicFallbackInlineCode).digest('base64')
]
From 9a932339aae8bfbb9f3b522706c551a21a1eea3a Mon Sep 17 00:00:00 2001
From: Hydrogen <3038094028@qq.com>
Date: Sat, 16 Apr 2022 20:05:49 +0800
Subject: [PATCH 004/107] fix(create-vite): bump `vue-tsc` to `0.34.7` (#7760)
---
packages/create-vite/template-vue-ts/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json
index 2ad29ac0b91725..a3af0acf1ef7ab 100644
--- a/packages/create-vite/template-vue-ts/package.json
+++ b/packages/create-vite/template-vue-ts/package.json
@@ -14,6 +14,6 @@
"@vitejs/plugin-vue": "^2.3.1",
"typescript": "^4.5.4",
"vite": "^2.9.2",
- "vue-tsc": "^0.29.8"
+ "vue-tsc": "^0.34.7"
}
}
From 694c1ce765b80458197e039ce720bb9ce1076667 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Mon, 18 Apr 2022 00:28:25 +0900
Subject: [PATCH 005/107] test: fix use terser for preload test (#7771)
---
packages/playground/preload/vite.config.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/packages/playground/preload/vite.config.js b/packages/playground/preload/vite.config.js
index 96fb82f51ed349..90684f41829953 100644
--- a/packages/playground/preload/vite.config.js
+++ b/packages/playground/preload/vite.config.js
@@ -3,6 +3,7 @@ const vuePlugin = require('@vitejs/plugin-vue')
module.exports = {
plugins: [vuePlugin()],
build: {
+ minify: 'terser',
terserOptions: {
format: {
beautify: true
From af8ca602031daa99692fc2e29f9d6330409e4bc8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=98=E6=A0=91=40=E9=98=BF=E9=87=8C?=
Date: Mon, 18 Apr 2022 11:39:25 +0800
Subject: [PATCH 006/107] feat: enable optimizeDeps.esbuildOptions.loader
(#6840)
Co-authored-by: bluwy
---
packages/vite/src/node/optimizer/index.ts | 5 +++--
packages/vite/src/node/optimizer/scan.ts | 11 ++++++++---
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts
index 13c322610cf493..3828cb2fbce18b 100644
--- a/packages/vite/src/node/optimizer/index.ts
+++ b/packages/vite/src/node/optimizer/index.ts
@@ -417,11 +417,12 @@ export async function runOptimizeDeps(
try {
exportsData = parse(entryContent) as ExportsData
} catch {
+ const loader = esbuildOptions.loader?.[path.extname(filePath)] || 'jsx'
debug(
- `Unable to parse dependency: ${id}. Trying again with a JSX transform.`
+ `Unable to parse dependency: ${id}. Trying again with a ${loader} transform.`
)
const transformed = await transformWithEsbuild(entryContent, filePath, {
- loader: 'jsx'
+ loader
})
// Ensure that optimization won't fail by defaulting '.js' to the JSX parser.
// This is useful for packages such as Gatsby.
diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts
index e940617386eb35..ef59a35b1d22d3 100644
--- a/packages/vite/src/node/optimizer/scan.ts
+++ b/packages/vite/src/node/optimizer/scan.ts
@@ -463,21 +463,26 @@ function esbuildScanPlugin(
contents = config.esbuild.jsxInject + `\n` + contents
}
+ const loader =
+ config.optimizeDeps?.esbuildOptions?.loader?.[`.${ext}`] ||
+ (ext as Loader)
+
if (contents.includes('import.meta.glob')) {
return transformGlob(
contents,
id,
config.root,
- ext as Loader,
+ loader,
resolve,
config.logger
).then((contents) => ({
- loader: ext as Loader,
+ loader,
contents
}))
}
+
return {
- loader: ext as Loader,
+ loader,
contents
}
})
From 54e9cdd9f913ba7b650bce6657b5ff666dd0b5a8 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Mon, 18 Apr 2022 13:25:14 +0800
Subject: [PATCH 007/107] fix(create-vite): set skipLibCheck true (#7726)
---
packages/create-vite/template-lit-ts/tsconfig.json | 3 ++-
packages/create-vite/template-preact-ts/tsconfig.json | 2 +-
packages/create-vite/template-react-ts/tsconfig.json | 2 +-
packages/create-vite/template-vanilla-ts/tsconfig.json | 3 ++-
packages/create-vite/template-vue-ts/tsconfig.json | 3 ++-
5 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/packages/create-vite/template-lit-ts/tsconfig.json b/packages/create-vite/template-lit-ts/tsconfig.json
index 2ec691c81c2b38..91a731fd8619d4 100644
--- a/packages/create-vite/template-lit-ts/tsconfig.json
+++ b/packages/create-vite/template-lit-ts/tsconfig.json
@@ -15,7 +15,8 @@
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
- "useDefineForClassFields": false
+ "useDefineForClassFields": false,
+ "skipLibCheck": true
},
"include": ["src/**/*.ts"],
"references": [{ "path": "./tsconfig.node.json" }]
diff --git a/packages/create-vite/template-preact-ts/tsconfig.json b/packages/create-vite/template-preact-ts/tsconfig.json
index fda60ae884247a..0a24dec18dd4f8 100644
--- a/packages/create-vite/template-preact-ts/tsconfig.json
+++ b/packages/create-vite/template-preact-ts/tsconfig.json
@@ -4,7 +4,7 @@
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"allowJs": false,
- "skipLibCheck": false,
+ "skipLibCheck": true,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
diff --git a/packages/create-vite/template-react-ts/tsconfig.json b/packages/create-vite/template-react-ts/tsconfig.json
index c8bdc64082aa26..3d0a51a86e2024 100644
--- a/packages/create-vite/template-react-ts/tsconfig.json
+++ b/packages/create-vite/template-react-ts/tsconfig.json
@@ -4,7 +4,7 @@
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"allowJs": false,
- "skipLibCheck": false,
+ "skipLibCheck": true,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
diff --git a/packages/create-vite/template-vanilla-ts/tsconfig.json b/packages/create-vite/template-vanilla-ts/tsconfig.json
index 05f80b91398b98..fbd022532d3096 100644
--- a/packages/create-vite/template-vanilla-ts/tsconfig.json
+++ b/packages/create-vite/template-vanilla-ts/tsconfig.json
@@ -13,7 +13,8 @@
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
- "noImplicitReturns": true
+ "noImplicitReturns": true,
+ "skipLibCheck": true
},
"include": ["src"]
}
diff --git a/packages/create-vite/template-vue-ts/tsconfig.json b/packages/create-vite/template-vue-ts/tsconfig.json
index 52205ea0029c99..bcc4abda4c57f0 100644
--- a/packages/create-vite/template-vue-ts/tsconfig.json
+++ b/packages/create-vite/template-vue-ts/tsconfig.json
@@ -10,7 +10,8 @@
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
- "lib": ["esnext", "dom"]
+ "lib": ["esnext", "dom"],
+ "skipLibCheck": true
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]
From 788d2ec1dc9853be4ecdef67d1a458a2b46ec9bf Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Mon, 18 Apr 2022 17:07:37 +0800
Subject: [PATCH 008/107] docs: explain skipLibCheck (#7785)
---
docs/guide/features.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/guide/features.md b/docs/guide/features.md
index ebed85cd2d529d..06d282ae94ecd7 100644
--- a/docs/guide/features.md
+++ b/docs/guide/features.md
@@ -53,6 +53,8 @@ It is because `esbuild` only performs transpilation without type information, it
You must set `"isolatedModules": true` in your `tsconfig.json` under `compilerOptions`, so that TS will warn you against the features that do not work with isolated transpilation.
+However, some libraries (e.g. [`vue`](https://github.com/vuejs/core/issues/1228)) don't work well with `"isolatedModules": true`. You can use `"skipLibCheck": true` to temporarily suppress the errors until it is fixed upstream.
+
#### `useDefineForClassFields`
Starting from Vite 2.5.0, the default value will be `true` if the TypeScript target is `ESNext`. It is consistent with the [behavior of `tsc` 4.3.2 and later](https://github.com/microsoft/TypeScript/pull/42663). It is also the standard ECMAScript runtime behavior.
From 6198911faeee3b915fc0d4ff24fbb918f3e1d558 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Tue, 19 Apr 2022 06:30:13 +0900
Subject: [PATCH 009/107] docs: import.meta.url is replaced even if ESM (#7794)
---
docs/config/index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/config/index.md b/docs/config/index.md
index 346de1a78f7dc9..4f1b3efbd16198 100644
--- a/docs/config/index.md
+++ b/docs/config/index.md
@@ -28,7 +28,7 @@ vite --config my-config.js
```
::: tip NOTE
-Vite will replace `__filename`, `__dirname`, and `import.meta.url` in **CommonJS** and **TypeScript** config files. Using these as variable names will result in an error:
+Vite will replace `__filename`, `__dirname`, and `import.meta.url` in config files and its deps. Using these as variable names will result in an error:
```js
const __filename = "value"
From 12d119434038f75d2017ce0e543b72416f2745f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Tue, 19 Apr 2022 06:31:38 +0900
Subject: [PATCH 010/107] fix: replace import.meta.url correctly (#7792)
---
packages/vite/src/node/config.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts
index a30d84465e9990..556fcf7cbae77a 100644
--- a/packages/vite/src/node/config.ts
+++ b/packages/vite/src/node/config.ts
@@ -31,7 +31,7 @@ import { createLogger } from './logger'
import type { DepOptimizationOptions } from './optimizer'
import { createFilter } from '@rollup/pluginutils'
import type { ResolvedBuildOptions } from '.'
-import { parse as parseUrl } from 'url'
+import { parse as parseUrl, pathToFileURL } from 'url'
import type { JsonOptions } from './plugins/json'
import type { PluginContainer } from './server/pluginContainer'
import { createPluginContainer } from './server/pluginContainer'
@@ -1008,7 +1008,7 @@ async function bundleConfigFile(
contents: contents
.replace(
/\bimport\.meta\.url\b/g,
- JSON.stringify(`file://${args.path}`)
+ JSON.stringify(pathToFileURL(args.path).href)
)
.replace(
/\b__dirname\b/g,
From a7fd41660b06d258687a54fe73fef118bd73e1ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Tue, 19 Apr 2022 06:32:24 +0900
Subject: [PATCH 011/107] docs: add link to "Using Plugins" from Plugins
section (#7793)
---
docs/plugins/index.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/plugins/index.md b/docs/plugins/index.md
index 6d81a060cf8883..0a8803ba2d3b9a 100644
--- a/docs/plugins/index.md
+++ b/docs/plugins/index.md
@@ -4,6 +4,8 @@
Vite aims to provide out-of-the-box support for common web development patterns. Before searching for a Vite or Compatible Rollup plugin, check out the [Features Guide](../guide/features.md). A lot of the cases where a plugin would be needed in a Rollup project are already covered in Vite.
:::
+Check out [Using Plugins](../guide/using-plugins) for information on how to use plugins.
+
## Official Plugins
### [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue)
From e5729bee1e3f0753dc3514757fa15e5533c387fe Mon Sep 17 00:00:00 2001
From: zoomdong <1344492820@qq.com>
Date: Tue, 19 Apr 2022 05:35:36 +0800
Subject: [PATCH 012/107] chore: remove useless code in preact template (#7789)
---
packages/create-vite/template-preact/src/app.jsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/create-vite/template-preact/src/app.jsx b/packages/create-vite/template-preact/src/app.jsx
index 9d649444f686d9..64fe3eda94c933 100644
--- a/packages/create-vite/template-preact/src/app.jsx
+++ b/packages/create-vite/template-preact/src/app.jsx
@@ -1,6 +1,6 @@
import { Logo } from './logo'
-export function App(props) {
+export function App() {
return (
<>
From 474d5c257b2404b08fabbc8740532a26badfc348 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= <2pi_r2@gmx.de>
Date: Tue, 19 Apr 2022 10:01:12 +0200
Subject: [PATCH 013/107] fix: new SharedWorker syntax (#7800)
---
packages/vite/src/node/plugins/workerImportMetaUrl.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts
index c8ab20fe21694c..3d8970b746349c 100644
--- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts
+++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts
@@ -106,7 +106,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
}
let s: MagicString | undefined
if (
- (code.includes('new Worker') || code.includes('new ShareWorker')) &&
+ (code.includes('new Worker') || code.includes('new SharedWorker')) &&
code.includes('new URL') &&
code.includes(`import.meta.url`)
) {
From 5f7fe004f03662e2f586791fe6c9199aa0a8c8fe Mon Sep 17 00:00:00 2001
From: zoomdong <1344492820@qq.com>
Date: Tue, 19 Apr 2022 16:08:42 +0800
Subject: [PATCH 014/107] chore: code structure (#7790)
---
packages/vite/src/node/server/index.ts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts
index bf13ba683a9b93..99aefea6de292a 100644
--- a/packages/vite/src/node/server/index.ts
+++ b/packages/vite/src/node/server/index.ts
@@ -300,8 +300,7 @@ export async function createServer(
inlineConfig: InlineConfig = {}
): Promise {
const config = await resolveConfig(inlineConfig, 'serve', 'development')
- const root = config.root
- const serverConfig = config.server
+ const { root, server: serverConfig } = config
const httpsOptions = await resolveHttpsConfig(
config.server.https,
config.cacheDir
From 7f96b2633309d5f02b6f44d7350baad8b7522be7 Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Tue, 19 Apr 2022 10:23:47 +0200
Subject: [PATCH 015/107] release: create-vite@2.9.2
---
packages/create-vite/CHANGELOG.md | 8 ++++++++
packages/create-vite/package.json | 2 +-
packages/create-vite/template-lit-ts/package.json | 2 +-
packages/create-vite/template-lit/package.json | 2 +-
packages/create-vite/template-preact-ts/package.json | 2 +-
packages/create-vite/template-preact/package.json | 2 +-
packages/create-vite/template-react-ts/package.json | 2 +-
packages/create-vite/template-react/package.json | 2 +-
packages/create-vite/template-svelte-ts/package.json | 2 +-
packages/create-vite/template-svelte/package.json | 2 +-
packages/create-vite/template-vanilla-ts/package.json | 2 +-
packages/create-vite/template-vanilla/package.json | 2 +-
packages/create-vite/template-vue-ts/package.json | 2 +-
packages/create-vite/template-vue/package.json | 2 +-
14 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md
index cac7f2664ecaed..7379feb81239b8 100644
--- a/packages/create-vite/CHANGELOG.md
+++ b/packages/create-vite/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 2.9.2 (2022-04-19)
+
+* chore: remove useless code in preact template (#7789) ([e5729be](https://github.com/vitejs/vite/commit/e5729be)), closes [#7789](https://github.com/vitejs/vite/issues/7789)
+* fix(create-vite): bump `vue-tsc` to `0.34.7` (#7760) ([9a93233](https://github.com/vitejs/vite/commit/9a93233)), closes [#7760](https://github.com/vitejs/vite/issues/7760)
+* fix(create-vite): set skipLibCheck true (#7726) ([54e9cdd](https://github.com/vitejs/vite/commit/54e9cdd)), closes [#7726](https://github.com/vitejs/vite/issues/7726)
+
+
+
## 2.9.1 (2022-04-13)
* chore: fix term cases (#7553) ([c296130](https://github.com/vitejs/vite/commit/c296130)), closes [#7553](https://github.com/vitejs/vite/issues/7553)
diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json
index dcaf3962c987cf..5a21b499d9b75d 100644
--- a/packages/create-vite/package.json
+++ b/packages/create-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "create-vite",
- "version": "2.9.1",
+ "version": "2.9.2",
"license": "MIT",
"author": "Evan You",
"bin": {
diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json
index 6a928d05bb9e84..eb6849d447795c 100644
--- a/packages/create-vite/template-lit-ts/package.json
+++ b/packages/create-vite/template-lit-ts/package.json
@@ -19,7 +19,7 @@
"lit": "^2.0.2"
},
"devDependencies": {
- "vite": "^2.9.2",
+ "vite": "^2.9.5",
"typescript": "^4.5.4"
}
}
diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json
index 7889bec19759ff..6fc110706147f7 100644
--- a/packages/create-vite/template-lit/package.json
+++ b/packages/create-vite/template-lit/package.json
@@ -17,6 +17,6 @@
"lit": "^2.0.2"
},
"devDependencies": {
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json
index aaf8aea0372e52..ac90637925896f 100644
--- a/packages/create-vite/template-preact-ts/package.json
+++ b/packages/create-vite/template-preact-ts/package.json
@@ -13,6 +13,6 @@
"devDependencies": {
"@preact/preset-vite": "^2.1.5",
"typescript": "^4.5.4",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json
index 19198fc9e66d67..f58b6525abaa52 100644
--- a/packages/create-vite/template-preact/package.json
+++ b/packages/create-vite/template-preact/package.json
@@ -12,6 +12,6 @@
},
"devDependencies": {
"@preact/preset-vite": "^2.1.5",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json
index ea89f3a68d8c45..01d981f51c3414 100644
--- a/packages/create-vite/template-react-ts/package.json
+++ b/packages/create-vite/template-react-ts/package.json
@@ -16,6 +16,6 @@
"@types/react-dom": "^18.0.0",
"@vitejs/plugin-react": "^1.3.0",
"typescript": "^4.6.3",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json
index f81b751dc8f30c..4215fdea104c30 100644
--- a/packages/create-vite/template-react/package.json
+++ b/packages/create-vite/template-react/package.json
@@ -15,6 +15,6 @@
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@vitejs/plugin-react": "^1.3.0",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json
index bed1e3caedeef0..ae5bf6219d8eee 100644
--- a/packages/create-vite/template-svelte-ts/package.json
+++ b/packages/create-vite/template-svelte-ts/package.json
@@ -17,6 +17,6 @@
"svelte-preprocess": "^4.9.8",
"tslib": "^2.3.1",
"typescript": "^4.5.4",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json
index 661a174421d156..ac224a274d1c10 100644
--- a/packages/create-vite/template-svelte/package.json
+++ b/packages/create-vite/template-svelte/package.json
@@ -11,6 +11,6 @@
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^1.0.0-next.30",
"svelte": "^3.44.0",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json
index adedc3d4e83a65..94a8ccc952012a 100644
--- a/packages/create-vite/template-vanilla-ts/package.json
+++ b/packages/create-vite/template-vanilla-ts/package.json
@@ -9,6 +9,6 @@
},
"devDependencies": {
"typescript": "^4.5.4",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json
index ee68e7cd13e903..ddc9844be1954f 100644
--- a/packages/create-vite/template-vanilla/package.json
+++ b/packages/create-vite/template-vanilla/package.json
@@ -8,6 +8,6 @@
"preview": "vite preview"
},
"devDependencies": {
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json
index a3af0acf1ef7ab..c7383d48b09e3b 100644
--- a/packages/create-vite/template-vue-ts/package.json
+++ b/packages/create-vite/template-vue-ts/package.json
@@ -13,7 +13,7 @@
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.1",
"typescript": "^4.5.4",
- "vite": "^2.9.2",
+ "vite": "^2.9.5",
"vue-tsc": "^0.34.7"
}
}
diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json
index 531986717154ee..e7e9b681db608c 100644
--- a/packages/create-vite/template-vue/package.json
+++ b/packages/create-vite/template-vue/package.json
@@ -12,6 +12,6 @@
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.1",
- "vite": "^2.9.2"
+ "vite": "^2.9.5"
}
}
From 17f3be7056cc64c660503cdebdc67abd3990d0c2 Mon Sep 17 00:00:00 2001
From: yoho
Date: Wed, 20 Apr 2022 00:38:00 +0800
Subject: [PATCH 016/107] chore: fix worker sourcemap output style (#7805)
---
packages/vite/src/node/plugins/reporter.ts | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/packages/vite/src/node/plugins/reporter.ts b/packages/vite/src/node/plugins/reporter.ts
index 4e568a756fa0ea..08650a86e2c38c 100644
--- a/packages/vite/src/node/plugins/reporter.ts
+++ b/packages/vite/src/node/plugins/reporter.ts
@@ -184,10 +184,15 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin {
}
} else if (chunk.source) {
const isCSS = chunk.fileName.endsWith('.css')
+ const isMap = chunk.fileName.endsWith('.js.map')
printFileInfo(
chunk.fileName,
chunk.source,
- isCSS ? WriteType.CSS : WriteType.ASSET,
+ isCSS
+ ? WriteType.CSS
+ : isMap
+ ? WriteType.SOURCE_MAP
+ : WriteType.ASSET,
longest,
isCSS ? await getCompressedSize(chunk.source) : undefined
)
From eba9d05d7adbb5d4dd25f14b085b15eb3488dfe4 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 19 Apr 2022 22:34:44 +0200
Subject: [PATCH 017/107] chore(deps): update all non-major dependencies
(#7780)
---
package.json | 18 +-
packages/plugin-legacy/package.json | 2 +-
packages/plugin-react/package.json | 2 +-
packages/plugin-vue-jsx/package.json | 2 +-
packages/plugin-vue/package.json | 4 +-
packages/vite/package.json | 16 +-
pnpm-lock.yaml | 468 ++++++++++++++++-----------
7 files changed, 301 insertions(+), 211 deletions(-)
diff --git a/package.json b/package.json
index de02e27949560c..a90c2c9a43b3fe 100644
--- a/package.json
+++ b/package.json
@@ -34,14 +34,14 @@
"ci-docs": "run-s build-vite build-plugin-vue build-docs"
},
"devDependencies": {
- "@microsoft/api-extractor": "^7.21.2",
+ "@microsoft/api-extractor": "^7.22.2",
"@types/fs-extra": "^9.0.13",
"@types/jest": "^27.4.1",
- "@types/node": "^16.11.26",
+ "@types/node": "^16.11.27",
"@types/prompts": "^2.0.14",
"@types/semver": "^7.3.9",
- "@typescript-eslint/eslint-plugin": "^5.18.0",
- "@typescript-eslint/parser": "^5.18.0",
+ "@typescript-eslint/eslint-plugin": "^5.20.0",
+ "@typescript-eslint/parser": "^5.20.0",
"conventional-changelog-cli": "^2.2.2",
"cross-env": "^7.0.3",
"esbuild": "^0.14.27",
@@ -49,19 +49,19 @@
"eslint-define-config": "^1.3.0",
"eslint-plugin-node": "^11.1.0",
"execa": "^5.1.1",
- "fs-extra": "^10.0.1",
+ "fs-extra": "^10.1.0",
"jest": "^27.5.1",
- "lint-staged": "^12.3.7",
+ "lint-staged": "^12.3.8",
"minimist": "^1.2.6",
"node-fetch": "^2.6.6",
"npm-run-all": "^4.1.5",
"picocolors": "^1.0.0",
- "playwright-chromium": "^1.20.2",
+ "playwright-chromium": "^1.21.1",
"prettier": "2.6.2",
"prompts": "^2.4.2",
"rimraf": "^3.0.2",
"rollup": "^2.59.0",
- "semver": "^7.3.6",
+ "semver": "^7.3.7",
"simple-git-hooks": "^2.7.0",
"sirv": "^2.0.2",
"ts-jest": "^27.1.4",
@@ -85,7 +85,7 @@
"eslint --ext .ts"
]
},
- "packageManager": "pnpm@6.32.6",
+ "packageManager": "pnpm@6.32.9",
"pnpm": {
"overrides": {
"vite": "workspace:*",
diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json
index 4c6783abc04bc8..3734390a3cdf25 100644
--- a/packages/plugin-legacy/package.json
+++ b/packages/plugin-legacy/package.json
@@ -23,7 +23,7 @@
"homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme",
"dependencies": {
"@babel/standalone": "^7.17.9",
- "core-js": "^3.21.1",
+ "core-js": "^3.22.0",
"magic-string": "^0.26.1",
"regenerator-runtime": "^0.13.9",
"systemjs": "^6.12.1"
diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json
index 6608eef784fa22..8c93db98aac027 100644
--- a/packages/plugin-react/package.json
+++ b/packages/plugin-react/package.json
@@ -38,7 +38,7 @@
"@babel/plugin-transform-react-jsx-development": "^7.16.7",
"@babel/plugin-transform-react-jsx-self": "^7.16.7",
"@babel/plugin-transform-react-jsx-source": "^7.16.7",
- "@rollup/pluginutils": "^4.2.0",
+ "@rollup/pluginutils": "^4.2.1",
"react-refresh": "^0.12.0",
"resolve": "^1.22.0"
}
diff --git a/packages/plugin-vue-jsx/package.json b/packages/plugin-vue-jsx/package.json
index 151d0a71ce648c..487d207a0df24d 100644
--- a/packages/plugin-vue-jsx/package.json
+++ b/packages/plugin-vue-jsx/package.json
@@ -25,7 +25,7 @@
"@babel/core": "^7.17.9",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-transform-typescript": "^7.16.8",
- "@rollup/pluginutils": "^4.2.0",
+ "@rollup/pluginutils": "^4.2.1",
"@vue/babel-plugin-jsx": "^1.1.1",
"hash-sum": "^2.0.0"
}
diff --git a/packages/plugin-vue/package.json b/packages/plugin-vue/package.json
index 39b3bc87a8b1df..9f401ac7fa86b1 100644
--- a/packages/plugin-vue/package.json
+++ b/packages/plugin-vue/package.json
@@ -35,13 +35,13 @@
"vue": "^3.2.25"
},
"devDependencies": {
- "@rollup/pluginutils": "^4.2.0",
+ "@rollup/pluginutils": "^4.2.1",
"@types/hash-sum": "^1.0.0",
"debug": "^4.3.4",
"hash-sum": "^2.0.0",
"rollup": "^2.59.0",
"slash": "^4.0.0",
"source-map": "^0.6.1",
- "vue": "^3.2.31"
+ "vue": "^3.2.33"
}
}
diff --git a/packages/vite/package.json b/packages/vite/package.json
index e575c5b4f6c907..50f8487ad55895 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -57,12 +57,12 @@
"@babel/types": "^7.17.0",
"@jridgewell/trace-mapping": "^0.3.4",
"@rollup/plugin-alias": "^3.1.9",
- "@rollup/plugin-commonjs": "^21.0.3",
- "@rollup/plugin-dynamic-import-vars": "^1.4.2",
+ "@rollup/plugin-commonjs": "^21.1.0",
+ "@rollup/plugin-dynamic-import-vars": "^1.4.3",
"@rollup/plugin-json": "^4.1.0",
- "@rollup/plugin-node-resolve": "13.1.3",
- "@rollup/plugin-typescript": "^8.3.1",
- "@rollup/pluginutils": "^4.2.0",
+ "@rollup/plugin-node-resolve": "13.2.1",
+ "@rollup/plugin-typescript": "^8.3.2",
+ "@rollup/pluginutils": "^4.2.1",
"@types/convert-source-map": "^1.5.2",
"@types/cross-spawn": "^6.0.2",
"@types/debug": "^4.1.7",
@@ -71,12 +71,12 @@
"@types/less": "^3.0.3",
"@types/micromatch": "^4.0.2",
"@types/mime": "^2.0.3",
- "@types/node": "^16.11.26",
+ "@types/node": "^16.11.27",
"@types/resolve": "^1.20.1",
"@types/sass": "~1.43.1",
"@types/stylus": "^0.48.37",
"@types/ws": "^8.5.3",
- "@vue/compiler-dom": "^3.2.31",
+ "@vue/compiler-dom": "^3.2.33",
"acorn": "^8.7.0",
"cac": "6.7.9",
"chokidar": "^3.5.3",
@@ -107,7 +107,7 @@
"postcss-load-config": "^3.1.4",
"postcss-modules": "^4.3.1",
"resolve.exports": "^1.1.0",
- "rollup-plugin-license": "^2.6.1",
+ "rollup-plugin-license": "^2.7.0",
"sirv": "^2.0.2",
"source-map-js": "^1.0.2",
"source-map-support": "^0.5.21",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 09d96eb30938d7..235dd8c48a30ca 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,14 +10,14 @@ importers:
.:
specifiers:
- '@microsoft/api-extractor': ^7.21.2
+ '@microsoft/api-extractor': ^7.22.2
'@types/fs-extra': ^9.0.13
'@types/jest': ^27.4.1
- '@types/node': ^16.11.26
+ '@types/node': ^16.11.27
'@types/prompts': ^2.0.14
'@types/semver': ^7.3.9
- '@typescript-eslint/eslint-plugin': ^5.18.0
- '@typescript-eslint/parser': ^5.18.0
+ '@typescript-eslint/eslint-plugin': ^5.20.0
+ '@typescript-eslint/parser': ^5.20.0
conventional-changelog-cli: ^2.2.2
cross-env: ^7.0.3
esbuild: ^0.14.27
@@ -25,19 +25,19 @@ importers:
eslint-define-config: ^1.3.0
eslint-plugin-node: ^11.1.0
execa: ^5.1.1
- fs-extra: ^10.0.1
+ fs-extra: ^10.1.0
jest: ^27.5.1
- lint-staged: ^12.3.7
+ lint-staged: ^12.3.8
minimist: ^1.2.6
node-fetch: ^2.6.6
npm-run-all: ^4.1.5
picocolors: ^1.0.0
- playwright-chromium: ^1.20.2
+ playwright-chromium: ^1.21.1
prettier: 2.6.2
prompts: ^2.4.2
rimraf: ^3.0.2
rollup: ^2.59.0
- semver: ^7.3.6
+ semver: ^7.3.7
simple-git-hooks: ^2.7.0
sirv: ^2.0.2
ts-jest: ^27.1.4
@@ -46,14 +46,14 @@ importers:
vite: workspace:*
vitepress: ^0.22.3
devDependencies:
- '@microsoft/api-extractor': 7.21.2
+ '@microsoft/api-extractor': 7.22.2
'@types/fs-extra': 9.0.13
'@types/jest': 27.4.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
'@types/prompts': 2.0.14
'@types/semver': 7.3.9
- '@typescript-eslint/eslint-plugin': 5.18.0_423061f51ca07e3dd1eb999a8074f5cd
- '@typescript-eslint/parser': 5.18.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/eslint-plugin': 5.20.0_0df7beb8e4d849cfe6bb8e844ccdebfd
+ '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.5.4
conventional-changelog-cli: 2.2.2
cross-env: 7.0.3
esbuild: 0.14.27
@@ -61,23 +61,23 @@ importers:
eslint-define-config: 1.3.0
eslint-plugin-node: 11.1.0_eslint@8.13.0
execa: 5.1.1
- fs-extra: 10.0.1
+ fs-extra: 10.1.0
jest: 27.5.1_ts-node@10.4.0
- lint-staged: 12.3.7
+ lint-staged: 12.3.8
minimist: 1.2.6
node-fetch: 2.6.6
npm-run-all: 4.1.5
picocolors: 1.0.0
- playwright-chromium: 1.20.2
+ playwright-chromium: 1.21.1
prettier: 2.6.2
prompts: 2.4.2
rimraf: 3.0.2
rollup: 2.62.0
- semver: 7.3.6
+ semver: 7.3.7
simple-git-hooks: 2.7.0
sirv: 2.0.2
ts-jest: 27.1.4_4dfe14e0e8266437469ae0475a5c09ac
- ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6
+ ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
typescript: 4.5.4
vite: link:packages/vite
vitepress: 0.22.3
@@ -744,13 +744,13 @@ importers:
packages/plugin-legacy:
specifiers:
'@babel/standalone': ^7.17.9
- core-js: ^3.21.1
+ core-js: ^3.22.0
magic-string: ^0.26.1
regenerator-runtime: ^0.13.9
systemjs: ^6.12.1
dependencies:
'@babel/standalone': 7.17.9
- core-js: 3.21.1
+ core-js: 3.22.0
magic-string: 0.26.1
regenerator-runtime: 0.13.9
systemjs: 6.12.1
@@ -762,7 +762,7 @@ importers:
'@babel/plugin-transform-react-jsx-development': ^7.16.7
'@babel/plugin-transform-react-jsx-self': ^7.16.7
'@babel/plugin-transform-react-jsx-source': ^7.16.7
- '@rollup/pluginutils': ^4.2.0
+ '@rollup/pluginutils': ^4.2.1
react-refresh: ^0.12.0
resolve: ^1.22.0
dependencies:
@@ -771,43 +771,43 @@ importers:
'@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.9
'@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.17.9
'@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.17.9
- '@rollup/pluginutils': 4.2.0
+ '@rollup/pluginutils': 4.2.1
react-refresh: 0.12.0
resolve: 1.22.0
packages/plugin-vue:
specifiers:
- '@rollup/pluginutils': ^4.2.0
+ '@rollup/pluginutils': ^4.2.1
'@types/hash-sum': ^1.0.0
debug: ^4.3.4
hash-sum: ^2.0.0
rollup: ^2.59.0
slash: ^4.0.0
source-map: ^0.6.1
- vue: ^3.2.31
+ vue: ^3.2.33
devDependencies:
- '@rollup/pluginutils': 4.2.0
+ '@rollup/pluginutils': 4.2.1
'@types/hash-sum': 1.0.0
debug: 4.3.4
hash-sum: 2.0.0
rollup: 2.62.0
slash: 4.0.0
source-map: 0.6.1
- vue: 3.2.31
+ vue: 3.2.33
packages/plugin-vue-jsx:
specifiers:
'@babel/core': ^7.17.9
'@babel/plugin-syntax-import-meta': ^7.10.4
'@babel/plugin-transform-typescript': ^7.16.8
- '@rollup/pluginutils': ^4.2.0
+ '@rollup/pluginutils': ^4.2.1
'@vue/babel-plugin-jsx': ^1.1.1
hash-sum: ^2.0.0
dependencies:
'@babel/core': 7.17.9
'@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.9
'@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.9
- '@rollup/pluginutils': 4.2.0
+ '@rollup/pluginutils': 4.2.1
'@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.9
hash-sum: 2.0.0
@@ -818,12 +818,12 @@ importers:
'@babel/types': ^7.17.0
'@jridgewell/trace-mapping': ^0.3.4
'@rollup/plugin-alias': ^3.1.9
- '@rollup/plugin-commonjs': ^21.0.3
- '@rollup/plugin-dynamic-import-vars': ^1.4.2
+ '@rollup/plugin-commonjs': ^21.1.0
+ '@rollup/plugin-dynamic-import-vars': ^1.4.3
'@rollup/plugin-json': ^4.1.0
- '@rollup/plugin-node-resolve': 13.1.3
- '@rollup/plugin-typescript': ^8.3.1
- '@rollup/pluginutils': ^4.2.0
+ '@rollup/plugin-node-resolve': 13.2.1
+ '@rollup/plugin-typescript': ^8.3.2
+ '@rollup/pluginutils': ^4.2.1
'@types/convert-source-map': ^1.5.2
'@types/cross-spawn': ^6.0.2
'@types/debug': ^4.1.7
@@ -832,12 +832,12 @@ importers:
'@types/less': ^3.0.3
'@types/micromatch': ^4.0.2
'@types/mime': ^2.0.3
- '@types/node': ^16.11.26
+ '@types/node': ^16.11.27
'@types/resolve': ^1.20.1
'@types/sass': ~1.43.1
'@types/stylus': ^0.48.37
'@types/ws': ^8.5.3
- '@vue/compiler-dom': ^3.2.31
+ '@vue/compiler-dom': ^3.2.33
acorn: ^8.7.0
cac: 6.7.9
chokidar: ^3.5.3
@@ -873,7 +873,7 @@ importers:
resolve: ^1.22.0
resolve.exports: ^1.1.0
rollup: ^2.59.0
- rollup-plugin-license: ^2.6.1
+ rollup-plugin-license: ^2.7.0
sirv: ^2.0.2
source-map-js: ^1.0.2
source-map-support: ^0.5.21
@@ -896,12 +896,12 @@ importers:
'@babel/types': 7.17.0
'@jridgewell/trace-mapping': 0.3.4
'@rollup/plugin-alias': 3.1.9_rollup@2.62.0
- '@rollup/plugin-commonjs': 21.0.3_rollup@2.62.0
- '@rollup/plugin-dynamic-import-vars': 1.4.2_rollup@2.62.0
+ '@rollup/plugin-commonjs': 21.1.0_rollup@2.62.0
+ '@rollup/plugin-dynamic-import-vars': 1.4.3_rollup@2.62.0
'@rollup/plugin-json': 4.1.0_rollup@2.62.0
- '@rollup/plugin-node-resolve': 13.1.3_rollup@2.62.0
- '@rollup/plugin-typescript': 8.3.1_7c5ff569c0887b4f0035eb7cb6988163
- '@rollup/pluginutils': 4.2.0
+ '@rollup/plugin-node-resolve': 13.2.1_rollup@2.62.0
+ '@rollup/plugin-typescript': 8.3.2_7c5ff569c0887b4f0035eb7cb6988163
+ '@rollup/pluginutils': 4.2.1
'@types/convert-source-map': 1.5.2
'@types/cross-spawn': 6.0.2
'@types/debug': 4.1.7
@@ -910,12 +910,12 @@ importers:
'@types/less': 3.0.3
'@types/micromatch': 4.0.2
'@types/mime': 2.0.3
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
'@types/resolve': 1.20.1
'@types/sass': 1.43.1
'@types/stylus': 0.48.37
'@types/ws': 8.5.3
- '@vue/compiler-dom': 3.2.31
+ '@vue/compiler-dom': 3.2.33
acorn: 8.7.0
cac: 6.7.9
chokidar: 3.5.3
@@ -946,7 +946,7 @@ importers:
postcss-load-config: 3.1.4_postcss@8.4.12+ts-node@10.4.0
postcss-modules: 4.3.1_postcss@8.4.12
resolve.exports: 1.1.0
- rollup-plugin-license: 2.6.1_rollup@2.62.0
+ rollup-plugin-license: 2.7.0_rollup@2.62.0
sirv: 2.0.2
source-map-js: 1.0.2
source-map-support: 0.5.21
@@ -2012,7 +2012,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
chalk: 4.1.2
jest-message-util: 27.5.1
jest-util: 27.5.1
@@ -2033,7 +2033,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.8.1
@@ -2070,7 +2070,7 @@ packages:
dependencies:
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
jest-mock: 27.5.1
dev: true
@@ -2080,7 +2080,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
'@sinonjs/fake-timers': 8.1.0
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
jest-message-util: 27.5.1
jest-mock: 27.5.1
jest-util: 27.5.1
@@ -2109,7 +2109,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
chalk: 4.1.2
collect-v8-coverage: 1.0.1
exit: 0.1.2
@@ -2178,7 +2178,7 @@ packages:
jest-haste-map: 27.5.1
jest-regex-util: 27.5.1
jest-util: 27.5.1
- micromatch: 4.0.4
+ micromatch: 4.0.5
pirates: 4.0.4
slash: 3.0.0
source-map: 0.6.1
@@ -2193,7 +2193,7 @@ packages:
dependencies:
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
'@types/yargs': 16.0.4
chalk: 4.1.2
dev: true
@@ -2228,43 +2228,43 @@ packages:
- supports-color
dev: false
- /@microsoft/api-extractor-model/7.16.1:
- resolution: {integrity: sha512-+1mlvy/ji+mUuH7WdVZ6fTo/aCKfS6m37aAFVOFWLfkMvmR+I9SjPfiv9qOg83If7GOrk2HPiHHibv6kA80VTg==}
+ /@microsoft/api-extractor-model/7.17.1:
+ resolution: {integrity: sha512-DCDtD8TdEpNk2lW4JvXgwwpxKy70P0JLad55iahwO8A+C63KYsrHIpAzo0FUauh5pwJ0v5QVNIJ+OBgKGteemg==}
dependencies:
- '@microsoft/tsdoc': 0.13.2
- '@microsoft/tsdoc-config': 0.15.2
- '@rushstack/node-core-library': 3.45.2
+ '@microsoft/tsdoc': 0.14.1
+ '@microsoft/tsdoc-config': 0.16.1
+ '@rushstack/node-core-library': 3.45.3
dev: true
- /@microsoft/api-extractor/7.21.2:
- resolution: {integrity: sha512-m0+YPaXVou01O/V9swugZG7Gn4mw6HSWY+uisf0j2JPRZcoEDyoYe4hg0ERKXOEf0hByOnMLT28nQ82v8ig9Yw==}
+ /@microsoft/api-extractor/7.22.2:
+ resolution: {integrity: sha512-G7vXz6UHz+qoaUGPf2k5Md4bSpHii9nFys3sIe3bmFUbmhAe+HfSB/dCn1PsLhW7tZfEXwMHTj7fbL5vcZkrEw==}
hasBin: true
dependencies:
- '@microsoft/api-extractor-model': 7.16.1
- '@microsoft/tsdoc': 0.13.2
- '@microsoft/tsdoc-config': 0.15.2
- '@rushstack/node-core-library': 3.45.2
- '@rushstack/rig-package': 0.3.9
- '@rushstack/ts-command-line': 4.10.8
+ '@microsoft/api-extractor-model': 7.17.1
+ '@microsoft/tsdoc': 0.14.1
+ '@microsoft/tsdoc-config': 0.16.1
+ '@rushstack/node-core-library': 3.45.3
+ '@rushstack/rig-package': 0.3.10
+ '@rushstack/ts-command-line': 4.10.9
colors: 1.2.5
lodash: 4.17.21
resolve: 1.17.0
- semver: 7.3.6
+ semver: 7.3.7
source-map: 0.6.1
typescript: 4.5.4
dev: true
- /@microsoft/tsdoc-config/0.15.2:
- resolution: {integrity: sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==}
+ /@microsoft/tsdoc-config/0.16.1:
+ resolution: {integrity: sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ==}
dependencies:
- '@microsoft/tsdoc': 0.13.2
+ '@microsoft/tsdoc': 0.14.1
ajv: 6.12.6
jju: 1.4.0
resolve: 1.19.0
dev: true
- /@microsoft/tsdoc/0.13.2:
- resolution: {integrity: sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==}
+ /@microsoft/tsdoc/0.14.1:
+ resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==}
dev: true
/@mrbbot/node-fetch/4.6.0:
@@ -2336,8 +2336,8 @@ packages:
slash: 3.0.0
dev: true
- /@rollup/plugin-commonjs/21.0.3_rollup@2.62.0:
- resolution: {integrity: sha512-ThGfwyvcLc6cfP/MWxA5ACF+LZCvsuhUq7V5134Az1oQWsiC7lNpLT4mJI86WQunK7BYmpUiHmMk2Op6OAHs0g==}
+ /@rollup/plugin-commonjs/21.1.0_rollup@2.62.0:
+ resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==}
engines: {node: '>= 8.0.0'}
peerDependencies:
rollup: ^2.38.3
@@ -2352,13 +2352,13 @@ packages:
rollup: 2.62.0
dev: true
- /@rollup/plugin-dynamic-import-vars/1.4.2_rollup@2.62.0:
- resolution: {integrity: sha512-SEaS9Pf0RyaZ/oJ1knLZT+Fu0X6DlyTfUcoE7XKkiKJjNaB+8SLoHmDVRhomo5RpWHPyd+B00G/bE5R5+Q+HEg==}
+ /@rollup/plugin-dynamic-import-vars/1.4.3_rollup@2.62.0:
+ resolution: {integrity: sha512-VYP9BBVI0pcYpLp/DkFT8YP+EmqmWFMmWXoTObDH6OouERxJyPsIj0tC3HxhjNBOKgcRc7eV75IQItzELt7QSg==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0
dependencies:
- '@rollup/pluginutils': 4.2.0
+ '@rollup/pluginutils': 4.2.1
estree-walker: 2.0.2
fast-glob: 3.2.11
magic-string: 0.25.7
@@ -2374,8 +2374,8 @@ packages:
rollup: 2.62.0
dev: true
- /@rollup/plugin-node-resolve/13.1.3_rollup@2.62.0:
- resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==}
+ /@rollup/plugin-node-resolve/13.2.1_rollup@2.62.0:
+ resolution: {integrity: sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: ^2.42.0
@@ -2389,8 +2389,8 @@ packages:
rollup: 2.62.0
dev: true
- /@rollup/plugin-typescript/8.3.1_7c5ff569c0887b4f0035eb7cb6988163:
- resolution: {integrity: sha512-84rExe3ICUBXzqNX48WZV2Jp3OddjTMX97O2Py6D1KJaGSwWp0mDHXj+bCGNJqWHIEKDIT2U0sDjhP4czKi6cA==}
+ /@rollup/plugin-typescript/8.3.2_7c5ff569c0887b4f0035eb7cb6988163:
+ resolution: {integrity: sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==}
engines: {node: '>=8.0.0'}
peerDependencies:
rollup: ^2.14.0
@@ -2416,15 +2416,15 @@ packages:
rollup: 2.62.0
dev: true
- /@rollup/pluginutils/4.2.0:
- resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==}
+ /@rollup/pluginutils/4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
dependencies:
estree-walker: 2.0.2
- picomatch: 2.3.0
+ picomatch: 2.3.1
- /@rushstack/node-core-library/3.45.2:
- resolution: {integrity: sha512-MJKdB6mxOoIkks3htGVCo7aiTzllm2I6Xua+KbTSb0cp7rBp8gTCOF/4d8R4HFMwpRdEdwzKgqMM6k9rAK73iw==}
+ /@rushstack/node-core-library/3.45.3:
+ resolution: {integrity: sha512-Rn0mxqC3MPb+YbvaeFcRWfcYHLwyZ99/ffYA8chpq5OpqoY+Mr1ycTbMvzl5AxWf1pYmi/2+Eo3iTOsQdYR8xw==}
dependencies:
'@types/node': 12.20.24
colors: 1.2.5
@@ -2432,20 +2432,20 @@ packages:
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.17.0
- semver: 7.3.6
+ semver: 7.3.7
timsort: 0.3.0
z-schema: 5.0.2
dev: true
- /@rushstack/rig-package/0.3.9:
- resolution: {integrity: sha512-z3Oxpfb4n9mGXwseX+ifpkmUf9B8Fy8oieVwg8eFgpCbzllkgOwEiwLKEnRWVQ8owFcd46NCKz+7ICH35CRsAw==}
+ /@rushstack/rig-package/0.3.10:
+ resolution: {integrity: sha512-4Z2HhXM4YBWOi4ZYFQNK6Yxz641v+cvc8NKiaNZh+RIdNb3D4Rfpy3XUkggbCozpfDriBfL1+KaXlJtfJfAIXw==}
dependencies:
resolve: 1.17.0
strip-json-comments: 3.1.1
dev: true
- /@rushstack/ts-command-line/4.10.8:
- resolution: {integrity: sha512-G7CQYY/m3aZU5fVxbebv35yDeua7sSumrDAB2pJp0d60ZEsxGkUQW8771CeMcGWwSKqT9PxPzKpmIakiWv54sA==}
+ /@rushstack/ts-command-line/4.10.9:
+ resolution: {integrity: sha512-TE3eZgHNVHOY3p8lp38FoNEJUr0+swPb24sCcYuwlC+MHgMGXyJNM+p7l3TKSBRiY01XShoL2k601oGwL00KlA==}
dependencies:
'@types/argparse': 1.0.38
argparse: 1.0.10
@@ -2534,7 +2534,7 @@ packages:
/@types/cross-spawn/6.0.2:
resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/debug/4.1.7:
@@ -2554,19 +2554,19 @@ packages:
/@types/etag/1.8.1:
resolution: {integrity: sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/fs-extra/9.0.13:
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/graceful-fs/4.1.5:
resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/hash-sum/1.0.0:
@@ -2630,8 +2630,8 @@ packages:
resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==}
dev: true
- /@types/node/16.11.26:
- resolution: {integrity: sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==}
+ /@types/node/16.11.27:
+ resolution: {integrity: sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -2648,13 +2648,13 @@ packages:
/@types/prompts/2.0.14:
resolution: {integrity: sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/resolve/1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/resolve/1.20.1:
@@ -2664,7 +2664,7 @@ packages:
/@types/sass/1.43.1:
resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/semver/7.3.9:
@@ -2682,13 +2682,13 @@ packages:
/@types/stylus/0.48.37:
resolution: {integrity: sha512-IkLnS/GzdDK3rgAmQwLr8LqPvUMa43SHlCnXqsfXNukwaIpiXBNgSHil3ro8aemhF4k4ZiMoa4URE7mwBHPJnQ==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/ws/8.5.3:
resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/@types/yargs-parser/20.2.1:
@@ -2705,12 +2705,12 @@ packages:
resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==}
requiresBuild: true
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
optional: true
- /@typescript-eslint/eslint-plugin/5.18.0_423061f51ca07e3dd1eb999a8074f5cd:
- resolution: {integrity: sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A==}
+ /@typescript-eslint/eslint-plugin/5.20.0_0df7beb8e4d849cfe6bb8e844ccdebfd:
+ resolution: {integrity: sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -2720,24 +2720,24 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.18.0_eslint@8.13.0+typescript@4.5.4
- '@typescript-eslint/scope-manager': 5.18.0
- '@typescript-eslint/type-utils': 5.18.0_eslint@8.13.0+typescript@4.5.4
- '@typescript-eslint/utils': 5.18.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/scope-manager': 5.20.0
+ '@typescript-eslint/type-utils': 5.20.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/utils': 5.20.0_eslint@8.13.0+typescript@4.5.4
debug: 4.3.4
eslint: 8.13.0
functional-red-black-tree: 1.0.1
ignore: 5.2.0
regexpp: 3.2.0
- semver: 7.3.6
+ semver: 7.3.7
tsutils: 3.21.0_typescript@4.5.4
typescript: 4.5.4
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser/5.18.0_eslint@8.13.0+typescript@4.5.4:
- resolution: {integrity: sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ==}
+ /@typescript-eslint/parser/5.20.0_eslint@8.13.0+typescript@4.5.4:
+ resolution: {integrity: sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -2746,9 +2746,9 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.18.0
- '@typescript-eslint/types': 5.18.0
- '@typescript-eslint/typescript-estree': 5.18.0_typescript@4.5.4
+ '@typescript-eslint/scope-manager': 5.20.0
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/typescript-estree': 5.20.0_typescript@4.5.4
debug: 4.3.4
eslint: 8.13.0
typescript: 4.5.4
@@ -2756,16 +2756,16 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/scope-manager/5.18.0:
- resolution: {integrity: sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ==}
+ /@typescript-eslint/scope-manager/5.20.0:
+ resolution: {integrity: sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.18.0
- '@typescript-eslint/visitor-keys': 5.18.0
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/visitor-keys': 5.20.0
dev: true
- /@typescript-eslint/type-utils/5.18.0_eslint@8.13.0+typescript@4.5.4:
- resolution: {integrity: sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA==}
+ /@typescript-eslint/type-utils/5.20.0_eslint@8.13.0+typescript@4.5.4:
+ resolution: {integrity: sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -2774,7 +2774,7 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/utils': 5.18.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/utils': 5.20.0_eslint@8.13.0+typescript@4.5.4
debug: 4.3.4
eslint: 8.13.0
tsutils: 3.21.0_typescript@4.5.4
@@ -2783,13 +2783,13 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/types/5.18.0:
- resolution: {integrity: sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw==}
+ /@typescript-eslint/types/5.20.0:
+ resolution: {integrity: sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@typescript-eslint/typescript-estree/5.18.0_typescript@4.5.4:
- resolution: {integrity: sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ==}
+ /@typescript-eslint/typescript-estree/5.20.0_typescript@4.5.4:
+ resolution: {integrity: sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -2797,28 +2797,28 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 5.18.0
- '@typescript-eslint/visitor-keys': 5.18.0
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/visitor-keys': 5.20.0
debug: 4.3.4
globby: 11.0.4
is-glob: 4.0.3
- semver: 7.3.6
+ semver: 7.3.7
tsutils: 3.21.0_typescript@4.5.4
typescript: 4.5.4
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/utils/5.18.0_eslint@8.13.0+typescript@4.5.4:
- resolution: {integrity: sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA==}
+ /@typescript-eslint/utils/5.20.0_eslint@8.13.0+typescript@4.5.4:
+ resolution: {integrity: sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.9
- '@typescript-eslint/scope-manager': 5.18.0
- '@typescript-eslint/types': 5.18.0
- '@typescript-eslint/typescript-estree': 5.18.0_typescript@4.5.4
+ '@typescript-eslint/scope-manager': 5.20.0
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/typescript-estree': 5.20.0_typescript@4.5.4
eslint: 8.13.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.13.0
@@ -2827,11 +2827,11 @@ packages:
- typescript
dev: true
- /@typescript-eslint/visitor-keys/5.18.0:
- resolution: {integrity: sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg==}
+ /@typescript-eslint/visitor-keys/5.20.0:
+ resolution: {integrity: sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.18.0
+ '@typescript-eslint/types': 5.20.0
eslint-visitor-keys: 3.3.0
dev: true
@@ -2872,6 +2872,15 @@ packages:
estree-walker: 2.0.2
source-map: 0.6.1
+ /@vue/compiler-core/3.2.33:
+ resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==}
+ dependencies:
+ '@babel/parser': 7.17.9
+ '@vue/shared': 3.2.33
+ estree-walker: 2.0.2
+ source-map: 0.6.1
+ dev: true
+
/@vue/compiler-dom/3.2.26:
resolution: {integrity: sha512-smBfaOW6mQDxcT3p9TKT6mE22vjxjJL50GFVJiI0chXYGU/xzC05QRGrW3HHVuJrmLTLx5zBhsZ2dIATERbarg==}
dependencies:
@@ -2884,6 +2893,13 @@ packages:
'@vue/compiler-core': 3.2.31
'@vue/shared': 3.2.31
+ /@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-sfc/3.2.26:
resolution: {integrity: sha512-ePpnfktV90UcLdsDQUh2JdiTuhV0Skv2iYXxfNMOK/F3Q+2BO0AulcVcfoksOpTJGmhhfosWfMyEaEf0UaWpIw==}
dependencies:
@@ -2912,6 +2928,21 @@ packages:
postcss: 8.4.12
source-map: 0.6.1
+ /@vue/compiler-sfc/3.2.33:
+ resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==}
+ dependencies:
+ '@babel/parser': 7.17.9
+ '@vue/compiler-core': 3.2.33
+ '@vue/compiler-dom': 3.2.33
+ '@vue/compiler-ssr': 3.2.33
+ '@vue/reactivity-transform': 3.2.33
+ '@vue/shared': 3.2.33
+ estree-walker: 2.0.2
+ magic-string: 0.25.7
+ postcss: 8.4.12
+ source-map: 0.6.1
+ dev: true
+
/@vue/compiler-ssr/3.2.26:
resolution: {integrity: sha512-2mywLX0ODc4Zn8qBoA2PDCsLEZfpUGZcyoFRLSOjyGGK6wDy2/5kyDOWtf0S0UvtoyVq95OTSGIALjZ4k2q/ag==}
dependencies:
@@ -2924,6 +2955,13 @@ packages:
'@vue/compiler-dom': 3.2.31
'@vue/shared': 3.2.31
+ /@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/devtools-api/6.0.0-beta.21.1:
resolution: {integrity: sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw==}
dev: false
@@ -2946,6 +2984,16 @@ packages:
estree-walker: 2.0.2
magic-string: 0.25.7
+ /@vue/reactivity-transform/3.2.33:
+ resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==}
+ dependencies:
+ '@babel/parser': 7.17.9
+ '@vue/compiler-core': 3.2.33
+ '@vue/shared': 3.2.33
+ estree-walker: 2.0.2
+ magic-string: 0.25.7
+ dev: true
+
/@vue/reactivity/3.2.26:
resolution: {integrity: sha512-h38bxCZLW6oFJVDlCcAiUKFnXI8xP8d+eO0pcDxx+7dQfSPje2AO6M9S9QO6MrxQB7fGP0DH0dYQ8ksf6hrXKQ==}
dependencies:
@@ -2956,6 +3004,12 @@ packages:
dependencies:
'@vue/shared': 3.2.31
+ /@vue/reactivity/3.2.33:
+ resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==}
+ dependencies:
+ '@vue/shared': 3.2.33
+ dev: true
+
/@vue/runtime-core/3.2.26:
resolution: {integrity: sha512-BcYi7qZ9Nn+CJDJrHQ6Zsmxei2hDW0L6AB4vPvUQGBm2fZyC0GXd/4nVbyA2ubmuhctD5RbYY8L+5GUJszv9mQ==}
dependencies:
@@ -2968,6 +3022,13 @@ packages:
'@vue/reactivity': 3.2.31
'@vue/shared': 3.2.31
+ /@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-dom/3.2.26:
resolution: {integrity: sha512-dY56UIiZI+gjc4e8JQBwAifljyexfVCkIAu/WX8snh8vSOt/gMSEGwPRcl2UpYpBYeyExV8WCbgvwWRNt9cHhQ==}
dependencies:
@@ -2982,6 +3043,14 @@ packages:
'@vue/shared': 3.2.31
csstype: 2.6.19
+ /@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.19
+ dev: true
+
/@vue/server-renderer/3.2.26_vue@3.2.26:
resolution: {integrity: sha512-Jp5SggDUvvUYSBIvYEhy76t4nr1vapY/FIFloWmQzn7UxqaHrrBpbxrqPcTrSgGrcaglj0VBp22BKJNre4aA1w==}
peerDependencies:
@@ -3000,12 +3069,26 @@ packages:
'@vue/shared': 3.2.31
vue: 3.2.31
+ /@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/shared/3.2.26:
resolution: {integrity: sha512-vPV6Cq+NIWbH5pZu+V+2QHE9y1qfuTq49uNWw4f7FDEeZaDU2H2cx5jcUZOAKW7qTrUS4k6qZPbMy1x4N96nbA==}
/@vue/shared/3.2.31:
resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==}
+ /@vue/shared/3.2.33:
+ resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==}
+ dev: true
+
/@wessberg/stringutil/1.0.19:
resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==}
engines: {node: '>=8.0.0'}
@@ -3272,7 +3355,7 @@ packages:
/axios/0.24.0:
resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==}
dependencies:
- follow-redirects: 1.14.6
+ follow-redirects: 1.14.6_debug@4.3.4
transitivePeerDependencies:
- debug
dev: false
@@ -3998,8 +4081,8 @@ packages:
is-what: 3.14.1
dev: true
- /core-js/3.21.1:
- resolution: {integrity: sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==}
+ /core-js/3.22.0:
+ resolution: {integrity: sha512-8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==}
requiresBuild: true
dev: false
@@ -5085,7 +5168,7 @@ packages:
resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==}
dev: true
- /follow-redirects/1.14.6:
+ /follow-redirects/1.14.6_debug@4.3.4:
resolution: {integrity: sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==}
engines: {node: '>=4.0'}
peerDependencies:
@@ -5093,6 +5176,8 @@ packages:
peerDependenciesMeta:
debug:
optional: true
+ dependencies:
+ debug: 4.3.4
/form-data/3.0.1:
resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
@@ -5133,8 +5218,8 @@ packages:
universalify: 2.0.0
dev: false
- /fs-extra/10.0.1:
- resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==}
+ /fs-extra/10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
dependencies:
graceful-fs: 4.2.9
@@ -5493,7 +5578,7 @@ packages:
engines: {node: '>=8.0.0'}
dependencies:
eventemitter3: 4.0.7
- follow-redirects: 1.14.6
+ follow-redirects: 1.14.6_debug@4.3.4
requires-port: 1.0.0
transitivePeerDependencies:
- debug
@@ -5919,7 +6004,7 @@ packages:
'@jest/environment': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
chalk: 4.1.2
co: 4.6.0
dedent: 0.7.0
@@ -6002,7 +6087,7 @@ packages:
pretty-format: 27.5.1
slash: 3.0.0
strip-json-comments: 3.1.1
- ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6
+ ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
transitivePeerDependencies:
- bufferutil
- canvas
@@ -6045,7 +6130,7 @@ packages:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
jest-mock: 27.5.1
jest-util: 27.5.1
jsdom: 16.7.0
@@ -6063,7 +6148,7 @@ packages:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
jest-mock: 27.5.1
jest-util: 27.5.1
dev: true
@@ -6079,7 +6164,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
'@types/graceful-fs': 4.1.5
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
anymatch: 3.1.2
fb-watchman: 2.0.1
graceful-fs: 4.2.9
@@ -6087,7 +6172,7 @@ packages:
jest-serializer: 27.5.1
jest-util: 27.5.1
jest-worker: 27.5.1
- micromatch: 4.0.4
+ micromatch: 4.0.5
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.2
@@ -6101,7 +6186,7 @@ packages:
'@jest/source-map': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
chalk: 4.1.2
co: 4.6.0
expect: 27.5.1
@@ -6145,7 +6230,7 @@ packages:
'@types/stack-utils': 2.0.1
chalk: 4.1.2
graceful-fs: 4.2.9
- micromatch: 4.0.4
+ micromatch: 4.0.5
pretty-format: 27.5.1
slash: 3.0.0
stack-utils: 2.0.5
@@ -6156,7 +6241,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
dev: true
/jest-pnp-resolver/1.2.2_jest-resolve@27.5.1:
@@ -6212,7 +6297,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
chalk: 4.1.2
emittery: 0.8.1
graceful-fs: 4.2.9
@@ -6269,7 +6354,7 @@ packages:
resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
graceful-fs: 4.2.9
dev: true
@@ -6298,7 +6383,7 @@ packages:
jest-util: 27.5.1
natural-compare: 1.4.0
pretty-format: 27.5.1
- semver: 7.3.6
+ semver: 7.3.7
transitivePeerDependencies:
- supports-color
dev: true
@@ -6308,7 +6393,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
chalk: 4.1.2
ci-info: 3.3.0
graceful-fs: 4.2.9
@@ -6333,7 +6418,7 @@ packages:
dependencies:
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
ansi-escapes: 4.3.2
chalk: 4.1.2
jest-util: 27.5.1
@@ -6344,7 +6429,7 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true
@@ -6578,8 +6663,8 @@ packages:
/lines-and-columns/1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- /lint-staged/12.3.7:
- resolution: {integrity: sha512-/S4D726e2GIsDVWIk1XGvheCaDm1SJRQp8efamZFWJxQMVEbOwSysp7xb49Oo73KYCdy97mIWinhlxcoNqIfIQ==}
+ /lint-staged/12.3.8:
+ resolution: {integrity: sha512-0+UpNaqIwKRSGAFOCcpuYNIv/j5QGVC+xUVvmSdxHO+IfIGoHbFLo3XcPmV/LLnsVj5EAncNHVtlITSoY5qWGQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
dependencies:
@@ -6590,7 +6675,7 @@ packages:
execa: 5.1.1
lilconfig: 2.0.4
listr2: 4.0.2
- micromatch: 4.0.4
+ micromatch: 4.0.5
normalize-path: 3.0.0
object-inspect: 1.12.0
pidtree: 0.5.0
@@ -6720,11 +6805,6 @@ packages:
dependencies:
yallist: 4.0.0
- /lru-cache/7.8.1:
- resolution: {integrity: sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==}
- engines: {node: '>=12'}
- dev: true
-
/magic-string/0.25.7:
resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
dependencies:
@@ -6979,8 +7059,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /moment/2.29.1:
- resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==}
+ /moment/2.29.2:
+ resolution: {integrity: sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==}
dev: true
/mrmime/1.0.0:
@@ -7112,7 +7192,7 @@ packages:
dependencies:
hosted-git-info: 4.0.2
is-core-module: 2.8.1
- semver: 7.3.6
+ semver: 7.3.7
validate-npm-package-license: 3.0.4
dev: true
@@ -7310,8 +7390,8 @@ packages:
engines: {node: '>=6'}
dev: true
- /package-name-regex/2.0.5:
- resolution: {integrity: sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==}
+ /package-name-regex/2.0.6:
+ resolution: {integrity: sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==}
engines: {node: '>=12'}
dev: true
@@ -7473,21 +7553,21 @@ packages:
find-up: 4.1.0
dev: true
- /playwright-chromium/1.20.2:
- resolution: {integrity: sha512-KsiPLRC1v56qLWqjzeEoDZNVW/eFrP5ad0PFQAa74u5EwnnId89LgOHEZFy487tt3xJdv3Ayyfdn8zwsUpS3Qg==}
+ /playwright-chromium/1.21.1:
+ resolution: {integrity: sha512-bbqFFpcTs+3amiofja/KvTmZ+FZnMNEOuGkRyJk2p6DV9EbgRYVrlzzgLtMnX2DwaX3ZZ23MukGuQ+bVKOdsnw==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
dependencies:
- playwright-core: 1.20.2
+ playwright-core: 1.21.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: true
- /playwright-core/1.20.2:
- resolution: {integrity: sha512-iV6+HftSPalynkq0CYJala1vaTOq7+gU9BRfKCdM9bAxNq/lFLrwbluug2Wt5OoUwbMABcnTThIEm3/qUhCdJQ==}
+ /playwright-core/1.21.1:
+ resolution: {integrity: sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==}
engines: {node: '>=12'}
hasBin: true
dependencies:
@@ -7567,7 +7647,7 @@ packages:
dependencies:
import-cwd: 3.0.0
lilconfig: 2.0.4
- ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6
+ ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
yaml: 1.10.2
dev: false
@@ -7583,7 +7663,7 @@ packages:
dependencies:
lilconfig: 2.0.4
postcss: 8.4.12
- ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6
+ ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
yaml: 1.10.2
dev: false
@@ -7601,7 +7681,7 @@ packages:
dependencies:
lilconfig: 2.0.5
postcss: 8.4.12
- ts-node: 10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6
+ ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
yaml: 1.10.2
dev: true
@@ -8269,8 +8349,8 @@ packages:
dependencies:
glob: 7.2.0
- /rollup-plugin-license/2.6.1_rollup@2.62.0:
- resolution: {integrity: sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg==}
+ /rollup-plugin-license/2.7.0_rollup@2.62.0:
+ resolution: {integrity: sha512-0H1Fbuf85rvpadpmAaairdahzQHY0zHtcXkOFV5EStjX9aMCO2Hz5AQp/zZe+K/PB3o6As7R9uzcb8Pw1K94dg==}
engines: {node: '>=10.0.0'}
peerDependencies:
rollup: ^1.0.0 || ^2.0.0
@@ -8278,10 +8358,10 @@ packages:
commenting: 1.1.0
glob: 7.2.0
lodash: 4.17.21
- magic-string: 0.25.7
+ magic-string: 0.26.1
mkdirp: 1.0.4
- moment: 2.29.1
- package-name-regex: 2.0.5
+ moment: 2.29.2
+ package-name-regex: 2.0.6
rollup: 2.62.0
spdx-expression-validate: 2.0.0
spdx-satisfies: 5.0.1
@@ -8381,12 +8461,12 @@ packages:
lru-cache: 6.0.0
dev: false
- /semver/7.3.6:
- resolution: {integrity: sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==}
- engines: {node: ^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0}
+ /semver/7.3.7:
+ resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
+ engines: {node: '>=10'}
hasBin: true
dependencies:
- lru-cache: 7.8.1
+ lru-cache: 6.0.0
dev: true
/send/0.17.2:
@@ -9161,12 +9241,12 @@ packages:
json5: 2.2.1
lodash.memoize: 4.1.2
make-error: 1.3.6
- semver: 7.3.6
+ semver: 7.3.7
typescript: 4.5.4
yargs-parser: 20.2.9
dev: true
- /ts-node/10.4.0_44ef5af6cbbc24239b4e70b5c7b0d7a6:
+ /ts-node/10.4.0_8726306ae516cefbf62490d54d06d905:
resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==}
hasBin: true
peerDependencies:
@@ -9185,7 +9265,7 @@ packages:
'@tsconfig/node12': 1.0.9
'@tsconfig/node14': 1.0.1
'@tsconfig/node16': 1.0.2
- '@types/node': 16.11.26
+ '@types/node': 16.11.27
acorn: 8.7.0
acorn-walk: 8.2.0
arg: 4.1.3
@@ -9463,6 +9543,16 @@ packages:
'@vue/server-renderer': 3.2.31_vue@3.2.31
'@vue/shared': 3.2.31
+ /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
+
/vuex/4.0.2_vue@3.2.26:
resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==}
peerDependencies:
From 9c6501d9c363eaa3c1e7708d531fb2a92b633db6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Wed, 20 Apr 2022 06:03:19 +0900
Subject: [PATCH 018/107] docs: make it clear that array format can only be
used for inline postcss config (#7815)
---
docs/config/index.md | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/docs/config/index.md b/docs/config/index.md
index 4f1b3efbd16198..bab7df7a144987 100644
--- a/docs/config/index.md
+++ b/docs/config/index.md
@@ -306,7 +306,11 @@ export default defineConfig(({ command, mode }) => {
- **Type:** `string | (postcss.ProcessOptions & { plugins?: postcss.Plugin[] })`
- Inline PostCSS config (expects the same format as `postcss.config.js`), or a custom directory to search PostCSS config from (default is project root). The search is done using [postcss-load-config](https://github.com/postcss/postcss-load-config) and only the supported config file names are loaded.
+ Inline PostCSS config or a custom directory to search PostCSS config from (default is project root).
+
+ For inline PostCSS config, it expects the same format as `postcss.config.js`. But for `plugins` property, only [array format](https://github.com/postcss/postcss-load-config/blob/main/README.md#array) can be used.
+
+ The search is done using [postcss-load-config](https://github.com/postcss/postcss-load-config) and only the supported config file names are loaded.
Note if an inline config is provided, Vite will not search for other PostCSS config sources.
From f4148482089504516d85e234d9f231fcf41e3d20 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Wed, 20 Apr 2022 16:00:05 +0800
Subject: [PATCH 019/107] ci: use action-semantic-pull-request (#7826)
---
.github/workflows/semantic-pull-request.yml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
create mode 100644 .github/workflows/semantic-pull-request.yml
diff --git a/.github/workflows/semantic-pull-request.yml b/.github/workflows/semantic-pull-request.yml
new file mode 100644
index 00000000000000..df554b38e75246
--- /dev/null
+++ b/.github/workflows/semantic-pull-request.yml
@@ -0,0 +1,18 @@
+name: Semantic Pull Request
+
+on:
+ pull_request_target:
+ types:
+ - opened
+ - edited
+ - synchronize
+
+jobs:
+ main:
+ runs-on: ubuntu-latest
+ name: Semantic Pull Request
+ steps:
+ - name: Validate PR title
+ uses: amannn/action-semantic-pull-request@v4
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
From 709776f544adfddd7ac8e5b77a821bc3c86357fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Wed, 20 Apr 2022 18:12:43 +0900
Subject: [PATCH 020/107] fix: modulepreload polyfill only during build (fix
#4786) (#7816)
---
.../__tests__/backend-integration.spec.ts | 6 ++++++
.../backend-integration/frontend/entrypoints/main.ts | 2 ++
packages/vite/src/node/plugins/modulePreloadPolyfill.ts | 3 ++-
scripts/jestPerTestSetup.ts | 8 ++++++++
4 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/packages/playground/backend-integration/__tests__/backend-integration.spec.ts b/packages/playground/backend-integration/__tests__/backend-integration.spec.ts
index 3e189972f4baed..7eebc9c27ff05a 100644
--- a/packages/playground/backend-integration/__tests__/backend-integration.spec.ts
+++ b/packages/playground/backend-integration/__tests__/backend-integration.spec.ts
@@ -32,6 +32,12 @@ if (isBuild) {
expect(htmlEntry.assets.length).toEqual(1)
})
} else {
+ test('No ReferenceError', async () => {
+ browserErrors.forEach((error) => {
+ expect(error.name).not.toBe('ReferenceError')
+ })
+ })
+
describe('CSS HMR', () => {
test('preserve the base in CSS HMR', async () => {
await untilUpdated(() => getColor('body'), 'black') // sanity check
diff --git a/packages/playground/backend-integration/frontend/entrypoints/main.ts b/packages/playground/backend-integration/frontend/entrypoints/main.ts
index b95a989ada81c2..f5a332191dd9e4 100644
--- a/packages/playground/backend-integration/frontend/entrypoints/main.ts
+++ b/packages/playground/backend-integration/frontend/entrypoints/main.ts
@@ -1,3 +1,5 @@
+import 'vite/modulepreload-polyfill'
+
export const colorClass = 'text-black'
export function colorHeading() {
diff --git a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts
index 0ad1ed2e0d30a4..4f0b3389fcc2c3 100644
--- a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts
+++ b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts
@@ -5,7 +5,8 @@ import { isModernFlag } from './importAnalysisBuild'
export const modulePreloadPolyfillId = 'vite/modulepreload-polyfill'
export function modulePreloadPolyfillPlugin(config: ResolvedConfig): Plugin {
- const skip = config.build.ssr
+ // `isModernFlag` is only available during build since it is resolved by `vite:build-import-analysis`
+ const skip = config.command !== 'build' || config.build.ssr
let polyfillString: string | undefined
return {
diff --git a/scripts/jestPerTestSetup.ts b/scripts/jestPerTestSetup.ts
index fcdca77ee9a6eb..43258b3c8b0d6e 100644
--- a/scripts/jestPerTestSetup.ts
+++ b/scripts/jestPerTestSetup.ts
@@ -24,6 +24,7 @@ declare global {
const page: Page | undefined
const browserLogs: string[]
+ const browserErrors: Error[]
const serverLogs: string[]
const viteTestUrl: string | undefined
const watcher: RollupWatcher | undefined
@@ -34,6 +35,7 @@ declare const global: {
page?: Page
browserLogs: string[]
+ browserErrors: Error[]
serverLogs: string[]
viteTestUrl?: string
watcher?: RollupWatcher
@@ -56,6 +58,11 @@ const onConsole = (msg: ConsoleMessage) => {
logs.push(msg.text())
}
+const errors: Error[] = (global.browserErrors = [])
+const onPageError = (error: Error) => {
+ errors.push(error)
+}
+
beforeAll(async () => {
const page = global.page
if (!page) {
@@ -63,6 +70,7 @@ beforeAll(async () => {
}
try {
page.on('console', onConsole)
+ page.on('pageerror', onPageError)
const testPath = expect.getState().testPath
const testName = slash(testPath).match(/playground\/([\w-]+)\//)?.[1]
From fde54c9a9c01c114bbac94312666ec3e291edcd3 Mon Sep 17 00:00:00 2001
From: yoho
Date: Wed, 20 Apr 2022 23:25:53 +0800
Subject: [PATCH 021/107] docs: test env different from production (#7710)
Co-authored-by: Bjorn Lu
---
CONTRIBUTING.md | 2 ++
scripts/jestPerTestSetup.ts | 1 +
2 files changed, 3 insertions(+)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f086627de5cfe0..c7020c97a84c80 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -95,6 +95,8 @@ test('should work', async () => {
Some common test helpers, e.g. `testDir`, `isBuild` or `editFile` are available in `packages/playground/testUtils.ts`.
+Note: The test build environment uses a [different default set of Vite config](https://github.com/vitejs/vite/blob/9c6501d9c363eaa3c1e7708d531fb2a92b633db6/scripts/jestPerTestSetup.ts#L102-L122) to skip transpilation during tests to make it faster. This may produce a different result compared to the default production build.
+
### Extending the Test Suite
To add new tests, you should find a related playground to the fix or feature (or create a new one). As an example, static assets loading are tested in the [assets playground](https://github.com/vitejs/vite/tree/main/packages/playground/assets). In this Vite App, there is a test for `?raw` imports, with [a section is defined in the `index.html` for it](https://github.com/vitejs/vite/blob/71215533ac60e8ff566dc3467feabfc2c71a01e2/packages/playground/assets/index.html#L121):
diff --git a/scripts/jestPerTestSetup.ts b/scripts/jestPerTestSetup.ts
index 43258b3c8b0d6e..f4c9db03627c7c 100644
--- a/scripts/jestPerTestSetup.ts
+++ b/scripts/jestPerTestSetup.ts
@@ -123,6 +123,7 @@ beforeAll(async () => {
}
},
build: {
+ // esbuild do not minify ES lib output since that would remove pure annotations and break tree-shaking
// skip transpilation during tests to make it faster
target: 'esnext'
},
From 0b2d307a086d4359822ef1373c884fd2cbdcb953 Mon Sep 17 00:00:00 2001
From: Fran Dios
Date: Thu, 21 Apr 2022 01:19:11 +0200
Subject: [PATCH 022/107] fix: ssr.noExternal with boolean values (#7813)
---
packages/playground/ssr-webworker/vite.config.js | 11 ++++++++++-
packages/vite/src/node/config.ts | 3 ++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/packages/playground/ssr-webworker/vite.config.js b/packages/playground/ssr-webworker/vite.config.js
index 80cc1784cdc565..91a0571380608e 100644
--- a/packages/playground/ssr-webworker/vite.config.js
+++ b/packages/playground/ssr-webworker/vite.config.js
@@ -10,9 +10,18 @@ module.exports = {
},
ssr: {
target: 'webworker',
- noExternal: true
+ noExternal: ['this-should-be-replaced-by-the-boolean']
},
plugins: [
+ {
+ config() {
+ return {
+ ssr: {
+ noExternal: true
+ }
+ }
+ }
+ },
{
config() {
return {
diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts
index 556fcf7cbae77a..d242ac632c220e 100644
--- a/packages/vite/src/node/config.ts
+++ b/packages/vite/src/node/config.ts
@@ -745,7 +745,8 @@ function mergeConfigRecursively(
} else if (key === 'assetsInclude' && rootPath === '') {
merged[key] = [].concat(existing, value)
continue
- } else if (key === 'noExternal' && existing === true) {
+ } else if (key === 'noExternal' && (existing === true || value === true)) {
+ merged[key] = true
continue
}
From 1d468c8e6f02b0d0e362aa2d6542af1e1f55ab45 Mon Sep 17 00:00:00 2001
From: yoho
Date: Thu, 21 Apr 2022 07:21:54 +0800
Subject: [PATCH 023/107] fix: escape character in string regexp match (#7834)
---
.../src/node/__tests__/cleanString.spec.ts | 19 +++++++++++++++++++
packages/vite/src/node/cleanString.ts | 12 ++++++++++--
packages/vite/src/node/plugins/css.ts | 17 ++++++++++-------
packages/vite/src/node/plugins/html.ts | 3 ++-
4 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/packages/vite/src/node/__tests__/cleanString.spec.ts b/packages/vite/src/node/__tests__/cleanString.spec.ts
index 1065a2d4985ceb..b77f4c0fb5fbad 100644
--- a/packages/vite/src/node/__tests__/cleanString.spec.ts
+++ b/packages/vite/src/node/__tests__/cleanString.spec.ts
@@ -32,6 +32,25 @@ test('strings', () => {
expect(clean).toMatch('const b = "\0\0\0\0"')
})
+test('escape character', () => {
+ const clean = emptyString(`
+ '1\\'1'
+ "1\\"1"
+ "1\\"1\\"1"
+ "1\\'1'\\"1"
+ "1'1'"
+ "1'\\'1\\''\\"1\\"\\""
+ '1"\\"1\\""\\"1\\"\\"'
+ '""1""'
+ '"""1"""'
+ '""""1""""'
+ "''1''"
+ "'''1'''"
+ "''''1''''"
+ `)
+ expect(clean).not.toMatch('1')
+})
+
test('strings comment nested', () => {
expect(
emptyString(`
diff --git a/packages/vite/src/node/cleanString.ts b/packages/vite/src/node/cleanString.ts
index 05163ea055b631..2b7cba41aef66b 100644
--- a/packages/vite/src/node/cleanString.ts
+++ b/packages/vite/src/node/cleanString.ts
@@ -2,7 +2,8 @@ import type { RollupError } from 'rollup'
// bank on the non-overlapping nature of regex matches and combine all filters into one giant regex
// /`([^`\$\{\}]|\$\{(`|\g<1>)*\})*`/g can match nested string template
// but js not support match expression(\g<0>). so clean string template(`...`) in other ways.
-const cleanerRE = /"[^"]*"|'[^']*'|\/\*(.|[\r\n])*?\*\/|\/\/.*/g
+const cleanerRE =
+ /"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|\/\*(.|[\r\n])*?\*\/|\/\/.*/g
const blankReplacer = (s: string) => ' '.repeat(s.length)
const stringBlankReplacer = (s: string) =>
@@ -25,9 +26,16 @@ export function emptyString(raw: string): string {
}
const enum LexerState {
+ // template string
inTemplateString,
inInterpolationExpression,
- inObjectExpression
+ inObjectExpression,
+ // strings
+ inSingleQuoteString,
+ inDoubleQuoteString,
+ // comments
+ inMultilineCommentsRE,
+ inSinglelineCommentsRE
}
function replaceAt(
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index 2f5ab3df58b46a..83e18aabecdb33 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -1122,7 +1122,7 @@ export async function hoistAtRules(css: string) {
// to top when multiple files are concatenated.
// match until semicolon that's not in quotes
s.replace(
- /@import\s*(?:url\([^\)]*\)|"[^"]*"|'[^']*'|[^;]*).*?;/gm,
+ /@import\s*(?:url\([^\)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|[^;]*).*?;/gm,
(match) => {
s.appendLeft(0, match)
return ''
@@ -1131,13 +1131,16 @@ export async function hoistAtRules(css: string) {
// #6333
// CSS @charset must be the top-first in the file, hoist the first to top
let foundCharset = false
- s.replace(/@charset\s*(?:"[^"]*"|'[^']*'|[^;]*).*?;/gm, (match) => {
- if (!foundCharset) {
- s.prepend(match)
- foundCharset = true
+ s.replace(
+ /@charset\s*(?:"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|[^;]*).*?;/gm,
+ (match) => {
+ if (!foundCharset) {
+ s.prepend(match)
+ foundCharset = true
+ }
+ return ''
}
- return ''
- })
+ )
return s.toString()
}
diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts
index 5c86b6c0ac6073..e8df0825ddb3fa 100644
--- a/packages/vite/src/node/plugins/html.ts
+++ b/packages/vite/src/node/plugins/html.ts
@@ -46,7 +46,8 @@ interface ScriptAssetsUrl {
const htmlProxyRE = /\?html-proxy=?[&inline\-css]*&index=(\d+)\.(js|css)$/
const inlineCSSRE = /__VITE_INLINE_CSS__([^_]+_\d+)__/g
// Do not allow preceding '.', but do allow preceding '...' for spread operations
-const inlineImportRE = /(? htmlProxyRE.test(id)
From 72abe488b5ce52d21977c9ba35d6c590e47dbe05 Mon Sep 17 00:00:00 2001
From: chris-zhu <1633711653@qq.com>
Date: Thu, 21 Apr 2022 18:49:59 +0800
Subject: [PATCH 024/107] docs(api-hmr): update hmr hot type (#7787)
---
docs/guide/api-hmr.md | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/docs/guide/api-hmr.md b/docs/guide/api-hmr.md
index 46eabab04e8868..1cba492e6613c1 100644
--- a/docs/guide/api-hmr.md
+++ b/docs/guide/api-hmr.md
@@ -10,21 +10,27 @@ Vite exposes its manual HMR API via the special `import.meta.hot` object:
```ts
interface ImportMeta {
- readonly hot?: {
- readonly data: any
+ readonly hot?: ViteHotContext
+}
+
+interface ViteHotContext {
+ readonly data: any
- accept(): void
- accept(cb: (mod: any) => void): void
- accept(dep: string, cb: (mod: any) => void): void
- accept(deps: string[], cb: (mods: any[]) => void): void
+ accept(): void
+ accept(cb: (mod: any) => void): void
+ accept(dep: string, cb: (mod: any) => void): void
+ accept(deps: readonly string[], cb: (mods: any[]) => void): void
- prune(cb: () => void): void
- dispose(cb: (data: any) => void): void
- decline(): void
- invalidate(): void
+ dispose(cb: (data: any) => void): void
+ decline(): void
+ invalidate(): void
- on(event: string, cb: (...args: any[]) => void): void
- }
+ // `InferCustomEventPayload` provides types for built-in Vite events
+ on(
+ event: T,
+ cb: (payload: InferCustomEventPayload) => void
+ ): void
+ send(event: T, data?: InferCustomEventPayload): void
}
```
From e29d1d92f7810c5160aac2f1e56f7b03bfa4c933 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 21 Apr 2022 16:32:19 +0200
Subject: [PATCH 025/107] chore(deps): update all non-major dependencies
(#7847)
---
package.json | 4 +--
packages/plugin-legacy/package.json | 2 +-
packages/vite/package.json | 2 +-
pnpm-lock.yaml | 49 ++++++++++++++++-------------
4 files changed, 31 insertions(+), 26 deletions(-)
diff --git a/package.json b/package.json
index a90c2c9a43b3fe..701da1e4ef7887 100644
--- a/package.json
+++ b/package.json
@@ -46,12 +46,12 @@
"cross-env": "^7.0.3",
"esbuild": "^0.14.27",
"eslint": "^8.13.0",
- "eslint-define-config": "^1.3.0",
+ "eslint-define-config": "^1.4.0",
"eslint-plugin-node": "^11.1.0",
"execa": "^5.1.1",
"fs-extra": "^10.1.0",
"jest": "^27.5.1",
- "lint-staged": "^12.3.8",
+ "lint-staged": "^12.4.0",
"minimist": "^1.2.6",
"node-fetch": "^2.6.6",
"npm-run-all": "^4.1.5",
diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json
index 3734390a3cdf25..adc97e974f2d37 100644
--- a/packages/plugin-legacy/package.json
+++ b/packages/plugin-legacy/package.json
@@ -23,7 +23,7 @@
"homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme",
"dependencies": {
"@babel/standalone": "^7.17.9",
- "core-js": "^3.22.0",
+ "core-js": "^3.22.2",
"magic-string": "^0.26.1",
"regenerator-runtime": "^0.13.9",
"systemjs": "^6.12.1"
diff --git a/packages/vite/package.json b/packages/vite/package.json
index 50f8487ad55895..0fd8b867dfe042 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -55,7 +55,7 @@
"@ampproject/remapping": "^2.1.2",
"@babel/parser": "^7.17.9",
"@babel/types": "^7.17.0",
- "@jridgewell/trace-mapping": "^0.3.4",
+ "@jridgewell/trace-mapping": "^0.3.9",
"@rollup/plugin-alias": "^3.1.9",
"@rollup/plugin-commonjs": "^21.1.0",
"@rollup/plugin-dynamic-import-vars": "^1.4.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 235dd8c48a30ca..140dabd1e04eb5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -22,12 +22,12 @@ importers:
cross-env: ^7.0.3
esbuild: ^0.14.27
eslint: ^8.13.0
- eslint-define-config: ^1.3.0
+ eslint-define-config: ^1.4.0
eslint-plugin-node: ^11.1.0
execa: ^5.1.1
fs-extra: ^10.1.0
jest: ^27.5.1
- lint-staged: ^12.3.8
+ lint-staged: ^12.4.0
minimist: ^1.2.6
node-fetch: ^2.6.6
npm-run-all: ^4.1.5
@@ -58,12 +58,12 @@ importers:
cross-env: 7.0.3
esbuild: 0.14.27
eslint: 8.13.0
- eslint-define-config: 1.3.0
+ eslint-define-config: 1.4.0
eslint-plugin-node: 11.1.0_eslint@8.13.0
execa: 5.1.1
fs-extra: 10.1.0
jest: 27.5.1_ts-node@10.4.0
- lint-staged: 12.3.8
+ lint-staged: 12.4.0
minimist: 1.2.6
node-fetch: 2.6.6
npm-run-all: 4.1.5
@@ -744,13 +744,13 @@ importers:
packages/plugin-legacy:
specifiers:
'@babel/standalone': ^7.17.9
- core-js: ^3.22.0
+ core-js: ^3.22.2
magic-string: ^0.26.1
regenerator-runtime: ^0.13.9
systemjs: ^6.12.1
dependencies:
'@babel/standalone': 7.17.9
- core-js: 3.22.0
+ core-js: 3.22.2
magic-string: 0.26.1
regenerator-runtime: 0.13.9
systemjs: 6.12.1
@@ -816,7 +816,7 @@ importers:
'@ampproject/remapping': ^2.1.2
'@babel/parser': ^7.17.9
'@babel/types': ^7.17.0
- '@jridgewell/trace-mapping': ^0.3.4
+ '@jridgewell/trace-mapping': ^0.3.9
'@rollup/plugin-alias': ^3.1.9
'@rollup/plugin-commonjs': ^21.1.0
'@rollup/plugin-dynamic-import-vars': ^1.4.3
@@ -894,7 +894,7 @@ importers:
'@ampproject/remapping': 2.1.2
'@babel/parser': 7.17.9
'@babel/types': 7.17.0
- '@jridgewell/trace-mapping': 0.3.4
+ '@jridgewell/trace-mapping': 0.3.9
'@rollup/plugin-alias': 3.1.9_rollup@2.62.0
'@rollup/plugin-commonjs': 21.1.0_rollup@2.62.0
'@rollup/plugin-dynamic-import-vars': 1.4.3_rollup@2.62.0
@@ -1080,7 +1080,7 @@ packages:
resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==}
engines: {node: '>=6.0.0'}
dependencies:
- '@jridgewell/trace-mapping': 0.3.4
+ '@jridgewell/trace-mapping': 0.3.9
/@babel/code-frame/7.16.0:
resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==}
@@ -2210,6 +2210,13 @@ packages:
dependencies:
'@jridgewell/resolve-uri': 3.0.5
'@jridgewell/sourcemap-codec': 1.4.10
+ dev: true
+
+ /@jridgewell/trace-mapping/0.3.9:
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.0.5
+ '@jridgewell/sourcemap-codec': 1.4.10
/@mapbox/node-pre-gyp/1.0.8:
resolution: {integrity: sha512-CMGKi28CF+qlbXh26hDe6NxCd7amqeAzEqnS6IHeO6LoaKyM/n+Xw3HT1COdq8cuioOdlKdqn/hCmqPUOMOywg==}
@@ -3355,7 +3362,7 @@ packages:
/axios/0.24.0:
resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==}
dependencies:
- follow-redirects: 1.14.6_debug@4.3.4
+ follow-redirects: 1.14.6
transitivePeerDependencies:
- debug
dev: false
@@ -4081,8 +4088,8 @@ packages:
is-what: 3.14.1
dev: true
- /core-js/3.22.0:
- resolution: {integrity: sha512-8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==}
+ /core-js/3.22.2:
+ resolution: {integrity: sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==}
requiresBuild: true
dev: false
@@ -4787,9 +4794,9 @@ packages:
source-map: 0.6.1
dev: true
- /eslint-define-config/1.3.0:
- resolution: {integrity: sha512-sFbHUnaXdJfG74c0EfFjXajjM3ugDVOMteKBnddCHQP5eas6p3nmS7PbSVhyZ8Y9DaNNtFbzlovdGmVdTwrHcw==}
- engines: {node: '>= 16.9.0', npm: '>= 7.0.0', pnpm: '>= 6.32.2'}
+ /eslint-define-config/1.4.0:
+ resolution: {integrity: sha512-DJGEdzX4fkdkhPSzPgOpBbBjhT+b9DcgbAgxfrEUcipVWlSuesQJriKffHz1JF5mhKFm7PGoiZz4D2nb4GslNA==}
+ engines: {node: '>= 14.6.0', npm: '>= 6.0.0', pnpm: '>= 6.32.9'}
dev: true
/eslint-plugin-es/3.0.1_eslint@8.13.0:
@@ -5168,7 +5175,7 @@ packages:
resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==}
dev: true
- /follow-redirects/1.14.6_debug@4.3.4:
+ /follow-redirects/1.14.6:
resolution: {integrity: sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==}
engines: {node: '>=4.0'}
peerDependencies:
@@ -5176,8 +5183,6 @@ packages:
peerDependenciesMeta:
debug:
optional: true
- dependencies:
- debug: 4.3.4
/form-data/3.0.1:
resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
@@ -5578,7 +5583,7 @@ packages:
engines: {node: '>=8.0.0'}
dependencies:
eventemitter3: 4.0.7
- follow-redirects: 1.14.6_debug@4.3.4
+ follow-redirects: 1.14.6
requires-port: 1.0.0
transitivePeerDependencies:
- debug
@@ -6082,7 +6087,7 @@ packages:
jest-runner: 27.5.1
jest-util: 27.5.1
jest-validate: 27.5.1
- micromatch: 4.0.4
+ micromatch: 4.0.5
parse-json: 5.2.0
pretty-format: 27.5.1
slash: 3.0.0
@@ -6663,8 +6668,8 @@ packages:
/lines-and-columns/1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- /lint-staged/12.3.8:
- resolution: {integrity: sha512-0+UpNaqIwKRSGAFOCcpuYNIv/j5QGVC+xUVvmSdxHO+IfIGoHbFLo3XcPmV/LLnsVj5EAncNHVtlITSoY5qWGQ==}
+ /lint-staged/12.4.0:
+ resolution: {integrity: sha512-3X7MR0h9b7qf4iXf/1n7RlVAx+EzpAZXoCEMhVSpaBlgKDfH2ewf+QUm7BddFyq29v4dgPP+8+uYpWuSWx035A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
dependencies:
From d7540c8bd43c889253dc1e8ed040a20f9959e083 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Thu, 21 Apr 2022 23:32:45 +0900
Subject: [PATCH 026/107] fix: update sourcemap in importAnalysisBuild (#7825)
---
.../src/node/plugins/importAnalysisBuild.ts | 61 +++++++++++++++----
packages/vite/src/node/server/sourcemap.ts | 2 +-
packages/vite/src/node/utils.ts | 7 ++-
3 files changed, 53 insertions(+), 17 deletions(-)
diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts
index 91ce663b9f8111..9f4c75025fff27 100644
--- a/packages/vite/src/node/plugins/importAnalysisBuild.ts
+++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts
@@ -4,10 +4,12 @@ import type { Plugin } from '../plugin'
import MagicString from 'magic-string'
import type { ImportSpecifier } from 'es-module-lexer'
import { init, parse as parseImports } from 'es-module-lexer'
-import type { OutputChunk } from 'rollup'
+import type { OutputChunk, SourceMap } from 'rollup'
import { isCSSRequest, removedPureCssFilesCache } from './css'
import { transformImportGlob } from '../importGlob'
-import { bareImportRE } from '../utils'
+import { bareImportRE, combineSourcemaps } from '../utils'
+import type { RawSourceMap } from '@ampproject/remapping'
+import { genSourceMapUrl } from '../server/sourcemap'
/**
* A flag for injected helpers. This flag will be set to `false` if the output
@@ -20,7 +22,7 @@ export const preloadMarker = `__VITE_PRELOAD__`
export const preloadBaseMarker = `__VITE_PRELOAD_BASE__`
const preloadHelperId = 'vite/preload-helper'
-const preloadMarkerRE = new RegExp(`"${preloadMarker}"`, 'g')
+const preloadMarkerWithQuote = `"${preloadMarker}"` as const
/**
* Helper for preloading CSS and direct imports of async chunks in parallel to
@@ -263,8 +265,10 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
this.error(e, e.idx)
}
+ const s = new MagicString(code)
+ const rewroteMarkerStartPos = new Set() // position of the leading double quote
+
if (imports.length) {
- const s = new MagicString(code)
for (let index = 0; index < imports.length; index++) {
// To handle escape sequences in specifier strings, the .n field will be provided where possible.
const {
@@ -324,16 +328,16 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
addDeps(normalizedFile)
}
- let markPos = code.indexOf(preloadMarker, end)
+ let markerStartPos = code.indexOf(preloadMarkerWithQuote, end)
// fix issue #3051
- if (markPos === -1 && imports.length === 1) {
- markPos = code.indexOf(preloadMarker)
+ if (markerStartPos === -1 && imports.length === 1) {
+ markerStartPos = code.indexOf(preloadMarkerWithQuote)
}
- if (markPos > 0) {
+ if (markerStartPos > 0) {
s.overwrite(
- markPos - 1,
- markPos + preloadMarker.length + 1,
+ markerStartPos,
+ markerStartPos + preloadMarkerWithQuote.length,
// the dep list includes the main chunk, so only need to
// preload when there are actual other deps.
deps.size > 1 ||
@@ -343,15 +347,46 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
: `[]`,
{ contentOnly: true }
)
+ rewroteMarkerStartPos.add(markerStartPos)
}
}
- chunk.code = s.toString()
- // TODO source map
}
// there may still be markers due to inlined dynamic imports, remove
// all the markers regardless
- chunk.code = chunk.code.replace(preloadMarkerRE, 'void 0')
+ let markerStartPos = code.indexOf(preloadMarkerWithQuote)
+ while (markerStartPos >= 0) {
+ if (!rewroteMarkerStartPos.has(markerStartPos)) {
+ s.overwrite(
+ markerStartPos,
+ markerStartPos + preloadMarkerWithQuote.length,
+ 'void 0',
+ { contentOnly: true }
+ )
+ }
+
+ markerStartPos = code.indexOf(
+ preloadMarkerWithQuote,
+ markerStartPos + preloadMarkerWithQuote.length
+ )
+ }
+
+ if (s.hasChanged()) {
+ chunk.code = s.toString()
+ if (config.build.sourcemap && chunk.map) {
+ const nextMap = s.generateMap({
+ source: chunk.fileName,
+ hires: true
+ })
+ const map = combineSourcemaps(
+ chunk.fileName,
+ [nextMap as RawSourceMap, chunk.map as RawSourceMap],
+ false
+ ) as SourceMap
+ map.toUrl = () => genSourceMapUrl(map)
+ chunk.map = map
+ }
+ }
}
}
}
diff --git a/packages/vite/src/node/server/sourcemap.ts b/packages/vite/src/node/server/sourcemap.ts
index dc77c4a4714298..0b9bcf9284754b 100644
--- a/packages/vite/src/node/server/sourcemap.ts
+++ b/packages/vite/src/node/server/sourcemap.ts
@@ -61,7 +61,7 @@ export async function injectSourcesContent(
}
}
-function genSourceMapUrl(map: SourceMap | string | undefined) {
+export function genSourceMapUrl(map: SourceMap | string | undefined) {
if (typeof map !== 'string') {
map = JSON.stringify(map)
}
diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts
index 16391df8c73df3..e7a20afbdd5ae7 100644
--- a/packages/vite/src/node/utils.ts
+++ b/packages/vite/src/node/utils.ts
@@ -605,7 +605,8 @@ const nullSourceMap: RawSourceMap = {
}
export function combineSourcemaps(
filename: string,
- sourcemapList: Array
+ sourcemapList: Array,
+ excludeContent = true
): RawSourceMap {
if (
sourcemapList.length === 0 ||
@@ -635,7 +636,7 @@ export function combineSourcemaps(
const useArrayInterface =
sourcemapList.slice(0, -1).find((m) => m.sources.length !== 1) === undefined
if (useArrayInterface) {
- map = remapping(sourcemapList, () => null, true)
+ map = remapping(sourcemapList, () => null, excludeContent)
} else {
map = remapping(
sourcemapList[0],
@@ -646,7 +647,7 @@ export function combineSourcemaps(
return null
}
},
- true
+ excludeContent
)
}
if (!map.file) {
From ba43c29a7920ab8356b3fcb16ca3a11dc7e5713e Mon Sep 17 00:00:00 2001
From: yoho
Date: Fri, 22 Apr 2022 14:18:07 +0800
Subject: [PATCH 027/107] fix: style use string instead of js import (#7786)
---
.../playground/worker/__tests__/es/es-worker.spec.ts | 2 +-
.../playground/worker/__tests__/iife/worker.spec.ts | 2 +-
.../sourcemap-hidden/sourcemap-hidden-worker.spec.ts | 2 +-
.../sourcemap-inline/sourcemap-inline-worker.spec.ts | 2 +-
.../__tests__/sourcemap/sourcemap-worker.spec.ts | 2 +-
packages/vite/src/node/plugins/html.ts | 11 +++++++++--
6 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/packages/playground/worker/__tests__/es/es-worker.spec.ts b/packages/playground/worker/__tests__/es/es-worker.spec.ts
index c7fd0d6c19e4bc..a815596721c268 100644
--- a/packages/playground/worker/__tests__/es/es-worker.spec.ts
+++ b/packages/playground/worker/__tests__/es/es-worker.spec.ts
@@ -60,7 +60,7 @@ if (isBuild) {
// assert correct files
test('inlined code generation', async () => {
const files = fs.readdirSync(assetsDir)
- expect(files.length).toBe(22)
+ expect(files.length).toBe(21)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const worker = files.find((f) => f.includes('my-worker'))
diff --git a/packages/playground/worker/__tests__/iife/worker.spec.ts b/packages/playground/worker/__tests__/iife/worker.spec.ts
index fa9f72fe76131c..9be78d57edd702 100644
--- a/packages/playground/worker/__tests__/iife/worker.spec.ts
+++ b/packages/playground/worker/__tests__/iife/worker.spec.ts
@@ -63,7 +63,7 @@ if (isBuild) {
// assert correct files
test('inlined code generation', async () => {
const files = fs.readdirSync(assetsDir)
- expect(files.length).toBe(13)
+ expect(files.length).toBe(12)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const worker = files.find((f) => f.includes('my-worker'))
diff --git a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts
index d846a5de2311d0..1797ac5269e411 100644
--- a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts
+++ b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts
@@ -9,7 +9,7 @@ if (isBuild) {
test('sourcemap generation for web workers', async () => {
const files = fs.readdirSync(assetsDir)
// should have 2 worker chunk
- expect(files.length).toBe(25)
+ expect(files.length).toBe(24)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const indexSourcemap = getSourceMapUrl(content)
diff --git a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts
index ceda7dae1fec7c..89af0878213ab9 100644
--- a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts
+++ b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts
@@ -9,7 +9,7 @@ if (isBuild) {
test('sourcemap generation for web workers', async () => {
const files = fs.readdirSync(assetsDir)
// should have 2 worker chunk
- expect(files.length).toBe(13)
+ expect(files.length).toBe(12)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const indexSourcemap = getSourceMapUrl(content)
diff --git a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts
index 54e4f1cb9f2d58..24af73d5e3edfa 100644
--- a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts
+++ b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts
@@ -9,7 +9,7 @@ if (isBuild) {
test('sourcemap generation for web workers', async () => {
const files = fs.readdirSync(assetsDir)
// should have 2 worker chunk
- expect(files.length).toBe(25)
+ expect(files.length).toBe(24)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const indexSourcemap = getSourceMapUrl(content)
diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts
index e8df0825ddb3fa..ed4250f1965869 100644
--- a/packages/vite/src/node/plugins/html.ts
+++ b/packages/vite/src/node/plugins/html.ts
@@ -391,8 +391,15 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin {
addToHTMLProxyCache(config, filePath, inlineModuleIndex, {
code: styleNode.content
})
- js += `\nimport "${id}?html-proxy&index=${inlineModuleIndex}.css"`
- shouldRemove = true
+ js += `\nimport "${id}?html-proxy&inline-css&index=${inlineModuleIndex}.css"`
+
+ // will transform in `applyHtmlTransforms`
+ s.overwrite(
+ styleNode.loc.start.offset,
+ styleNode.loc.end.offset,
+ `__VITE_INLINE_CSS__${cleanUrl(id)}_${inlineModuleIndex}__`,
+ { contentOnly: true }
+ )
}
if (shouldRemove) {
From fc89057b406fc85e01a1d4fd08f128e9b6bcba5a Mon Sep 17 00:00:00 2001
From: Shinigami
Date: Fri, 22 Apr 2022 21:20:57 +0200
Subject: [PATCH 028/107] fix: node v18 support (#7812)
---
.github/workflows/ci.yml | 7 ++-
package.json | 2 +-
packages/vite/package.json | 2 +-
packages/vite/src/node/logger.ts | 10 +++-
pnpm-lock.yaml | 80 ++++++++++++++++----------------
5 files changed, 57 insertions(+), 44 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cde7dfb03825ed..2832dab118e279 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -27,12 +27,17 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
- node_version: [12, 14, 16, 17]
+ node_version: [12, 14, 16, 17, 18]
include:
- os: macos-latest
node_version: 16
+ - os: macos-latest
+ node_version: 18
- os: windows-latest
node_version: 16
+ # Maybe bug with jest on windows and node-v18
+ # - os: windows-latest
+ # node_version: 18
fail-fast: false
name: "Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}"
diff --git a/package.json b/package.json
index 701da1e4ef7887..1bfa2c4e77619c 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
"@microsoft/api-extractor": "^7.22.2",
"@types/fs-extra": "^9.0.13",
"@types/jest": "^27.4.1",
- "@types/node": "^16.11.27",
+ "@types/node": "^17.0.25",
"@types/prompts": "^2.0.14",
"@types/semver": "^7.3.9",
"@typescript-eslint/eslint-plugin": "^5.20.0",
diff --git a/packages/vite/package.json b/packages/vite/package.json
index 0fd8b867dfe042..2d65cc1c330cad 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -71,7 +71,7 @@
"@types/less": "^3.0.3",
"@types/micromatch": "^4.0.2",
"@types/mime": "^2.0.3",
- "@types/node": "^16.11.27",
+ "@types/node": "^17.0.25",
"@types/resolve": "^1.20.1",
"@types/sass": "~1.43.1",
"@types/stylus": "^0.48.37",
diff --git a/packages/vite/src/node/logger.ts b/packages/vite/src/node/logger.ts
index b6cf76f2aaa432..8ece2dd8746b7f 100644
--- a/packages/vite/src/node/logger.ts
+++ b/packages/vite/src/node/logger.ts
@@ -190,7 +190,15 @@ function printServerUrls(
} else {
Object.values(os.networkInterfaces())
.flatMap((nInterface) => nInterface ?? [])
- .filter((detail) => detail && detail.address && detail.family === 'IPv4')
+ .filter(
+ (detail) =>
+ detail &&
+ detail.address &&
+ // Node < v18
+ ((typeof detail.family === 'string' && detail.family === 'IPv4') ||
+ // Node >= v18
+ (typeof detail.family === 'number' && detail.family === 4))
+ )
.map((detail) => {
const type = detail.address.includes('127.0.0.1')
? 'Local: '
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 140dabd1e04eb5..ad65e136bd1b56 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ importers:
'@microsoft/api-extractor': ^7.22.2
'@types/fs-extra': ^9.0.13
'@types/jest': ^27.4.1
- '@types/node': ^16.11.27
+ '@types/node': ^17.0.25
'@types/prompts': ^2.0.14
'@types/semver': ^7.3.9
'@typescript-eslint/eslint-plugin': ^5.20.0
@@ -49,7 +49,7 @@ importers:
'@microsoft/api-extractor': 7.22.2
'@types/fs-extra': 9.0.13
'@types/jest': 27.4.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
'@types/prompts': 2.0.14
'@types/semver': 7.3.9
'@typescript-eslint/eslint-plugin': 5.20.0_0df7beb8e4d849cfe6bb8e844ccdebfd
@@ -77,7 +77,7 @@ importers:
simple-git-hooks: 2.7.0
sirv: 2.0.2
ts-jest: 27.1.4_4dfe14e0e8266437469ae0475a5c09ac
- ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
+ ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
typescript: 4.5.4
vite: link:packages/vite
vitepress: 0.22.3
@@ -832,7 +832,7 @@ importers:
'@types/less': ^3.0.3
'@types/micromatch': ^4.0.2
'@types/mime': ^2.0.3
- '@types/node': ^16.11.27
+ '@types/node': ^17.0.25
'@types/resolve': ^1.20.1
'@types/sass': ~1.43.1
'@types/stylus': ^0.48.37
@@ -910,7 +910,7 @@ importers:
'@types/less': 3.0.3
'@types/micromatch': 4.0.2
'@types/mime': 2.0.3
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
'@types/resolve': 1.20.1
'@types/sass': 1.43.1
'@types/stylus': 0.48.37
@@ -2012,7 +2012,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
chalk: 4.1.2
jest-message-util: 27.5.1
jest-util: 27.5.1
@@ -2033,7 +2033,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.8.1
@@ -2070,7 +2070,7 @@ packages:
dependencies:
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
jest-mock: 27.5.1
dev: true
@@ -2080,7 +2080,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
'@sinonjs/fake-timers': 8.1.0
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
jest-message-util: 27.5.1
jest-mock: 27.5.1
jest-util: 27.5.1
@@ -2109,7 +2109,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
chalk: 4.1.2
collect-v8-coverage: 1.0.1
exit: 0.1.2
@@ -2193,7 +2193,7 @@ packages:
dependencies:
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
'@types/yargs': 16.0.4
chalk: 4.1.2
dev: true
@@ -2541,7 +2541,7 @@ packages:
/@types/cross-spawn/6.0.2:
resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/debug/4.1.7:
@@ -2561,19 +2561,19 @@ packages:
/@types/etag/1.8.1:
resolution: {integrity: sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/fs-extra/9.0.13:
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/graceful-fs/4.1.5:
resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/hash-sum/1.0.0:
@@ -2637,8 +2637,8 @@ packages:
resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==}
dev: true
- /@types/node/16.11.27:
- resolution: {integrity: sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw==}
+ /@types/node/17.0.25:
+ resolution: {integrity: sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -2655,13 +2655,13 @@ packages:
/@types/prompts/2.0.14:
resolution: {integrity: sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/resolve/1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/resolve/1.20.1:
@@ -2671,7 +2671,7 @@ packages:
/@types/sass/1.43.1:
resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/semver/7.3.9:
@@ -2689,13 +2689,13 @@ packages:
/@types/stylus/0.48.37:
resolution: {integrity: sha512-IkLnS/GzdDK3rgAmQwLr8LqPvUMa43SHlCnXqsfXNukwaIpiXBNgSHil3ro8aemhF4k4ZiMoa4URE7mwBHPJnQ==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/ws/8.5.3:
resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/@types/yargs-parser/20.2.1:
@@ -2712,7 +2712,7 @@ packages:
resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==}
requiresBuild: true
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
optional: true
@@ -6009,7 +6009,7 @@ packages:
'@jest/environment': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
chalk: 4.1.2
co: 4.6.0
dedent: 0.7.0
@@ -6092,7 +6092,7 @@ packages:
pretty-format: 27.5.1
slash: 3.0.0
strip-json-comments: 3.1.1
- ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
+ ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
transitivePeerDependencies:
- bufferutil
- canvas
@@ -6135,7 +6135,7 @@ packages:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
jest-mock: 27.5.1
jest-util: 27.5.1
jsdom: 16.7.0
@@ -6153,7 +6153,7 @@ packages:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
jest-mock: 27.5.1
jest-util: 27.5.1
dev: true
@@ -6169,7 +6169,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
'@types/graceful-fs': 4.1.5
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
anymatch: 3.1.2
fb-watchman: 2.0.1
graceful-fs: 4.2.9
@@ -6191,7 +6191,7 @@ packages:
'@jest/source-map': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
chalk: 4.1.2
co: 4.6.0
expect: 27.5.1
@@ -6246,7 +6246,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
dev: true
/jest-pnp-resolver/1.2.2_jest-resolve@27.5.1:
@@ -6302,7 +6302,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
chalk: 4.1.2
emittery: 0.8.1
graceful-fs: 4.2.9
@@ -6359,7 +6359,7 @@ packages:
resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
graceful-fs: 4.2.9
dev: true
@@ -6398,7 +6398,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
chalk: 4.1.2
ci-info: 3.3.0
graceful-fs: 4.2.9
@@ -6423,7 +6423,7 @@ packages:
dependencies:
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
ansi-escapes: 4.3.2
chalk: 4.1.2
jest-util: 27.5.1
@@ -6434,7 +6434,7 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true
@@ -7652,7 +7652,7 @@ packages:
dependencies:
import-cwd: 3.0.0
lilconfig: 2.0.4
- ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
+ ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
yaml: 1.10.2
dev: false
@@ -7668,7 +7668,7 @@ packages:
dependencies:
lilconfig: 2.0.4
postcss: 8.4.12
- ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
+ ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
yaml: 1.10.2
dev: false
@@ -7686,7 +7686,7 @@ packages:
dependencies:
lilconfig: 2.0.5
postcss: 8.4.12
- ts-node: 10.4.0_8726306ae516cefbf62490d54d06d905
+ ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
yaml: 1.10.2
dev: true
@@ -9251,7 +9251,7 @@ packages:
yargs-parser: 20.2.9
dev: true
- /ts-node/10.4.0_8726306ae516cefbf62490d54d06d905:
+ /ts-node/10.4.0_233d9fcfccc8abc8f146a08357d842da:
resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==}
hasBin: true
peerDependencies:
@@ -9270,7 +9270,7 @@ packages:
'@tsconfig/node12': 1.0.9
'@tsconfig/node14': 1.0.1
'@tsconfig/node16': 1.0.2
- '@types/node': 16.11.27
+ '@types/node': 17.0.25
acorn: 8.7.0
acorn-walk: 8.2.0
arg: 4.1.3
From ecc78bca4a15a25764375b2a7166cf06401e9ffd Mon Sep 17 00:00:00 2001
From: yoho <907415276@qq.com>
Date: Sun, 24 Apr 2022 16:35:04 +0800
Subject: [PATCH 029/107] fix: clean string regexp (#7871)
---
packages/vite/src/node/__tests__/cleanString.spec.ts | 11 +++++++++++
packages/vite/src/node/cleanString.ts | 5 +++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/packages/vite/src/node/__tests__/cleanString.spec.ts b/packages/vite/src/node/__tests__/cleanString.spec.ts
index b77f4c0fb5fbad..f307c4816b7cd3 100644
--- a/packages/vite/src/node/__tests__/cleanString.spec.ts
+++ b/packages/vite/src/node/__tests__/cleanString.spec.ts
@@ -1,3 +1,4 @@
+import { assetAttrsConfig } from './../plugins/html'
import { emptyString } from '../../node/cleanString'
test('comments', () => {
@@ -51,6 +52,16 @@ test('escape character', () => {
expect(clean).not.toMatch('1')
})
+test('regexp affect', () => {
+ const clean = emptyString(`
+ /'/
+ '1'
+ /"/
+ "1"
+ `)
+ expect(clean).not.toMatch('1')
+})
+
test('strings comment nested', () => {
expect(
emptyString(`
diff --git a/packages/vite/src/node/cleanString.ts b/packages/vite/src/node/cleanString.ts
index 2b7cba41aef66b..3d623dce79c0d3 100644
--- a/packages/vite/src/node/cleanString.ts
+++ b/packages/vite/src/node/cleanString.ts
@@ -2,8 +2,9 @@ import type { RollupError } from 'rollup'
// bank on the non-overlapping nature of regex matches and combine all filters into one giant regex
// /`([^`\$\{\}]|\$\{(`|\g<1>)*\})*`/g can match nested string template
// but js not support match expression(\g<0>). so clean string template(`...`) in other ways.
-const cleanerRE =
- /"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|\/\*(.|[\r\n])*?\*\/|\/\/.*/g
+const stringsRE = /"([^"\r\n]|(?<=\\)")*"|'([^'\r\n]|(?<=\\)')*'/.source
+const commentsRE = /\/\*(.|[\r\n])*?\*\/|\/\/.*/.source
+const cleanerRE = new RegExp(`${stringsRE}|${commentsRE}`, 'g')
const blankReplacer = (s: string) => ' '.repeat(s.length)
const stringBlankReplacer = (s: string) =>
From 1f7855c1f691b588854d295d3dbffff759826c51 Mon Sep 17 00:00:00 2001
From: Rom
Date: Mon, 25 Apr 2022 11:55:13 +0200
Subject: [PATCH 030/107] fix: HMR propagation of HTML changes (fix #7870)
(#7895)
---
packages/playground/hmr/__tests__/hmr.spec.ts | 18 +++++++++++++++---
.../hmr/{dynamic-import => counter}/dep.ts | 0
.../hmr/{dynamic-import => counter}/index.html | 0
.../hmr/{dynamic-import => counter}/index.ts | 0
packages/vite/src/node/server/moduleGraph.ts | 7 +++++++
5 files changed, 22 insertions(+), 3 deletions(-)
rename packages/playground/hmr/{dynamic-import => counter}/dep.ts (100%)
rename packages/playground/hmr/{dynamic-import => counter}/index.html (100%)
rename packages/playground/hmr/{dynamic-import => counter}/index.ts (100%)
diff --git a/packages/playground/hmr/__tests__/hmr.spec.ts b/packages/playground/hmr/__tests__/hmr.spec.ts
index 7325c9fe47943a..40b2bdf31b7956 100644
--- a/packages/playground/hmr/__tests__/hmr.spec.ts
+++ b/packages/playground/hmr/__tests__/hmr.spec.ts
@@ -162,7 +162,7 @@ if (!isBuild) {
})
test('not loaded dynamic import', async () => {
- await page.goto(viteTestUrl + '/dynamic-import/index.html')
+ await page.goto(viteTestUrl + '/counter/index.html')
let btn = await page.$('button')
expect(await btn.textContent()).toBe('Counter 0')
@@ -170,7 +170,7 @@ if (!isBuild) {
expect(await btn.textContent()).toBe('Counter 1')
// Modifying `index.ts` triggers a page reload, as expected
- editFile('dynamic-import/index.ts', (code) => code)
+ editFile('counter/index.ts', (code) => code)
await page.waitForNavigation()
btn = await page.$('button')
expect(await btn.textContent()).toBe('Counter 0')
@@ -184,7 +184,7 @@ if (!isBuild) {
// (Note that, a dynamic import that is never loaded and that does not
// define `accept.module.hot.accept` may wrongfully trigger a full page
// reload, see discussion at #7561.)
- editFile('dynamic-import/dep.ts', (code) => code)
+ editFile('counter/dep.ts', (code) => code)
try {
await page.waitForNavigation({ timeout: 1000 })
} catch (err) {
@@ -194,4 +194,16 @@ if (!isBuild) {
btn = await page.$('button')
expect(await btn.textContent()).toBe('Counter 1')
})
+
+ test('HTML', async () => {
+ await page.goto(viteTestUrl + '/counter/index.html')
+ let btn = await page.$('button')
+ expect(await btn.textContent()).toBe('Counter 0')
+ editFile('counter/index.html', (code) =>
+ code.replace('Counter', 'Compteur')
+ )
+ await page.waitForNavigation()
+ btn = await page.$('button')
+ expect(await btn.textContent()).toBe('Compteur 0')
+ })
}
diff --git a/packages/playground/hmr/dynamic-import/dep.ts b/packages/playground/hmr/counter/dep.ts
similarity index 100%
rename from packages/playground/hmr/dynamic-import/dep.ts
rename to packages/playground/hmr/counter/dep.ts
diff --git a/packages/playground/hmr/dynamic-import/index.html b/packages/playground/hmr/counter/index.html
similarity index 100%
rename from packages/playground/hmr/dynamic-import/index.html
rename to packages/playground/hmr/counter/index.html
diff --git a/packages/playground/hmr/dynamic-import/index.ts b/packages/playground/hmr/counter/index.ts
similarity index 100%
rename from packages/playground/hmr/dynamic-import/index.ts
rename to packages/playground/hmr/counter/index.ts
diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts
index e470fafb05d8fd..a6c5bfa0ab121f 100644
--- a/packages/vite/src/node/server/moduleGraph.ts
+++ b/packages/vite/src/node/server/moduleGraph.ts
@@ -2,6 +2,7 @@ import { extname } from 'path'
import type { ModuleInfo, PartialResolvedId } from 'rollup'
import { parse as parseUrl } from 'url'
import { isDirectCSSRequest } from '../plugins/css'
+import { isHTMLRequest } from '../plugins/html'
import {
cleanUrl,
normalizePath,
@@ -37,6 +38,12 @@ export class ModuleNode {
constructor(url: string) {
this.url = url
this.type = isDirectCSSRequest(url) ? 'css' : 'js'
+ // #7870
+ // The `isSelfAccepting` value is set by importAnalysis, but HTML
+ // assets don't go through importAnalysis.
+ if (isHTMLRequest(url)) {
+ this.isSelfAccepting = false
+ }
}
}
From 54728e388dca032903569e6de6dbaa2e6f886279 Mon Sep 17 00:00:00 2001
From: jsyanyang <94437201+jsyanyang@users.noreply.github.com>
Date: Mon, 25 Apr 2022 18:43:17 +0800
Subject: [PATCH 031/107] fix: spelling mistakes (#7883)
---
packages/vite/src/node/server/ws.ts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/vite/src/node/server/ws.ts b/packages/vite/src/node/server/ws.ts
index 6d4e66ec1a22ae..17187ca6e282ac 100644
--- a/packages/vite/src/node/server/ws.ts
+++ b/packages/vite/src/node/server/ws.ts
@@ -149,7 +149,7 @@ export function createWebSocketServer(
if (!parsed || parsed.type !== 'custom' || !parsed.event) return
const listeners = customListeners.get(parsed.event)
if (!listeners?.size) return
- const client = getSocketClent(socket)
+ const client = getSocketClient(socket)
listeners.forEach((listener) => listener(parsed.data, client))
})
socket.send(JSON.stringify({ type: 'connected' }))
@@ -170,7 +170,7 @@ export function createWebSocketServer(
// Provide a wrapper to the ws client so we can send messages in JSON format
// To be consistent with server.ws.send
- function getSocketClent(socket: WebSocketRaw) {
+ function getSocketClient(socket: WebSocketRaw) {
if (!clientsMap.has(socket)) {
clientsMap.set(socket, {
send: (...args) => {
@@ -217,7 +217,7 @@ export function createWebSocketServer(
}) as WebSocketServer['off'],
get clients() {
- return new Set(Array.from(wss.clients).map(getSocketClent))
+ return new Set(Array.from(wss.clients).map(getSocketClient))
},
send(...args: any[]) {
From 0d2089c6876bcc04a46c3f7947ce4effc91dd9fd Mon Sep 17 00:00:00 2001
From: Rom
Date: Mon, 25 Apr 2022 12:47:18 +0200
Subject: [PATCH 032/107] fix: set `isSelfAccepting` to `false` for any asset
not processed by importAnalysis (#7898)
---
packages/vite/src/node/plugins/importAnalysis.ts | 5 +++--
packages/vite/src/node/server/moduleGraph.ts | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts
index 31e9cd76faa8a0..d8bf59225fd49a 100644
--- a/packages/vite/src/node/plugins/importAnalysis.ts
+++ b/packages/vite/src/node/plugins/importAnalysis.ts
@@ -59,7 +59,8 @@ const debug = createDebugger('vite:import-analysis')
const clientDir = normalizePath(CLIENT_DIR)
const skipRE = /\.(map|json)$/
-const canSkip = (id: string) => skipRE.test(id) || isDirectCSSRequest(id)
+export const canSkipImportAnalysis = (id: string) =>
+ skipRE.test(id) || isDirectCSSRequest(id)
const optimizedDepChunkRE = /\/chunk-[A-Z0-9]{8}\.js/
const optimizedDepDynamicRE = /-[A-Z0-9]{8}\.js/
@@ -131,7 +132,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin {
const ssr = options?.ssr === true
const prettyImporter = prettifyUrl(importer, root)
- if (canSkip(importer)) {
+ if (canSkipImportAnalysis(importer)) {
isDebug && debug(colors.dim(`[skipped] ${prettyImporter}`))
return null
}
diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts
index a6c5bfa0ab121f..9c9f0d84bb738f 100644
--- a/packages/vite/src/node/server/moduleGraph.ts
+++ b/packages/vite/src/node/server/moduleGraph.ts
@@ -11,6 +11,7 @@ import {
} from '../utils'
import { FS_PREFIX } from '../constants'
import type { TransformResult } from './transformRequest'
+import { canSkipImportAnalysis } from '../plugins/importAnalysis'
export class ModuleNode {
/**
@@ -39,9 +40,9 @@ export class ModuleNode {
this.url = url
this.type = isDirectCSSRequest(url) ? 'css' : 'js'
// #7870
- // The `isSelfAccepting` value is set by importAnalysis, but HTML
+ // The `isSelfAccepting` value is set by importAnalysis, but some
// assets don't go through importAnalysis.
- if (isHTMLRequest(url)) {
+ if (isHTMLRequest(url) || canSkipImportAnalysis(url)) {
this.isSelfAccepting = false
}
}
From e474381646b1b7c8802787ae3838241a890230a5 Mon Sep 17 00:00:00 2001
From: Rongjian Zhang
Date: Tue, 26 Apr 2022 02:54:18 +0800
Subject: [PATCH 033/107] fix: preview jsdoc params (#7903)
---
packages/vite/src/node/preview.ts | 2 --
1 file changed, 2 deletions(-)
diff --git a/packages/vite/src/node/preview.ts b/packages/vite/src/node/preview.ts
index c00f62a9cb8f0c..c1670c5d7efa72 100644
--- a/packages/vite/src/node/preview.ts
+++ b/packages/vite/src/node/preview.ts
@@ -55,8 +55,6 @@ export interface PreviewServer {
/**
* Starts the Vite server in preview mode, to simulate a production deployment
- * @param config - the resolved Vite config
- * @param serverOptions - what host and port to use
* @experimental
*/
export async function preview(
From 3edd1af56e980aef56641a5a51cf2932bb580d41 Mon Sep 17 00:00:00 2001
From: Johannes
Date: Tue, 26 Apr 2022 06:23:34 +0100
Subject: [PATCH 034/107] docs: update link to postcss-nesting repo (#7885)
---
docs/guide/features.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guide/features.md b/docs/guide/features.md
index 06d282ae94ecd7..1a8c03bbd0be22 100644
--- a/docs/guide/features.md
+++ b/docs/guide/features.md
@@ -187,7 +187,7 @@ document.getElementById('foo').className = applyColor
### CSS Pre-processors
-Because Vite targets modern browsers only, it is recommended to use native CSS variables with PostCSS plugins that implement CSSWG drafts (e.g. [postcss-nesting](https://github.com/jonathantneal/postcss-nesting)) and author plain, future-standards-compliant CSS.
+Because Vite targets modern browsers only, it is recommended to use native CSS variables with PostCSS plugins that implement CSSWG drafts (e.g. [postcss-nesting](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting)) and author plain, future-standards-compliant CSS.
That said, Vite does provide built-in support for `.scss`, `.sass`, `.less`, `.styl` and `.stylus` files. There is no need to install Vite-specific plugins for them, but the corresponding pre-processor itself must be installed:
From ef903d607c73f0ad003afa7f02613663d9ca7561 Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Tue, 26 Apr 2022 17:30:00 +0200
Subject: [PATCH 035/107] release: v2.9.6
---
packages/vite/CHANGELOG.md | 25 +++++++++++++++++++++++++
packages/vite/package.json | 2 +-
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md
index 084a6363109266..c2dc1488d84b21 100644
--- a/packages/vite/CHANGELOG.md
+++ b/packages/vite/CHANGELOG.md
@@ -1,3 +1,28 @@
+## 2.9.6 (2022-04-26)
+
+* fix: `apply` condition skipped for nested plugins (#7741) ([1f2ca53](https://github.com/vitejs/vite/commit/1f2ca53)), closes [#7741](https://github.com/vitejs/vite/issues/7741)
+* fix: clean string regexp (#7871) ([ecc78bc](https://github.com/vitejs/vite/commit/ecc78bc)), closes [#7871](https://github.com/vitejs/vite/issues/7871)
+* fix: escape character in string regexp match (#7834) ([1d468c8](https://github.com/vitejs/vite/commit/1d468c8)), closes [#7834](https://github.com/vitejs/vite/issues/7834)
+* fix: HMR propagation of HTML changes (fix #7870) (#7895) ([1f7855c](https://github.com/vitejs/vite/commit/1f7855c)), closes [#7870](https://github.com/vitejs/vite/issues/7870) [#7895](https://github.com/vitejs/vite/issues/7895)
+* fix: modulepreload polyfill only during build (fix #4786) (#7816) ([709776f](https://github.com/vitejs/vite/commit/709776f)), closes [#4786](https://github.com/vitejs/vite/issues/4786) [#7816](https://github.com/vitejs/vite/issues/7816)
+* fix: new SharedWorker syntax (#7800) ([474d5c2](https://github.com/vitejs/vite/commit/474d5c2)), closes [#7800](https://github.com/vitejs/vite/issues/7800)
+* fix: node v18 support (#7812) ([fc89057](https://github.com/vitejs/vite/commit/fc89057)), closes [#7812](https://github.com/vitejs/vite/issues/7812)
+* fix: preview jsdoc params (#7903) ([e474381](https://github.com/vitejs/vite/commit/e474381)), closes [#7903](https://github.com/vitejs/vite/issues/7903)
+* fix: replace import.meta.url correctly (#7792) ([12d1194](https://github.com/vitejs/vite/commit/12d1194)), closes [#7792](https://github.com/vitejs/vite/issues/7792)
+* fix: set `isSelfAccepting` to `false` for any asset not processed by importAnalysis (#7898) ([0d2089c](https://github.com/vitejs/vite/commit/0d2089c)), closes [#7898](https://github.com/vitejs/vite/issues/7898)
+* fix: spelling mistakes (#7883) ([54728e3](https://github.com/vitejs/vite/commit/54728e3)), closes [#7883](https://github.com/vitejs/vite/issues/7883)
+* fix: ssr.noExternal with boolean values (#7813) ([0b2d307](https://github.com/vitejs/vite/commit/0b2d307)), closes [#7813](https://github.com/vitejs/vite/issues/7813)
+* fix: style use string instead of js import (#7786) ([ba43c29](https://github.com/vitejs/vite/commit/ba43c29)), closes [#7786](https://github.com/vitejs/vite/issues/7786)
+* fix: update sourcemap in importAnalysisBuild (#7825) ([d7540c8](https://github.com/vitejs/vite/commit/d7540c8)), closes [#7825](https://github.com/vitejs/vite/issues/7825)
+* fix(ssr): rewrite dynamic class method name (fix #7751) (#7757) ([b89974a](https://github.com/vitejs/vite/commit/b89974a)), closes [#7751](https://github.com/vitejs/vite/issues/7751) [#7757](https://github.com/vitejs/vite/issues/7757)
+* chore: code structure (#7790) ([5f7fe00](https://github.com/vitejs/vite/commit/5f7fe00)), closes [#7790](https://github.com/vitejs/vite/issues/7790)
+* chore: fix worker sourcemap output style (#7805) ([17f3be7](https://github.com/vitejs/vite/commit/17f3be7)), closes [#7805](https://github.com/vitejs/vite/issues/7805)
+* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780)
+* chore(deps): update all non-major dependencies (#7847) ([e29d1d9](https://github.com/vitejs/vite/commit/e29d1d9)), closes [#7847](https://github.com/vitejs/vite/issues/7847)
+* feat: enable optimizeDeps.esbuildOptions.loader (#6840) ([af8ca60](https://github.com/vitejs/vite/commit/af8ca60)), closes [#6840](https://github.com/vitejs/vite/issues/6840)
+
+
+
## 2.9.5 (2022-04-14)
* fix: revert #7582, fix #7721 and #7736 (#7737) ([fa86d69](https://github.com/vitejs/vite/commit/fa86d69)), closes [#7721](https://github.com/vitejs/vite/issues/7721) [#7736](https://github.com/vitejs/vite/issues/7736) [#7737](https://github.com/vitejs/vite/issues/7737)
diff --git a/packages/vite/package.json b/packages/vite/package.json
index 2d65cc1c330cad..b2caecf4e228ca 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -1,6 +1,6 @@
{
"name": "vite",
- "version": "2.9.5",
+ "version": "2.9.6",
"license": "MIT",
"author": "Evan You",
"description": "Native-ESM powered web dev build tool",
From b092697fd1d91710f16ffe7dcca4001fb794dcec Mon Sep 17 00:00:00 2001
From: yoho <907415276@qq.com>
Date: Wed, 27 Apr 2022 03:45:07 +0800
Subject: [PATCH 036/107] fix(worker): import.meta.* (#7706)
---
.../worker/__tests__/es/es-worker.spec.ts | 27 +++++++++++++++--
.../worker/__tests__/iife/worker.spec.ts | 24 +++++++++++----
.../sourcemap-hidden-worker.spec.ts | 2 +-
.../sourcemap-inline-worker.spec.ts | 2 +-
.../sourcemap/sourcemap-worker.spec.ts | 2 +-
.../worker/classic-shared-worker.js | 3 ++
packages/playground/worker/classic-worker.js | 3 ++
.../emit-chunk-dynamic-import-worker.js | 5 +++-
.../worker/emit-chunk-nested-worker.js | 3 ++
.../worker/emit-chunk-sub-worker.js | 3 ++
.../worker/importMetaGlob.worker.js | 8 +++++
.../worker/importMetaGlobEager.worker.js | 8 +++++
packages/playground/worker/index.html | 29 ++++++++++++++++++-
.../playground/worker/module-and-worker.js | 5 +++-
.../worker/modules/{module.js => module0.js} | 0
packages/playground/worker/modules/module2.js | 2 +-
packages/playground/worker/modules/module3.js | 2 +-
.../playground/worker/my-shared-worker.ts | 3 ++
packages/playground/worker/my-worker.ts | 3 ++
.../worker/possible-ts-output-worker.mjs | 3 ++
packages/playground/worker/sub-worker.js | 5 +++-
.../playground/worker/url-shared-worker.js | 5 +++-
packages/playground/worker/url-worker.js | 5 +++-
.../playground/worker/worker-nested-worker.js | 22 ++++++++++++--
.../worker/worker/main-format-es.js | 9 ++++++
.../playground/worker/worker/main-module.js | 16 ++++++++++
.../src/node/plugins/importAnalysisBuild.ts | 19 ++++++++----
packages/vite/src/node/plugins/worker.ts | 29 ++++++++++++-------
28 files changed, 209 insertions(+), 38 deletions(-)
create mode 100644 packages/playground/worker/importMetaGlob.worker.js
create mode 100644 packages/playground/worker/importMetaGlobEager.worker.js
rename packages/playground/worker/modules/{module.js => module0.js} (100%)
diff --git a/packages/playground/worker/__tests__/es/es-worker.spec.ts b/packages/playground/worker/__tests__/es/es-worker.spec.ts
index a815596721c268..27f81b010df74f 100644
--- a/packages/playground/worker/__tests__/es/es-worker.spec.ts
+++ b/packages/playground/worker/__tests__/es/es-worker.spec.ts
@@ -51,8 +51,12 @@ test.concurrent.each([[true], [false]])('shared worker', async (doTick) => {
await waitSharedWorkerTick(page)
})
-test('worker emitted', async () => {
- await untilUpdated(() => page.textContent('.nested-worker'), 'pong')
+test('worker emitted and import.meta.url in nested worker (serve)', async () => {
+ expect(await page.textContent('.nested-worker')).toMatch('/worker-nested')
+ expect(await page.textContent('.nested-worker-module')).toMatch('/sub-worker')
+ expect(await page.textContent('.nested-worker-constructor')).toMatch(
+ '"type":"constructor"'
+ )
})
if (isBuild) {
@@ -60,7 +64,7 @@ if (isBuild) {
// assert correct files
test('inlined code generation', async () => {
const files = fs.readdirSync(assetsDir)
- expect(files.length).toBe(21)
+ expect(files.length).toBe(26)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const worker = files.find((f) => f.includes('my-worker'))
@@ -79,6 +83,15 @@ if (isBuild) {
expect(content).toMatch(`(window.URL||window.webkitURL).createObjectURL`)
expect(content).toMatch(`window.Blob`)
})
+
+ test('worker emitted and import.meta.url in nested worker (build)', async () => {
+ expect(await page.textContent('.nested-worker-module')).toMatch(
+ '"type":"module"'
+ )
+ expect(await page.textContent('.nested-worker-constructor')).toMatch(
+ '"type":"constructor"'
+ )
+ })
}
test('module worker', async () => {
@@ -100,3 +113,11 @@ test('emit chunk', async () => {
'"A string/es/"'
)
})
+
+test('import.meta.glob in worker', async () => {
+ expect(await page.textContent('.importMetaGlob-worker')).toMatch('["')
+})
+
+test('import.meta.globEager in worker', async () => {
+ expect(await page.textContent('.importMetaGlobEager-worker')).toMatch('["')
+})
diff --git a/packages/playground/worker/__tests__/iife/worker.spec.ts b/packages/playground/worker/__tests__/iife/worker.spec.ts
index 9be78d57edd702..16750a893cb073 100644
--- a/packages/playground/worker/__tests__/iife/worker.spec.ts
+++ b/packages/playground/worker/__tests__/iife/worker.spec.ts
@@ -51,10 +51,11 @@ test.concurrent.each([[true], [false]])('shared worker', async (doTick) => {
await waitSharedWorkerTick(page)
})
-test('worker emitted and import.meta.url in nested worker', async () => {
- await untilUpdated(
- () => page.textContent('.nested-worker'),
- 'pong http://localhost:3000/iife/sub-worker.js?worker_file'
+test('worker emitted and import.meta.url in nested worker (serve)', async () => {
+ expect(await page.textContent('.nested-worker')).toMatch('/worker-nested')
+ expect(await page.textContent('.nested-worker-module')).toMatch('/sub-worker')
+ expect(await page.textContent('.nested-worker-constructor')).toMatch(
+ '"type":"constructor"'
)
})
@@ -63,7 +64,7 @@ if (isBuild) {
// assert correct files
test('inlined code generation', async () => {
const files = fs.readdirSync(assetsDir)
- expect(files.length).toBe(12)
+ expect(files.length).toBe(13)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const worker = files.find((f) => f.includes('my-worker'))
@@ -82,6 +83,15 @@ if (isBuild) {
expect(content).toMatch(`(window.URL||window.webkitURL).createObjectURL`)
expect(content).toMatch(`window.Blob`)
})
+
+ test('worker emitted and import.meta.url in nested worker (build)', async () => {
+ expect(await page.textContent('.nested-worker-module')).toMatch(
+ '"type":"module"'
+ )
+ expect(await page.textContent('.nested-worker-constructor')).toMatch(
+ '"type":"constructor"'
+ )
+ })
}
test('module worker', async () => {
@@ -94,3 +104,7 @@ test('classic worker', async () => {
expect(await page.textContent('.classic-worker')).toMatch('A classic')
expect(await page.textContent('.classic-shared-worker')).toMatch('A classic')
})
+
+test('import.meta.globEager in worker', async () => {
+ expect(await page.textContent('.importMetaGlobEager-worker')).toMatch('["')
+})
diff --git a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts
index 1797ac5269e411..e4cb3318ebd5f5 100644
--- a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts
+++ b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts
@@ -9,7 +9,7 @@ if (isBuild) {
test('sourcemap generation for web workers', async () => {
const files = fs.readdirSync(assetsDir)
// should have 2 worker chunk
- expect(files.length).toBe(24)
+ expect(files.length).toBe(26)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const indexSourcemap = getSourceMapUrl(content)
diff --git a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts
index 89af0878213ab9..ceda7dae1fec7c 100644
--- a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts
+++ b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts
@@ -9,7 +9,7 @@ if (isBuild) {
test('sourcemap generation for web workers', async () => {
const files = fs.readdirSync(assetsDir)
// should have 2 worker chunk
- expect(files.length).toBe(12)
+ expect(files.length).toBe(13)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const indexSourcemap = getSourceMapUrl(content)
diff --git a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts
index 24af73d5e3edfa..04cc079b4bc289 100644
--- a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts
+++ b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts
@@ -9,7 +9,7 @@ if (isBuild) {
test('sourcemap generation for web workers', async () => {
const files = fs.readdirSync(assetsDir)
// should have 2 worker chunk
- expect(files.length).toBe(24)
+ expect(files.length).toBe(26)
const index = files.find((f) => f.includes('main-module'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const indexSourcemap = getSourceMapUrl(content)
diff --git a/packages/playground/worker/classic-shared-worker.js b/packages/playground/worker/classic-shared-worker.js
index 8bd39e194f0618..e629208f05cf0a 100644
--- a/packages/playground/worker/classic-shared-worker.js
+++ b/packages/playground/worker/classic-shared-worker.js
@@ -4,3 +4,6 @@ self.onconnect = (event) => {
const port = event.ports[0]
port.postMessage(self.constant)
}
+
+// for sourcemap
+console.log('classic-shared-worker.js')
diff --git a/packages/playground/worker/classic-worker.js b/packages/playground/worker/classic-worker.js
index 0700428ee0c80b..238857acf00a58 100644
--- a/packages/playground/worker/classic-worker.js
+++ b/packages/playground/worker/classic-worker.js
@@ -3,3 +3,6 @@ importScripts(`/${self.location.pathname.split("/")[1]}/classic.js`)
self.addEventListener('message', () => {
self.postMessage(self.constant)
})
+
+// for sourcemap
+console.log("classic-worker.js")
diff --git a/packages/playground/worker/emit-chunk-dynamic-import-worker.js b/packages/playground/worker/emit-chunk-dynamic-import-worker.js
index f96e0b15d26497..9c3ede1faa2ed9 100644
--- a/packages/playground/worker/emit-chunk-dynamic-import-worker.js
+++ b/packages/playground/worker/emit-chunk-dynamic-import-worker.js
@@ -1,3 +1,6 @@
-import('./modules/module').then((module) => {
+import('./modules/module0').then((module) => {
self.postMessage(module.default + import.meta.env.BASE_URL)
})
+
+// for sourcemap
+console.log('emit-chunk-dynamic-import-worker.js')
diff --git a/packages/playground/worker/emit-chunk-nested-worker.js b/packages/playground/worker/emit-chunk-nested-worker.js
index 6cb72b9488cfaf..629322033f3d9b 100644
--- a/packages/playground/worker/emit-chunk-nested-worker.js
+++ b/packages/playground/worker/emit-chunk-nested-worker.js
@@ -26,3 +26,6 @@ import('./module-and-worker').then((res) => {
data: res.module
})
})
+
+// for sourcemap
+console.log('emit-chunk-nested-worker.js')
diff --git a/packages/playground/worker/emit-chunk-sub-worker.js b/packages/playground/worker/emit-chunk-sub-worker.js
index 5d20becc781dd7..60d302e20bbb8a 100644
--- a/packages/playground/worker/emit-chunk-sub-worker.js
+++ b/packages/playground/worker/emit-chunk-sub-worker.js
@@ -6,3 +6,6 @@ Promise.all([
const _data = { ...data[0], ...data[1], ...data[2] }
self.postMessage(_data)
})
+
+// for sourcemap
+console.log('emit-chunk-sub-worker.js')
diff --git a/packages/playground/worker/importMetaGlob.worker.js b/packages/playground/worker/importMetaGlob.worker.js
new file mode 100644
index 00000000000000..074a986c9bd808
--- /dev/null
+++ b/packages/playground/worker/importMetaGlob.worker.js
@@ -0,0 +1,8 @@
+const modules = import.meta.glob('./modules/*js')
+
+self.onmessage = function (e) {
+ self.postMessage(Object.keys(modules))
+}
+
+// for sourcemap
+console.log('importMetaGlob.worker.js')
diff --git a/packages/playground/worker/importMetaGlobEager.worker.js b/packages/playground/worker/importMetaGlobEager.worker.js
new file mode 100644
index 00000000000000..7947f65ab8c7f9
--- /dev/null
+++ b/packages/playground/worker/importMetaGlobEager.worker.js
@@ -0,0 +1,8 @@
+const modules = import.meta.globEager('./modules/*js')
+
+self.onmessage = function (e) {
+ self.postMessage(Object.keys(modules))
+}
+
+// for sourcemap
+console.log('importMetaGlobEager.worker.js')
diff --git a/packages/playground/worker/index.html b/packages/playground/worker/index.html
index 602aa3d06bfcac..b0c524305fc33e 100644
--- a/packages/playground/worker/index.html
+++ b/packages/playground/worker/index.html
@@ -40,11 +40,25 @@
- import NestedWorker from './worker-nested-worker?worker' - nested worker
+ import NestedWorker from './worker-nested-worker?worker' - import.meta.url
.nested-worker
+
+ import NestedWorker from './worker-nested-worker?worker' - nested module
+ worker
+ .nested-worker-module
+
+
+
+
+ import NestedWorker from './worker-nested-worker?worker' - nested worker
+ constructor
+ .nested-worker-constructor
+
+
+
new Worker(new URL('./classic-worker.js', import.meta.url))
.classic-worker
@@ -58,9 +72,22 @@
+
+ use import.meta.globEager in iife worker
+ .importMetaGlobEager-worker
+
+
+
+
+
+ use import.meta.glob in es worker
+ .importMetaGlob-worker
+
+
+
worker emit chunk
module and worker:worker in worker file
diff --git a/packages/playground/worker/module-and-worker.js b/packages/playground/worker/module-and-worker.js
index 659e556f08e4a6..036dcdf4edf11d 100644
--- a/packages/playground/worker/module-and-worker.js
+++ b/packages/playground/worker/module-and-worker.js
@@ -1,5 +1,8 @@
-import constant from './modules/module'
+import constant from './modules/module0'
self.postMessage(constant)
export const module = 'module and worker'
+
+// for sourcemap
+console.log('module-and-worker.js')
diff --git a/packages/playground/worker/modules/module.js b/packages/playground/worker/modules/module0.js
similarity index 100%
rename from packages/playground/worker/modules/module.js
rename to packages/playground/worker/modules/module0.js
diff --git a/packages/playground/worker/modules/module2.js b/packages/playground/worker/modules/module2.js
index 60447933b8b16e..70c0fc94586ffd 100644
--- a/packages/playground/worker/modules/module2.js
+++ b/packages/playground/worker/modules/module2.js
@@ -1,3 +1,3 @@
-export * from './module'
+export * from './module0'
export * from './module1'
export const msg2 = 'module2'
diff --git a/packages/playground/worker/modules/module3.js b/packages/playground/worker/modules/module3.js
index 33355423bc030e..65f7e274da3242 100644
--- a/packages/playground/worker/modules/module3.js
+++ b/packages/playground/worker/modules/module3.js
@@ -1,2 +1,2 @@
-export * from './module'
+export * from './module0'
export const msg3 = 'module3'
diff --git a/packages/playground/worker/my-shared-worker.ts b/packages/playground/worker/my-shared-worker.ts
index cd5b24f265b955..caab5257394266 100644
--- a/packages/playground/worker/my-shared-worker.ts
+++ b/packages/playground/worker/my-shared-worker.ts
@@ -14,3 +14,6 @@ onconnect = (event) => {
}
}
}
+
+// for sourcemap
+console.log('my-shared-worker.js')
diff --git a/packages/playground/worker/my-worker.ts b/packages/playground/worker/my-worker.ts
index dd6061885128c7..553754f4901030 100644
--- a/packages/playground/worker/my-worker.ts
+++ b/packages/playground/worker/my-worker.ts
@@ -6,3 +6,6 @@ self.onmessage = (e) => {
self.postMessage({ msg, mode, bundleWithPlugin })
}
}
+
+// for sourcemap
+console.log('my-worker.js')
diff --git a/packages/playground/worker/possible-ts-output-worker.mjs b/packages/playground/worker/possible-ts-output-worker.mjs
index 25f1a447617cd9..db76614bc78267 100644
--- a/packages/playground/worker/possible-ts-output-worker.mjs
+++ b/packages/playground/worker/possible-ts-output-worker.mjs
@@ -5,3 +5,6 @@ self.onmessage = (e) => {
self.postMessage({ msg, mode })
}
}
+
+// for sourcemap
+console.log('possible-ts-output-worker.mjs')
diff --git a/packages/playground/worker/sub-worker.js b/packages/playground/worker/sub-worker.js
index eff49dfbb46ba6..37d5d4effabb27 100644
--- a/packages/playground/worker/sub-worker.js
+++ b/packages/playground/worker/sub-worker.js
@@ -1,5 +1,8 @@
self.onmessage = (event) => {
if (event.data === 'ping') {
- self.postMessage(`pong ${import.meta.url}`)
+ self.postMessage(`pong ${self.location.href}`)
}
}
+
+// for sourcemap
+console.log('sub-worker.js')
diff --git a/packages/playground/worker/url-shared-worker.js b/packages/playground/worker/url-shared-worker.js
index 3535d5c277ec84..9ef32c58f6c64b 100644
--- a/packages/playground/worker/url-shared-worker.js
+++ b/packages/playground/worker/url-shared-worker.js
@@ -1,6 +1,9 @@
-import constant from './modules/module'
+import constant from './modules/module0'
self.onconnect = (event) => {
const port = event.ports[0]
port.postMessage(constant)
}
+
+// for sourcemap
+console.log('url-shared-worker.js')
diff --git a/packages/playground/worker/url-worker.js b/packages/playground/worker/url-worker.js
index c25cbefdff89ec..1ba50225ee339d 100644
--- a/packages/playground/worker/url-worker.js
+++ b/packages/playground/worker/url-worker.js
@@ -1 +1,4 @@
-self.postMessage('A string' + import.meta.env.BASE_URL + import.meta.url)
+self.postMessage('A string' + import.meta.env.BASE_URL + self.location.url)
+
+// for sourcemap
+console.log('url-worker.js')
diff --git a/packages/playground/worker/worker-nested-worker.js b/packages/playground/worker/worker-nested-worker.js
index 6d4d1e4969005f..e74d1db760409b 100644
--- a/packages/playground/worker/worker-nested-worker.js
+++ b/packages/playground/worker/worker-nested-worker.js
@@ -8,6 +8,24 @@ self.onmessage = (event) => {
}
}
-subWorker.onmessage = (event) => {
- self.postMessage(event.data)
+self.postMessage(self.location.href)
+
+subWorker.onmessage = (ev) => {
+ self.postMessage({
+ type: 'module',
+ data: ev.data
+ })
}
+
+const classicWorker = new Worker(new URL('./url-worker.js', import.meta.url), {
+ type: 'module'
+})
+classicWorker.addEventListener('message', (ev) => {
+ self.postMessage({
+ type: 'constructor',
+ data: ev.data
+ })
+})
+
+// for sourcemap
+console.log('worker-nested-worker.js')
diff --git a/packages/playground/worker/worker/main-format-es.js b/packages/playground/worker/worker/main-format-es.js
index 801c13469151a3..e418c82a136927 100644
--- a/packages/playground/worker/worker/main-format-es.js
+++ b/packages/playground/worker/worker/main-format-es.js
@@ -1,5 +1,6 @@
// run when format es
import NestedWorker from '../emit-chunk-nested-worker?worker'
+import ImportMetaGlobWorker from '../importMetaGlob.worker?worker'
function text(el, text) {
document.querySelector(el).textContent = text
@@ -39,3 +40,11 @@ const moduleWorker = new Worker(
moduleWorker.addEventListener('message', (ev) => {
text('.module-and-worker-worker', JSON.stringify(ev.data))
})
+
+const importMetaGlobWorker = new ImportMetaGlobWorker()
+
+importMetaGlobWorker.postMessage('1')
+
+importMetaGlobWorker.addEventListener('message', (e) => {
+ text('.importMetaGlob-worker', JSON.stringify(e.data))
+})
diff --git a/packages/playground/worker/worker/main-module.js b/packages/playground/worker/worker/main-module.js
index 417cf1728c4b09..6284ca63686e99 100644
--- a/packages/playground/worker/worker/main-module.js
+++ b/packages/playground/worker/worker/main-module.js
@@ -3,6 +3,7 @@ import InlineWorker from '../my-worker?worker&inline'
import mySharedWorker from '../my-shared-worker?sharedworker&name=shared'
import TSOutputWorker from '../possible-ts-output-worker?worker'
import NestedWorker from '../worker-nested-worker?worker'
+import ImportMetaGlobEagerWorker from '../importMetaGlobEager.worker?worker'
import { mode } from '../modules/workerImport'
function text(el, text) {
@@ -56,6 +57,13 @@ const nestedWorker = new NestedWorker()
nestedWorker.addEventListener('message', (ev) => {
if (typeof ev.data === 'string') {
text('.nested-worker', JSON.stringify(ev.data))
+ } else if (typeof ev.data === 'object') {
+ const data = ev.data
+ if (data.type === 'module') {
+ text('.nested-worker-module', JSON.stringify(ev.data))
+ } else if (data.type === 'constructor') {
+ text('.nested-worker-constructor', JSON.stringify(ev.data))
+ }
}
})
nestedWorker.postMessage('ping')
@@ -83,3 +91,11 @@ w2.port.addEventListener('message', (ev) => {
text('.shared-worker-import-meta-url', JSON.stringify(ev.data))
})
w2.port.start()
+
+const importMetaGlobEagerWorker = new ImportMetaGlobEagerWorker()
+
+importMetaGlobEagerWorker.postMessage('1')
+
+importMetaGlobEagerWorker.addEventListener('message', (e) => {
+ text('.importMetaGlobEager-worker', JSON.stringify(e.data))
+})
diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts
index 9f4c75025fff27..ff315d008f57a5 100644
--- a/packages/vite/src/node/plugins/importAnalysisBuild.ts
+++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts
@@ -87,8 +87,8 @@ function preload(baseModule: () => Promise<{}>, deps?: string[]) {
*/
export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
const ssr = !!config.build.ssr
- const insertPreload = !(ssr || !!config.build.lib)
const isWorker = config.isWorker
+ const insertPreload = !(ssr || !!config.build.lib || isWorker)
const scriptRel = config.build.polyfillModulePreload
? `'modulepreload'`
@@ -123,11 +123,6 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
return
}
- if (isWorker) {
- // preload method use `document` and can't run in the worker
- return
- }
-
await init
let imports: readonly ImportSpecifier[] = []
@@ -159,6 +154,18 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
source.slice(start, end) === 'import.meta' &&
source.slice(end, end + 5) === '.glob'
) {
+ // es worker allow globEager / glob
+ // iife worker just allow globEager
+ if (
+ isWorker &&
+ config.worker.format === 'iife' &&
+ source.slice(end, end + 10) !== '.globEager'
+ ) {
+ this.error(
+ '`import.meta.glob` is not supported in workers with `iife` format, use `import.meta.globEager` instead.',
+ end
+ )
+ }
const { importsString, exp, endIndex, isEager } =
await transformImportGlob(
source,
diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts
index 4113b7153f9b35..5826980f5b0f72 100644
--- a/packages/vite/src/node/plugins/worker.ts
+++ b/packages/vite/src/node/plugins/worker.ts
@@ -58,6 +58,14 @@ function emitWorkerAssets(
)
}
+function emitWorkerSourcemap(
+ ctx: Rollup.TransformPluginContext,
+ config: ResolvedConfig,
+ asset: EmittedFile
+) {
+ return emitWorkerFile(ctx, config, asset, 'assets')
+}
+
function emitWorkerChunks(
ctx: Rollup.TransformPluginContext,
config: ResolvedConfig,
@@ -138,14 +146,11 @@ function emitSourcemapForWorkerEntry(
const contentHash = getAssetHash(content)
const fileName = `${basename}.${contentHash}.js.map`
const filePath = path.posix.join(config.build.assetsDir, fileName)
- if (!context.cache.has(contentHash)) {
- context.cache.set(contentHash, true)
- context.emitFile({
- fileName: filePath,
- type: 'asset',
- source: data
- })
- }
+ emitWorkerSourcemap(context, config, {
+ fileName: filePath,
+ type: 'asset',
+ source: data
+ })
// Emit the comment that tells the JS debugger where it can find the
// sourcemap file.
@@ -154,7 +159,10 @@ function emitSourcemapForWorkerEntry(
if (config.build.sourcemap === true) {
// inline web workers need to use the full sourcemap path
// non-inline web workers can use a relative path
- const sourceMapUrl = query?.inline != null ? filePath : fileName
+ const sourceMapUrl =
+ query?.inline != null
+ ? path.posix.join(config.base, filePath)
+ : fileName
code += `//# sourceMappingURL=${sourceMapUrl}`
}
}
@@ -194,7 +202,6 @@ export async function workerFileToUrl(
export function webWorkerPlugin(config: ResolvedConfig): Plugin {
const isBuild = config.command === 'build'
- const isWorker = config.isWorker
return {
name: 'vite:worker',
@@ -279,7 +286,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin {
},
renderChunk(code) {
- if (isWorker && code.includes('import.meta.url')) {
+ if (config.isWorker && code.includes('import.meta.url')) {
return code.replace('import.meta.url', 'self.location.href')
}
}
From 5c1ee5abf987e25bd39d5af8013ed907a33d4d14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Wed, 27 Apr 2022 17:23:48 +0900
Subject: [PATCH 037/107] docs: `server.origin` config trailing slash (fix
#6622) (#7865)
---
docs/config/index.md | 2 +-
packages/vite/src/node/config.ts | 2 +-
packages/vite/src/node/server/index.ts | 18 +++++++++++++++++-
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/docs/config/index.md b/docs/config/index.md
index bab7df7a144987..aaa5dcd47ad361 100644
--- a/docs/config/index.md
+++ b/docs/config/index.md
@@ -706,7 +706,7 @@ Defines the origin of the generated asset URLs during development.
```js
export default defineConfig({
server: {
- origin: 'http://127.0.0.1:8080/'
+ origin: 'http://127.0.0.1:8080'
}
})
```
diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts
index d242ac632c220e..27a107f3e2098c 100644
--- a/packages/vite/src/node/config.ts
+++ b/packages/vite/src/node/config.ts
@@ -461,7 +461,7 @@ export async function resolveConfig(
)
: ''
- const server = resolveServerOptions(resolvedRoot, config.server)
+ const server = resolveServerOptions(resolvedRoot, config.server, logger)
const optimizeDeps = config.optimizeDeps || {}
diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts
index 99aefea6de292a..29f57adeb5c752 100644
--- a/packages/vite/src/node/server/index.ts
+++ b/packages/vite/src/node/server/index.ts
@@ -56,6 +56,7 @@ import type { OptimizedDeps } from '../optimizer'
import { resolveHostname } from '../utils'
import { searchForWorkspaceRoot } from './searchRoot'
import { CLIENT_DIR } from '../constants'
+import type { Logger } from '../logger'
import { printCommonServerUrls } from '../logger'
import { performance } from 'perf_hooks'
import { invalidatePackageData } from '../packages'
@@ -92,6 +93,8 @@ export interface ServerOptions extends CommonServerOptions {
fs?: FileSystemServeOptions
/**
* Origin for the generated asset URLs.
+ *
+ * @example `http://127.0.0.1:8080`
*/
origin?: string
/**
@@ -701,7 +704,8 @@ function resolvedAllowDir(root: string, dir: string): string {
export function resolveServerOptions(
root: string,
- raw?: ServerOptions
+ raw: ServerOptions | undefined,
+ logger: Logger
): ResolvedServerOptions {
const server: ResolvedServerOptions = {
preTransformRequests: true,
@@ -727,6 +731,18 @@ export function resolveServerOptions(
allow: allowDirs,
deny
}
+
+ if (server.origin?.endsWith('/')) {
+ server.origin = server.origin.slice(0, -1)
+ logger.warn(
+ colors.yellow(
+ `${colors.bold('(!)')} server.origin should not end with "/". Using "${
+ server.origin
+ }" instead.`
+ )
+ )
+ }
+
return server
}
From e48827f58bac0af2a564cacd8213195a9015f8a3 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Wed, 27 Apr 2022 20:16:58 +0800
Subject: [PATCH 038/107] fix(css): clean comments before hoist at rules
(#7924)
---
.../src/node/__tests__/plugins/css.spec.ts | 48 ++++++++++++++++++-
packages/vite/src/node/cleanString.ts | 14 ++++--
packages/vite/src/node/plugins/css.ts | 37 +++++++-------
3 files changed, 78 insertions(+), 21 deletions(-)
diff --git a/packages/vite/src/node/__tests__/plugins/css.spec.ts b/packages/vite/src/node/__tests__/plugins/css.spec.ts
index 078cec2e0f3d77..e0d1f04a6510b2 100644
--- a/packages/vite/src/node/__tests__/plugins/css.spec.ts
+++ b/packages/vite/src/node/__tests__/plugins/css.spec.ts
@@ -155,10 +155,54 @@ describe('hoist @ rules', () => {
})
test('hoist @import and @charset', async () => {
- const css = `.foo{color:red;}@import "bla";@charset "utf-8";.bar{color:grren;}@import "baz";`
+ const css = `.foo{color:red;}@import "bla";@charset "utf-8";.bar{color:green;}@import "baz";`
const result = await hoistAtRules(css)
expect(result).toBe(
- `@charset "utf-8";@import "bla";@import "baz";.foo{color:red;}.bar{color:grren;}`
+ `@charset "utf-8";@import "bla";@import "baz";.foo{color:red;}.bar{color:green;}`
+ )
+ })
+
+ test('dont hoist @import in comments', async () => {
+ const css = `.foo{color:red;}/* @import "bla"; */@import "bar";`
+ const result = await hoistAtRules(css)
+ expect(result).toBe(`@import "bar";.foo{color:red;}/* @import "bla"; */`)
+ })
+
+ test('dont hoist @charset in comments', async () => {
+ const css = `.foo{color:red;}/* @charset "utf-8"; */@charset "utf-8";`
+ const result = await hoistAtRules(css)
+ expect(result).toBe(
+ `@charset "utf-8";.foo{color:red;}/* @charset "utf-8"; */`
+ )
+ })
+
+ test('dont hoist @import and @charset in comments', async () => {
+ const css = `
+ .foo{color:red;}
+ /*
+ @import "bla";
+ */
+ @charset "utf-8";
+ /*
+ @charset "utf-8";
+ @import "bar";
+ */
+ @import "baz";
+ `
+ const result = await hoistAtRules(css)
+ expect(result).toBe(
+ `@charset "utf-8";@import "baz";
+ .foo{color:red;}
+ /*
+ @import "bla";
+ */
+
+ /*
+ @charset "utf-8";
+ @import "bar";
+ */
+
+ `
)
})
})
diff --git a/packages/vite/src/node/cleanString.ts b/packages/vite/src/node/cleanString.ts
index 3d623dce79c0d3..9b9ef656f4e017 100644
--- a/packages/vite/src/node/cleanString.ts
+++ b/packages/vite/src/node/cleanString.ts
@@ -1,10 +1,14 @@
import type { RollupError } from 'rollup'
+import { multilineCommentsRE, singlelineCommentsRE } from './utils'
+
// bank on the non-overlapping nature of regex matches and combine all filters into one giant regex
// /`([^`\$\{\}]|\$\{(`|\g<1>)*\})*`/g can match nested string template
// but js not support match expression(\g<0>). so clean string template(`...`) in other ways.
-const stringsRE = /"([^"\r\n]|(?<=\\)")*"|'([^'\r\n]|(?<=\\)')*'/.source
-const commentsRE = /\/\*(.|[\r\n])*?\*\/|\/\/.*/.source
-const cleanerRE = new RegExp(`${stringsRE}|${commentsRE}`, 'g')
+const stringsRE = /"([^"\r\n]|(?<=\\)")*"|'([^'\r\n]|(?<=\\)')*'/g
+const cleanerRE = new RegExp(
+ `${stringsRE.source}|${multilineCommentsRE.source}|${singlelineCommentsRE.source}`,
+ 'g'
+)
const blankReplacer = (s: string) => ' '.repeat(s.length)
const stringBlankReplacer = (s: string) =>
@@ -26,6 +30,10 @@ export function emptyString(raw: string): string {
return res
}
+export function emptyCssComments(raw: string) {
+ return raw.replace(multilineCommentsRE, blankReplacer)
+}
+
const enum LexerState {
// template string
inTemplateString,
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index 83e18aabecdb33..fef1b6cb7ac515 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -48,6 +48,7 @@ import { transform, formatMessages } from 'esbuild'
import { addToHTMLProxyTransformResult } from './html'
import { injectSourcesContent, getCodeWithSourcemap } from '../server/sourcemap'
import type { RawSourceMap } from '@ampproject/remapping'
+import { emptyCssComments } from '../cleanString'
// const debug = createDebugger('vite:css')
@@ -1117,30 +1118,34 @@ async function minifyCSS(css: string, config: ResolvedConfig) {
export async function hoistAtRules(css: string) {
const s = new MagicString(css)
+ const cleanCss = emptyCssComments(css)
+ let match: RegExpExecArray | null
+
// #1845
// CSS @import can only appear at top of the file. We need to hoist all @import
// to top when multiple files are concatenated.
// match until semicolon that's not in quotes
- s.replace(
- /@import\s*(?:url\([^\)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|[^;]*).*?;/gm,
- (match) => {
- s.appendLeft(0, match)
- return ''
- }
- )
+ const atImportRE =
+ /@import\s*(?:url\([^\)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|[^;]*).*?;/gm
+ while ((match = atImportRE.exec(cleanCss))) {
+ s.remove(match.index, match.index + match[0].length)
+ // Use `appendLeft` instead of `prepend` to preserve original @import order
+ s.appendLeft(0, match[0])
+ }
+
// #6333
// CSS @charset must be the top-first in the file, hoist the first to top
+ const atCharsetRE =
+ /@charset\s*(?:"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|[^;]*).*?;/gm
let foundCharset = false
- s.replace(
- /@charset\s*(?:"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|[^;]*).*?;/gm,
- (match) => {
- if (!foundCharset) {
- s.prepend(match)
- foundCharset = true
- }
- return ''
+ while ((match = atCharsetRE.exec(cleanCss))) {
+ s.remove(match.index, match.index + match[0].length)
+ if (!foundCharset) {
+ s.prepend(match[0])
+ foundCharset = true
}
- )
+ }
+
return s.toString()
}
From 206e1f2cd48b86396f57338ad494da3e1939b647 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Thu, 28 Apr 2022 01:06:06 +0800
Subject: [PATCH 039/107] docs: clarify loadEnv (#7872)
---
docs/config/index.md | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/docs/config/index.md b/docs/config/index.md
index aaa5dcd47ad361..7f051399d1a1e7 100644
--- a/docs/config/index.md
+++ b/docs/config/index.md
@@ -94,7 +94,7 @@ If the config needs to call async function, it can export a async function inste
export default defineConfig(async ({ command, mode }) => {
const data = await asyncFunction()
return {
- // build specific config
+ // vite config
}
})
```
@@ -109,10 +109,14 @@ Note that Vite doesn't load `.env` files by default as the files to load can onl
import { defineConfig, loadEnv } from 'vite'
export default defineConfig(({ command, mode }) => {
- // Load env file based on `mode` in the current working directory
- const env = loadEnv(mode, process.cwd())
+ // Load env file based on `mode` in the current working directory.
+ // Set the third parameter to '' to load all env regardless of the `VITE_` prefix.
+ const env = loadEnv(mode, process.cwd(), '')
return {
- // build specific config
+ // vite config
+ define: {
+ __APP_ENV__: env.APP_ENV
+ }
}
})
```
From 50672e4f8bc6d23cef735b922e8e0439acb5fe27 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Thu, 28 Apr 2022 01:20:53 +0800
Subject: [PATCH 040/107] fix: use NODE_ENV in optimizer (#7673)
---
packages/playground/optimize-deps/.env | 1 +
.../optimize-deps/__tests__/optimize-deps.spec.ts | 4 ++++
packages/playground/optimize-deps/dep-node-env/index.js | 1 +
packages/playground/optimize-deps/dep-node-env/package.json | 5 +++++
packages/playground/optimize-deps/index.html | 6 ++++++
packages/playground/optimize-deps/package.json | 1 +
packages/vite/src/node/optimizer/index.ts | 4 ++--
pnpm-lock.yaml | 5 +++++
8 files changed, 25 insertions(+), 2 deletions(-)
create mode 100644 packages/playground/optimize-deps/.env
create mode 100644 packages/playground/optimize-deps/dep-node-env/index.js
create mode 100644 packages/playground/optimize-deps/dep-node-env/package.json
diff --git a/packages/playground/optimize-deps/.env b/packages/playground/optimize-deps/.env
new file mode 100644
index 00000000000000..995fca4af2ee24
--- /dev/null
+++ b/packages/playground/optimize-deps/.env
@@ -0,0 +1 @@
+NODE_ENV=production
\ No newline at end of file
diff --git a/packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts b/packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts
index d95a6d984cd9aa..e832408370969a 100644
--- a/packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts
+++ b/packages/playground/optimize-deps/__tests__/optimize-deps.spec.ts
@@ -62,6 +62,10 @@ test('import * from optimized dep', async () => {
expect(await page.textContent('.import-star')).toMatch(`[success]`)
})
+test('import from dep with process.env.NODE_ENV', async () => {
+ expect(await page.textContent('.node-env')).toMatch(`prod`)
+})
+
test('import from dep with .notjs files', async () => {
expect(await page.textContent('.not-js')).toMatch(`[success]`)
})
diff --git a/packages/playground/optimize-deps/dep-node-env/index.js b/packages/playground/optimize-deps/dep-node-env/index.js
new file mode 100644
index 00000000000000..8548c37894539f
--- /dev/null
+++ b/packages/playground/optimize-deps/dep-node-env/index.js
@@ -0,0 +1 @@
+export const env = process.env.NODE_ENV === 'production' ? 'prod' : 'dev'
diff --git a/packages/playground/optimize-deps/dep-node-env/package.json b/packages/playground/optimize-deps/dep-node-env/package.json
new file mode 100644
index 00000000000000..59a00fb153c522
--- /dev/null
+++ b/packages/playground/optimize-deps/dep-node-env/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "dep-node-env",
+ "private": true,
+ "version": "1.0.0"
+}
diff --git a/packages/playground/optimize-deps/index.html b/packages/playground/optimize-deps/index.html
index 2be896d00acba9..521d54379863d9 100644
--- a/packages/playground/optimize-deps/index.html
+++ b/packages/playground/optimize-deps/index.html
@@ -38,6 +38,9 @@ Optimizing force included dep even when it's linked
import * as ...
+Import from dependency with process.env.NODE_ENV
+
+
Import from dependency with .notjs files
@@ -88,6 +91,9 @@ Reused variable names
text('.import-star', `[success] ${keys.join(', ')}`)
}
+ import { env } from 'dep-node-env'
+ text('.node-env', env)
+
import { notjsValue } from 'dep-not-js'
text('.not-js', notjsValue)
diff --git a/packages/playground/optimize-deps/package.json b/packages/playground/optimize-deps/package.json
index 2752e691da6fb2..904db5fc65f0ad 100644
--- a/packages/playground/optimize-deps/package.json
+++ b/packages/playground/optimize-deps/package.json
@@ -17,6 +17,7 @@
"dep-esbuild-plugin-transform": "file:./dep-esbuild-plugin-transform",
"dep-linked": "link:./dep-linked",
"dep-linked-include": "link:./dep-linked-include",
+ "dep-node-env": "file:./dep-node-env",
"dep-not-js": "file:./dep-not-js",
"dep-with-dynamic-import": "file:./dep-with-dynamic-import",
"lodash-es": "^4.17.21",
diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts
index 3828cb2fbce18b..4e4fb5a8c895ae 100644
--- a/packages/vite/src/node/optimizer/index.ts
+++ b/packages/vite/src/node/optimizer/index.ts
@@ -445,7 +445,7 @@ export async function runOptimizeDeps(
}
const define: Record = {
- 'process.env.NODE_ENV': JSON.stringify(config.mode)
+ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || config.mode)
}
for (const key in config.define) {
const value = config.define[key]
@@ -790,7 +790,7 @@ export function getDepHash(config: ResolvedConfig): string {
// only a subset of config options that can affect dep optimization
content += JSON.stringify(
{
- mode: config.mode,
+ mode: process.env.NODE_ENV || config.mode,
root: config.root,
define: config.define,
resolve: config.resolve,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ad65e136bd1b56..a0ee11e84690b1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -317,6 +317,7 @@ importers:
dep-esbuild-plugin-transform: file:./dep-esbuild-plugin-transform
dep-linked: link:./dep-linked
dep-linked-include: link:./dep-linked-include
+ dep-node-env: file:./dep-node-env
dep-not-js: file:./dep-not-js
dep-with-dynamic-import: file:./dep-with-dynamic-import
lodash-es: ^4.17.21
@@ -336,6 +337,7 @@ importers:
dep-esbuild-plugin-transform: link:dep-esbuild-plugin-transform
dep-linked: link:dep-linked
dep-linked-include: link:dep-linked-include
+ dep-node-env: link:dep-node-env
dep-not-js: link:dep-not-js
dep-with-dynamic-import: link:dep-with-dynamic-import
lodash-es: 4.17.21
@@ -371,6 +373,9 @@ importers:
dependencies:
react: 17.0.2
+ packages/playground/optimize-deps/dep-node-env:
+ specifiers: {}
+
packages/playground/optimize-deps/dep-not-js:
specifiers: {}
From 7f535aca8e8683506b2535c3256292abce7b0615 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Thu, 28 Apr 2022 03:43:27 +0900
Subject: [PATCH 041/107] chore(css): catch postcss config error (fix #2793)
(#7934)
---
packages/vite/src/node/plugins/css.ts | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index fef1b6cb7ac515..f310abc9bc7c56 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -942,14 +942,22 @@ async function resolvePostcssConfig(
plugins: inlineOptions.plugins || []
}
} else {
+ const searchPath =
+ typeof inlineOptions === 'string' ? inlineOptions : config.root
try {
- const searchPath =
- typeof inlineOptions === 'string' ? inlineOptions : config.root
// @ts-ignore
result = await postcssrc({}, searchPath)
} catch (e) {
if (!/No PostCSS Config found/.test(e.message)) {
- throw e
+ if (e instanceof Error) {
+ const { name, message, stack } = e
+ e.name = 'Failed to load PostCSS config'
+ e.message = `Failed to load PostCSS config (searchPath: ${searchPath}): [${name}] ${message}\n${stack}`
+ e.stack = '' // add stack to message to retain stack
+ throw e
+ } else {
+ throw new Error(`Failed to load PostCSS config: ${e}`)
+ }
}
result = null
}
From 274c10eb9e9451620981da808e143bc50b8c2a38 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Thu, 28 Apr 2022 13:45:55 +0800
Subject: [PATCH 042/107] fix(css): support postcss.config.ts (#7935)
---
packages/playground/tailwind/package.json | 3 ++-
.../tailwind/{postcss.config.js => postcss.config.ts} | 2 +-
packages/vite/rollup.config.js | 5 +++++
pnpm-lock.yaml | 2 ++
4 files changed, 10 insertions(+), 2 deletions(-)
rename packages/playground/tailwind/{postcss.config.js => postcss.config.ts} (85%)
diff --git a/packages/playground/tailwind/package.json b/packages/playground/tailwind/package.json
index ff79908d386e96..1feeb8dfb89e31 100644
--- a/packages/playground/tailwind/package.json
+++ b/packages/playground/tailwind/package.json
@@ -15,6 +15,7 @@
"vue-router": "^4.0.0"
},
"devDependencies": {
- "@vitejs/plugin-vue": "workspace:*"
+ "@vitejs/plugin-vue": "workspace:*",
+ "ts-node": "^10.4.0"
}
}
diff --git a/packages/playground/tailwind/postcss.config.js b/packages/playground/tailwind/postcss.config.ts
similarity index 85%
rename from packages/playground/tailwind/postcss.config.js
rename to packages/playground/tailwind/postcss.config.ts
index b73493f7f96fae..381d8cbd107f81 100644
--- a/packages/playground/tailwind/postcss.config.js
+++ b/packages/playground/tailwind/postcss.config.ts
@@ -1,4 +1,4 @@
-// postcss.config.js
+// postcss.config.ts
module.exports = {
plugins: {
tailwindcss: { config: __dirname + '/tailwind.config.js' },
diff --git a/packages/vite/rollup.config.js b/packages/vite/rollup.config.js
index 31ab56cd07e02e..93f4f33bdec398 100644
--- a/packages/vite/rollup.config.js
+++ b/packages/vite/rollup.config.js
@@ -171,6 +171,11 @@ const createNodeConfig = (isProduction) => {
'lilconfig/dist/index.js': {
pattern: /: require,/g,
replacement: `: eval('require'),`
+ },
+ // postcss-load-config calls require after register ts-node
+ 'postcss-load-config/src/index.js': {
+ src: `require(configFile)`,
+ replacement: `eval('require')(configFile)`
}
}),
commonjs({
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a0ee11e84690b1..0f0711811935b6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -661,6 +661,7 @@ importers:
'@vitejs/plugin-vue': workspace:*
autoprefixer: ^10.4.0
tailwindcss: ^2.2.19
+ ts-node: ^10.4.0
vue: ^3.2.25
vue-router: ^4.0.0
dependencies:
@@ -670,6 +671,7 @@ importers:
vue-router: 4.0.12_vue@3.2.26
devDependencies:
'@vitejs/plugin-vue': link:../../plugin-vue
+ ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
packages/playground/tailwind-sourcemap:
specifiers:
From 71b1443aa56c1e28959eaa40dc8a5fed652480c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Sat, 30 Apr 2022 03:23:51 +0900
Subject: [PATCH 043/107] chore: add core.symlinks description to
CONTRIBUTING.md (#7962)
---
CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c7020c97a84c80..bed97a0d7d4300 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -69,7 +69,7 @@ And re-run `pnpm install` to link the package.
Each package under `packages/playground/` contains a `__tests__` directory. The tests are run using [Jest](https://jestjs.io/) + [Playwright](https://playwright.dev/) with custom integrations to make writing tests simple. The detailed setup is inside `jest.config.js` and `scripts/jest*` files.
-Before running the tests, make sure that [Vite has been built](#repo-setup). On Windows, you may want to [activate Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) to solve [issues with symlink creation for non-admins](https://github.com/vitejs/vite/issues/7390).
+Before running the tests, make sure that [Vite has been built](#repo-setup). On Windows, you may want to [activate Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) to solve [issues with symlink creation for non-admins](https://github.com/vitejs/vite/issues/7390). Also you may want to [set git `core.symlinks` to `true` to solve issues with symlinks in git](https://github.com/vitejs/vite/issues/5242).
Each test can be run under either dev server mode or build mode.
From f7d2d713befe916c4d84b5e1705e20386948a61f Mon Sep 17 00:00:00 2001
From: patak
Date: Sat, 30 Apr 2022 06:13:30 +0200
Subject: [PATCH 044/107] fix: inject esbuild helpers in IIFE and UMD wrappers
(#7948)
---
packages/playground/lib/__tests__/lib.spec.ts | 12 +++++++++
packages/playground/lib/src/main.js | 3 +++
packages/vite/src/node/plugins/esbuild.ts | 25 +++++++++++++++++++
3 files changed, 40 insertions(+)
diff --git a/packages/playground/lib/__tests__/lib.spec.ts b/packages/playground/lib/__tests__/lib.spec.ts
index 382fb16510ce6f..f1e93e90d8357b 100644
--- a/packages/playground/lib/__tests__/lib.spec.ts
+++ b/packages/playground/lib/__tests__/lib.spec.ts
@@ -9,10 +9,22 @@ if (isBuild) {
test('umd', async () => {
expect(await page.textContent('.umd')).toBe('It works')
+ const code = fs.readFileSync(
+ path.join(testDir, 'dist/my-lib-custom-filename.umd.js'),
+ 'utf-8'
+ )
+ // esbuild helpers are injected inside of the UMD wrapper
+ expect(code).toMatch(/^\(function\(/)
})
test('iife', async () => {
expect(await page.textContent('.iife')).toBe('It works')
+ const code = fs.readFileSync(
+ path.join(testDir, 'dist/my-lib-custom-filename.iife.js'),
+ 'utf-8'
+ )
+ // esbuild helpers are injected inside of the IIFE wrapper
+ expect(code).toMatch(/^var MyLib=function\(\){"use strict";/)
})
test('Library mode does not include `preload`', async () => {
diff --git a/packages/playground/lib/src/main.js b/packages/playground/lib/src/main.js
index 2422edf5829a0e..cb2fb3b842dc4f 100644
--- a/packages/playground/lib/src/main.js
+++ b/packages/playground/lib/src/main.js
@@ -1,3 +1,6 @@
export default function myLib(sel) {
+ // Force esbuild spread helpers (https://github.com/evanw/esbuild/issues/951)
+ console.log({ ...'foo' })
+
document.querySelector(sel).textContent = 'It works'
}
diff --git a/packages/vite/src/node/plugins/esbuild.ts b/packages/vite/src/node/plugins/esbuild.ts
index 9e8bae24424d76..bc4a1f780a54d5 100644
--- a/packages/vite/src/node/plugins/esbuild.ts
+++ b/packages/vite/src/node/plugins/esbuild.ts
@@ -26,6 +26,11 @@ import { searchForWorkspaceRoot } from '..'
const debug = createDebugger('vite:esbuild')
+const INJECT_HELPERS_IIFE_RE =
+ /(.*)(var [^\s]+=function\(.*\){"use strict";)(.*)/
+const INJECT_HELPERS_UMD_RE =
+ /(.*)(\(function\(.*\){.+amd.+function\(.*\){"use strict";)(.*)/
+
let server: ViteDevServer
export interface ESBuildOptions extends TransformOptions {
@@ -254,6 +259,26 @@ export const buildEsbuildPlugin = (config: ResolvedConfig): Plugin => {
}
: undefined)
})
+
+ if (config.build.lib) {
+ // #7188, esbuild adds helpers out of the UMD and IIFE wrappers, and the
+ // names are minified potentially causing collision with other globals.
+ // We use a regex to inject the helpers inside the wrappers.
+ // We don't need to create a MagicString here because both the helpers and
+ // the headers don't modify the sourcemap
+ const injectHelpers =
+ opts.format === 'umd'
+ ? INJECT_HELPERS_UMD_RE
+ : opts.format === 'iife'
+ ? INJECT_HELPERS_IIFE_RE
+ : undefined
+ if (injectHelpers) {
+ res.code = res.code.replace(
+ injectHelpers,
+ (_, helpers, header, rest) => header + helpers + rest
+ )
+ }
+ }
return res
}
}
From 2b4aab0bf45e9fb67aa8f5453a3db6beb7519c9f Mon Sep 17 00:00:00 2001
From: Tedy <1197633750@qq.com>
Date: Sat, 30 Apr 2022 12:14:16 +0800
Subject: [PATCH 045/107] chore: fix typo (#7967)
---
CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bed97a0d7d4300..621f8de145835f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -42,7 +42,7 @@ Some errors are masked and hidden away because of the layers of abstraction and
1. In the sources panel in the right column, click the play button to resume execution and allow the tests to run which will open a Chromium instance.
-1. Focusing the Chomium instance, you can open the browser devtools and inspect the console there to find the underlying problems.
+1. Focusing the Chromium instance, you can open the browser devtools and inspect the console there to find the underlying problems.
1. To close everything, just stop the test process back in your terminal.
From a9fa60b37e373adbf240b184fa801fa19aacfcf8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Sat, 30 Apr 2022 13:15:45 +0900
Subject: [PATCH 046/107] chore: bump vue in ssr-vue (#7965)
---
packages/playground/ssr-vue/package.json | 2 +-
pnpm-lock.yaml | 37 ++++++++++++++----------
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/packages/playground/ssr-vue/package.json b/packages/playground/ssr-vue/package.json
index 4a385336a97603..02aa3b89bc0dbb 100644
--- a/packages/playground/ssr-vue/package.json
+++ b/packages/playground/ssr-vue/package.json
@@ -15,7 +15,7 @@
},
"dependencies": {
"example-external-component": "file:example-external-component",
- "vue": "^3.2.25",
+ "vue": "^3.2.33",
"vue-router": "^4.0.0",
"vuex": "^4.0.2"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0f0711811935b6..73be476b1c911b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -622,14 +622,14 @@ importers:
example-external-component: file:example-external-component
express: ^4.17.1
serve-static: ^1.14.1
- vue: ^3.2.25
+ vue: ^3.2.33
vue-router: ^4.0.0
vuex: ^4.0.2
dependencies:
example-external-component: link:example-external-component
- vue: 3.2.26
- vue-router: 4.0.12_vue@3.2.26
- vuex: 4.0.2_vue@3.2.26
+ vue: 3.2.33
+ vue-router: 4.0.12_vue@3.2.33
+ vuex: 4.0.2_vue@3.2.33
devDependencies:
'@vitejs/plugin-vue': link:../../plugin-vue
'@vitejs/plugin-vue-jsx': link:../../plugin-vue-jsx
@@ -2893,7 +2893,6 @@ packages:
'@vue/shared': 3.2.33
estree-walker: 2.0.2
source-map: 0.6.1
- dev: true
/@vue/compiler-dom/3.2.26:
resolution: {integrity: sha512-smBfaOW6mQDxcT3p9TKT6mE22vjxjJL50GFVJiI0chXYGU/xzC05QRGrW3HHVuJrmLTLx5zBhsZ2dIATERbarg==}
@@ -2912,7 +2911,6 @@ packages:
dependencies:
'@vue/compiler-core': 3.2.33
'@vue/shared': 3.2.33
- dev: true
/@vue/compiler-sfc/3.2.26:
resolution: {integrity: sha512-ePpnfktV90UcLdsDQUh2JdiTuhV0Skv2iYXxfNMOK/F3Q+2BO0AulcVcfoksOpTJGmhhfosWfMyEaEf0UaWpIw==}
@@ -2955,7 +2953,6 @@ packages:
magic-string: 0.25.7
postcss: 8.4.12
source-map: 0.6.1
- dev: true
/@vue/compiler-ssr/3.2.26:
resolution: {integrity: sha512-2mywLX0ODc4Zn8qBoA2PDCsLEZfpUGZcyoFRLSOjyGGK6wDy2/5kyDOWtf0S0UvtoyVq95OTSGIALjZ4k2q/ag==}
@@ -2974,7 +2971,6 @@ packages:
dependencies:
'@vue/compiler-dom': 3.2.33
'@vue/shared': 3.2.33
- dev: true
/@vue/devtools-api/6.0.0-beta.21.1:
resolution: {integrity: sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw==}
@@ -3006,7 +3002,6 @@ packages:
'@vue/shared': 3.2.33
estree-walker: 2.0.2
magic-string: 0.25.7
- dev: true
/@vue/reactivity/3.2.26:
resolution: {integrity: sha512-h38bxCZLW6oFJVDlCcAiUKFnXI8xP8d+eO0pcDxx+7dQfSPje2AO6M9S9QO6MrxQB7fGP0DH0dYQ8ksf6hrXKQ==}
@@ -3022,7 +3017,6 @@ packages:
resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==}
dependencies:
'@vue/shared': 3.2.33
- dev: true
/@vue/runtime-core/3.2.26:
resolution: {integrity: sha512-BcYi7qZ9Nn+CJDJrHQ6Zsmxei2hDW0L6AB4vPvUQGBm2fZyC0GXd/4nVbyA2ubmuhctD5RbYY8L+5GUJszv9mQ==}
@@ -3041,7 +3035,6 @@ packages:
dependencies:
'@vue/reactivity': 3.2.33
'@vue/shared': 3.2.33
- dev: true
/@vue/runtime-dom/3.2.26:
resolution: {integrity: sha512-dY56UIiZI+gjc4e8JQBwAifljyexfVCkIAu/WX8snh8vSOt/gMSEGwPRcl2UpYpBYeyExV8WCbgvwWRNt9cHhQ==}
@@ -3063,7 +3056,6 @@ packages:
'@vue/runtime-core': 3.2.33
'@vue/shared': 3.2.33
csstype: 2.6.19
- dev: true
/@vue/server-renderer/3.2.26_vue@3.2.26:
resolution: {integrity: sha512-Jp5SggDUvvUYSBIvYEhy76t4nr1vapY/FIFloWmQzn7UxqaHrrBpbxrqPcTrSgGrcaglj0VBp22BKJNre4aA1w==}
@@ -3091,7 +3083,6 @@ packages:
'@vue/compiler-ssr': 3.2.33
'@vue/shared': 3.2.33
vue: 3.2.33
- dev: true
/@vue/shared/3.2.26:
resolution: {integrity: sha512-vPV6Cq+NIWbH5pZu+V+2QHE9y1qfuTq49uNWw4f7FDEeZaDU2H2cx5jcUZOAKW7qTrUS4k6qZPbMy1x4N96nbA==}
@@ -3101,7 +3092,6 @@ packages:
/@vue/shared/3.2.33:
resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==}
- dev: true
/@wessberg/stringutil/1.0.19:
resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==}
@@ -9537,6 +9527,15 @@ packages:
vue: 3.2.26
dev: false
+ /vue-router/4.0.12_vue@3.2.33:
+ resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==}
+ peerDependencies:
+ vue: ^3.0.0
+ dependencies:
+ '@vue/devtools-api': 6.0.0-beta.21.1
+ vue: 3.2.33
+ dev: false
+
/vue/3.2.26:
resolution: {integrity: sha512-KD4lULmskL5cCsEkfhERVRIOEDrfEL9CwAsLYpzptOGjaGFNWo3BQ9g8MAb7RaIO71rmVOziZ/uEN/rHwcUIhg==}
dependencies:
@@ -9563,7 +9562,6 @@ packages:
'@vue/runtime-dom': 3.2.33
'@vue/server-renderer': 3.2.33_vue@3.2.33
'@vue/shared': 3.2.33
- dev: true
/vuex/4.0.2_vue@3.2.26:
resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==}
@@ -9574,6 +9572,15 @@ packages:
vue: 3.2.26
dev: false
+ /vuex/4.0.2_vue@3.2.33:
+ resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==}
+ peerDependencies:
+ vue: ^3.0.2
+ dependencies:
+ '@vue/devtools-api': 6.0.0-beta.21.1
+ vue: 3.2.33
+ dev: false
+
/w3c-hr-time/1.0.2:
resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
dependencies:
From a30a5489ccac56ec668546af840984367c356a38 Mon Sep 17 00:00:00 2001
From: yoho
Date: Sat, 30 Apr 2022 12:19:24 +0800
Subject: [PATCH 047/107] fix: inline style hmr, transform style code inplace
(#7869)
---
.../assets/__tests__/assets.spec.ts | 7 +-
packages/playground/assets/index.html | 20 +++++-
.../css-sourcemap/__tests__/serve.spec.ts | 62 ------------------
packages/playground/hmr/__tests__/hmr.spec.ts | 12 +++-
packages/playground/hmr/icon.png | Bin 0 -> 3395 bytes
packages/playground/hmr/index.html | 9 +++
packages/playground/ssr-html/index.html | 5 ++
packages/vite/src/node/plugins/css.ts | 9 ++-
.../src/node/server/middlewares/indexHtml.ts | 41 ++++++++++--
9 files changed, 91 insertions(+), 74 deletions(-)
create mode 100644 packages/playground/hmr/icon.png
diff --git a/packages/playground/assets/__tests__/assets.spec.ts b/packages/playground/assets/__tests__/assets.spec.ts
index 75c0e57952db24..19dd52f71e114a 100644
--- a/packages/playground/assets/__tests__/assets.spec.ts
+++ b/packages/playground/assets/__tests__/assets.spec.ts
@@ -1,4 +1,3 @@
-import { createHash } from 'crypto'
import {
findAssetFile,
getBg,
@@ -296,6 +295,11 @@ describe('css and assets in css in build watch', () => {
}
})
+test('inline style test', async () => {
+ expect(await getBg('.inline-style')).toMatch(assetMatch)
+ expect(await getBg('.style-url-assets')).toMatch(assetMatch)
+})
+
if (!isBuild) {
test('@import in html style tag hmr', async () => {
await untilUpdated(() => getColor('.import-css'), 'rgb(0, 136, 255)')
@@ -304,6 +308,7 @@ if (!isBuild) {
(code) => code.replace('#0088ff', '#00ff88'),
true
)
+ await page.waitForNavigation()
await untilUpdated(() => getColor('.import-css'), 'rgb(0, 255, 136)')
})
}
diff --git a/packages/playground/assets/index.html b/packages/playground/assets/index.html
index 6678a2da7c2106..99c2c2fe69ae70 100644
--- a/packages/playground/assets/index.html
+++ b/packages/playground/assets/index.html
@@ -207,7 +207,10 @@ url
background-size: 10px 10px;
}
-
+
inline style
use style class
@@ -235,6 +238,21 @@
import module css
+
style in svg
+
+
diff --git a/packages/playground/css-sourcemap/__tests__/serve.spec.ts b/packages/playground/css-sourcemap/__tests__/serve.spec.ts
index 11e33a78af8424..becd792e82293a 100644
--- a/packages/playground/css-sourcemap/__tests__/serve.spec.ts
+++ b/packages/playground/css-sourcemap/__tests__/serve.spec.ts
@@ -17,68 +17,6 @@ if (!isBuild) {
throw new Error('Not found')
}
- test('inline css', async () => {
- const css = await getStyleTagContentIncluding('.inline ')
- const map = extractSourcemap(css)
- expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(`
- Object {
- "mappings": "AAGO;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC;",
- "sources": Array [
- "/root/index.html",
- ],
- "sourcesContent": Array [
- "
-
-
-
-
-
-
CSS Sourcemap
-
-
<inline>
-
-
<linked>: no import
-
<linked>: with import
-
-
<imported>: no import
-
<imported>: with import
-
-
<imported sass>
-
<imported sass> with module
-
-
<imported less> with string additionalData
-
-
<imported stylus>
-
-
-
-
-
- ",
- ],
- "version": 3,
- }
- `)
- })
-
test('linked css', async () => {
const res = await page.request.get(
new URL('./linked.css', page.url()).href,
diff --git a/packages/playground/hmr/__tests__/hmr.spec.ts b/packages/playground/hmr/__tests__/hmr.spec.ts
index 40b2bdf31b7956..34612ee1e7d3d5 100644
--- a/packages/playground/hmr/__tests__/hmr.spec.ts
+++ b/packages/playground/hmr/__tests__/hmr.spec.ts
@@ -1,4 +1,4 @@
-import { isBuild, editFile, untilUpdated } from '../../testUtils'
+import { isBuild, editFile, untilUpdated, getBg } from '../../testUtils'
test('should render', async () => {
expect(await page.textContent('.app')).toBe('1')
@@ -195,6 +195,16 @@ if (!isBuild) {
expect(await btn.textContent()).toBe('Counter 1')
})
+ test('css in html hmr', async () => {
+ await page.goto(viteTestUrl)
+ expect(await getBg('.import-image')).toMatch('icon')
+ await page.goto(viteTestUrl + '/foo/')
+ expect(await getBg('.import-image')).toMatch('icon')
+ editFile('index.html', (code) => code.replace('url("./icon.png")', ''))
+ await page.waitForNavigation()
+ expect(await getBg('.import-image')).toMatch('')
+ })
+
test('HTML', async () => {
await page.goto(viteTestUrl + '/counter/index.html')
let btn = await page.$('button')
diff --git a/packages/playground/hmr/icon.png b/packages/playground/hmr/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..4388bfdca3d4d778d2f25a5861599f8f19a1177c
GIT binary patch
literal 3395
zcmaJ^dpy(o8y`aCQb$M{Gf69KbDPa&mJzw-a@=pT&3zZ!m|LaXQi-Stqav};(cC3M
zM}?d^vCOT0I;N7*N=fvaPM!1n
KF&@kJcVR{+lVnpAW=nV5g|H(io-_}8K6*NcqG{pEa>P0gCYr*U~dy=m^0Oe
z7!hfoL?e16xp?A}qVY%q7;OczNI;1QNJIt>lt79h(@_bQ;BUMr(S5@W1%tkYFrqEN
ze~R*PJ`A#<(1;)t15+!P8!LgB{xFgOZ^M8V*o?+;j%
zjYbGVxnu3V=Mq_#;0OkTih@F!Or`4OCV95o&O>x)4w-L)G}xSjtYevz@Q}3MqS^c
z=?r(`-!lF&n(moMB|_babV?izFPcY~_7AYAcmJMfBT%FUg{9!*NJKKj0c!~sc?<}V
z1e6KP(DZx{!kk~eI~MsL4MCDJ0}i3B?ug#`N698}~#
z2*4l^2$-pjof!hNA>QZ!0*1A7WRL!P>~qu#$^9z(m!0H
z_1U=owYMVUugxctMe9xz?e+DZ*aiSVrr80D@l4=N_`ae9j3}c&b|M6c^Scwv42`
zs@=W24^$JB&ZnFHq$6hgI?L<)7qPYdpMFDMm5r*2NZZ#;hNLU%;UMB}lBX&zgLa?a
z^q;(Rv!#SE3*p7_>9&tfp}FA;>iv!v_p|!wd;>mn_^936qi>ng*>kFww|a^}qJTRK
znA`1@E!Y|;+Yc3d2h!d=ZZPN&V<0ppw;;&qMLk
zs8GnX$?aj;YSC%6t7ryd|Y^9Qc9F|ZTi%4o)Pe;3_TsRPSb<*4*B>QW0CG(vI
z>y^yW0M4}!mMf3!4z1fO+L~w1pRfz#LUd11)b_hvE5tyLhoKw+{E?+obcpiN*0LU8
z+U$wi{2kPnH5r4PMp&T>SNDmqNn*??;K@i|?J!$E9U15d+24QdeF^V4qsj`m?4KR1
zo+530cOpA+R_oI`YVpGHn|g}#XF^ggiIq#Q$r!(y$dA${=6vmyc6@muL~LaHK9;_U
zM6ianv&69LoqCIN7iY5Nk~w}(YQ_@J^_HeBva+0R_9?+f_e~4spT$RYhq*aCNMrO$
zANmbE3u(ID)?XQ7A$ZW2RXgnhnaPNg>o$T&swba`imtoDTfX-ox*^fNY~&|)r*EP9
zDjZoQYgH3!&1P!g6r^)r`PMo_8VTHjZZPV`=6oa69GQI3%5zMi(iWaa;uA~o4%J^)
zTvx7E_z4|v`9%k4yvRr!>a=q&CRMXs)EtsGU0BaC=tm1rZCwe$9zABiZcVuVM#f_O
zEcY-xE#-a$$qK0SptY*~;s&%&{MxjMyzUJK)Ro2HOShN#i
zdmd(sJrh3Lv2smAU0Uf)tzU1B4BTO~oK-hJav|YH;*QbtQMXN4?1g)YYj*9zWn;WS
zf1=g6CNYN>p%StDbcLOA=ocrq)8-NU#|p81bRF3}y8w-f<_em-45$3L1@~e-{F^+_
zxkl==Ne8Vus0W)|3%}tC9-OE+5bT+_6f|Q*jZeS-JXh8E3%`TziByq04bJ6a1d7>H
z;RYj*F8l4WsVGR4UERkbN(jGxSrPD|EDl*hJV;*`c%6d`F)1W~@pz_2+lh
zX8Y6jap-cIJ8qTxvL@N3GJ-7LiuUjog<%wMNATus+JP&V$uD}fv7BWwUYMmGCIMGj
z{8~4f?dWx0LX>Y-qi=!s6hE7+ubMW78h!`|R=KV%8FK
zd9Sek(lv`S^5+9xYR`{X>yATq2OfeBt(}qyYA3{aLq|2d#^vB$R4#D)8lf9t!Y;+P
z_6W7^{$}!gg?;4KjI39niyeEj#~ble%M>uw{nu#b`CHdh{gg9q+d8BrP^@~lDBI@d
z7PMHwiV3pH(=wk3x<4;S!E(K=DJ>2!RAm*jrN_O@8jfGh%FKDK2Jufl-PsHs+4lH9
zDVKmh4;9;;mTf^PV;hRc
zGZ1`0sMNGF2Q#}5#R#bM)tW_A=dSME$5(a2i}Ihk4u>_zBv%vI*myG)hHABMyPQj@
zM)WDfPOZ2LDPxwQFP3s9qT2x$(n(71$z;Qxd;tB$vX<;ZX<>Nsq(dQ>mhaX*MIFCf
zb0p{bXj}2S`bD#rpHdTdNv!#{OR);Jsq8JJ*l1;(96~iudG#aZgj0Qo3WuL}YVZek
z(SM)#(x7!4_(saUC6(W&b$isUNe3O4T~w_02Y#{Bs)T0h-r|>RiXN`FZb$o39EXiL
z*RJ#X)VH`&nA(%q0JE_w3>ZQUex|DOv-oSu#vm
zNS0_maoG$tauoZ;v)jT-lc=;EaufphG>)@S1@N~a5rr)*{bw*r-?o*rX6>8&zHcc*`CR~1#1jSw~d|R
zwXi;)w4*Di+agG^bKz87RbPQwK!stmYMB_=wK@dlhtu9wFD@&T*Rq=*u7gj@78PR;rI9VW}r3UUH0!vA30jS
z9UC??hXtMukpyu2>X*~v8;@W;`1_RbZHs(`$_8)1P;u9mwi4Rc0`sT=V!Y1o!I{Qq
zTuHw3d^RR%uB5r{Ro1<>F8RPbj_b`$75gQNggjNu*H}~8;-HRVpN?w*H+KzOf}(^U
z)d8)S!qI%E&Bf@3i1yh^Px1-jguC#MCUGbC&Rv0bg=h2Ms1B6?sLoFXEM>DdK;(^h
zBZ=9iZF8CfgvLGLDUDAC>!hByzwDss&zxy_dFFE+ps2snc=RE+p+zrQ*E_9YM0{{Y
z!fhZyCOLFWcsB~(RGiu+Zuz#hisxiIQ_CT@V-K)JH
skXH~y@{pZ%H2RLzTI|$xG-@5%4N!D?9MV?={PtVpVC#adKM-=_zfn5szW@LL
literal 0
HcmV?d00001
diff --git a/packages/playground/hmr/index.html b/packages/playground/hmr/index.html
index 0add7c26011a01..65a2ed381b027a 100644
--- a/packages/playground/hmr/index.html
+++ b/packages/playground/hmr/index.html
@@ -1,5 +1,13 @@
+
@@ -8,3 +16,4 @@
+
diff --git a/packages/playground/ssr-html/index.html b/packages/playground/ssr-html/index.html
index c37dcc7e366ae8..995c828caae1a8 100644
--- a/packages/playground/ssr-html/index.html
+++ b/packages/playground/ssr-html/index.html
@@ -4,6 +4,11 @@
SSR HTML
+
SSR Dynamic HTML
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index f310abc9bc7c56..8b01d48c696465 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -301,6 +301,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
const inlined = inlineRE.test(id)
const modules = cssModulesCache.get(config)!.get(id)
+ const isHTMLProxy = htmlProxyRE.test(id)
const modulesCode =
modules && dataToEsm(modules, { namedExports: true, preferConst: true })
@@ -323,6 +324,10 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
cssContent = getCodeWithSourcemap('css', css, sourcemap)
}
+ if (isHTMLProxy) {
+ return cssContent
+ }
+
return [
`import { updateStyle as __vite__updateStyle, removeStyle as __vite__removeStyle } from ${JSON.stringify(
path.posix.join(config.base, CLIENT_PUBLIC_PATH)
@@ -347,7 +352,6 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
// and then use the cache replace inline-style-flag when `generateBundle` in vite:build-html plugin
const inlineCSS = inlineCSSRE.test(id)
const query = parseRequest(id)
- const isHTMLProxy = htmlProxyRE.test(id)
if (inlineCSS && isHTMLProxy) {
addToHTMLProxyTransformResult(
`${cleanUrl(id)}_${Number.parseInt(query!.index)}`,
@@ -718,12 +722,11 @@ async function compileCSS(
postcssConfig && postcssConfig.plugins ? postcssConfig.plugins.slice() : []
if (needInlineImport) {
- const isHTMLProxy = htmlProxyRE.test(id)
postcssPlugins.unshift(
(await import('postcss-import')).default({
async resolve(id, basedir) {
const publicFile = checkPublicFile(id, config)
- if (isHTMLProxy && publicFile) {
+ if (publicFile) {
return publicFile
}
diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts
index ca2538bd9507ed..8638492b1c2001 100644
--- a/packages/vite/src/node/server/middlewares/indexHtml.ts
+++ b/packages/vite/src/node/server/middlewares/indexHtml.ts
@@ -16,14 +16,25 @@ import {
import type { ResolvedConfig, ViteDevServer } from '../..'
import { send } from '../send'
import { CLIENT_PUBLIC_PATH, FS_PREFIX } from '../../constants'
-import { cleanUrl, fsPathFromId, normalizePath, injectQuery } from '../../utils'
+import {
+ cleanUrl,
+ fsPathFromId,
+ normalizePath,
+ injectQuery,
+ ensureWatchedFile
+} from '../../utils'
import type { ModuleGraph } from '../moduleGraph'
+interface AssetNode {
+ start: number
+ end: number
+ code: string
+}
+
export function createDevHtmlTransformFn(
server: ViteDevServer
): (url: string, html: string, originalUrl: string) => Promise {
const [preHooks, postHooks] = resolveHtmlTransforms(server.config.plugins)
-
return (url: string, html: string, originalUrl: string): Promise => {
return applyHtmlTransforms(html, [...preHooks, devHtmlHook, ...postHooks], {
path: url,
@@ -94,14 +105,15 @@ const devHtmlHook: IndexHtmlTransformHook = async (
html,
{ path: htmlPath, filename, server, originalUrl }
) => {
- const { config, moduleGraph } = server!
+ const { config, moduleGraph, watcher } = server!
const base = config.base || '/'
const s = new MagicString(html)
let inlineModuleIndex = -1
const filePath = cleanUrl(htmlPath)
+ const styleUrl: AssetNode[] = []
- const addInlineModule = (node: ElementNode, ext: 'js' | 'css') => {
+ const addInlineModule = (node: ElementNode, ext: 'js') => {
inlineModuleIndex++
const url = filePath.replace(normalizePath(config.root), '')
@@ -128,7 +140,6 @@ const devHtmlHook: IndexHtmlTransformHook = async (
if (module) {
server?.moduleGraph.invalidateModule(module)
}
-
s.overwrite(
node.loc.start.offset,
node.loc.end.offset,
@@ -154,7 +165,12 @@ const devHtmlHook: IndexHtmlTransformHook = async (
}
if (node.tag === 'style' && node.children.length) {
- addInlineModule(node, 'css')
+ const children = node.children[0] as TextNode
+ styleUrl.push({
+ start: children.loc.start.offset,
+ end: children.loc.end.offset,
+ code: children.content
+ })
}
// elements with [href/src] attrs
@@ -172,6 +188,19 @@ const devHtmlHook: IndexHtmlTransformHook = async (
}
})
+ await Promise.all(
+ styleUrl.map(async ({ start, end, code }, index) => {
+ const url = filename + `?html-proxy&${index}.css`
+
+ // ensure module in graph after successful load
+ const mod = await moduleGraph.ensureEntryFromUrl(url, false)
+ ensureWatchedFile(watcher, mod.file, config.root)
+
+ const result = await server!.pluginContainer.transform(code, url)
+ s.overwrite(start, end, result?.code || '')
+ })
+ )
+
html = s.toString()
return {
From aebaf66cdb5bd9c39225462621e6f55275790463 Mon Sep 17 00:00:00 2001
From: Anthony Campolo <12433465+ajcwebdev@users.noreply.github.com>
Date: Sat, 30 Apr 2022 13:20:23 -0500
Subject: [PATCH 048/107] docs: grammar fix in getting started guide (#7972)
---
docs/guide/index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guide/index.md b/docs/guide/index.md
index ff0d3f21b90e65..5af7c29c17ac3c 100644
--- a/docs/guide/index.md
+++ b/docs/guide/index.md
@@ -113,7 +113,7 @@ Running `vite` starts the dev server using the current working directory as root
## Command Line Interface
-In a project where Vite is installed, you can use the `vite` binary in your npm scripts, or run it directly with `npx vite`. Here is the default npm scripts in a scaffolded Vite project:
+In a project where Vite is installed, you can use the `vite` binary in your npm scripts, or run it directly with `npx vite`. Here are the default npm scripts in a scaffolded Vite project:
```json5
From 891e7fc4fa3e047be43df5c1a4703cda4a4a1f54 Mon Sep 17 00:00:00 2001
From: TrickyPi <33021497+TrickyPi@users.noreply.github.com>
Date: Sun, 1 May 2022 03:11:37 +0800
Subject: [PATCH 049/107] fix(ssr): failed ssrLoadModule call throws same error
(#7177)
Co-authored-by: Rich Harris
---
packages/vite/src/node/server/moduleGraph.ts | 1 +
.../__tests__/fixtures/ssrModuleLoader-bad.js | 2 ++
.../ssr/__tests__/ssrModuleLoader.spec.ts | 29 +++++++++++++++++++
packages/vite/src/node/ssr/ssrModuleLoader.ts | 5 ++++
4 files changed, 37 insertions(+)
create mode 100644 packages/vite/src/node/ssr/__tests__/fixtures/ssrModuleLoader-bad.js
create mode 100644 packages/vite/src/node/ssr/__tests__/ssrModuleLoader.spec.ts
diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts
index 9c9f0d84bb738f..1d7ae407f110c5 100644
--- a/packages/vite/src/node/server/moduleGraph.ts
+++ b/packages/vite/src/node/server/moduleGraph.ts
@@ -33,6 +33,7 @@ export class ModuleNode {
transformResult: TransformResult | null = null
ssrTransformResult: TransformResult | null = null
ssrModule: Record | null = null
+ ssrError: Error | null = null
lastHMRTimestamp = 0
lastInvalidationTimestamp = 0
diff --git a/packages/vite/src/node/ssr/__tests__/fixtures/ssrModuleLoader-bad.js b/packages/vite/src/node/ssr/__tests__/fixtures/ssrModuleLoader-bad.js
new file mode 100644
index 00000000000000..a51a0519d34003
--- /dev/null
+++ b/packages/vite/src/node/ssr/__tests__/fixtures/ssrModuleLoader-bad.js
@@ -0,0 +1,2 @@
+export const bad = 1
+throw new Error('it is an expected error')
diff --git a/packages/vite/src/node/ssr/__tests__/ssrModuleLoader.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrModuleLoader.spec.ts
new file mode 100644
index 00000000000000..6a45a2b70509d0
--- /dev/null
+++ b/packages/vite/src/node/ssr/__tests__/ssrModuleLoader.spec.ts
@@ -0,0 +1,29 @@
+import { resolve } from 'path'
+import { createServer } from '../../index'
+
+const badjs = resolve(__dirname, './fixtures/ssrModuleLoader-bad.js')
+const THROW_MESSAGE = 'it is an expected error'
+
+test('always throw error when evaluating an wrong SSR module', async () => {
+ const viteServer = await createServer()
+ const spy = jest.spyOn(console, 'error').mockImplementation(() => {})
+ const expectedErrors = []
+ for (const i of [0, 1]) {
+ try {
+ await viteServer.ssrLoadModule(badjs)
+ } catch (e) {
+ expectedErrors.push(e)
+ }
+ }
+ await viteServer.close()
+ expect(expectedErrors).toHaveLength(2)
+ expect(expectedErrors[0]).toBe(expectedErrors[1])
+ expectedErrors.forEach((error) => {
+ expect(error?.message).toContain(THROW_MESSAGE)
+ })
+ expect(spy).toBeCalledTimes(1)
+ const [firstParameter] = spy.mock.calls[0]
+ expect(firstParameter).toContain('Error when evaluating SSR module')
+ expect(firstParameter).toContain(THROW_MESSAGE)
+ spy.mockClear()
+})
diff --git a/packages/vite/src/node/ssr/ssrModuleLoader.ts b/packages/vite/src/node/ssr/ssrModuleLoader.ts
index de31c6a20266c5..8b3a423f58aeab 100644
--- a/packages/vite/src/node/ssr/ssrModuleLoader.ts
+++ b/packages/vite/src/node/ssr/ssrModuleLoader.ts
@@ -77,6 +77,10 @@ async function instantiateModule(
const { moduleGraph } = server
const mod = await moduleGraph.ensureEntryFromUrl(url, true)
+ if (mod.ssrError) {
+ throw mod.ssrError
+ }
+
if (mod.ssrModule) {
return mod.ssrModule
}
@@ -202,6 +206,7 @@ async function instantiateModule(
ssrExportAll
)
} catch (e) {
+ mod.ssrError = e
if (e.stack && fixStacktrace !== false) {
const stacktrace = ssrRewriteStacktrace(e.stack, moduleGraph)
rebindErrorStacktrace(e, stacktrace)
From a5bdb9fa706850c45134c25b77aea2dee1ea03d4 Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Sun, 1 May 2022 03:28:39 +0800
Subject: [PATCH 050/107] feat(create-vite): scaffold directory with only .git
(#7971)
---
packages/create-vite/index.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/packages/create-vite/index.js b/packages/create-vite/index.js
index cc0a78639755bb..fceef9d9885a05 100755
--- a/packages/create-vite/index.js
+++ b/packages/create-vite/index.js
@@ -313,7 +313,8 @@ function copyDir(srcDir, destDir) {
}
function isEmpty(path) {
- return fs.readdirSync(path).length === 0
+ const files = fs.readdirSync(path)
+ return files.length === 0 || (files.length === 1 && files[0] === '.git')
}
function emptyDir(dir) {
From f6ae60db74e0fcdb8ecf47df5c8b6df86d2c3ad6 Mon Sep 17 00:00:00 2001
From: yoho
Date: Sun, 1 May 2022 14:47:34 +0800
Subject: [PATCH 051/107] fix: inline css hash (#7974)
---
packages/playground/html/inline/shared_a.html | 1 +
packages/playground/html/vite.config.js | 1 +
packages/vite/src/node/plugins/asset.ts | 2 +-
packages/vite/src/node/plugins/css.ts | 5 +++--
packages/vite/src/node/plugins/html.ts | 17 +++++++++--------
5 files changed, 15 insertions(+), 11 deletions(-)
create mode 100644 packages/playground/html/inline/shared_a.html
diff --git a/packages/playground/html/inline/shared_a.html b/packages/playground/html/inline/shared_a.html
new file mode 100644
index 00000000000000..31fbd8fcc34bdf
--- /dev/null
+++ b/packages/playground/html/inline/shared_a.html
@@ -0,0 +1 @@
+inline a
diff --git a/packages/playground/html/vite.config.js b/packages/playground/html/vite.config.js
index 1703e02cc05366..bfe48675cbc18f 100644
--- a/packages/playground/html/vite.config.js
+++ b/packages/playground/html/vite.config.js
@@ -17,6 +17,7 @@ module.exports = {
zeroJS: resolve(__dirname, 'zeroJS.html'),
noHead: resolve(__dirname, 'noHead.html'),
noBody: resolve(__dirname, 'noBody.html'),
+ inlinea: resolve(__dirname, 'inline/shared_a.html'),
inline1: resolve(__dirname, 'inline/shared-1.html'),
inline2: resolve(__dirname, 'inline/shared-2.html'),
inline3: resolve(__dirname, 'inline/unique.html'),
diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts
index 633438cf3cb0d4..f2eed2bc28bc5a 100644
--- a/packages/vite/src/node/plugins/asset.ts
+++ b/packages/vite/src/node/plugins/asset.ts
@@ -337,7 +337,7 @@ async function fileToBuiltUrl(
return url
}
-export function getAssetHash(content: Buffer): string {
+export function getAssetHash(content: Buffer | string): string {
return createHash('sha256').update(content).digest('hex').slice(0, 8)
}
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index 8b01d48c696465..cff7eaaf3e4c52 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -33,7 +33,8 @@ import {
getAssetFilename,
assetUrlRE,
fileToUrl,
- checkPublicFile
+ checkPublicFile,
+ getAssetHash
} from './asset'
import MagicString from 'magic-string'
import type * as PostCSS from 'postcss'
@@ -354,7 +355,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
const query = parseRequest(id)
if (inlineCSS && isHTMLProxy) {
addToHTMLProxyTransformResult(
- `${cleanUrl(id)}_${Number.parseInt(query!.index)}`,
+ `${getAssetHash(cleanUrl(id))}_${Number.parseInt(query!.index)}`,
css
)
return `export default ''`
diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts
index ed4250f1965869..c33811008ccb17 100644
--- a/packages/vite/src/node/plugins/html.ts
+++ b/packages/vite/src/node/plugins/html.ts
@@ -23,7 +23,8 @@ import {
checkPublicFile,
assetUrlRE,
urlToBuiltUrl,
- getAssetFilename
+ getAssetFilename,
+ getAssetHash
} from './asset'
import { isCSSRequest } from './css'
import { modulePreloadPolyfillId } from './modulePreloadPolyfill'
@@ -44,7 +45,7 @@ interface ScriptAssetsUrl {
}
const htmlProxyRE = /\?html-proxy=?[&inline\-css]*&index=(\d+)\.(js|css)$/
-const inlineCSSRE = /__VITE_INLINE_CSS__([^_]+_\d+)__/g
+const inlineCSSRE = /__VITE_INLINE_CSS__([a-z\d]{8}_\d+)__/g
// Do not allow preceding '.', but do allow preceding '...' for spread operations
const inlineImportRE =
/(?()
// HTML Proxy Transform result are stored by config
-// `${importer}_${query.index}` -> transformed css code
-// PS: key like `/vite/packages/playground/assets/index.html_1`
+// `${hash(importer)}_${query.index}` -> transformed css code
+// PS: key like `hash(/vite/packages/playground/assets/index.html)_1`)
export const htmlProxyResult = new Map()
export function htmlInlineProxyPlugin(config: ResolvedConfig): Plugin {
@@ -373,12 +374,12 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin {
addToHTMLProxyCache(config, filePath, inlineModuleIndex, { code })
// will transform with css plugin and cache result with css-post plugin
js += `\nimport "${id}?html-proxy&inline-css&index=${inlineModuleIndex}.css"`
-
+ const hash = getAssetHash(cleanUrl(id))
// will transform in `applyHtmlTransforms`
s.overwrite(
styleNode.loc.start.offset,
styleNode.loc.end.offset,
- `"__VITE_INLINE_CSS__${cleanUrl(id)}_${inlineModuleIndex}__"`,
+ `"__VITE_INLINE_CSS__${hash}_${inlineModuleIndex}__"`,
{ contentOnly: true }
)
}
@@ -392,12 +393,12 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin {
code: styleNode.content
})
js += `\nimport "${id}?html-proxy&inline-css&index=${inlineModuleIndex}.css"`
-
+ const hash = getAssetHash(cleanUrl(id))
// will transform in `applyHtmlTransforms`
s.overwrite(
styleNode.loc.start.offset,
styleNode.loc.end.offset,
- `__VITE_INLINE_CSS__${cleanUrl(id)}_${inlineModuleIndex}__`,
+ `__VITE_INLINE_CSS__${hash}_${inlineModuleIndex}__`,
{ contentOnly: true }
)
}
From 7f9f8f1f84b6fcf3cee45208f929050a842bd535 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Mon, 2 May 2022 03:51:18 +0900
Subject: [PATCH 052/107] fix(css): sourcemap crash with postcss (#7982)
---
packages/playground/vue-sourcemap/Css.vue | 11 ++++++
.../vue-sourcemap/__tests__/serve.spec.ts | 39 +++++++++++++++++--
.../playground/vue-sourcemap/package.json | 3 +-
.../vue-sourcemap/postcss.config.js | 3 ++
packages/vite/src/node/plugins/css.ts | 19 +++------
pnpm-lock.yaml | 2 +
6 files changed, 59 insertions(+), 18 deletions(-)
create mode 100644 packages/playground/vue-sourcemap/postcss.config.js
diff --git a/packages/playground/vue-sourcemap/Css.vue b/packages/playground/vue-sourcemap/Css.vue
index 19668de8d33965..4f677c7b84dfbd 100644
--- a/packages/playground/vue-sourcemap/Css.vue
+++ b/packages/playground/vue-sourcemap/Css.vue
@@ -2,6 +2,7 @@
<css>
<css> module
<css> scoped
+ <css> scoped with nested
+
+
diff --git a/packages/playground/vue-sourcemap/__tests__/serve.spec.ts b/packages/playground/vue-sourcemap/__tests__/serve.spec.ts
index 08b4c04face111..7dfa271deea322 100644
--- a/packages/playground/vue-sourcemap/__tests__/serve.spec.ts
+++ b/packages/playground/vue-sourcemap/__tests__/serve.spec.ts
@@ -80,7 +80,7 @@ if (!isBuild) {
const map = extractSourcemap(css)
expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(`
Object {
- "mappings": ";AAOA;EACE,UAAU;AACZ",
+ "mappings": ";AAQA;EACE,UAAU;AACZ",
"sources": Array [
"/root/Css.vue",
],
@@ -89,6 +89,7 @@ if (!isBuild) {
<css>
<css> module
<css> scoped
+ <css> scoped with nested
+
+
",
],
"version": 3,
@@ -120,7 +131,7 @@ if (!isBuild) {
const map = extractSourcemap(css)
expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(`
Object {
- "mappings": ";AAaA;EACE,UAAU;AACZ",
+ "mappings": ";AAcA;EACE,UAAU;AACZ",
"sources": Array [
"/root/Css.vue",
],
@@ -129,6 +140,7 @@ if (!isBuild) {
<css>
<css> module
<css> scoped
+ <css> scoped with nested
+
+
",
],
"version": 3,
@@ -160,7 +182,7 @@ if (!isBuild) {
const map = extractSourcemap(css)
expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(`
Object {
- "mappings": ";AAmBA;EACE,UAAU;AACZ",
+ "mappings": ";AAoBA;EACE,UAAU;AACZ",
"sources": Array [
"/root/Css.vue",
],
@@ -169,6 +191,7 @@ if (!isBuild) {
<css>
<css> module
<css> scoped
+ <css> scoped with nested
+
+
",
],
"version": 3,
diff --git a/packages/playground/vue-sourcemap/package.json b/packages/playground/vue-sourcemap/package.json
index 286940b01efa58..25bd2b725b7e65 100644
--- a/packages/playground/vue-sourcemap/package.json
+++ b/packages/playground/vue-sourcemap/package.json
@@ -11,7 +11,8 @@
"devDependencies": {
"@vitejs/plugin-vue": "workspace:*",
"less": "^4.1.2",
- "sass": "^1.43.4"
+ "sass": "^1.43.4",
+ "postcss-nested": "^5.0.6"
},
"dependencies": {
"vue": "^3.2.31"
diff --git a/packages/playground/vue-sourcemap/postcss.config.js b/packages/playground/vue-sourcemap/postcss.config.js
new file mode 100644
index 00000000000000..9ea26b495d91b5
--- /dev/null
+++ b/packages/playground/vue-sourcemap/postcss.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ plugins: [require('postcss-nested')]
+}
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index cff7eaaf3e4c52..b3ea3338cecc04 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -877,32 +877,23 @@ export function formatPostcssSourceMap(
): ExistingRawSourceMap {
const inputFileDir = path.dirname(file)
- const sources: string[] = []
- const sourcesContent: string[] = []
- for (const [i, source] of rawMap.sources.entries()) {
- // remove from sources, to prevent source map to be combined incorrectly
- if (source === '') continue
-
+ const sources = rawMap.sources.map((source) => {
const cleanSource = cleanUrl(decodeURIComponent(source))
// postcss returns virtual files
if (/^<.+>$/.test(cleanSource)) {
- sources.push(`\0${cleanSource}`)
- } else {
- sources.push(normalizePath(path.resolve(inputFileDir, cleanSource)))
+ return `\0${cleanSource}`
}
- if (rawMap.sourcesContent) {
- sourcesContent.push(rawMap.sourcesContent[i])
- }
- }
+ return normalizePath(path.resolve(inputFileDir, cleanSource))
+ })
return {
file,
mappings: rawMap.mappings,
names: rawMap.names,
sources,
- sourcesContent,
+ sourcesContent: rawMap.sourcesContent,
version: rawMap.version
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 73be476b1c911b..7c177126794187 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -730,6 +730,7 @@ importers:
specifiers:
'@vitejs/plugin-vue': workspace:*
less: ^4.1.2
+ postcss-nested: ^5.0.6
sass: ^1.43.4
vue: ^3.2.31
dependencies:
@@ -737,6 +738,7 @@ importers:
devDependencies:
'@vitejs/plugin-vue': link:../../plugin-vue
less: 4.1.2
+ postcss-nested: 5.0.6
sass: 1.45.1
packages/playground/wasm:
From 025eebf7e634e2fdc40fde02b5f82278d5ef05c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Mon, 2 May 2022 04:50:25 +0900
Subject: [PATCH 053/107] fix(css): dynamic import css in package fetches
removed js (fixes #7955, #6823) (#7969)
---
.../dynamic-import/__tests__/dynamic-import.spec.ts | 7 ++++++-
packages/playground/dynamic-import/index.html | 1 +
packages/playground/dynamic-import/nested/deps.js | 3 +++
packages/playground/dynamic-import/nested/index.js | 5 +++++
packages/playground/dynamic-import/package.json | 6 +++++-
packages/playground/dynamic-import/pkg/index.js | 1 +
packages/playground/dynamic-import/pkg/package.json | 7 +++++++
packages/playground/dynamic-import/pkg/pkg.css | 3 +++
packages/vite/src/node/plugins/importAnalysisBuild.ts | 5 ++++-
pnpm-lock.yaml | 6 ++++++
10 files changed, 41 insertions(+), 3 deletions(-)
create mode 100644 packages/playground/dynamic-import/nested/deps.js
create mode 100644 packages/playground/dynamic-import/pkg/index.js
create mode 100644 packages/playground/dynamic-import/pkg/package.json
create mode 100644 packages/playground/dynamic-import/pkg/pkg.css
diff --git a/packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts b/packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts
index c7157ef4652ec6..4730b5e990a1c3 100644
--- a/packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts
+++ b/packages/playground/dynamic-import/__tests__/dynamic-import.spec.ts
@@ -1,4 +1,4 @@
-import { isBuild, untilUpdated } from '../../testUtils'
+import { getColor, isBuild, untilUpdated } from '../../testUtils'
test('should load literal dynamic import', async () => {
await page.click('.baz')
@@ -59,3 +59,8 @@ test('should load dynamic import with css', async () => {
true
)
})
+
+test('should load dynamic import with css in package', async () => {
+ await page.click('.pkg-css')
+ await untilUpdated(() => getColor('.pkg-css'), 'blue', true)
+})
diff --git a/packages/playground/dynamic-import/index.html b/packages/playground/dynamic-import/index.html
index c87ef2a17f48d5..8e18204a7e4296 100644
--- a/packages/playground/dynamic-import/index.html
+++ b/packages/playground/dynamic-import/index.html
@@ -8,6 +8,7 @@
+
diff --git a/packages/playground/dynamic-import/nested/deps.js b/packages/playground/dynamic-import/nested/deps.js
new file mode 100644
index 00000000000000..88fd4787941fd0
--- /dev/null
+++ b/packages/playground/dynamic-import/nested/deps.js
@@ -0,0 +1,3 @@
+/* don't include dynamic import inside this file */
+
+import 'pkg'
diff --git a/packages/playground/dynamic-import/nested/index.js b/packages/playground/dynamic-import/nested/index.js
index 5518c56a35a2cc..f84ec00380d604 100644
--- a/packages/playground/dynamic-import/nested/index.js
+++ b/packages/playground/dynamic-import/nested/index.js
@@ -70,6 +70,11 @@ document.querySelector('.css').addEventListener('click', async () => {
text('.view', 'dynamic import css')
})
+document.querySelector('.pkg-css').addEventListener('click', async () => {
+ await import('./deps')
+ text('.view', 'dynamic import css in package')
+})
+
function text(el, text) {
document.querySelector(el).textContent = text
}
diff --git a/packages/playground/dynamic-import/package.json b/packages/playground/dynamic-import/package.json
index a6b6d5f863f1b8..3aac1090af5be4 100644
--- a/packages/playground/dynamic-import/package.json
+++ b/packages/playground/dynamic-import/package.json
@@ -6,6 +6,10 @@
"dev": "vite",
"build": "vite build",
"debug": "node --inspect-brk ../../vite/bin/vite",
- "preview": "vite preview"
+ "preview": "vite preview",
+ "postinstall": "ts-node ../../../scripts/patchFileDeps.ts"
+ },
+ "dependencies": {
+ "pkg": "file:./pkg"
}
}
diff --git a/packages/playground/dynamic-import/pkg/index.js b/packages/playground/dynamic-import/pkg/index.js
new file mode 100644
index 00000000000000..20f705c0b4a8c9
--- /dev/null
+++ b/packages/playground/dynamic-import/pkg/index.js
@@ -0,0 +1 @@
+import('./pkg.css')
diff --git a/packages/playground/dynamic-import/pkg/package.json b/packages/playground/dynamic-import/pkg/package.json
new file mode 100644
index 00000000000000..1eab564572e245
--- /dev/null
+++ b/packages/playground/dynamic-import/pkg/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "pkg",
+ "type": "module",
+ "private": true,
+ "version": "1.0.0",
+ "main": "index.js"
+}
diff --git a/packages/playground/dynamic-import/pkg/pkg.css b/packages/playground/dynamic-import/pkg/pkg.css
new file mode 100644
index 00000000000000..349d669b6829bf
--- /dev/null
+++ b/packages/playground/dynamic-import/pkg/pkg.css
@@ -0,0 +1,3 @@
+.pkg-css {
+ color: blue;
+}
diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts
index ff315d008f57a5..7e684db2b4cc6b 100644
--- a/packages/vite/src/node/plugins/importAnalysisBuild.ts
+++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts
@@ -24,6 +24,8 @@ export const preloadBaseMarker = `__VITE_PRELOAD_BASE__`
const preloadHelperId = 'vite/preload-helper'
const preloadMarkerWithQuote = `"${preloadMarker}"` as const
+const dynamicImportPrefixRE = /import\s*\(/
+
/**
* Helper for preloading CSS and direct imports of async chunks in parallel to
* the async chunk itself.
@@ -118,7 +120,8 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin {
async transform(source, importer) {
if (
importer.includes('node_modules') &&
- !source.includes('import.meta.glob')
+ !source.includes('import.meta.glob') &&
+ !dynamicImportPrefixRE.test(source)
) {
return
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7c177126794187..43c9d6d049d250 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -185,6 +185,12 @@ importers:
specifiers: {}
packages/playground/dynamic-import:
+ specifiers:
+ pkg: file:./pkg
+ dependencies:
+ pkg: link:pkg
+
+ packages/playground/dynamic-import/pkg:
specifiers: {}
packages/playground/env:
From b877d30a05691bb6ea2da4e67b931a5a3d32809f Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 2 May 2022 09:35:14 +0200
Subject: [PATCH 054/107] chore(deps): update all non-major dependencies
(#7949)
---
package.json | 12 +-
packages/plugin-legacy/package.json | 4 +-
packages/plugin-react/package.json | 4 +-
packages/plugin-vue-jsx/package.json | 2 +-
packages/vite/package.json | 18 +-
pnpm-lock.yaml | 606 ++++++++++++++++-----------
6 files changed, 381 insertions(+), 265 deletions(-)
diff --git a/package.json b/package.json
index 1bfa2c4e77619c..cf18c4ee36e894 100644
--- a/package.json
+++ b/package.json
@@ -34,24 +34,24 @@
"ci-docs": "run-s build-vite build-plugin-vue build-docs"
},
"devDependencies": {
- "@microsoft/api-extractor": "^7.22.2",
+ "@microsoft/api-extractor": "^7.23.0",
"@types/fs-extra": "^9.0.13",
"@types/jest": "^27.4.1",
"@types/node": "^17.0.25",
"@types/prompts": "^2.0.14",
"@types/semver": "^7.3.9",
- "@typescript-eslint/eslint-plugin": "^5.20.0",
- "@typescript-eslint/parser": "^5.20.0",
+ "@typescript-eslint/eslint-plugin": "^5.21.0",
+ "@typescript-eslint/parser": "^5.21.0",
"conventional-changelog-cli": "^2.2.2",
"cross-env": "^7.0.3",
"esbuild": "^0.14.27",
- "eslint": "^8.13.0",
+ "eslint": "^8.14.0",
"eslint-define-config": "^1.4.0",
"eslint-plugin-node": "^11.1.0",
"execa": "^5.1.1",
"fs-extra": "^10.1.0",
"jest": "^27.5.1",
- "lint-staged": "^12.4.0",
+ "lint-staged": "^12.4.1",
"minimist": "^1.2.6",
"node-fetch": "^2.6.6",
"npm-run-all": "^4.1.5",
@@ -85,7 +85,7 @@
"eslint --ext .ts"
]
},
- "packageManager": "pnpm@6.32.9",
+ "packageManager": "pnpm@6.32.11",
"pnpm": {
"overrides": {
"vite": "workspace:*",
diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json
index adc97e974f2d37..1ba92ee5fd8565 100644
--- a/packages/plugin-legacy/package.json
+++ b/packages/plugin-legacy/package.json
@@ -22,8 +22,8 @@
},
"homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme",
"dependencies": {
- "@babel/standalone": "^7.17.9",
- "core-js": "^3.22.2",
+ "@babel/standalone": "^7.17.11",
+ "core-js": "^3.22.3",
"magic-string": "^0.26.1",
"regenerator-runtime": "^0.13.9",
"systemjs": "^6.12.1"
diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json
index 8c93db98aac027..5698472c9dc113 100644
--- a/packages/plugin-react/package.json
+++ b/packages/plugin-react/package.json
@@ -33,13 +33,13 @@
},
"homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-react#readme",
"dependencies": {
- "@babel/core": "^7.17.9",
+ "@babel/core": "^7.17.10",
"@babel/plugin-transform-react-jsx": "^7.17.3",
"@babel/plugin-transform-react-jsx-development": "^7.16.7",
"@babel/plugin-transform-react-jsx-self": "^7.16.7",
"@babel/plugin-transform-react-jsx-source": "^7.16.7",
"@rollup/pluginutils": "^4.2.1",
- "react-refresh": "^0.12.0",
+ "react-refresh": "^0.13.0",
"resolve": "^1.22.0"
}
}
diff --git a/packages/plugin-vue-jsx/package.json b/packages/plugin-vue-jsx/package.json
index 487d207a0df24d..32f346f6ea0024 100644
--- a/packages/plugin-vue-jsx/package.json
+++ b/packages/plugin-vue-jsx/package.json
@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-vue-jsx#readme",
"dependencies": {
- "@babel/core": "^7.17.9",
+ "@babel/core": "^7.17.10",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-transform-typescript": "^7.16.8",
"@rollup/pluginutils": "^4.2.1",
diff --git a/packages/vite/package.json b/packages/vite/package.json
index b2caecf4e228ca..39b95bbab97769 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -44,7 +44,7 @@
"//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!",
"dependencies": {
"esbuild": "^0.14.27",
- "postcss": "^8.4.12",
+ "postcss": "^8.4.13",
"resolve": "^1.22.0",
"rollup": "^2.59.0"
},
@@ -52,9 +52,9 @@
"fsevents": "~2.3.2"
},
"devDependencies": {
- "@ampproject/remapping": "^2.1.2",
- "@babel/parser": "^7.17.9",
- "@babel/types": "^7.17.0",
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/parser": "^7.17.10",
+ "@babel/types": "^7.17.10",
"@jridgewell/trace-mapping": "^0.3.9",
"@rollup/plugin-alias": "^3.1.9",
"@rollup/plugin-commonjs": "^21.1.0",
@@ -72,12 +72,12 @@
"@types/micromatch": "^4.0.2",
"@types/mime": "^2.0.3",
"@types/node": "^17.0.25",
- "@types/resolve": "^1.20.1",
+ "@types/resolve": "^1.20.2",
"@types/sass": "~1.43.1",
"@types/stylus": "^0.48.37",
"@types/ws": "^8.5.3",
"@vue/compiler-dom": "^3.2.33",
- "acorn": "^8.7.0",
+ "acorn": "^8.7.1",
"cac": "6.7.9",
"chokidar": "^3.5.3",
"connect": "^3.7.0",
@@ -112,11 +112,11 @@
"source-map-js": "^1.0.2",
"source-map-support": "^0.5.21",
"strip-ansi": "^6.0.1",
- "terser": "^5.12.1",
+ "terser": "^5.13.1",
"tsconfck": "^1.2.2",
- "tslib": "^2.3.1",
+ "tslib": "^2.4.0",
"types": "link:./types",
- "ws": "^8.5.0"
+ "ws": "^8.6.0"
},
"peerDependencies": {
"less": "*",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 43c9d6d049d250..57fa85d5aaacf7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,24 +10,24 @@ importers:
.:
specifiers:
- '@microsoft/api-extractor': ^7.22.2
+ '@microsoft/api-extractor': ^7.23.0
'@types/fs-extra': ^9.0.13
'@types/jest': ^27.4.1
'@types/node': ^17.0.25
'@types/prompts': ^2.0.14
'@types/semver': ^7.3.9
- '@typescript-eslint/eslint-plugin': ^5.20.0
- '@typescript-eslint/parser': ^5.20.0
+ '@typescript-eslint/eslint-plugin': ^5.21.0
+ '@typescript-eslint/parser': ^5.21.0
conventional-changelog-cli: ^2.2.2
cross-env: ^7.0.3
esbuild: ^0.14.27
- eslint: ^8.13.0
+ eslint: ^8.14.0
eslint-define-config: ^1.4.0
eslint-plugin-node: ^11.1.0
execa: ^5.1.1
fs-extra: ^10.1.0
jest: ^27.5.1
- lint-staged: ^12.4.0
+ lint-staged: ^12.4.1
minimist: ^1.2.6
node-fetch: ^2.6.6
npm-run-all: ^4.1.5
@@ -46,24 +46,24 @@ importers:
vite: workspace:*
vitepress: ^0.22.3
devDependencies:
- '@microsoft/api-extractor': 7.22.2
+ '@microsoft/api-extractor': 7.23.0
'@types/fs-extra': 9.0.13
'@types/jest': 27.4.1
'@types/node': 17.0.25
'@types/prompts': 2.0.14
'@types/semver': 7.3.9
- '@typescript-eslint/eslint-plugin': 5.20.0_0df7beb8e4d849cfe6bb8e844ccdebfd
- '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/eslint-plugin': 5.21.0_85142f655c5c9420758b0f4908692036
+ '@typescript-eslint/parser': 5.21.0_eslint@8.14.0+typescript@4.5.4
conventional-changelog-cli: 2.2.2
cross-env: 7.0.3
esbuild: 0.14.27
- eslint: 8.13.0
+ eslint: 8.14.0
eslint-define-config: 1.4.0
- eslint-plugin-node: 11.1.0_eslint@8.13.0
+ eslint-plugin-node: 11.1.0_eslint@8.14.0
execa: 5.1.1
fs-extra: 10.1.0
jest: 27.5.1_ts-node@10.4.0
- lint-staged: 12.4.0
+ lint-staged: 12.4.1
minimist: 1.2.6
node-fetch: 2.6.6
npm-run-all: 4.1.5
@@ -758,36 +758,36 @@ importers:
packages/plugin-legacy:
specifiers:
- '@babel/standalone': ^7.17.9
- core-js: ^3.22.2
+ '@babel/standalone': ^7.17.11
+ core-js: ^3.22.3
magic-string: ^0.26.1
regenerator-runtime: ^0.13.9
systemjs: ^6.12.1
dependencies:
- '@babel/standalone': 7.17.9
- core-js: 3.22.2
+ '@babel/standalone': 7.17.11
+ core-js: 3.22.3
magic-string: 0.26.1
regenerator-runtime: 0.13.9
systemjs: 6.12.1
packages/plugin-react:
specifiers:
- '@babel/core': ^7.17.9
+ '@babel/core': ^7.17.10
'@babel/plugin-transform-react-jsx': ^7.17.3
'@babel/plugin-transform-react-jsx-development': ^7.16.7
'@babel/plugin-transform-react-jsx-self': ^7.16.7
'@babel/plugin-transform-react-jsx-source': ^7.16.7
'@rollup/pluginutils': ^4.2.1
- react-refresh: ^0.12.0
+ react-refresh: ^0.13.0
resolve: ^1.22.0
dependencies:
- '@babel/core': 7.17.9
- '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.9
- '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.9
- '@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.17.9
- '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.17.9
+ '@babel/core': 7.17.10
+ '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.10
+ '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.10
+ '@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.17.10
+ '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.17.10
'@rollup/pluginutils': 4.2.1
- react-refresh: 0.12.0
+ react-refresh: 0.13.0
resolve: 1.22.0
packages/plugin-vue:
@@ -812,25 +812,25 @@ importers:
packages/plugin-vue-jsx:
specifiers:
- '@babel/core': ^7.17.9
+ '@babel/core': ^7.17.10
'@babel/plugin-syntax-import-meta': ^7.10.4
'@babel/plugin-transform-typescript': ^7.16.8
'@rollup/pluginutils': ^4.2.1
'@vue/babel-plugin-jsx': ^1.1.1
hash-sum: ^2.0.0
dependencies:
- '@babel/core': 7.17.9
- '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.9
- '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.9
+ '@babel/core': 7.17.10
+ '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.10
+ '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.10
'@rollup/pluginutils': 4.2.1
- '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.9
+ '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.17.10
hash-sum: 2.0.0
packages/vite:
specifiers:
- '@ampproject/remapping': ^2.1.2
- '@babel/parser': ^7.17.9
- '@babel/types': ^7.17.0
+ '@ampproject/remapping': ^2.2.0
+ '@babel/parser': ^7.17.10
+ '@babel/types': ^7.17.10
'@jridgewell/trace-mapping': ^0.3.9
'@rollup/plugin-alias': ^3.1.9
'@rollup/plugin-commonjs': ^21.1.0
@@ -848,12 +848,12 @@ importers:
'@types/micromatch': ^4.0.2
'@types/mime': ^2.0.3
'@types/node': ^17.0.25
- '@types/resolve': ^1.20.1
+ '@types/resolve': ^1.20.2
'@types/sass': ~1.43.1
'@types/stylus': ^0.48.37
'@types/ws': ^8.5.3
'@vue/compiler-dom': ^3.2.33
- acorn: ^8.7.0
+ acorn: ^8.7.1
cac: 6.7.9
chokidar: ^3.5.3
connect: ^3.7.0
@@ -881,7 +881,7 @@ importers:
open: ^8.4.0
periscopic: ^2.0.3
picocolors: ^1.0.0
- postcss: ^8.4.12
+ postcss: ^8.4.13
postcss-import: ^14.1.0
postcss-load-config: ^3.1.4
postcss-modules: ^4.3.1
@@ -893,29 +893,29 @@ importers:
source-map-js: ^1.0.2
source-map-support: ^0.5.21
strip-ansi: ^6.0.1
- terser: ^5.12.1
+ terser: ^5.13.1
tsconfck: ^1.2.2
- tslib: ^2.3.1
+ tslib: ^2.4.0
types: link:./types
- ws: ^8.5.0
+ ws: ^8.6.0
dependencies:
esbuild: 0.14.27
- postcss: 8.4.12
+ postcss: 8.4.13
resolve: 1.22.0
rollup: 2.62.0
optionalDependencies:
fsevents: 2.3.2
devDependencies:
- '@ampproject/remapping': 2.1.2
- '@babel/parser': 7.17.9
- '@babel/types': 7.17.0
+ '@ampproject/remapping': 2.2.0
+ '@babel/parser': 7.17.10
+ '@babel/types': 7.17.10
'@jridgewell/trace-mapping': 0.3.9
'@rollup/plugin-alias': 3.1.9_rollup@2.62.0
'@rollup/plugin-commonjs': 21.1.0_rollup@2.62.0
'@rollup/plugin-dynamic-import-vars': 1.4.3_rollup@2.62.0
'@rollup/plugin-json': 4.1.0_rollup@2.62.0
'@rollup/plugin-node-resolve': 13.2.1_rollup@2.62.0
- '@rollup/plugin-typescript': 8.3.2_7c5ff569c0887b4f0035eb7cb6988163
+ '@rollup/plugin-typescript': 8.3.2_83df2083f1d8ae39f870809a13a7071e
'@rollup/pluginutils': 4.2.1
'@types/convert-source-map': 1.5.2
'@types/cross-spawn': 6.0.2
@@ -926,12 +926,12 @@ importers:
'@types/micromatch': 4.0.2
'@types/mime': 2.0.3
'@types/node': 17.0.25
- '@types/resolve': 1.20.1
+ '@types/resolve': 1.20.2
'@types/sass': 1.43.1
'@types/stylus': 0.48.37
'@types/ws': 8.5.3
'@vue/compiler-dom': 3.2.33
- acorn: 8.7.0
+ acorn: 8.7.1
cac: 6.7.9
chokidar: 3.5.3
connect: 3.7.0
@@ -957,20 +957,20 @@ importers:
open: 8.4.0
periscopic: 2.0.3
picocolors: 1.0.0
- postcss-import: 14.1.0_postcss@8.4.12
- postcss-load-config: 3.1.4_postcss@8.4.12+ts-node@10.4.0
- postcss-modules: 4.3.1_postcss@8.4.12
+ postcss-import: 14.1.0_postcss@8.4.13
+ postcss-load-config: 3.1.4_postcss@8.4.13+ts-node@10.4.0
+ postcss-modules: 4.3.1_postcss@8.4.13
resolve.exports: 1.1.0
rollup-plugin-license: 2.7.0_rollup@2.62.0
sirv: 2.0.2
source-map-js: 1.0.2
source-map-support: 0.5.21
strip-ansi: 6.0.1
- terser: 5.12.1
+ terser: 5.13.1
tsconfck: 1.2.2_typescript@4.5.4
- tslib: 2.3.1
+ tslib: 2.4.0
types: link:types
- ws: 8.5.0
+ ws: 8.6.0
packages:
@@ -1096,6 +1096,15 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/trace-mapping': 0.3.9
+ dev: false
+
+ /@ampproject/remapping/2.2.0:
+ resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.1.1
+ '@jridgewell/trace-mapping': 0.3.9
+ dev: true
/@babel/code-frame/7.16.0:
resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==}
@@ -1114,25 +1123,25 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
- /@babel/compat-data/7.17.7:
- resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==}
+ /@babel/compat-data/7.17.10:
+ resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==}
engines: {node: '>=6.9.0'}
dev: false
- /@babel/core/7.17.2:
- resolution: {integrity: sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==}
+ /@babel/core/7.17.10:
+ resolution: {integrity: sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@ampproject/remapping': 2.1.0
+ '@ampproject/remapping': 2.1.2
'@babel/code-frame': 7.16.7
- '@babel/generator': 7.17.0
- '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.17.2
- '@babel/helper-module-transforms': 7.16.7
- '@babel/helpers': 7.17.2
- '@babel/parser': 7.17.0
+ '@babel/generator': 7.17.10
+ '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.10
+ '@babel/helper-module-transforms': 7.17.7
+ '@babel/helpers': 7.17.9
+ '@babel/parser': 7.17.10
'@babel/template': 7.16.7
- '@babel/traverse': 7.17.0
- '@babel/types': 7.17.0
+ '@babel/traverse': 7.17.10
+ '@babel/types': 7.17.10
convert-source-map: 1.8.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -1140,21 +1149,21 @@ packages:
semver: 6.3.0
transitivePeerDependencies:
- supports-color
- dev: true
+ dev: false
- /@babel/core/7.17.9:
- resolution: {integrity: sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==}
+ /@babel/core/7.17.2:
+ resolution: {integrity: sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@ampproject/remapping': 2.1.2
+ '@ampproject/remapping': 2.1.0
'@babel/code-frame': 7.16.7
- '@babel/generator': 7.17.9
- '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9
- '@babel/helper-module-transforms': 7.17.7
- '@babel/helpers': 7.17.9
- '@babel/parser': 7.17.9
+ '@babel/generator': 7.17.0
+ '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.17.2
+ '@babel/helper-module-transforms': 7.16.7
+ '@babel/helpers': 7.17.2
+ '@babel/parser': 7.17.0
'@babel/template': 7.16.7
- '@babel/traverse': 7.17.9
+ '@babel/traverse': 7.17.0
'@babel/types': 7.17.0
convert-source-map: 1.8.0
debug: 4.3.4
@@ -1163,7 +1172,7 @@ packages:
semver: 6.3.0
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
/@babel/generator/7.16.5:
resolution: {integrity: sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==}
@@ -1192,13 +1201,13 @@ packages:
source-map: 0.5.7
dev: true
- /@babel/generator/7.17.9:
- resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==}
+ /@babel/generator/7.17.10:
+ resolution: {integrity: sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.17.10
+ '@jridgewell/gen-mapping': 0.1.1
jsesc: 2.5.2
- source-map: 0.5.7
dev: false
/@babel/helper-annotate-as-pure/7.16.7:
@@ -1221,26 +1230,26 @@ packages:
semver: 6.3.0
dev: true
- /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.9:
- resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==}
+ /@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10:
+ resolution: {integrity: sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.17.7
- '@babel/core': 7.17.9
+ '@babel/compat-data': 7.17.10
+ '@babel/core': 7.17.10
'@babel/helper-validator-option': 7.16.7
- browserslist: 4.19.1
+ browserslist: 4.20.3
semver: 6.3.0
dev: false
- /@babel/helper-create-class-features-plugin/7.16.10_@babel+core@7.17.9:
+ /@babel/helper-create-class-features-plugin/7.16.10_@babel+core@7.17.10:
resolution: {integrity: sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.10
'@babel/helper-annotate-as-pure': 7.16.7
'@babel/helper-environment-visitor': 7.16.7
'@babel/helper-function-name': 7.16.7
@@ -1256,7 +1265,7 @@ packages:
resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.17.10
/@babel/helper-function-name/7.16.7:
resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==}
@@ -1271,7 +1280,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.16.7
- '@babel/types': 7.17.0
+ '@babel/types': 7.17.10
dev: false
/@babel/helper-get-function-arity/7.16.7:
@@ -1291,7 +1300,7 @@ packages:
resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.17.10
/@babel/helper-member-expression-to-functions/7.16.7:
resolution: {integrity: sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==}
@@ -1338,8 +1347,8 @@ packages:
'@babel/helper-split-export-declaration': 7.16.7
'@babel/helper-validator-identifier': 7.16.7
'@babel/template': 7.16.7
- '@babel/traverse': 7.17.9
- '@babel/types': 7.17.0
+ '@babel/traverse': 7.17.10
+ '@babel/types': 7.17.10
transitivePeerDependencies:
- supports-color
dev: false
@@ -1383,14 +1392,14 @@ packages:
resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.17.10
dev: false
/@babel/helper-split-export-declaration/7.16.7:
resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.17.10
/@babel/helper-validator-identifier/7.15.7:
resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==}
@@ -1420,8 +1429,8 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.16.7
- '@babel/traverse': 7.17.9
- '@babel/types': 7.17.0
+ '@babel/traverse': 7.17.10
+ '@babel/types': 7.17.10
transitivePeerDependencies:
- supports-color
dev: false
@@ -1459,6 +1468,11 @@ packages:
hasBin: true
dev: true
+ /@babel/parser/7.17.10:
+ resolution: {integrity: sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
/@babel/parser/7.17.8:
resolution: {integrity: sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==}
engines: {node: '>=6.0.0'}
@@ -1506,23 +1520,23 @@ packages:
'@babel/helper-plugin-utils': 7.16.7
dev: true
- /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.2:
+ /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.10:
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.2
+ '@babel/core': 7.17.10
'@babel/helper-plugin-utils': 7.16.5
- dev: true
+ dev: false
- /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.9:
+ /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.2:
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.2
'@babel/helper-plugin-utils': 7.16.5
- dev: false
+ dev: true
/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.2:
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
@@ -1542,23 +1556,23 @@ packages:
'@babel/helper-plugin-utils': 7.16.7
dev: true
- /@babel/plugin-syntax-jsx/7.16.5_@babel+core@7.17.9:
+ /@babel/plugin-syntax-jsx/7.16.5_@babel+core@7.17.10:
resolution: {integrity: sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.10
'@babel/helper-plugin-utils': 7.16.7
dev: false
- /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.9:
+ /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.10:
resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.10
'@babel/helper-plugin-utils': 7.16.7
dev: false
@@ -1635,80 +1649,80 @@ packages:
'@babel/helper-plugin-utils': 7.16.7
dev: true
- /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.2:
+ /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.10:
resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.2
+ '@babel/core': 7.17.10
'@babel/helper-plugin-utils': 7.16.7
- dev: true
+ dev: false
- /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.9:
+ /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.2:
resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.2
'@babel/helper-plugin-utils': 7.16.7
- dev: false
+ dev: true
- /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.17.9:
+ /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.17.10:
resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
- '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.9
+ '@babel/core': 7.17.10
+ '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.10
dev: false
- /@babel/plugin-transform-react-jsx-self/7.16.7_@babel+core@7.17.9:
+ /@babel/plugin-transform-react-jsx-self/7.16.7_@babel+core@7.17.10:
resolution: {integrity: sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.10
'@babel/helper-plugin-utils': 7.16.7
dev: false
- /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.17.9:
+ /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.17.10:
resolution: {integrity: sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.10
'@babel/helper-plugin-utils': 7.16.7
dev: false
- /@babel/plugin-transform-react-jsx/7.17.3_@babel+core@7.17.9:
+ /@babel/plugin-transform-react-jsx/7.17.3_@babel+core@7.17.10:
resolution: {integrity: sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
+ '@babel/core': 7.17.10
'@babel/helper-annotate-as-pure': 7.16.7
'@babel/helper-module-imports': 7.16.7
'@babel/helper-plugin-utils': 7.16.7
- '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.10
'@babel/types': 7.17.0
dev: false
- /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.9:
+ /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.10:
resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.9
- '@babel/helper-create-class-features-plugin': 7.16.10_@babel+core@7.17.9
+ '@babel/core': 7.17.10
+ '@babel/helper-create-class-features-plugin': 7.16.10_@babel+core@7.17.10
'@babel/helper-plugin-utils': 7.16.7
- '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.10
transitivePeerDependencies:
- supports-color
dev: false
@@ -1719,8 +1733,8 @@ packages:
dependencies:
regenerator-runtime: 0.13.9
- /@babel/standalone/7.17.9:
- resolution: {integrity: sha512-9wL9AtDlga8avxUrBvQJmhUtJWrelsUL0uV+TcP+49Sb6Pj8/bNIzQzU4dDp0NAPOvnZR/7msFIKsKoCl/W1/w==}
+ /@babel/standalone/7.17.11:
+ resolution: {integrity: sha512-47wVYBeTktYHwtzlFuK7qqV/H5X6mU4MUNqpQ9iiJOqnP8rWL0eX0GWLKRsv8D8suYzhuS1K/dtwgGr+26U7Gg==}
engines: {node: '>=6.9.0'}
dev: false
@@ -1738,8 +1752,8 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.16.7
- '@babel/parser': 7.17.8
- '@babel/types': 7.17.0
+ '@babel/parser': 7.17.10
+ '@babel/types': 7.17.10
/@babel/traverse/7.16.10:
resolution: {integrity: sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==}
@@ -1795,18 +1809,18 @@ packages:
- supports-color
dev: true
- /@babel/traverse/7.17.9:
- resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==}
+ /@babel/traverse/7.17.10:
+ resolution: {integrity: sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.16.7
- '@babel/generator': 7.17.9
+ '@babel/generator': 7.17.10
'@babel/helper-environment-visitor': 7.16.7
'@babel/helper-function-name': 7.17.9
'@babel/helper-hoist-variables': 7.16.7
'@babel/helper-split-export-declaration': 7.16.7
- '@babel/parser': 7.17.9
- '@babel/types': 7.17.0
+ '@babel/parser': 7.17.10
+ '@babel/types': 7.17.10
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
@@ -1834,6 +1848,13 @@ packages:
'@babel/helper-validator-identifier': 7.16.7
to-fast-properties: 2.0.0
+ /@babel/types/7.17.10:
+ resolution: {integrity: sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.16.7
+ to-fast-properties: 2.0.0
+
/@bcoe/v8-coverage/0.2.3:
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
dev: true
@@ -1965,8 +1986,8 @@ packages:
resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==}
dev: false
- /@eslint/eslintrc/1.2.1:
- resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==}
+ /@eslint/eslintrc/1.2.2:
+ resolution: {integrity: sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
@@ -2213,10 +2234,21 @@ packages:
chalk: 4.1.2
dev: true
+ /@jridgewell/gen-mapping/0.1.1:
+ resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.0
+ '@jridgewell/sourcemap-codec': 1.4.10
+
/@jridgewell/resolve-uri/3.0.5:
resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==}
engines: {node: '>=6.0.0'}
+ /@jridgewell/set-array/1.1.0:
+ resolution: {integrity: sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==}
+ engines: {node: '>=6.0.0'}
+
/@jridgewell/sourcemap-codec/1.4.10:
resolution: {integrity: sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==}
@@ -2250,30 +2282,30 @@ packages:
- supports-color
dev: false
- /@microsoft/api-extractor-model/7.17.1:
- resolution: {integrity: sha512-DCDtD8TdEpNk2lW4JvXgwwpxKy70P0JLad55iahwO8A+C63KYsrHIpAzo0FUauh5pwJ0v5QVNIJ+OBgKGteemg==}
+ /@microsoft/api-extractor-model/7.17.2:
+ resolution: {integrity: sha512-fYfCeBeLm7jnZligC64qHiH4/vzswFLDfyPpX+uKO36OI2kIeMHrYG0zaezmuinKvE4vg1dAz38zZeDbPvBKGg==}
dependencies:
'@microsoft/tsdoc': 0.14.1
'@microsoft/tsdoc-config': 0.16.1
- '@rushstack/node-core-library': 3.45.3
+ '@rushstack/node-core-library': 3.45.4
dev: true
- /@microsoft/api-extractor/7.22.2:
- resolution: {integrity: sha512-G7vXz6UHz+qoaUGPf2k5Md4bSpHii9nFys3sIe3bmFUbmhAe+HfSB/dCn1PsLhW7tZfEXwMHTj7fbL5vcZkrEw==}
+ /@microsoft/api-extractor/7.23.0:
+ resolution: {integrity: sha512-fbdX05RVE1EMA7nvyRHuS9nx1pryhjgURDx6pQlE/9yOXQ5PO7MpYdfWGaRsQwyYuU3+tPxgro819c0R3AK6KA==}
hasBin: true
dependencies:
- '@microsoft/api-extractor-model': 7.17.1
+ '@microsoft/api-extractor-model': 7.17.2
'@microsoft/tsdoc': 0.14.1
'@microsoft/tsdoc-config': 0.16.1
- '@rushstack/node-core-library': 3.45.3
- '@rushstack/rig-package': 0.3.10
- '@rushstack/ts-command-line': 4.10.9
+ '@rushstack/node-core-library': 3.45.4
+ '@rushstack/rig-package': 0.3.11
+ '@rushstack/ts-command-line': 4.10.10
colors: 1.2.5
lodash: 4.17.21
resolve: 1.17.0
semver: 7.3.7
source-map: 0.6.1
- typescript: 4.5.4
+ typescript: 4.6.4
dev: true
/@microsoft/tsdoc-config/0.16.1:
@@ -2411,7 +2443,7 @@ packages:
rollup: 2.62.0
dev: true
- /@rollup/plugin-typescript/8.3.2_7c5ff569c0887b4f0035eb7cb6988163:
+ /@rollup/plugin-typescript/8.3.2_83df2083f1d8ae39f870809a13a7071e:
resolution: {integrity: sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==}
engines: {node: '>=8.0.0'}
peerDependencies:
@@ -2422,7 +2454,7 @@ packages:
'@rollup/pluginutils': 3.1.0_rollup@2.62.0
resolve: 1.22.0
rollup: 2.62.0
- tslib: 2.3.1
+ tslib: 2.4.0
typescript: 4.5.4
dev: true
@@ -2445,8 +2477,8 @@ packages:
estree-walker: 2.0.2
picomatch: 2.3.1
- /@rushstack/node-core-library/3.45.3:
- resolution: {integrity: sha512-Rn0mxqC3MPb+YbvaeFcRWfcYHLwyZ99/ffYA8chpq5OpqoY+Mr1ycTbMvzl5AxWf1pYmi/2+Eo3iTOsQdYR8xw==}
+ /@rushstack/node-core-library/3.45.4:
+ resolution: {integrity: sha512-FMoEQWjK7nWAO2uFgV1eVpVhY9ZDGOdIIomi9zTej64cKJ+8/Nvu+ny0xKaUDEjw/ALftN2D2ml7L0RDpW/Z9g==}
dependencies:
'@types/node': 12.20.24
colors: 1.2.5
@@ -2459,15 +2491,15 @@ packages:
z-schema: 5.0.2
dev: true
- /@rushstack/rig-package/0.3.10:
- resolution: {integrity: sha512-4Z2HhXM4YBWOi4ZYFQNK6Yxz641v+cvc8NKiaNZh+RIdNb3D4Rfpy3XUkggbCozpfDriBfL1+KaXlJtfJfAIXw==}
+ /@rushstack/rig-package/0.3.11:
+ resolution: {integrity: sha512-uI1/g5oQPtyrT9nStoyX/xgZSLa2b+srRFaDk3r1eqC7zA5th4/bvTGl2QfV3C9NcP+coSqmk5mFJkUfH6i3Lw==}
dependencies:
resolve: 1.17.0
strip-json-comments: 3.1.1
dev: true
- /@rushstack/ts-command-line/4.10.9:
- resolution: {integrity: sha512-TE3eZgHNVHOY3p8lp38FoNEJUr0+swPb24sCcYuwlC+MHgMGXyJNM+p7l3TKSBRiY01XShoL2k601oGwL00KlA==}
+ /@rushstack/ts-command-line/4.10.10:
+ resolution: {integrity: sha512-F+MH7InPDXqX40qvvcEsnvPpmg566SBpfFqj2fcCh8RjM6AyOoWlXc8zx7giBD3ZN85NVAEjZAgrcLU0z+R2yg==}
dependencies:
'@types/argparse': 1.0.38
argparse: 1.0.10
@@ -2679,8 +2711,8 @@ packages:
'@types/node': 17.0.25
dev: true
- /@types/resolve/1.20.1:
- resolution: {integrity: sha512-Ku5+GPFa12S3W26Uwtw+xyrtIpaZsGYHH6zxNbZlstmlvMYSZRzOwzwsXbxlVUbHyUucctSyuFtu6bNxwYomIw==}
+ /@types/resolve/1.20.2:
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
dev: true
/@types/sass/1.43.1:
@@ -2731,8 +2763,8 @@ packages:
dev: true
optional: true
- /@typescript-eslint/eslint-plugin/5.20.0_0df7beb8e4d849cfe6bb8e844ccdebfd:
- resolution: {integrity: sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==}
+ /@typescript-eslint/eslint-plugin/5.21.0_85142f655c5c9420758b0f4908692036:
+ resolution: {integrity: sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -2742,12 +2774,12 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.5.4
- '@typescript-eslint/scope-manager': 5.20.0
- '@typescript-eslint/type-utils': 5.20.0_eslint@8.13.0+typescript@4.5.4
- '@typescript-eslint/utils': 5.20.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/parser': 5.21.0_eslint@8.14.0+typescript@4.5.4
+ '@typescript-eslint/scope-manager': 5.21.0
+ '@typescript-eslint/type-utils': 5.21.0_eslint@8.14.0+typescript@4.5.4
+ '@typescript-eslint/utils': 5.21.0_eslint@8.14.0+typescript@4.5.4
debug: 4.3.4
- eslint: 8.13.0
+ eslint: 8.14.0
functional-red-black-tree: 1.0.1
ignore: 5.2.0
regexpp: 3.2.0
@@ -2758,8 +2790,8 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser/5.20.0_eslint@8.13.0+typescript@4.5.4:
- resolution: {integrity: sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==}
+ /@typescript-eslint/parser/5.21.0_eslint@8.14.0+typescript@4.5.4:
+ resolution: {integrity: sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -2768,26 +2800,26 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.20.0
- '@typescript-eslint/types': 5.20.0
- '@typescript-eslint/typescript-estree': 5.20.0_typescript@4.5.4
+ '@typescript-eslint/scope-manager': 5.21.0
+ '@typescript-eslint/types': 5.21.0
+ '@typescript-eslint/typescript-estree': 5.21.0_typescript@4.5.4
debug: 4.3.4
- eslint: 8.13.0
+ eslint: 8.14.0
typescript: 4.5.4
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager/5.20.0:
- resolution: {integrity: sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==}
+ /@typescript-eslint/scope-manager/5.21.0:
+ resolution: {integrity: sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.20.0
- '@typescript-eslint/visitor-keys': 5.20.0
+ '@typescript-eslint/types': 5.21.0
+ '@typescript-eslint/visitor-keys': 5.21.0
dev: true
- /@typescript-eslint/type-utils/5.20.0_eslint@8.13.0+typescript@4.5.4:
- resolution: {integrity: sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==}
+ /@typescript-eslint/type-utils/5.21.0_eslint@8.14.0+typescript@4.5.4:
+ resolution: {integrity: sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -2796,22 +2828,22 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/utils': 5.20.0_eslint@8.13.0+typescript@4.5.4
+ '@typescript-eslint/utils': 5.21.0_eslint@8.14.0+typescript@4.5.4
debug: 4.3.4
- eslint: 8.13.0
+ eslint: 8.14.0
tsutils: 3.21.0_typescript@4.5.4
typescript: 4.5.4
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types/5.20.0:
- resolution: {integrity: sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==}
+ /@typescript-eslint/types/5.21.0:
+ resolution: {integrity: sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@typescript-eslint/typescript-estree/5.20.0_typescript@4.5.4:
- resolution: {integrity: sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==}
+ /@typescript-eslint/typescript-estree/5.21.0_typescript@4.5.4:
+ resolution: {integrity: sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -2819,8 +2851,8 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 5.20.0
- '@typescript-eslint/visitor-keys': 5.20.0
+ '@typescript-eslint/types': 5.21.0
+ '@typescript-eslint/visitor-keys': 5.21.0
debug: 4.3.4
globby: 11.0.4
is-glob: 4.0.3
@@ -2831,29 +2863,29 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/utils/5.20.0_eslint@8.13.0+typescript@4.5.4:
- resolution: {integrity: sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==}
+ /@typescript-eslint/utils/5.21.0_eslint@8.14.0+typescript@4.5.4:
+ resolution: {integrity: sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.9
- '@typescript-eslint/scope-manager': 5.20.0
- '@typescript-eslint/types': 5.20.0
- '@typescript-eslint/typescript-estree': 5.20.0_typescript@4.5.4
- eslint: 8.13.0
+ '@typescript-eslint/scope-manager': 5.21.0
+ '@typescript-eslint/types': 5.21.0
+ '@typescript-eslint/typescript-estree': 5.21.0_typescript@4.5.4
+ eslint: 8.14.0
eslint-scope: 5.1.1
- eslint-utils: 3.0.0_eslint@8.13.0
+ eslint-utils: 3.0.0_eslint@8.14.0
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys/5.20.0:
- resolution: {integrity: sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==}
+ /@typescript-eslint/visitor-keys/5.21.0:
+ resolution: {integrity: sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/types': 5.21.0
eslint-visitor-keys: 3.3.0
dev: true
@@ -2861,11 +2893,11 @@ packages:
resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==}
dev: false
- /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.9:
+ /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.10:
resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==}
dependencies:
'@babel/helper-module-imports': 7.16.0
- '@babel/plugin-syntax-jsx': 7.16.5_@babel+core@7.17.9
+ '@babel/plugin-syntax-jsx': 7.16.5_@babel+core@7.17.10
'@babel/template': 7.16.0
'@babel/traverse': 7.16.5
'@babel/types': 7.16.0
@@ -2897,7 +2929,7 @@ packages:
/@vue/compiler-core/3.2.33:
resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==}
dependencies:
- '@babel/parser': 7.17.9
+ '@babel/parser': 7.17.10
'@vue/shared': 3.2.33
estree-walker: 2.0.2
source-map: 0.6.1
@@ -3137,12 +3169,12 @@ packages:
acorn-walk: 7.2.0
dev: true
- /acorn-jsx/5.3.2_acorn@8.7.0:
+ /acorn-jsx/5.3.2_acorn@8.7.1:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.7.0
+ acorn: 8.7.1
dev: true
/acorn-node/1.8.2:
@@ -3173,6 +3205,12 @@ packages:
hasBin: true
dev: true
+ /acorn/8.7.1:
+ resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
/add-stream/1.0.0:
resolution: {integrity: sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=}
dev: true
@@ -3530,6 +3568,18 @@ packages:
node-releases: 2.0.1
picocolors: 1.0.0
+ /browserslist/4.20.3:
+ resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001334
+ electron-to-chromium: 1.4.129
+ escalade: 3.1.1
+ node-releases: 2.0.4
+ picocolors: 1.0.0
+ dev: false
+
/bs-logger/0.2.6:
resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
engines: {node: '>= 6'}
@@ -3614,6 +3664,10 @@ packages:
/caniuse-lite/1.0.30001294:
resolution: {integrity: sha512-LiMlrs1nSKZ8qkNhpUf5KD0Al1KCBE3zaT7OLOwEkagXMEDij98SiOovn9wxVGQpklk9vVC/pUSqgYmkmKOS8g==}
+ /caniuse-lite/1.0.30001334:
+ resolution: {integrity: sha512-kbaCEBRRVSoeNs74sCuq92MJyGrMtjWVfhltoHUCW4t4pXFvGjUBrfo47weBRViHkiV3eBYyIsfl956NtHGazw==}
+ dev: false
+
/chalk/2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -4093,8 +4147,8 @@ packages:
is-what: 3.14.1
dev: true
- /core-js/3.22.2:
- resolution: {integrity: sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==}
+ /core-js/3.22.3:
+ resolution: {integrity: sha512-1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==}
requiresBuild: true
dev: false
@@ -4470,6 +4524,10 @@ packages:
resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
dev: true
+ /electron-to-chromium/1.4.129:
+ resolution: {integrity: sha512-GgtN6bsDtHdtXJtlMYZWGB/uOyjZWjmRDumXTas7dGBaB9zUyCjzHet1DY2KhyHN8R0GLbzZWqm4efeddqqyRQ==}
+ dev: false
+
/electron-to-chromium/1.4.29:
resolution: {integrity: sha512-N2Jbwxo5Rum8G2YXeUxycs1sv4Qme/ry71HG73bv8BvZl+I/4JtRgK/En+ST/Wh/yF1fqvVCY4jZBgMxnhjtBA==}
@@ -4804,25 +4862,25 @@ packages:
engines: {node: '>= 14.6.0', npm: '>= 6.0.0', pnpm: '>= 6.32.9'}
dev: true
- /eslint-plugin-es/3.0.1_eslint@8.13.0:
+ /eslint-plugin-es/3.0.1_eslint@8.14.0:
resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==}
engines: {node: '>=8.10.0'}
peerDependencies:
eslint: '>=4.19.1'
dependencies:
- eslint: 8.13.0
+ eslint: 8.14.0
eslint-utils: 2.1.0
regexpp: 3.2.0
dev: true
- /eslint-plugin-node/11.1.0_eslint@8.13.0:
+ /eslint-plugin-node/11.1.0_eslint@8.14.0:
resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==}
engines: {node: '>=8.10.0'}
peerDependencies:
eslint: '>=5.16.0'
dependencies:
- eslint: 8.13.0
- eslint-plugin-es: 3.0.1_eslint@8.13.0
+ eslint: 8.14.0
+ eslint-plugin-es: 3.0.1_eslint@8.14.0
eslint-utils: 2.1.0
ignore: 5.2.0
minimatch: 3.0.4
@@ -4853,13 +4911,13 @@ packages:
eslint-visitor-keys: 1.3.0
dev: true
- /eslint-utils/3.0.0_eslint@8.13.0:
+ /eslint-utils/3.0.0_eslint@8.14.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
- eslint: 8.13.0
+ eslint: 8.14.0
eslint-visitor-keys: 2.1.0
dev: true
@@ -4878,12 +4936,12 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint/8.13.0:
- resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==}
+ /eslint/8.14.0:
+ resolution: {integrity: sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint/eslintrc': 1.2.1
+ '@eslint/eslintrc': 1.2.2
'@humanwhocodes/config-array': 0.9.2
ajv: 6.12.6
chalk: 4.1.2
@@ -4892,7 +4950,7 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.1.1
- eslint-utils: 3.0.0_eslint@8.13.0
+ eslint-utils: 3.0.0_eslint@8.14.0
eslint-visitor-keys: 3.3.0
espree: 9.3.1
esquery: 1.4.0
@@ -4926,8 +4984,8 @@ packages:
resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.7.0
- acorn-jsx: 5.3.2_acorn@8.7.0
+ acorn: 8.7.1
+ acorn-jsx: 5.3.2_acorn@8.7.1
eslint-visitor-keys: 3.3.0
dev: true
@@ -5619,13 +5677,13 @@ packages:
resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=}
dev: true
- /icss-utils/5.1.0_postcss@8.4.12:
+ /icss-utils/5.1.0_postcss@8.4.13:
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- postcss: 8.4.12
+ postcss: 8.4.13
dev: true
/ignore/5.2.0:
@@ -6505,7 +6563,7 @@ packages:
optional: true
dependencies:
abab: 2.0.5
- acorn: 8.7.0
+ acorn: 8.7.1
acorn-globals: 6.0.0
cssom: 0.4.4
cssstyle: 2.3.0
@@ -6673,8 +6731,8 @@ packages:
/lines-and-columns/1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- /lint-staged/12.4.0:
- resolution: {integrity: sha512-3X7MR0h9b7qf4iXf/1n7RlVAx+EzpAZXoCEMhVSpaBlgKDfH2ewf+QUm7BddFyq29v4dgPP+8+uYpWuSWx035A==}
+ /lint-staged/12.4.1:
+ resolution: {integrity: sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
dependencies:
@@ -6785,6 +6843,10 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /lodash.sortby/4.7.0:
+ resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=}
+ dev: true
+
/lodash.topath/4.5.2:
resolution: {integrity: sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=}
dev: false
@@ -7104,6 +7166,12 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ /nanoid/3.3.3:
+ resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: false
+
/natural-compare/1.4.0:
resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
dev: true
@@ -7179,6 +7247,10 @@ packages:
/node-releases/2.0.1:
resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==}
+ /node-releases/2.0.4:
+ resolution: {integrity: sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==}
+ dev: false
+
/nopt/5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
engines: {node: '>=6'}
@@ -7615,13 +7687,13 @@ packages:
engines: {node: '>=12.13.0'}
dev: true
- /postcss-import/14.1.0_postcss@8.4.12:
+ /postcss-import/14.1.0_postcss@8.4.13:
resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
engines: {node: '>=10.0.0'}
peerDependencies:
postcss: ^8.0.0
dependencies:
- postcss: 8.4.12
+ postcss: 8.4.13
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.0
@@ -7677,7 +7749,7 @@ packages:
yaml: 1.10.2
dev: false
- /postcss-load-config/3.1.4_postcss@8.4.12+ts-node@10.4.0:
+ /postcss-load-config/3.1.4_postcss@8.4.13+ts-node@10.4.0:
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
engines: {node: '>= 10'}
peerDependencies:
@@ -7690,53 +7762,53 @@ packages:
optional: true
dependencies:
lilconfig: 2.0.5
- postcss: 8.4.12
+ postcss: 8.4.13
ts-node: 10.4.0_233d9fcfccc8abc8f146a08357d842da
yaml: 1.10.2
dev: true
- /postcss-modules-extract-imports/3.0.0_postcss@8.4.12:
+ /postcss-modules-extract-imports/3.0.0_postcss@8.4.13:
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- postcss: 8.4.12
+ postcss: 8.4.13
dev: true
- /postcss-modules-local-by-default/4.0.0_postcss@8.4.12:
+ /postcss-modules-local-by-default/4.0.0_postcss@8.4.13:
resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- icss-utils: 5.1.0_postcss@8.4.12
- postcss: 8.4.12
+ icss-utils: 5.1.0_postcss@8.4.13
+ postcss: 8.4.13
postcss-selector-parser: 6.0.8
postcss-value-parser: 4.2.0
dev: true
- /postcss-modules-scope/3.0.0_postcss@8.4.12:
+ /postcss-modules-scope/3.0.0_postcss@8.4.13:
resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- postcss: 8.4.12
+ postcss: 8.4.13
postcss-selector-parser: 6.0.8
dev: true
- /postcss-modules-values/4.0.0_postcss@8.4.12:
+ /postcss-modules-values/4.0.0_postcss@8.4.13:
resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
dependencies:
- icss-utils: 5.1.0_postcss@8.4.12
- postcss: 8.4.12
+ icss-utils: 5.1.0_postcss@8.4.13
+ postcss: 8.4.13
dev: true
- /postcss-modules/4.3.1_postcss@8.4.12:
+ /postcss-modules/4.3.1_postcss@8.4.13:
resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
peerDependencies:
postcss: ^8.0.0
@@ -7744,11 +7816,11 @@ packages:
generic-names: 4.0.0
icss-replace-symbols: 1.1.0
lodash.camelcase: 4.3.0
- postcss: 8.4.12
- postcss-modules-extract-imports: 3.0.0_postcss@8.4.12
- postcss-modules-local-by-default: 4.0.0_postcss@8.4.12
- postcss-modules-scope: 3.0.0_postcss@8.4.12
- postcss-modules-values: 4.0.0_postcss@8.4.12
+ postcss: 8.4.13
+ postcss-modules-extract-imports: 3.0.0_postcss@8.4.13
+ postcss-modules-local-by-default: 4.0.0_postcss@8.4.13
+ postcss-modules-scope: 3.0.0_postcss@8.4.13
+ postcss-modules-values: 4.0.0_postcss@8.4.13
string-hash: 1.1.3
dev: true
@@ -7800,6 +7872,15 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
+ /postcss/8.4.13:
+ resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.3
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: false
+
/postcss/8.4.5:
resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==}
engines: {node: ^10 || ^12 || >=14}
@@ -8096,8 +8177,8 @@ packages:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
dev: true
- /react-refresh/0.12.0:
- resolution: {integrity: sha512-suLIhrU2IHKL5JEKR/fAwJv7bbeq4kJ+pJopf77jHwuR+HmJS/HbrPIGsTBUVfw7tXPOmYv7UJ7PCaN49e8x4A==}
+ /react-refresh/0.13.0:
+ resolution: {integrity: sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==}
engines: {node: '>=0.10.0'}
dev: false
@@ -8392,7 +8473,7 @@ packages:
/rxjs/7.5.2:
resolution: {integrity: sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==}
dependencies:
- tslib: 2.3.1
+ tslib: 2.4.0
dev: true
/safe-buffer/5.1.2:
@@ -8671,6 +8752,13 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /source-map/0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ dependencies:
+ whatwg-url: 7.1.0
+ dev: true
+
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
@@ -9090,14 +9178,14 @@ packages:
supports-hyperlinks: 2.2.0
dev: true
- /terser/5.12.1:
- resolution: {integrity: sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==}
+ /terser/5.13.1:
+ resolution: {integrity: sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
- acorn: 8.7.0
+ acorn: 8.7.1
commander: 2.20.3
- source-map: 0.7.3
+ source-map: 0.8.0-beta.0
source-map-support: 0.5.21
dev: true
@@ -9203,6 +9291,12 @@ packages:
/tr46/0.0.3:
resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=}
+ /tr46/1.0.1:
+ resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=}
+ dependencies:
+ punycode: 2.1.1
+ dev: true
+
/tr46/2.1.0:
resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
engines: {node: '>=8'}
@@ -9307,6 +9401,10 @@ packages:
resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
dev: true
+ /tslib/2.4.0:
+ resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
+ dev: true
+
/tsutils/3.21.0_typescript@4.5.4:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
@@ -9389,6 +9487,12 @@ packages:
hasBin: true
dev: true
+ /typescript/4.6.4:
+ resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
/typeson-registry/1.0.0-alpha.39:
resolution: {integrity: sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==}
engines: {node: '>=10.0.0'}
@@ -9626,6 +9730,10 @@ packages:
/webidl-conversions/3.0.1:
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
+ /webidl-conversions/4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+ dev: true
+
/webidl-conversions/5.0.0:
resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
engines: {node: '>=8'}
@@ -9652,6 +9760,14 @@ packages:
tr46: 0.0.3
webidl-conversions: 3.0.1
+ /whatwg-url/7.1.0:
+ resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+ dependencies:
+ lodash.sortby: 4.7.0
+ tr46: 1.0.1
+ webidl-conversions: 4.0.2
+ dev: true
+
/whatwg-url/8.7.0:
resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
engines: {node: '>=10'}
@@ -9767,8 +9883,8 @@ packages:
optional: true
dev: true
- /ws/8.5.0:
- resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
+ /ws/8.6.0:
+ resolution: {integrity: sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
From cf8a48a6c8b3b1f9ef2a2cf41765d456f85c6cae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BF=A0=20/=20green?=
Date: Mon, 2 May 2022 16:41:05 +0900
Subject: [PATCH 055/107] fix(css): inline css module when ssr, minify issue
(fix #5471) (#7807)
---
packages/playground/css/__tests__/css.spec.ts | 10 ++++++++-
packages/vite/src/node/plugins/css.ts | 22 +++++++++++++------
2 files changed, 24 insertions(+), 8 deletions(-)
diff --git a/packages/playground/css/__tests__/css.spec.ts b/packages/playground/css/__tests__/css.spec.ts
index 6ca00e760349b1..9869bb34d2c690 100644
--- a/packages/playground/css/__tests__/css.spec.ts
+++ b/packages/playground/css/__tests__/css.spec.ts
@@ -15,7 +15,11 @@ import {
// in later assertions to ensure CSS HMR doesn't reload the page
test('imported css', async () => {
const css = await page.textContent('.imported-css')
- expect(css).toContain('.imported {')
+ expect(css).toMatch(/\.imported ?{/)
+ if (isBuild) {
+ expect(css.trim()).not.toContain('\n') // check minified
+ }
+
const glob = await page.textContent('.imported-css-glob')
expect(glob).toContain('.dir-import')
const globEager = await page.textContent('.imported-css-globEager')
@@ -372,6 +376,10 @@ test('inlined-code', async () => {
// should resolve assets
expect(code).toContain('background:')
expect(code).not.toContain('__VITE_ASSET__')
+
+ if (isBuild) {
+ expect(code.trim()).not.toContain('\n') // check minified
+ }
})
test('minify css', async () => {
diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts
index b3ea3338cecc04..9ead17822d23a9 100644
--- a/packages/vite/src/node/plugins/css.ts
+++ b/packages/vite/src/node/plugins/css.ts
@@ -300,11 +300,17 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
return
}
+ const isHTMLProxy = htmlProxyRE.test(id)
const inlined = inlineRE.test(id)
const modules = cssModulesCache.get(config)!.get(id)
- const isHTMLProxy = htmlProxyRE.test(id)
+
+ // #6984, #7552
+ // `foo.module.css` => modulesCode
+ // `foo.module.css?inline` => cssContent
const modulesCode =
- modules && dataToEsm(modules, { namedExports: true, preferConst: true })
+ modules &&
+ !inlined &&
+ dataToEsm(modules, { namedExports: true, preferConst: true })
if (config.command === 'serve') {
if (isDirectCSSRequest(id)) {
@@ -366,12 +372,14 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
let code: string
if (usedRE.test(id)) {
- if (inlined) {
- code = `export default ${JSON.stringify(
- await minifyCSS(css, config)
- )}`
+ if (modulesCode) {
+ code = modulesCode
} else {
- code = modulesCode || `export default ${JSON.stringify(css)}`
+ let content = css
+ if (config.build.minify) {
+ content = await minifyCSS(content, config)
+ }
+ code = `export default ${JSON.stringify(content)}`
}
} else {
code = `export default ''`
From bf40e5c88db4281b035f67d1789cccf66333ce23 Mon Sep 17 00:00:00 2001
From: xyl66 <492113976@qq.com>
Date: Mon, 2 May 2022 17:25:24 +0800
Subject: [PATCH 056/107] fix(plugin-react): React is not defined when
component name is lowercase (#6838)
---
.../src/jsx-runtime/restore-jsx.spec.ts | 55 +++++++++++++++++++
.../src/jsx-runtime/restore-jsx.ts | 42 ++++++++------
2 files changed, 81 insertions(+), 16 deletions(-)
create mode 100644 packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts
diff --git a/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts b/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts
new file mode 100644
index 00000000000000..adbd7a60599c25
--- /dev/null
+++ b/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts
@@ -0,0 +1,55 @@
+import { restoreJSX } from './restore-jsx'
+import * as babel from '@babel/core'
+
+async function jsx(sourceCode: string) {
+ const [ast] = await restoreJSX(babel, sourceCode, 'test.js')
+ if (ast === null) {
+ return ast
+ }
+ const { code } = await babel.transformFromAstAsync(ast, null, {
+ configFile: false
+ })
+ return code
+}
+// jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+// React__default.createElement(Foo)`)
+// Tests adapted from: https://github.com/flying-sheep/babel-plugin-transform-react-createelement-to-jsx/blob/63137b6/test/index.js
+describe('restore-jsx', () => {
+ it('should trans to ', async () => {
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement(foo)`)
+ ).toBeNull()
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement("h1")`)
+ ).toMatch(`;`)
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement(Foo)`)
+ ).toMatch(`;`)
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement(Foo.Bar)`)
+ ).toMatch(`;`)
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement(Foo.Bar.Baz)`)
+ ).toMatch(`;`)
+ })
+
+ it('should handle props', async () => {
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement(foo, {hi: there})`)
+ ).toBeNull()
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement("h1", {hi: there})`)
+ ).toMatch(`;`)
+ expect(
+ await jsx(`import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
+ React__default.createElement(Foo, {hi: there})`)
+ ).toMatch(`;`)
+ })
+})
diff --git a/packages/plugin-react/src/jsx-runtime/restore-jsx.ts b/packages/plugin-react/src/jsx-runtime/restore-jsx.ts
index 268153f4ba5d45..dbc2218d2343ff 100644
--- a/packages/plugin-react/src/jsx-runtime/restore-jsx.ts
+++ b/packages/plugin-react/src/jsx-runtime/restore-jsx.ts
@@ -20,32 +20,42 @@ export async function restoreJSX(
}
const [reactAlias, isCommonJS] = parseReactAlias(code)
+
if (!reactAlias) {
return jsxNotFound
}
- const reactJsxRE = new RegExp(
- '\\b' + reactAlias + '\\.(createElement|Fragment)\\b',
- 'g'
- )
-
let hasCompiledJsx = false
- code = code.replace(reactJsxRE, (_, prop) => {
- hasCompiledJsx = true
- // Replace with "React" so JSX can be reverse compiled.
- return 'React.' + prop
- })
+
+ const fragmentPattern = `\\b${reactAlias}\\.Fragment\\b`
+ const createElementPattern = `\\b${reactAlias}\\.createElement\\(\\s*([A-Z"'][\\w$.]*["']?)`
+
+ // Replace the alias with "React" so JSX can be reverse compiled.
+ code = code
+ .replace(new RegExp(fragmentPattern, 'g'), () => {
+ hasCompiledJsx = true
+ return 'React.Fragment'
+ })
+ .replace(new RegExp(createElementPattern, 'g'), (original, component) => {
+ if (/^[a-z][\w$]*$/.test(component)) {
+ // Take care not to replace the alias for `createElement` calls whose
+ // component is a lowercased variable, since the `restoreJSX` Babel
+ // plugin leaves them untouched.
+ return original
+ }
+ hasCompiledJsx = true
+ return (
+ 'React.createElement(' +
+ // Assume `Fragment` is equivalent to `React.Fragment` so modules
+ // that use `import {Fragment} from 'react'` are reverse compiled.
+ (component === 'Fragment' ? 'React.Fragment' : component)
+ )
+ })
if (!hasCompiledJsx) {
return jsxNotFound
}
- // Support modules that use `import {Fragment} from 'react'`
- code = code.replace(
- /createElement\(Fragment,/g,
- 'createElement(React.Fragment,'
- )
-
babelRestoreJSX ||= import('./babel-restore-jsx')
const result = await babel.transformAsync(code, {
From d58c03088c2eed33417866b46238070fbaffa0f2 Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Mon, 2 May 2022 15:49:50 +0200
Subject: [PATCH 057/107] chore: update license
---
packages/vite/LICENSE.md | 56 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 55 insertions(+), 1 deletion(-)
diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md
index ccff3f1508a73b..30803708e30a76 100644
--- a/packages/vite/LICENSE.md
+++ b/packages/vite/LICENSE.md
@@ -237,6 +237,33 @@ Repository: git+https://github.com/ampproject/remapping.git
---------------------------------------
+## @jridgewell/gen-mapping
+License: MIT
+By: Justin Ridgewell
+Repository: https://github.com/jridgewell/gen-mapping
+
+> Copyright 2022 Justin Ridgewell
+>
+> Permission is hereby granted, free of charge, to any person obtaining a copy
+> of this software and associated documentation files (the "Software"), to deal
+> in the Software without restriction, including without limitation the rights
+> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+> copies of the Software, and to permit persons to whom the Software is
+> furnished to do so, subject to the following conditions:
+>
+> The above copyright notice and this permission notice shall be included in
+> all copies or substantial portions of the Software.
+>
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+> SOFTWARE.
+
+---------------------------------------
+
## @jridgewell/resolve-uri
License: MIT
By: Justin Ridgewell
@@ -264,6 +291,33 @@ Repository: https://github.com/jridgewell/resolve-uri
---------------------------------------
+## @jridgewell/set-array
+License: MIT
+By: Justin Ridgewell
+Repository: https://github.com/jridgewell/set-array
+
+> Copyright 2022 Justin Ridgewell
+>
+> Permission is hereby granted, free of charge, to any person obtaining a copy
+> of this software and associated documentation files (the "Software"), to deal
+> in the Software without restriction, including without limitation the rights
+> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+> copies of the Software, and to permit persons to whom the Software is
+> furnished to do so, subject to the following conditions:
+>
+> The above copyright notice and this permission notice shall be included in
+> all copies or substantial portions of the Software.
+>
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+> SOFTWARE.
+
+---------------------------------------
+
## @jridgewell/sourcemap-codec
License: MIT
By: Rich Harris
@@ -577,7 +631,7 @@ Repository: https://github.com/acornjs/acorn.git
> MIT License
>
-> Copyright (C) 2012-2020 by various contributors (see AUTHORS)
+> Copyright (C) 2012-2022 by various contributors (see AUTHORS)
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
From dde774f0e42dc24ccec7a4710cc842a12f0d785d Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Mon, 2 May 2022 15:51:28 +0200
Subject: [PATCH 058/107] release: v2.9.7
---
packages/vite/CHANGELOG.md | 20 ++++++++++++++++++++
packages/vite/package.json | 2 +-
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md
index c2dc1488d84b21..db8bf085dc04f6 100644
--- a/packages/vite/CHANGELOG.md
+++ b/packages/vite/CHANGELOG.md
@@ -1,3 +1,23 @@
+## 2.9.7 (2022-05-02)
+
+* chore: update license ([d58c030](https://github.com/vitejs/vite/commit/d58c030))
+* chore(css): catch postcss config error (fix #2793) (#7934) ([7f535ac](https://github.com/vitejs/vite/commit/7f535ac)), closes [#2793](https://github.com/vitejs/vite/issues/2793) [#7934](https://github.com/vitejs/vite/issues/7934)
+* chore(deps): update all non-major dependencies (#7949) ([b877d30](https://github.com/vitejs/vite/commit/b877d30)), closes [#7949](https://github.com/vitejs/vite/issues/7949)
+* fix: inject esbuild helpers in IIFE and UMD wrappers (#7948) ([f7d2d71](https://github.com/vitejs/vite/commit/f7d2d71)), closes [#7948](https://github.com/vitejs/vite/issues/7948)
+* fix: inline css hash (#7974) ([f6ae60d](https://github.com/vitejs/vite/commit/f6ae60d)), closes [#7974](https://github.com/vitejs/vite/issues/7974)
+* fix: inline style hmr, transform style code inplace (#7869) ([a30a548](https://github.com/vitejs/vite/commit/a30a548)), closes [#7869](https://github.com/vitejs/vite/issues/7869)
+* fix: use NODE_ENV in optimizer (#7673) ([50672e4](https://github.com/vitejs/vite/commit/50672e4)), closes [#7673](https://github.com/vitejs/vite/issues/7673)
+* fix(css): clean comments before hoist at rules (#7924) ([e48827f](https://github.com/vitejs/vite/commit/e48827f)), closes [#7924](https://github.com/vitejs/vite/issues/7924)
+* fix(css): dynamic import css in package fetches removed js (fixes #7955, #6823) (#7969) ([025eebf](https://github.com/vitejs/vite/commit/025eebf)), closes [#7955](https://github.com/vitejs/vite/issues/7955) [#6823](https://github.com/vitejs/vite/issues/6823) [#7969](https://github.com/vitejs/vite/issues/7969)
+* fix(css): inline css module when ssr, minify issue (fix #5471) (#7807) ([cf8a48a](https://github.com/vitejs/vite/commit/cf8a48a)), closes [#5471](https://github.com/vitejs/vite/issues/5471) [#7807](https://github.com/vitejs/vite/issues/7807)
+* fix(css): sourcemap crash with postcss (#7982) ([7f9f8f1](https://github.com/vitejs/vite/commit/7f9f8f1)), closes [#7982](https://github.com/vitejs/vite/issues/7982)
+* fix(css): support postcss.config.ts (#7935) ([274c10e](https://github.com/vitejs/vite/commit/274c10e)), closes [#7935](https://github.com/vitejs/vite/issues/7935)
+* fix(ssr): failed ssrLoadModule call throws same error (#7177) ([891e7fc](https://github.com/vitejs/vite/commit/891e7fc)), closes [#7177](https://github.com/vitejs/vite/issues/7177)
+* fix(worker): import.meta.* (#7706) ([b092697](https://github.com/vitejs/vite/commit/b092697)), closes [#7706](https://github.com/vitejs/vite/issues/7706)
+* docs: `server.origin` config trailing slash (fix #6622) (#7865) ([5c1ee5a](https://github.com/vitejs/vite/commit/5c1ee5a)), closes [#6622](https://github.com/vitejs/vite/issues/6622) [#7865](https://github.com/vitejs/vite/issues/7865)
+
+
+
## 2.9.6 (2022-04-26)
* fix: `apply` condition skipped for nested plugins (#7741) ([1f2ca53](https://github.com/vitejs/vite/commit/1f2ca53)), closes [#7741](https://github.com/vitejs/vite/issues/7741)
diff --git a/packages/vite/package.json b/packages/vite/package.json
index 39b95bbab97769..3720837d3a5afc 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -1,6 +1,6 @@
{
"name": "vite",
- "version": "2.9.6",
+ "version": "2.9.7",
"license": "MIT",
"author": "Evan You",
"description": "Native-ESM powered web dev build tool",
From f8930432134b8ac556d088b92b812e79c7258940 Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Mon, 2 May 2022 15:52:58 +0200
Subject: [PATCH 059/107] release: plugin-legacy@1.8.2
---
packages/plugin-legacy/CHANGELOG.md | 9 +++++++++
packages/plugin-legacy/package.json | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/packages/plugin-legacy/CHANGELOG.md b/packages/plugin-legacy/CHANGELOG.md
index 5c00212554ce8c..035460b5816cb5 100644
--- a/packages/plugin-legacy/CHANGELOG.md
+++ b/packages/plugin-legacy/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 1.8.2 (2022-05-02)
+
+* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780)
+* chore(deps): update all non-major dependencies (#7847) ([e29d1d9](https://github.com/vitejs/vite/commit/e29d1d9)), closes [#7847](https://github.com/vitejs/vite/issues/7847)
+* chore(deps): update all non-major dependencies (#7949) ([b877d30](https://github.com/vitejs/vite/commit/b877d30)), closes [#7949](https://github.com/vitejs/vite/issues/7949)
+* refactor(legacy): remove unneeded dynamic import var init code (#7759) ([12a4e7d](https://github.com/vitejs/vite/commit/12a4e7d)), closes [#7759](https://github.com/vitejs/vite/issues/7759)
+
+
+
## 1.8.1 (2022-04-13)
* fix(deps): update all non-major dependencies (#7668) ([485263c](https://github.com/vitejs/vite/commit/485263c)), closes [#7668](https://github.com/vitejs/vite/issues/7668)
diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json
index 1ba92ee5fd8565..948bbb152ce56f 100644
--- a/packages/plugin-legacy/package.json
+++ b/packages/plugin-legacy/package.json
@@ -1,6 +1,6 @@
{
"name": "@vitejs/plugin-legacy",
- "version": "1.8.1",
+ "version": "1.8.2",
"license": "MIT",
"author": "Evan You",
"files": [
From 968ff695d8ddc7e31285699cf4526a324417ef17 Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Mon, 2 May 2022 15:54:00 +0200
Subject: [PATCH 060/107] release: plugin-react@1.3.2
---
packages/plugin-react/CHANGELOG.md | 8 ++++++++
packages/plugin-react/package.json | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/packages/plugin-react/CHANGELOG.md b/packages/plugin-react/CHANGELOG.md
index 958c8270b6f221..01dfee3feb7ffb 100644
--- a/packages/plugin-react/CHANGELOG.md
+++ b/packages/plugin-react/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 1.3.2 (2022-05-02)
+
+* fix(plugin-react): React is not defined when component name is lowercase (#6838) ([bf40e5c](https://github.com/vitejs/vite/commit/bf40e5c)), closes [#6838](https://github.com/vitejs/vite/issues/6838)
+* chore(deps): update all non-major dependencies (#7780) ([eba9d05](https://github.com/vitejs/vite/commit/eba9d05)), closes [#7780](https://github.com/vitejs/vite/issues/7780)
+* chore(deps): update all non-major dependencies (#7949) ([b877d30](https://github.com/vitejs/vite/commit/b877d30)), closes [#7949](https://github.com/vitejs/vite/issues/7949)
+
+
+
## 1.3.1 (2022-04-13)
* fix(deps): update all non-major dependencies (#7668) ([485263c](https://github.com/vitejs/vite/commit/485263c)), closes [#7668](https://github.com/vitejs/vite/issues/7668)
diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json
index 5698472c9dc113..4c8280a3a5ff9a 100644
--- a/packages/plugin-react/package.json
+++ b/packages/plugin-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@vitejs/plugin-react",
- "version": "1.3.1",
+ "version": "1.3.2",
"license": "MIT",
"author": "Evan You",
"contributors": [
From 2b6d8fec25961b34e2bfcf776be0fb4e499b4cf9 Mon Sep 17 00:00:00 2001
From: Nicolas Hedger <649677+nhedger@users.noreply.github.com>
Date: Mon, 2 May 2022 20:36:19 +0200
Subject: [PATCH 061/107] chore(create-vite): update reference to volar vscode
extension (#7994)
---
packages/create-vite/template-vue-ts/.vscode/extensions.json | 2 +-
packages/create-vite/template-vue-ts/README.md | 2 +-
packages/create-vite/template-vue/.vscode/extensions.json | 2 +-
packages/create-vite/template-vue/README.md | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/packages/create-vite/template-vue-ts/.vscode/extensions.json b/packages/create-vite/template-vue-ts/.vscode/extensions.json
index 3dc5b08bcdc96b..a7cea0b0678120 100644
--- a/packages/create-vite/template-vue-ts/.vscode/extensions.json
+++ b/packages/create-vite/template-vue-ts/.vscode/extensions.json
@@ -1,3 +1,3 @@
{
- "recommendations": ["johnsoncodehk.volar"]
+ "recommendations": ["Vue.volar"]
}
diff --git a/packages/create-vite/template-vue-ts/README.md b/packages/create-vite/template-vue-ts/README.md
index e432516724c1a7..30b15e215a24b7 100644
--- a/packages/create-vite/template-vue-ts/README.md
+++ b/packages/create-vite/template-vue-ts/README.md
@@ -4,7 +4,7 @@ This template should help get you started developing with Vue 3 and TypeScript i
## Recommended IDE Setup
-- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
+- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
## Type Support For `.vue` Imports in TS
diff --git a/packages/create-vite/template-vue/.vscode/extensions.json b/packages/create-vite/template-vue/.vscode/extensions.json
index 3dc5b08bcdc96b..a7cea0b0678120 100644
--- a/packages/create-vite/template-vue/.vscode/extensions.json
+++ b/packages/create-vite/template-vue/.vscode/extensions.json
@@ -1,3 +1,3 @@
{
- "recommendations": ["johnsoncodehk.volar"]
+ "recommendations": ["Vue.volar"]
}
diff --git a/packages/create-vite/template-vue/README.md b/packages/create-vite/template-vue/README.md
index eea15cef41ea60..02124a7a0a92bc 100644
--- a/packages/create-vite/template-vue/README.md
+++ b/packages/create-vite/template-vue/README.md
@@ -4,4 +4,4 @@ This template should help get you started developing with Vue 3 in Vite. The tem
## Recommended IDE Setup
-- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
+- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
From 1db7c4939a4c589854bb7a3a85002a8f3c42a50c Mon Sep 17 00:00:00 2001
From: patak-dev
Date: Mon, 2 May 2022 21:30:44 +0200
Subject: [PATCH 062/107] release: create-vite@2.9.3
---
packages/create-vite/CHANGELOG.md | 7 +++++++
packages/create-vite/package.json | 2 +-
packages/create-vite/template-lit-ts/package.json | 2 +-
packages/create-vite/template-lit/package.json | 2 +-
packages/create-vite/template-preact-ts/package.json | 2 +-
packages/create-vite/template-preact/package.json | 2 +-
packages/create-vite/template-react-ts/package.json | 2 +-
packages/create-vite/template-react/package.json | 2 +-
packages/create-vite/template-svelte-ts/package.json | 2 +-
packages/create-vite/template-svelte/package.json | 2 +-
packages/create-vite/template-vanilla-ts/package.json | 2 +-
packages/create-vite/template-vanilla/package.json | 2 +-
packages/create-vite/template-vue-ts/package.json | 2 +-
packages/create-vite/template-vue/package.json | 2 +-
14 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md
index 7379feb81239b8..d8759a4e269c97 100644
--- a/packages/create-vite/CHANGELOG.md
+++ b/packages/create-vite/CHANGELOG.md
@@ -1,3 +1,10 @@
+## 2.9.3 (2022-05-02)
+
+* chore(create-vite): update reference to volar vscode extension (#7994) ([2b6d8fe](https://github.com/vitejs/vite/commit/2b6d8fe)), closes [#7994](https://github.com/vitejs/vite/issues/7994)
+* feat(create-vite): scaffold directory with only .git (#7971) ([a5bdb9f](https://github.com/vitejs/vite/commit/a5bdb9f)), closes [#7971](https://github.com/vitejs/vite/issues/7971)
+
+
+
## 2.9.2 (2022-04-19)
* chore: remove useless code in preact template (#7789) ([e5729be](https://github.com/vitejs/vite/commit/e5729be)), closes [#7789](https://github.com/vitejs/vite/issues/7789)
diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json
index 5a21b499d9b75d..b78537705cc14d 100644
--- a/packages/create-vite/package.json
+++ b/packages/create-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "create-vite",
- "version": "2.9.2",
+ "version": "2.9.3",
"license": "MIT",
"author": "Evan You",
"bin": {
diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json
index eb6849d447795c..640e57b3f46089 100644
--- a/packages/create-vite/template-lit-ts/package.json
+++ b/packages/create-vite/template-lit-ts/package.json
@@ -19,7 +19,7 @@
"lit": "^2.0.2"
},
"devDependencies": {
- "vite": "^2.9.5",
+ "vite": "^2.9.7",
"typescript": "^4.5.4"
}
}
diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json
index 6fc110706147f7..2b413a7effa6be 100644
--- a/packages/create-vite/template-lit/package.json
+++ b/packages/create-vite/template-lit/package.json
@@ -17,6 +17,6 @@
"lit": "^2.0.2"
},
"devDependencies": {
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json
index ac90637925896f..36c4e2ae644331 100644
--- a/packages/create-vite/template-preact-ts/package.json
+++ b/packages/create-vite/template-preact-ts/package.json
@@ -13,6 +13,6 @@
"devDependencies": {
"@preact/preset-vite": "^2.1.5",
"typescript": "^4.5.4",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json
index f58b6525abaa52..655779377aba28 100644
--- a/packages/create-vite/template-preact/package.json
+++ b/packages/create-vite/template-preact/package.json
@@ -12,6 +12,6 @@
},
"devDependencies": {
"@preact/preset-vite": "^2.1.5",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json
index 01d981f51c3414..76d8f3d637fabd 100644
--- a/packages/create-vite/template-react-ts/package.json
+++ b/packages/create-vite/template-react-ts/package.json
@@ -16,6 +16,6 @@
"@types/react-dom": "^18.0.0",
"@vitejs/plugin-react": "^1.3.0",
"typescript": "^4.6.3",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json
index 4215fdea104c30..ee8097d84cd7d9 100644
--- a/packages/create-vite/template-react/package.json
+++ b/packages/create-vite/template-react/package.json
@@ -15,6 +15,6 @@
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@vitejs/plugin-react": "^1.3.0",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json
index ae5bf6219d8eee..f415446fa1a2a0 100644
--- a/packages/create-vite/template-svelte-ts/package.json
+++ b/packages/create-vite/template-svelte-ts/package.json
@@ -17,6 +17,6 @@
"svelte-preprocess": "^4.9.8",
"tslib": "^2.3.1",
"typescript": "^4.5.4",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json
index ac224a274d1c10..f64e5f186ac840 100644
--- a/packages/create-vite/template-svelte/package.json
+++ b/packages/create-vite/template-svelte/package.json
@@ -11,6 +11,6 @@
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^1.0.0-next.30",
"svelte": "^3.44.0",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json
index 94a8ccc952012a..09d074177c401c 100644
--- a/packages/create-vite/template-vanilla-ts/package.json
+++ b/packages/create-vite/template-vanilla-ts/package.json
@@ -9,6 +9,6 @@
},
"devDependencies": {
"typescript": "^4.5.4",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json
index ddc9844be1954f..e5eb1951cb04be 100644
--- a/packages/create-vite/template-vanilla/package.json
+++ b/packages/create-vite/template-vanilla/package.json
@@ -8,6 +8,6 @@
"preview": "vite preview"
},
"devDependencies": {
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json
index c7383d48b09e3b..5072c666e52172 100644
--- a/packages/create-vite/template-vue-ts/package.json
+++ b/packages/create-vite/template-vue-ts/package.json
@@ -13,7 +13,7 @@
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.1",
"typescript": "^4.5.4",
- "vite": "^2.9.5",
+ "vite": "^2.9.7",
"vue-tsc": "^0.34.7"
}
}
diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json
index e7e9b681db608c..fe24b608b6c401 100644
--- a/packages/create-vite/template-vue/package.json
+++ b/packages/create-vite/template-vue/package.json
@@ -12,6 +12,6 @@
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.1",
- "vite": "^2.9.5"
+ "vite": "^2.9.7"
}
}
From e96b90887d4709ed1c968b658e22fbdfdb996cbb Mon Sep 17 00:00:00 2001
From: fishDog <40156382+Bigfish8@users.noreply.github.com>
Date: Tue, 3 May 2022 13:44:28 +0800
Subject: [PATCH 063/107] fix(css): var in image-set (#7921)
---
.../assets/__tests__/assets.spec.ts | 23 +++++++++++++++
packages/playground/assets/css/css-url.css | 23 +++++++++++++++
packages/playground/assets/index.html | 28 ++++++++++++++++++
packages/vite/src/node/plugins/css.ts | 29 ++++++++++++++-----
packages/vite/src/node/utils.ts | 13 +++++----
5 files changed, 103 insertions(+), 13 deletions(-)
diff --git a/packages/playground/assets/__tests__/assets.spec.ts b/packages/playground/assets/__tests__/assets.spec.ts
index 19dd52f71e114a..f1075f6fe1cb39 100644
--- a/packages/playground/assets/__tests__/assets.spec.ts
+++ b/packages/playground/assets/__tests__/assets.spec.ts
@@ -104,6 +104,29 @@ describe('css url() references', () => {
})
})
+ test('image-set with var', async () => {
+ const imageSet = await getBg('.css-image-set-with-var')
+ imageSet.split(', ').forEach((s) => {
+ expect(s).toMatch(assetMatch)
+ })
+ })
+
+ test('image-set with mix', async () => {
+ const imageSet = await getBg('.css-image-set-mix-url-var')
+ imageSet.split(', ').forEach((s) => {
+ expect(s).toMatch(assetMatch)
+ })
+ })
+
+ // not supported in browser now
+ // https://drafts.csswg.org/css-images-4/#image-set-notation
+ // test('image-set with multiple descriptor', async () => {
+ // const imageSet = await getBg('.css-image-set-multiple-descriptor')
+ // imageSet.split(', ').forEach((s) => {
+ // expect(s).toMatch(assetMatch)
+ // })
+ // })
+
test('relative in @import', async () => {
expect(await getBg('.css-url-relative-at-imported')).toMatch(assetMatch)
})
diff --git a/packages/playground/assets/css/css-url.css b/packages/playground/assets/css/css-url.css
index 8a3f00dee17bd9..9047cd384e7d38 100644
--- a/packages/playground/assets/css/css-url.css
+++ b/packages/playground/assets/css/css-url.css
@@ -26,6 +26,29 @@
background-size: 10px;
}
+.css-image-set-with-var {
+ --bg-img: url('../nested/asset.png');
+ background-image: -webkit-image-set(var(--bg-img) 1x, var(--bg-img) 2x);
+ background-size: 10px;
+}
+
+.css-image-set-mix-url-var {
+ --bg-img: url('../nested/asset.png');
+ background-image: -webkit-image-set(
+ var(--bg-img) 1x,
+ url('../nested/asset.png') 2x
+ );
+ background-size: 10px;
+}
+
+.css-image-set-multiple-descriptor {
+ background-image: -webkit-image-set(
+ '../nested/asset.png' type('image/png') 1x,
+ '../nested/asset.png' type('image/png') 2x
+ );
+ background-size: 10px;
+}
+
.css-url-public {
background: url('/icon.png');
background-size: 10px;
diff --git a/packages/playground/assets/index.html b/packages/playground/assets/index.html
index 99c2c2fe69ae70..43eed55236abd3 100644
--- a/packages/playground/assets/index.html
+++ b/packages/playground/assets/index.html
@@ -46,6 +46,34 @@ CSS url references
>CSS background with image-set() (relative)
+
+
+ CSS background image-set() (relative in var)
+
+
+
+
+ CSS background image-set() (mix var and url)
+
+
+
+
+ CSS background image-set() (with multiple descriptor)
+
+
+
+
+ CSS background image-set() (with multiple descriptor)
+
+
CSS background (relative from @imported file in different dir) {
@@ -1054,11 +1057,15 @@ function rewriteCssImageSet(
replacer: CssUrlReplacer
): Promise
{
return asyncReplace(css, cssImageSetRE, async (match) => {
- const [matched, rawUrl] = match
- const url = await processSrcSet(rawUrl, ({ url }) =>
- doUrlReplace(url, matched, replacer)
- )
- return `image-set(${url})`
+ const [, rawUrl] = match
+ const url = await processSrcSet(rawUrl, async ({ url }) => {
+ // the url maybe url(...)
+ if (cssUrlRE.test(url)) {
+ return await rewriteCssUrls(url, replacer)
+ }
+ return await doUrlReplace(url, url, replacer)
+ })
+ return url
})
}
async function doUrlReplace(
@@ -1073,7 +1080,13 @@ async function doUrlReplace(
wrap = first
rawUrl = rawUrl.slice(1, -1)
}
- if (isExternalUrl(rawUrl) || isDataUrl(rawUrl) || rawUrl.startsWith('#')) {
+
+ if (
+ isExternalUrl(rawUrl) ||
+ isDataUrl(rawUrl) ||
+ rawUrl.startsWith('#') ||
+ varRE.test(rawUrl)
+ ) {
return matched
}
diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts
index e7a20afbdd5ae7..32b783974dacaf 100644
--- a/packages/vite/src/node/utils.ts
+++ b/packages/vite/src/node/utils.ts
@@ -545,6 +545,7 @@ interface ImageCandidate {
descriptor: string
}
const escapedSpaceCharacters = /( |\\t|\\n|\\f|\\r)+/g
+const imageSetUrlRE = /^(?:[\w\-]+\(.*?\)|'.*?'|".*?"|\S*)/
export async function processSrcSet(
srcs: string,
replacer: (arg: ImageCandidate) => Promise
@@ -552,11 +553,13 @@ export async function processSrcSet(
const imageCandidates: ImageCandidate[] = srcs
.split(',')
.map((s) => {
- const [url, descriptor] = s
- .replace(escapedSpaceCharacters, ' ')
- .trim()
- .split(' ', 2)
- return { url, descriptor }
+ const src = s.replace(escapedSpaceCharacters, ' ').trim()
+ const [url] = imageSetUrlRE.exec(src) || []
+
+ return {
+ url,
+ descriptor: src?.slice(url.length).trim()
+ }
})
.filter(({ url }) => !!url)
From 749e96f0dcf171795c62eb612b2ad6db5606363c Mon Sep 17 00:00:00 2001
From: Zheeeng
Date: Tue, 3 May 2022 15:55:03 +0800
Subject: [PATCH 064/107] chore: fix ts checking on used-before-assigned
(#6939)
---
scripts/jestPerTestSetup.ts | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/scripts/jestPerTestSetup.ts b/scripts/jestPerTestSetup.ts
index f4c9db03627c7c..098784ae76c2af 100644
--- a/scripts/jestPerTestSetup.ts
+++ b/scripts/jestPerTestSetup.ts
@@ -243,14 +243,15 @@ function startStaticServer(config?: InlineConfig): Promise {
export async function notifyRebuildComplete(
watcher: RollupWatcher
): Promise {
- let callback: (event: RollupWatcherEvent) => void
- await new Promise((resolve, reject) => {
- callback = (event) => {
- if (event.code === 'END') {
- resolve()
- }
+ let resolveFn: undefined | (() => void)
+ const callback = (event: RollupWatcherEvent): void => {
+ if (event.code === 'END') {
+ resolveFn?.()
}
- watcher.on('event', callback)
+ }
+ watcher.on('event', callback)
+ await new Promise((resolve) => {
+ resolveFn = resolve
})
return watcher.removeListener('event', callback)
}
From f1af9416a1123c617675ca0165ac401486b636dc Mon Sep 17 00:00:00 2001
From: yoho
Date: Wed, 4 May 2022 02:43:32 +0800
Subject: [PATCH 065/107] chore: restore-jsx.spec.ts lint (#8004)
---
packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts b/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts
index adbd7a60599c25..c216e99bc3480d 100644
--- a/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts
+++ b/packages/plugin-react/src/jsx-runtime/restore-jsx.spec.ts
@@ -3,7 +3,7 @@ import * as babel from '@babel/core'
async function jsx(sourceCode: string) {
const [ast] = await restoreJSX(babel, sourceCode, 'test.js')
- if (ast === null) {
+ if (ast == null) {
return ast
}
const { code } = await babel.transformFromAstAsync(ast, null, {
From 642d65ba6190a87a2f4d534f545672a1a0f10f1c Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Wed, 4 May 2022 02:46:10 +0800
Subject: [PATCH 066/107] fix: only handle merge ssr.noExternal (#8003)
---
.../vite/src/node/__tests__/config.spec.ts | 24 +++++++++++++++++++
packages/vite/src/node/config.ts | 6 ++++-
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/packages/vite/src/node/__tests__/config.spec.ts b/packages/vite/src/node/__tests__/config.spec.ts
index dd427c19433475..ca7a2e76122cd0 100644
--- a/packages/vite/src/node/__tests__/config.spec.ts
+++ b/packages/vite/src/node/__tests__/config.spec.ts
@@ -157,6 +157,30 @@ describe('mergeConfig', () => {
expect(mergeConfig(baseConfig, newConfig)).toEqual(mergedConfig)
})
+
+ test('handles ssr.noExternal', () => {
+ const baseConfig = {
+ ssr: {
+ noExternal: true
+ }
+ }
+
+ const newConfig = {
+ ssr: {
+ noExternal: ['foo']
+ }
+ }
+
+ const mergedConfig = {
+ ssr: {
+ noExternal: true
+ }
+ }
+
+ // merging either ways, `ssr.noExternal: true` should take highest priority
+ expect(mergeConfig(baseConfig, newConfig)).toEqual(mergedConfig)
+ expect(mergeConfig(newConfig, baseConfig)).toEqual(mergedConfig)
+ })
})
describe('resolveConfig', () => {
diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts
index 27a107f3e2098c..531fe169f72de0 100644
--- a/packages/vite/src/node/config.ts
+++ b/packages/vite/src/node/config.ts
@@ -745,7 +745,11 @@ function mergeConfigRecursively(
} else if (key === 'assetsInclude' && rootPath === '') {
merged[key] = [].concat(existing, value)
continue
- } else if (key === 'noExternal' && (existing === true || value === true)) {
+ } else if (
+ key === 'noExternal' &&
+ rootPath === 'ssr' &&
+ (existing === true || value === true)
+ ) {
merged[key] = true
continue
}
From f3d15f106f378c3850b62fbebd69fc8f7c7f944b Mon Sep 17 00:00:00 2001
From: Bjorn Lu
Date: Wed, 4 May 2022 02:48:11 +0800
Subject: [PATCH 067/107] refactor(plugin-vue): remove querystring import
(#7997)
---
packages/plugin-vue/src/main.ts | 5 ++---
packages/plugin-vue/src/utils/query.ts | 4 +---
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts
index 44b1de74721efd..d4417548e2e40c 100644
--- a/packages/plugin-vue/src/main.ts
+++ b/packages/plugin-vue/src/main.ts
@@ -1,4 +1,3 @@
-import qs from 'querystring'
import path from 'path'
import type { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc'
import type { ResolvedOptions } from '.'
@@ -426,8 +425,8 @@ function attrsToQuery(
for (const name in attrs) {
const value = attrs[name]
if (!ignoreList.includes(name)) {
- query += `&${qs.escape(name)}${
- value ? `=${qs.escape(String(value))}` : ``
+ query += `&${encodeURIComponent(name)}${
+ value ? `=${encodeURIComponent(value)}` : ``
}`
}
}
diff --git a/packages/plugin-vue/src/utils/query.ts b/packages/plugin-vue/src/utils/query.ts
index d41cb1be2cf536..060b5f28987bfa 100644
--- a/packages/plugin-vue/src/utils/query.ts
+++ b/packages/plugin-vue/src/utils/query.ts
@@ -1,5 +1,3 @@
-import qs from 'querystring'
-
export interface VueQuery {
vue?: boolean
src?: string
@@ -14,7 +12,7 @@ export function parseVueRequest(id: string): {
query: VueQuery
} {
const [filename, rawQuery] = id.split(`?`, 2)
- const query = qs.parse(rawQuery) as VueQuery
+ const query = Object.fromEntries(new URLSearchParams(rawQuery)) as VueQuery
if (query.vue != null) {
query.vue = true
}
From d49e3fbfc0227e2e00ffc4a8d4152135c5cd6bb8 Mon Sep 17 00:00:00 2001
From: Saurabh Daware
Date: Wed, 4 May 2022 10:32:09 +0530
Subject: [PATCH 068/107] fix: inline js and css paths for virtual html (#7993)
Co-authored-by: yoho
Co-authored-by: patak-dev
---
packages/playground/ssr-html/server.js | 31 ++++++++--
.../src/node/server/middlewares/indexHtml.ts | 57 ++++++++++++++-----
2 files changed, 69 insertions(+), 19 deletions(-)
diff --git a/packages/playground/ssr-html/server.js b/packages/playground/ssr-html/server.js
index ad115f1be01163..1f2cd5331c0157 100644
--- a/packages/playground/ssr-html/server.js
+++ b/packages/playground/ssr-html/server.js
@@ -14,6 +14,14 @@ const DYNAMIC_SCRIPTS = `
`
+const DYNAMIC_STYLES = `
+
+`
+
async function createServer(
root = process.cwd(),
isProd = process.env.NODE_ENV === 'production'
@@ -42,15 +50,30 @@ async function createServer(
// use vite's connect instance as middleware
app.use(vite.middlewares)
- app.use('*', async (req, res) => {
+ app.use('*', async (req, res, next) => {
try {
let [url] = req.originalUrl.split('?')
if (url.endsWith('/')) url += 'index.html'
+ if (url.startsWith('/favicon.ico')) {
+ return res.status(404).end('404')
+ }
+ if (url.startsWith('/@id/__x00__')) {
+ return next()
+ }
+
const htmlLoc = resolve(`.${url}`)
- let html = fs.readFileSync(htmlLoc, 'utf8')
- html = html.replace('', `${DYNAMIC_SCRIPTS}