diff --git a/packages/schema/build.config.ts b/packages/schema/build.config.ts index 9bab112bc1..cd3b087cbb 100644 --- a/packages/schema/build.config.ts +++ b/packages/schema/build.config.ts @@ -43,6 +43,7 @@ export default defineBuildConfig({ 'postcss', 'consola', 'ignore', + 'vue-loader', // Implicit '@vue/compiler-core', '@vue/shared', diff --git a/packages/schema/package.json b/packages/schema/package.json index 8b4b2b75a2..877aafc2cc 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,6 +38,7 @@ "vite": "4.3.9", "vue": "3.3.4", "vue-bundle-renderer": "1.0.3", + "vue-loader": "^17.2.2", "vue-router": "4.2.2", "webpack": "5.85.0" }, diff --git a/packages/schema/src/config/webpack.ts b/packages/schema/src/config/webpack.ts index d6a7b3e7d6..00eac91973 100644 --- a/packages/schema/src/config/webpack.ts +++ b/packages/schema/src/config/webpack.ts @@ -151,8 +151,12 @@ export default defineUntypedSchema({ fontUrl: { esModule: false, limit: 1000 }, imgUrl: { esModule: false, limit: 1000 }, pugPlain: {}, + + /** + * See [vue-loader](https://github.com/vuejs/vue-loader) for available options. + * @type {Partial} + */ vue: { - productionMode: { $resolve: async (val, get) => val ?? !(await get('dev')) }, transformAssetUrls: { video: 'src', source: 'src', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3356e2a66c..fe7ef3611c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -570,6 +570,9 @@ importers: vue-bundle-renderer: specifier: 1.0.3 version: 1.0.3 + vue-loader: + specifier: ^17.2.2 + version: 17.2.2(vue@3.3.4)(webpack@5.85.0) vue-router: specifier: 4.2.2 version: 4.2.2(vue@3.3.4) @@ -921,7 +924,7 @@ importers: version: 1.3.1 vitest: specifier: latest - version: 0.31.4(playwright@1.34.3) + version: 0.30.1(playwright@1.34.3) vue-router: specifier: latest version: 4.2.2(vue@3.3.4) @@ -940,7 +943,7 @@ importers: version: 1.3.1 vitest: specifier: latest - version: 0.31.4(playwright@1.34.3) + version: 0.30.1(playwright@1.34.3) vue-router: specifier: latest version: 4.2.2(vue@3.3.4) @@ -2515,6 +2518,14 @@ packages: vite: 4.3.9(@types/node@18.16.16) vue: 3.3.4 + /@vitest/expect@0.30.1: + resolution: {integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==} + dependencies: + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 + chai: 4.3.7 + dev: true + /@vitest/expect@0.31.4: resolution: {integrity: sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==} dependencies: @@ -2523,6 +2534,15 @@ packages: chai: 4.3.7 dev: true + /@vitest/runner@0.30.1: + resolution: {integrity: sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==} + dependencies: + '@vitest/utils': 0.30.1 + concordance: 5.0.4 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + /@vitest/runner@0.31.4: resolution: {integrity: sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==} dependencies: @@ -2532,6 +2552,14 @@ packages: pathe: 1.1.1 dev: true + /@vitest/snapshot@0.30.1: + resolution: {integrity: sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==} + dependencies: + magic-string: 0.30.0 + pathe: 1.1.1 + pretty-format: 27.5.1 + dev: true + /@vitest/snapshot@0.31.4: resolution: {integrity: sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==} dependencies: @@ -2540,12 +2568,26 @@ packages: pretty-format: 27.5.1 dev: true + /@vitest/spy@0.30.1: + resolution: {integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==} + dependencies: + tinyspy: 2.1.0 + dev: true + /@vitest/spy@0.31.4: resolution: {integrity: sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==} dependencies: tinyspy: 2.1.0 dev: true + /@vitest/utils@0.30.1: + resolution: {integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==} + dependencies: + concordance: 5.0.4 + loupe: 2.3.6 + pretty-format: 27.5.1 + dev: true + /@vitest/utils@0.31.4: resolution: {integrity: sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==} dependencies: @@ -5294,7 +5336,6 @@ packages: /hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} - dev: false /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} @@ -8165,6 +8206,11 @@ packages: resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} dev: true + /tinypool@0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} + engines: {node: '>=14.0.0'} + dev: true + /tinypool@0.5.0: resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} engines: {node: '>=14.0.0'} @@ -8592,6 +8638,27 @@ packages: extsprintf: 1.3.0 dev: true + /vite-node@0.30.1(@types/node@18.16.16): + resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.3.0 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.3.9(@types/node@18.16.16) + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vite-node@0.31.4(@types/node@18.16.16): resolution: {integrity: sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==} engines: {node: '>=v14.18.0'} @@ -8698,6 +8765,73 @@ packages: optionalDependencies: fsevents: 2.3.2 + /vitest@0.30.1(playwright@1.34.3): + resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.5 + '@types/chai-subset': 1.3.3 + '@types/node': 18.16.16 + '@vitest/expect': 0.30.1 + '@vitest/runner': 0.30.1 + '@vitest/snapshot': 0.30.1 + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 + acorn: 8.8.2 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 + concordance: 5.0.4 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.0 + pathe: 1.1.1 + picocolors: 1.0.0 + playwright: 1.34.3 + source-map: 0.6.1 + std-env: 3.3.3 + strip-literal: 1.0.1 + tinybench: 2.5.0 + tinypool: 0.4.0 + vite: 4.3.9(@types/node@18.16.16) + vite-node: 0.30.1(@types/node@18.16.16) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vitest@0.31.4(playwright@1.34.3): resolution: {integrity: sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==} engines: {node: '>=v14.18.0'} @@ -8848,7 +8982,6 @@ packages: vue: 3.3.4 watchpack: 2.4.0 webpack: 5.85.0 - dev: false /vue-router@4.2.2(vue@3.3.4): resolution: {integrity: sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==}