From: 三咲智子 Kevin Deng Date: Sat, 16 Dec 2023 08:12:55 +0000 (+0800) Subject: Merge remote-tracking branch 'upstream/minor' X-Git-Tag: v3.6.0-alpha.1~16^2~704 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=597eae423b0d69fba47b0ac6a1e9692fb4a95f71;p=thirdparty%2Fvuejs%2Fcore.git Merge remote-tracking branch 'upstream/minor' --- 597eae423b0d69fba47b0ac6a1e9692fb4a95f71 diff --cc package.json index 03e063ae6a,9fe772494f..5fc184a4d6 --- a/package.json +++ b/package.json @@@ -1,10 -1,10 +1,10 @@@ { "private": true, - "version": "3.4.0-beta.3", + "version": "0.0.0-vapor", - "packageManager": "pnpm@8.11.0", + "packageManager": "pnpm@8.12.0", "type": "module", "scripts": { - "dev": "node scripts/dev.js", + "dev": "node scripts/dev.js vue vue-vapor", "build": "node scripts/build.js", "build-dts": "tsc -p tsconfig.build.json && rollup -c rollup.dts.config.js", "clean": "rimraf packages/*/dist temp .eslintcache", diff --cc packages/compiler-core/src/utils.ts index 93b990dbbc,adc5c19476..09185bdca4 --- a/packages/compiler-core/src/utils.ts +++ b/packages/compiler-core/src/utils.ts @@@ -152,21 -153,13 +153,19 @@@ export const isMemberExpressionBrowser } export const isMemberExpressionNode = __BROWSER__ - ? (NOOP as any as (path: string, context: TransformContext) => boolean) - : (path: string, context: TransformContext): boolean => { + ? (NOOP as any as ( + path: string, + options: Pick + ) => boolean) + : ( + path: string, + options: Pick + ): boolean => { try { let ret: Expression = parseExpression(path, { - plugins: context.expressionPlugins + plugins: options.expressionPlugins }) - if (ret.type === 'TSAsExpression' || ret.type === 'TSTypeAssertion') { - ret = ret.expression - } + ret = unwrapTSNode(ret) as Expression return ( ret.type === 'MemberExpression' || ret.type === 'OptionalMemberExpression' || diff --cc packages/runtime-core/src/component.ts index 6843bb26fe,8e82c74c5f..7ceeaf3909 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@@ -82,6 -82,41 +83,39 @@@ import import { SchedulerJob } from './scheduler' import { LifecycleHooks } from './enums' -export type Data = Record - + /** + * Public utility type for extracting the instance type of a component. + * Works with all valid component definition types. This is intended to replace + * the usage of `InstanceType` which only works for + * constructor-based component definition types. + * + * Exmaple: + * ```ts + * const MyComp = { ... } + * declare const instance: ComponentInstance + * ``` + */ + export type ComponentInstance = T extends { new (): ComponentPublicInstance } + ? InstanceType + : T extends FunctionalComponent + ? ComponentPublicInstance> + : T extends Component< + infer Props, + infer RawBindings, + infer D, + infer C, + infer M + > + ? // NOTE we override Props/RawBindings/D to make sure is not `unknown` + ComponentPublicInstance< + unknown extends Props ? {} : Props, + unknown extends RawBindings ? {} : RawBindings, + unknown extends D ? {} : D, + C, + M + > + : never // not a vue Component + /** * For extending allowed non-declared props on components in TSX */ diff --cc packages/template-explorer/package.json index 6387306fd7,ec3ad73ac4..cf89cbe223 --- a/packages/template-explorer/package.json +++ b/packages/template-explorer/package.json @@@ -11,8 -11,7 +11,8 @@@ "enableNonBrowserBranches": true }, "dependencies": { + "@vue/compiler-vapor": "workspace:^", - "monaco-editor": "^0.44.0", + "monaco-editor": "^0.45.0", "source-map-js": "^1.0.2" } } diff --cc pnpm-lock.yaml index c1cb8d7a0b,b432c5bef9..f332c84e87 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@@ -14,6 -14,9 +14,9 @@@ importers '@babel/types': specifier: ^7.23.5 version: 7.23.5 + '@codspeed/vitest-plugin': + specifier: ^2.3.1 - version: 2.3.1(vite@5.0.7)(vitest@1.0.4) ++ version: 2.3.1(vite@5.0.10)(vitest@1.0.4) '@rollup/plugin-alias': specifier: ^5.0.1 version: 5.0.1(rollup@4.1.4) @@@ -39,17 -42,17 +42,17 @@@ specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.10.3 - version: 20.10.3 + specifier: ^20.10.4 + version: 20.10.4 '@types/semver': specifier: ^7.5.5 - version: 7.5.5 + version: 7.5.6 '@typescript-eslint/parser': - specifier: ^6.13.0 - version: 6.13.1(eslint@8.54.0)(typescript@5.2.2) + specifier: ^6.13.2 - version: 6.13.2(eslint@8.55.0)(typescript@5.2.2) ++ version: 6.14.0(eslint@8.56.0)(typescript@5.2.2) '@vitest/coverage-istanbul': - specifier: ^0.34.6 - version: 0.34.6(vitest@1.0.1) + specifier: ^1.0.4 + version: 1.0.4(vitest@1.0.4) '@vue/consolidate': specifier: 0.17.3 version: 0.17.3 @@@ -66,14 -69,14 +69,14 @@@ specifier: ^0.3.0 version: 0.3.0(esbuild@0.19.5) eslint: - specifier: ^8.54.0 - version: 8.54.0 + specifier: ^8.55.0 - version: 8.55.0 ++ version: 8.56.0 eslint-define-config: specifier: ^1.24.1 version: 1.24.1 eslint-plugin-jest: specifier: ^27.6.0 - version: 27.6.0(eslint@8.54.0)(typescript@5.2.2) - version: 27.6.0(eslint@8.55.0)(typescript@5.2.2) ++ version: 27.6.0(eslint@8.56.0)(typescript@5.2.2) estree-walker: specifier: ^2.0.2 version: 2.0.2 @@@ -96,8 -99,8 +99,8 @@@ specifier: ^3.0.3 version: 3.0.3 marked: - specifier: ^9.1.6 - version: 9.1.6 + specifier: ^11.0.1 - version: 11.0.1 ++ version: 11.1.0 minimist: specifier: ^1.2.8 version: 1.2.8 @@@ -117,8 -120,8 +120,8 @@@ specifier: ^3.0.2 version: 3.0.2 puppeteer: - specifier: ~21.5.2 - version: 21.5.2(typescript@5.2.2) + specifier: ~21.6.0 - version: 21.6.0(typescript@5.2.2) ++ version: 21.6.1(typescript@5.2.2) rimraf: specifier: ^5.0.5 version: 5.0.5 @@@ -159,11 -162,11 +162,11 @@@ specifier: ^5.2.2 version: 5.2.2 vite: - specifier: ^5.0.0 - version: 5.0.0(@types/node@20.10.3)(terser@5.22.0) + specifier: ^5.0.5 - version: 5.0.7(@types/node@20.10.4)(terser@5.22.0) ++ version: 5.0.10(@types/node@20.10.4)(terser@5.22.0) vitest: - specifier: ^1.0.0 - version: 1.0.1(@types/node@20.10.3)(jsdom@22.1.0)(terser@5.22.0) + specifier: ^1.0.4 + version: 1.0.4(@types/node@20.10.4)(jsdom@23.0.1)(terser@5.22.0) packages/compiler-core: dependencies: @@@ -373,21 -355,18 +376,21 @@@ devDependencies: '@vitejs/plugin-vue': specifier: ^4.4.0 - version: 4.4.0(vite@5.0.0)(vue@packages+vue) - version: 4.4.0(vite@5.0.7)(vue@packages+vue) ++ version: 4.4.0(vite@5.0.10)(vue@packages+vue) vite: - specifier: ^5.0.0 - version: 5.0.0(@types/node@20.10.3)(terser@5.22.0) + specifier: ^5.0.5 - version: 5.0.7(@types/node@20.10.4)(terser@5.22.0) ++ version: 5.0.10(@types/node@20.10.4)(terser@5.22.0) packages/shared: {} packages/template-explorer: dependencies: + '@vue/compiler-vapor': + specifier: workspace:^ + version: link:../compiler-vapor monaco-editor: - specifier: ^0.44.0 - version: 0.44.0 + specifier: ^0.45.0 + version: 0.45.0 source-map-js: specifier: ^1.0.2 version: 1.0.2 @@@ -431,37 -407,6 +434,37 @@@ specifier: workspace:* version: link:../vue + packages/vue-vapor: + dependencies: + '@vue/compiler-vapor': + specifier: workspace:* + version: link:../compiler-vapor + '@vue/runtime-vapor': + specifier: workspace:* + version: link:../runtime-vapor + + playground: + dependencies: + vue: + specifier: workspace:* + version: link:../packages/vue + devDependencies: + '@vitejs/plugin-vue': + specifier: ^4.5.0 + version: 4.5.0(vite@5.0.2)(vue@packages+vue) + vite: + specifier: ^5.0.2 - version: 5.0.2(@types/node@20.10.3)(terser@5.22.0) ++ version: 5.0.2(@types/node@20.10.4)(terser@5.22.0) + vite-hyper-config: + specifier: ^0.1.1 - version: 0.1.1(@types/node@20.10.3)(terser@5.22.0)(vite@5.0.2) ++ version: 0.1.1(@types/node@20.10.4)(terser@5.22.0)(vite@5.0.2) + vite-node: + specifier: ^0.34.6 - version: 0.34.6(@types/node@20.10.3)(terser@5.22.0) ++ version: 0.34.6(@types/node@20.10.4)(terser@5.22.0) + vite-plugin-inspect: + specifier: ^0.7.42 + version: 0.7.42(rollup@4.1.4)(vite@5.0.2) + packages: /@aashutoshrathi/word-wrap@1.2.6: @@@ -671,6 -630,24 +674,24 @@@ '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@codspeed/core@2.3.1: + resolution: {integrity: sha512-7KRwBX4iXK33gEQwh8jPWBF9srGIjewm3oc+A/66caiG/aOyHmxJCapjAZxT2f2vIVYqR7CghzqlxY2ik0DNBg==} + dependencies: + find-up: 6.3.0 + node-gyp-build: 4.7.1 + dev: true + - /@codspeed/vitest-plugin@2.3.1(vite@5.0.7)(vitest@1.0.4): ++ /@codspeed/vitest-plugin@2.3.1(vite@5.0.10)(vitest@1.0.4): + resolution: {integrity: sha512-/e4G2B/onX/hG/EjUU/NpDxnIryeTDamVRTBeWfgQDoex3g7GDzTwoQktaU5l/Asw3ZjEErQg+oQVToQ6jYZlA==} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + vitest: '>=1.0.0-beta.4 || >=1' + dependencies: + '@codspeed/core': 2.3.1 - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) ++ vite: 5.0.10(@types/node@20.10.4)(terser@5.22.0) + vitest: 1.0.4(@types/node@20.10.4)(jsdom@23.0.1)(terser@5.22.0) + dev: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@@ -1067,13 -1044,13 +1088,13 @@@ dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): - /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): ++ /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.54.0 - eslint: 8.55.0 ++ eslint: 8.56.0 eslint-visitor-keys: 3.4.3 dev: true @@@ -1099,8 -1076,8 +1120,8 @@@ - supports-color dev: true - /@eslint/js@8.54.0: - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} - /@eslint/js@8.55.0: - resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} ++ /@eslint/js@8.56.0: ++ resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@@ -1221,12 -1198,8 +1242,12 @@@ dev: true optional: true + /@polka/url@1.0.0-next.23: + resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} + dev: true + - /@puppeteer/browsers@1.8.0: - resolution: {integrity: sha512-TkRHIV6k2D8OlUe8RtG+5jgOF/H98Myx0M6AOafC8DdNVOFiBSFa5cpRDtpm8LXOa9sVwe0+e6Q3FC56X/DZfg==} + /@puppeteer/browsers@1.9.0: + resolution: {integrity: sha512-QwguOLy44YBGC8vuPP2nmpX4MUN2FzWbsnvZJtiCzecU3lHmVZkaC1tq6rToi9a200m8RzlVtDyxCS0UIDrxUg==} engines: {node: '>=16.3.0'} hasBin: true dependencies: @@@ -1609,8 -1577,8 +1625,8 @@@ dev: true optional: true - /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.2.2): - resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} - /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.2.2): - resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} ++ /@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.2.2): ++ resolution: {integrity: sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@@ -1619,12 -1587,12 +1635,12 @@@ typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.13.1 - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.13.1 - '@typescript-eslint/scope-manager': 6.13.2 - '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.13.2 ++ '@typescript-eslint/scope-manager': 6.14.0 ++ '@typescript-eslint/types': 6.14.0 ++ '@typescript-eslint/typescript-estree': 6.14.0(typescript@5.2.2) ++ '@typescript-eslint/visitor-keys': 6.14.0 debug: 4.3.4 - eslint: 8.54.0 - eslint: 8.55.0 ++ eslint: 8.56.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@@ -1638,12 -1606,12 +1654,12 @@@ '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.13.1: - resolution: {integrity: sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==} - /@typescript-eslint/scope-manager@6.13.2: - resolution: {integrity: sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==} ++ /@typescript-eslint/scope-manager@6.14.0: ++ resolution: {integrity: sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/visitor-keys': 6.13.1 - '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/visitor-keys': 6.13.2 ++ '@typescript-eslint/types': 6.14.0 ++ '@typescript-eslint/visitor-keys': 6.14.0 dev: true /@typescript-eslint/types@5.62.0: @@@ -1651,8 -1619,8 +1667,8 @@@ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.13.1: - resolution: {integrity: sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==} - /@typescript-eslint/types@6.13.2: - resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} ++ /@typescript-eslint/types@6.14.0: ++ resolution: {integrity: sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@@ -1677,8 -1645,8 +1693,8 @@@ - supports-color dev: true - /@typescript-eslint/typescript-estree@6.13.1(typescript@5.2.2): - resolution: {integrity: sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==} - /@typescript-eslint/typescript-estree@6.13.2(typescript@5.2.2): - resolution: {integrity: sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==} ++ /@typescript-eslint/typescript-estree@6.14.0(typescript@5.2.2): ++ resolution: {integrity: sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@@ -1686,8 -1654,8 +1702,8 @@@ typescript: optional: true dependencies: - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/visitor-keys': 6.13.1 - '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/visitor-keys': 6.13.2 ++ '@typescript-eslint/types': 6.14.0 ++ '@typescript-eslint/visitor-keys': 6.14.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@@ -1698,19 -1666,19 +1714,19 @@@ - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.2.2): - /@typescript-eslint/utils@5.62.0(eslint@8.55.0)(typescript@5.2.2): ++ /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) ++ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 - '@types/semver': 7.5.5 + '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.54.0 - eslint: 8.55.0 ++ eslint: 8.56.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@@ -1726,11 -1694,11 +1742,11 @@@ eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.13.1: - resolution: {integrity: sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==} - /@typescript-eslint/visitor-keys@6.13.2: - resolution: {integrity: sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==} ++ /@typescript-eslint/visitor-keys@6.14.0: ++ resolution: {integrity: sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/types': 6.13.2 ++ '@typescript-eslint/types': 6.14.0 eslint-visitor-keys: 3.4.3 dev: true @@@ -1738,25 -1706,14 +1754,25 @@@ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@4.4.0(vite@5.0.0)(vue@packages+vue): - /@vitejs/plugin-vue@4.4.0(vite@5.0.7)(vue@packages+vue): ++ /@vitejs/plugin-vue@4.4.0(vite@5.0.10)(vue@packages+vue): resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.0(@types/node@20.10.3)(terser@5.22.0) - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) ++ vite: 5.0.10(@types/node@20.10.4)(terser@5.22.0) + vue: link:packages/vue + dev: true + + /@vitejs/plugin-vue@4.5.0(vite@5.0.2)(vue@packages+vue): + resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.2.25 + dependencies: - vite: 5.0.2(@types/node@20.10.3)(terser@5.22.0) ++ vite: 5.0.2(@types/node@20.10.4)(terser@5.22.0) vue: link:packages/vue dev: true @@@ -2973,7 -2869,7 +2974,7 @@@ engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} dev: true - /eslint-plugin-jest@27.6.0(eslint@8.54.0)(typescript@5.2.2): - /eslint-plugin-jest@27.6.0(eslint@8.55.0)(typescript@5.2.2): ++ /eslint-plugin-jest@27.6.0(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@@ -2986,8 -2882,8 +2987,8 @@@ jest: optional: true dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) - eslint: 8.54.0 - '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.2.2) - eslint: 8.55.0 ++ '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) ++ eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript @@@ -3014,15 -2910,15 +3015,15 @@@ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} - /eslint@8.55.0: - resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} ++ /eslint@8.56.0: ++ resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) ++ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 + '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.55.0 ++ '@eslint/js': 8.56.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@@ -3979,10 -3823,10 +3971,10 @@@ resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.23.5 + '@babel/core': 7.23.3 '@babel/parser': 7.23.5 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 semver: 7.5.4 transitivePeerDependencies: - supports-color @@@ -4334,9 -4176,9 +4332,9 @@@ resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: true - /marked@9.1.6: - resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} - engines: {node: '>= 16'} - /marked@11.0.1: - resolution: {integrity: sha512-P4kDhFEMlvLePBPRwOcMOv6+lYUbhfbSxJFs3Jb4Qx7v6K7l+k8Dxh9CEGfRvK71tL+qIFz5y7Pe4uzt4+/A3A==} ++ /marked@11.1.0: ++ resolution: {integrity: sha512-fvKJWAPEafVj1dwGwcPI5mBB/0pvViL6NlCbNDG1HOIRwwAU/jeMoFxfbRLuirO1wRH7m4yPvBqD/O1wyWvayw==} + engines: {node: '>= 18'} hasBin: true dev: true @@@ -4453,15 -4295,10 +4451,15 @@@ ufo: 1.3.1 dev: true - /monaco-editor@0.44.0: - resolution: {integrity: sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q==} + /monaco-editor@0.45.0: + resolution: {integrity: sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==} dev: false + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true @@@ -5118,16 -4935,21 +5106,21 @@@ engines: {node: '>=6'} dev: true - /puppeteer-core@21.5.2: - resolution: {integrity: sha512-v4T0cWnujSKs+iEfmb8ccd7u4/x8oblEyKqplqKnJ582Kw8PewYAWvkH4qUWhitN3O2q9RF7dzkvjyK5HbzjLA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + - /puppeteer-core@21.6.0: - resolution: {integrity: sha512-1vrzbp2E1JpBwtIIrriWkN+A0afUxkqRuFTC3uASc5ql6iuK9ppOdIU/CPGKwOyB4YFIQ16mRbK0PK19mbXnaQ==} ++ /puppeteer-core@21.6.1: ++ resolution: {integrity: sha512-0chaaK/RL9S1U3bsyR4fUeUfoj51vNnjWvXgG6DcsyMjwYNpLcAThv187i1rZCo7QhJP0wZN8plQkjNyrq2h+A==} engines: {node: '>=16.13.2'} dependencies: - '@puppeteer/browsers': 1.8.0 - chromium-bidi: 0.4.33(devtools-protocol@0.0.1203626) + '@puppeteer/browsers': 1.9.0 + chromium-bidi: 0.5.1(devtools-protocol@0.0.1203626) cross-fetch: 4.0.0 debug: 4.3.4 devtools-protocol: 0.0.1203626 -- ws: 8.14.2 ++ ws: 8.15.1 transitivePeerDependencies: - bufferutil - encoding @@@ -5135,14 -4957,15 +5128,15 @@@ - utf-8-validate dev: true - /puppeteer@21.5.2(typescript@5.2.2): - resolution: {integrity: sha512-BaAGJOq8Fl6/cck6obmwaNLksuY0Bg/lIahCLhJPGXBFUD2mCffypa4A592MaWnDcye7eaHmSK9yot0pxctY8A==} - /puppeteer@21.6.0(typescript@5.2.2): - resolution: {integrity: sha512-u6JhSF7xaPYZ2gd3tvhYI8MwVAjLc3Cazj7UWvMV95A07/y7cIjBwYUiMU9/jm4z0FSUORriLX/RZRaiASNWPw==} ++ /puppeteer@21.6.1(typescript@5.2.2): ++ resolution: {integrity: sha512-O+pbc61oj8ln6m8EJKncrsQFmytgRyFYERtk190PeLbJn5JKpmmynn2p1PiFrlhCitAQXLJ0MOy7F0TeyCRqBg==} engines: {node: '>=16.13.2'} + hasBin: true requiresBuild: true dependencies: - '@puppeteer/browsers': 1.8.0 + '@puppeteer/browsers': 1.9.0 cosmiconfig: 8.3.6(typescript@5.2.2) - puppeteer-core: 21.5.2 - puppeteer-core: 21.6.0 ++ puppeteer-core: 21.6.1 transitivePeerDependencies: - bufferutil - encoding @@@ -6194,51 -5993,8 +6200,51 @@@ engines: {node: '>= 0.8'} dev: true - /vite-hyper-config@0.1.1(@types/node@20.10.3)(terser@5.22.0)(vite@5.0.2): ++ /vite-hyper-config@0.1.1(@types/node@20.10.4)(terser@5.22.0)(vite@5.0.2): + resolution: {integrity: sha512-Sc9WuuLImezPUG6JUnBU/L0KHZDHRyvLKEU1fEPCR6gBsC9QTnmnX78doRQpKt6P/rRcawlytbA2xt9Qb/kaVQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + dependencies: + cac: 6.7.14 + picocolors: 1.0.0 - vite: 5.0.2(@types/node@20.10.3)(terser@5.22.0) - vite-node: 0.34.6(@types/node@20.10.3)(terser@5.22.0) ++ vite: 5.0.2(@types/node@20.10.4)(terser@5.22.0) ++ vite-node: 0.34.6(@types/node@20.10.4)(terser@5.22.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + - /vite-node@0.34.6(@types/node@20.10.3)(terser@5.22.0): ++ /vite-node@0.34.6(@types/node@20.10.4)(terser@5.22.0): + resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 - vite: 5.0.2(@types/node@20.10.3)(terser@5.22.0) ++ vite: 5.0.10(@types/node@20.10.4)(terser@5.22.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + - /vite-node@1.0.1(@types/node@20.10.3)(terser@5.22.0): - resolution: {integrity: sha512-Y2Jnz4cr2azsOMMYuVPrQkp3KMnS/0WV8ezZjCy4hU7O5mUHCAVOnFmoEvs1nvix/4mYm74Len8bYRWZJMNP6g==} + /vite-node@1.0.4(@types/node@20.10.4)(terser@5.22.0): + resolution: {integrity: sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@@ -6246,7 -6002,7 +6252,7 @@@ debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.2(@types/node@20.10.3)(terser@5.22.0) - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) ++ vite: 5.0.10(@types/node@20.10.4)(terser@5.22.0) transitivePeerDependencies: - '@types/node' - less @@@ -6258,69 -6014,8 +6264,69 @@@ - terser dev: true - /vite@5.0.7(@types/node@20.10.4)(terser@5.22.0): - resolution: {integrity: sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==} + /vite-plugin-inspect@0.7.42(rollup@4.1.4)(vite@5.0.2): + resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.6 + '@rollup/pluginutils': 5.0.5(rollup@4.1.4) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.1.1 + open: 9.1.0 + picocolors: 1.0.0 + sirv: 2.0.3 - vite: 5.0.2(@types/node@20.10.3)(terser@5.22.0) ++ vite: 5.0.2(@types/node@20.10.4)(terser@5.22.0) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + - /vite@5.0.0(@types/node@20.10.3)(terser@5.22.0): - resolution: {integrity: sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==} ++ /vite@5.0.10(@types/node@20.10.4)(terser@5.22.0): ++ resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: - '@types/node': 20.10.3 ++ '@types/node': 20.10.4 + esbuild: 0.19.5 - postcss: 8.4.31 ++ postcss: 8.4.32 + rollup: 4.4.1 + terser: 5.22.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + - /vite@5.0.2(@types/node@20.10.3)(terser@5.22.0): ++ /vite@5.0.2(@types/node@20.10.4)(terser@5.22.0): + resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@@ -6381,13 -6076,13 +6387,13 @@@ jsdom: optional: true dependencies: - '@types/node': 20.10.3 - '@vitest/expect': 1.0.1 - '@vitest/runner': 1.0.1 - '@vitest/snapshot': 1.0.1 - '@vitest/spy': 1.0.1 - '@vitest/utils': 1.0.1 + '@types/node': 20.10.4 + '@vitest/expect': 1.0.4 + '@vitest/runner': 1.0.4 + '@vitest/snapshot': 1.0.4 + '@vitest/spy': 1.0.4 + '@vitest/utils': 1.0.4 - acorn-walk: 8.3.0 + acorn-walk: 8.3.1 cac: 6.7.14 chai: 4.3.10 debug: 4.3.4 @@@ -6401,8 -6096,8 +6407,8 @@@ strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.1 - vite: 5.0.2(@types/node@20.10.3)(terser@5.22.0) - vite-node: 1.0.1(@types/node@20.10.3)(terser@5.22.0) - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) ++ vite: 5.0.10(@types/node@20.10.4)(terser@5.22.0) + vite-node: 1.0.4(@types/node@20.10.4)(terser@5.22.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@@ -6563,9 -6267,9 +6578,22 @@@ optional: true dev: true - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} ++ /ws@8.15.1: ++ resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} ++ engines: {node: '>=10.0.0'} ++ peerDependencies: ++ bufferutil: ^4.0.1 ++ utf-8-validate: '>=5.0.2' ++ peerDependenciesMeta: ++ bufferutil: ++ optional: true ++ utf-8-validate: ++ optional: true ++ dev: true ++ + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} dev: true /xmlchars@2.2.0: diff --cc scripts/dev.js index 4618cee224,5f996a2983..4b4e73a1f3 --- a/scripts/dev.js +++ b/scripts/dev.js @@@ -30,103 -31,101 +30,104 @@@ const postfix = format.endsWith('-runti ? `runtime.${format.replace(/-runtime$/, '')}` : format -const outfile = resolve( - __dirname, - `../packages/${target}/dist/${ - target === 'vue-compat' ? `vue` : target - }.${postfix}.${prod ? `prod.` : ``}js` -) -const relativeOutfile = relative(process.cwd(), outfile) +for (const target of targets) { + const pkg = require(`../packages/${target}/package.json`) + const outfile = resolve( + __dirname, + `../packages/${target}/dist/${ + target === 'vue-compat' ? `vue` : target + }.${postfix}.${prod ? `prod.` : ``}js` + ) + const relativeOutfile = relative(process.cwd(), outfile) -// resolve externals -// TODO this logic is largely duplicated from rollup.config.js -/** @type {string[]} */ -let external = [] -if (!inlineDeps) { - // cjs & esm-bundler: external all deps - if (format === 'cjs' || format.includes('esm-bundler')) { - external = [ - ...external, - ...Object.keys(pkg.dependencies || {}), - ...Object.keys(pkg.peerDependencies || {}), - // for @vue/compiler-sfc / server-renderer - 'path', - 'url', - 'stream' - ] - } + // resolve externals + // TODO this logic is largely duplicated from rollup.config.js + /** @type {string[]} */ + let external = [] + if (!inlineDeps) { + // cjs & esm-bundler: external all deps + if (format === 'cjs' || format.includes('esm-bundler')) { + external = [ + ...external, + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}), + // for @vue/compiler-sfc / server-renderer + 'path', + 'url', + 'stream' + ] + } - if (target === 'compiler-sfc') { - const consolidatePkgPath = require.resolve( - '@vue/consolidate/package.json', - { - paths: [resolve(__dirname, `../packages/${target}/`)] - } - ) - const consolidateDeps = Object.keys( - require(consolidatePkgPath).devDependencies - ) - external = [ - ...external, - ...consolidateDeps, - 'fs', - 'vm', - 'crypto', - 'react-dom/server', - 'teacup/lib/express', - 'arc-templates/dist/es5', - 'then-pug', - 'then-jade' - ] + if (target === 'compiler-sfc') { + const consolidatePkgPath = require.resolve( + '@vue/consolidate/package.json', + { + paths: [resolve(__dirname, `../packages/${target}/`)] + } + ) + const consolidateDeps = Object.keys( + require(consolidatePkgPath).devDependencies + ) + external = [ + ...external, + ...consolidateDeps, + 'fs', + 'vm', + 'crypto', + 'react-dom/server', + 'teacup/lib/express', + 'arc-templates/dist/es5', + 'then-pug', + 'then-jade' + ] + } } -} -/** @type {Array} */ -const plugins = [ - { - name: 'log-rebuild', - setup(build) { - build.onEnd(() => { - console.log(`built: ${relativeOutfile}`) - }) + /** @type {Array} */ + const plugins = [ + { + name: 'log-rebuild', + setup(build) { + build.onEnd(() => { + console.log(`built: ${relativeOutfile}`) + }) + } } + ] + + if (format !== 'cjs' && pkg.buildOptions?.enableNonBrowserBranches) { + plugins.push(polyfillNode()) } -] -if (format !== 'cjs' && pkg.buildOptions?.enableNonBrowserBranches) { - plugins.push(polyfillNode()) + esbuild + .context({ + entryPoints: [resolve(__dirname, `../packages/${target}/src/index.ts`)], + outfile, + bundle: true, + external, + sourcemap: true, + format: outputFormat, + globalName: pkg.buildOptions?.name, + platform: format === 'cjs' ? 'node' : 'browser', + plugins, + define: { + __COMMIT__: `"dev"`, + __VERSION__: `"${pkg.version}"`, + __DEV__: prod ? `false` : `true`, + __TEST__: `false`, + __BROWSER__: String( + format !== 'cjs' && !pkg.buildOptions?.enableNonBrowserBranches + ), + __GLOBAL__: String(format === 'global'), + __ESM_BUNDLER__: String(format.includes('esm-bundler')), + __ESM_BROWSER__: String(format.includes('esm-browser')), + __NODE_JS__: String(format === 'cjs'), + __SSR__: String(format === 'cjs' || format.includes('esm-bundler')), + __COMPAT__: String(target === 'vue-compat'), + __FEATURE_SUSPENSE__: `true`, + __FEATURE_OPTIONS_API__: `true`, - __FEATURE_PROD_DEVTOOLS__: `false` ++ __FEATURE_PROD_DEVTOOLS__: `false`, ++ __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__: `false` + } + }) + .then(ctx => ctx.watch()) } - -esbuild - .context({ - entryPoints: [resolve(__dirname, `../packages/${target}/src/index.ts`)], - outfile, - bundle: true, - external, - sourcemap: true, - format: outputFormat, - globalName: pkg.buildOptions?.name, - platform: format === 'cjs' ? 'node' : 'browser', - plugins, - define: { - __COMMIT__: `"dev"`, - __VERSION__: `"${pkg.version}"`, - __DEV__: prod ? `false` : `true`, - __TEST__: `false`, - __BROWSER__: String( - format !== 'cjs' && !pkg.buildOptions?.enableNonBrowserBranches - ), - __GLOBAL__: String(format === 'global'), - __ESM_BUNDLER__: String(format.includes('esm-bundler')), - __ESM_BROWSER__: String(format.includes('esm-browser')), - __NODE_JS__: String(format === 'cjs'), - __SSR__: String(format === 'cjs' || format.includes('esm-bundler')), - __COMPAT__: String(target === 'vue-compat'), - __FEATURE_SUSPENSE__: `true`, - __FEATURE_OPTIONS_API__: `true`, - __FEATURE_PROD_DEVTOOLS__: `false`, - __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__: `false` - } - }) - .then(ctx => ctx.watch()) diff --cc vitest.config.ts index fc5f18832c,53842ae327..9b83c11071 --- a/vitest.config.ts +++ b/vitest.config.ts @@@ -20,13 -22,12 +22,12 @@@ export default defineConfig( resolve: { alias: entries }, + plugins: [codspeedPlugin()], test: { globals: true, - // disable threads on GH actions to speed it up - threads: !process.env.GITHUB_ACTIONS, setupFiles: 'scripts/setupVitest.ts', environmentMatchGlobs: [ - ['packages/{vue,vue-compat,runtime-dom}/**', 'jsdom'] + ['packages/{vue,vue-compat,runtime-dom,runtime-vapor}/**', 'jsdom'] ], sequence: { hooks: 'list'