diff --git a/examples/farm/farm.config.ts b/examples/farm/farm.config.ts new file mode 100644 index 00000000..66a961d2 --- /dev/null +++ b/examples/farm/farm.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from '@farmfe/core' +import Vue from 'unplugin-vue/farm' + +export default defineConfig({ + plugins: [Vue()], + compilation: { + progress: false, + persistentCache: false, + }, +}) diff --git a/examples/farm/index.html b/examples/farm/index.html new file mode 100644 index 00000000..c984e8b7 --- /dev/null +++ b/examples/farm/index.html @@ -0,0 +1,16 @@ + + + + + + + + Farm + Vue3 + TS + + + +
+ + + + diff --git a/examples/farm/package.json b/examples/farm/package.json new file mode 100644 index 00000000..8536bd65 --- /dev/null +++ b/examples/farm/package.json @@ -0,0 +1,20 @@ +{ + "name": "farm-vue", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "farm start", + "start": "farm start", + "build": "farm build", + "preview": "farm preview", + "clean": "farm clean" + }, + "dependencies": { + "vue": "^3.4.0" + }, + "devDependencies": { + "@farmfe/cli": "2.0.0-nightly-20250411100807", + "core-js": "^3.30.1", + "unplugin-vue": "workspace:*" + } +} diff --git a/examples/farm/public/favicon.ico b/examples/farm/public/favicon.ico new file mode 100644 index 00000000..80465ded Binary files /dev/null and b/examples/farm/public/favicon.ico differ diff --git a/examples/farm/src/App.vue b/examples/farm/src/App.vue new file mode 100644 index 00000000..638b3afe --- /dev/null +++ b/examples/farm/src/App.vue @@ -0,0 +1,12 @@ + + + diff --git a/examples/farm/src/main.ts b/examples/farm/src/main.ts new file mode 100644 index 00000000..01433bca --- /dev/null +++ b/examples/farm/src/main.ts @@ -0,0 +1,4 @@ +import { createApp } from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/examples/farm/tsconfig.json b/examples/farm/tsconfig.json new file mode 100644 index 00000000..26526bc1 --- /dev/null +++ b/examples/farm/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"], +} diff --git a/package.json b/package.json index aa013c3b..e42a18d6 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "./rollup": "./dist/rollup.js", "./rolldown": "./dist/rolldown.js", "./esbuild": "./dist/esbuild.js", + "./farm": "./dist/farm.js", "./api": "./dist/api.js", "./*": "./*" }, @@ -70,6 +71,7 @@ }, "devDependencies": { "@babel/types": "^7.27.0", + "@farmfe/core": "2.0.0-nightly-20250411141103", "@jridgewell/gen-mapping": "^0.3.8", "@jridgewell/trace-mapping": "^0.3.25", "@sxzz/eslint-config": "^6.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 40b80c6c..9fc493d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,6 +27,9 @@ importers: '@babel/types': specifier: ^7.27.0 version: 7.27.0 + '@farmfe/core': + specifier: 2.0.0-nightly-20250411141103 + version: 2.0.0-nightly-20250411141103 '@jridgewell/gen-mapping': specifier: ^0.3.8 version: 0.3.8 @@ -41,7 +44,7 @@ importers: version: 2.2.1 '@sxzz/test-utils': specifier: ^0.5.4 - version: 0.5.4(esbuild@0.25.2)(rollup@4.39.0)(vitest@3.1.1) + version: 0.5.4(esbuild@0.25.2)(rollup@4.39.0)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.0)(@vitest/ui@3.1.1)(jiti@2.4.2)(sass@1.86.3)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.1)) '@types/debug': specifier: ^4.1.12 version: 4.1.12 @@ -83,7 +86,7 @@ importers: version: 1.2.1 tsdown: specifier: ^0.6.10 - version: 0.6.10(@swc/core@1.11.18)(publint@0.3.4)(typescript@5.8.3)(unplugin-unused@0.4.1) + version: 0.6.10(@swc/core@1.11.20)(publint@0.3.4)(typescript@5.8.3)(unplugin-unused@0.4.1) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -95,7 +98,7 @@ importers: version: 3.1.1(@types/debug@4.1.12)(@types/node@22.14.0)(@vitest/ui@3.1.1)(jiti@2.4.2)(sass@1.86.3)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.1) webpack: specifier: ^5.99.5 - version: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2) + version: 5.99.5(@swc/core@1.11.20)(esbuild@0.25.2) examples/esbuild: dependencies: @@ -119,6 +122,22 @@ importers: specifier: workspace:* version: link:../.. + examples/farm: + dependencies: + vue: + specifier: ^3.4.0 + version: 3.5.13(typescript@5.8.3) + devDependencies: + '@farmfe/cli': + specifier: 2.0.0-nightly-20250411100807 + version: 2.0.0-nightly-20250411100807 + core-js: + specifier: ^3.30.1 + version: 3.39.0 + unplugin-vue: + specifier: workspace:* + version: link:../.. + examples/rolldown: dependencies: vue: @@ -162,19 +181,19 @@ importers: devDependencies: '@rspack/cli': specifier: ^1.3.4 - version: 1.3.4(@rspack/core@1.3.4)(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + version: 1.3.4(@rspack/core@1.3.4(@swc/helpers@0.5.17))(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) '@rspack/core': specifier: ^1.3.4 - version: 1.3.4 + version: 1.3.4(@swc/helpers@0.5.17) css-loader: specifier: ^7.1.2 - version: 7.1.2(@rspack/core@1.3.4)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + version: 7.1.2(@rspack/core@1.3.4(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) serve: specifier: ^14.2.4 version: 14.2.4 style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + version: 4.0.0(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) unplugin-vue: specifier: workspace:* version: link:../.. @@ -203,31 +222,31 @@ importers: devDependencies: '@swc/core': specifier: ^1.11.18 - version: 1.11.18 + version: 1.11.20(@swc/helpers@0.5.17) '@types/webpack': specifier: ^5.28.5 - version: 5.28.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + version: 5.28.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5)) css-loader: specifier: ^7.1.2 - version: 7.1.2(@rspack/core@1.3.4)(webpack@5.99.5) + version: 7.1.2(@rspack/core@1.3.4(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.3.4)(webpack@5.99.5) + version: 5.6.3(@rspack/core@1.3.4(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) serve: specifier: ^14.2.4 version: 14.2.4 style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.99.5) + version: 4.0.0(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.11.18)(webpack@5.99.5) + version: 0.2.6(@swc/core@1.11.20(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) unplugin-vue: specifier: workspace:* version: link:../.. webpack: specifier: ^5.99.5 - version: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + version: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 version: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) @@ -663,6 +682,139 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@farmfe/cli@2.0.0-nightly-20250411100807': + resolution: {integrity: sha512-WgVGZDJX68yY/S82PHbYDnEzPMeT4UVC0obIwewk6Lgcf4hkONyzQ3dhBWD7WAkf9+qlyxwMSeboe0ojOaRsDQ==} + engines: {node: '>= 16'} + hasBin: true + + '@farmfe/core-darwin-arm64@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-co8OO6V9J60k21pwem/nFCgOtH6clxjspwXllszAQvHRiNMauBGGnCPLFfJ3AtTcAj+np8uVZO2WmMY/n71mhw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@farmfe/core-darwin-x64@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-1WphytFSNyE03W7lYw2AEummPBpP/mGwJ22jvTiD1hvqfAKCg6O8uQlV10VkUPBTgD8cC5T3MX3O+tNRO8ii4A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@farmfe/core-linux-arm64-gnu@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-aUxM7IVRrvNQQWVj45q+aSC2wooV2ZvAjl0rBsT901QmvDKpZuiiVTHbEeyml/TPvZWq9zyGQAyOvtQjPM8tGw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@farmfe/core-linux-arm64-musl@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-s79Cck7Z9xTiKvYajs4TNQWwMD4OOJU5XZzz5qYAYdCX29QjS0VTPfRNVG3iTC7+OQ0CZyZIjgbhJlY7uLWNuA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@farmfe/core-linux-x64-gnu@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-G7clm1LsCQcSpDSzvQpD8EolOy8Y0h0cJgsazI0iJ0vceA+VMDrdEVvKBRbKQaKXkFsmNFX7rEqFPy0Yp4/FzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@farmfe/core-linux-x64-musl@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-5FdsKOwbPFxStsUzBljG1JcC5KnYLd43A7ZR8Kf4cODFl0v1OTZeT/cPCGis++fAJx3bwlIpgSv2rDqAH1NZKg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@farmfe/core-win32-arm64-msvc@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-JEljAkBB0LozZnsTg4IiJZDjhVtl2YV1TNxC6xT1aAE4S3j+pUm/DLY/TxamYRhLI9rkMqwOdaiRKgTec5w+Rg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@farmfe/core-win32-ia32-msvc@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-Kl6zU0mEfBPSlL4r/k8pgDzeEcrR6uBkdEngXOOsqEPLCjrQ8v/b/43BRi2R8J/soUzFraj3nYqBiYfci8TdlQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@farmfe/core-win32-x64-msvc@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-efSrUguvL9M63yGWP4w8oTR6b8G98q/IRbgQrKOl58qgd+VV32F2+GCakWFxHhCVpHgG4rUzDJMDKUin/TLZ5w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@farmfe/core@2.0.0-nightly-20250411141103': + resolution: {integrity: sha512-BNfg4PQXmb4Dq3lpFqBT5hg/JD0eucWx4zIJp+W6jgn5G9aWa9RQ0kI3M4O50iXDKSfB8A+uJ8apXZCyV39XMw==} + engines: {node: '>=16.15.1'} + + '@farmfe/plugin-replace-dirname-darwin-arm64@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-5/Ctx73g1l2F8TDvN0+giEJeJZtBk4c27e8vKAQ6ppam9SN9Cf2reo2m+KWMOGq1xP+Q1UpYR/3lldDZX7nWnQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@farmfe/plugin-replace-dirname-darwin-x64@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-bRT51H+g6viBxTudm0w6s6nllj83pq3YVepHFRQDz15Ra1+42Pt5KWDdFAocH6UvwYtQoQcU2ZU921QNsSCOBg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@farmfe/plugin-replace-dirname-linux-arm64-gnu@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-7yNOCNKoEMhxaEVCs8GBGkKvBI6NQBy/eJ+pIxqzGXoc1YusjjeFWckhaTwB8p6sefwW8jOWMBvoLJdCzve0Ew==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@farmfe/plugin-replace-dirname-linux-arm64-musl@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-U0CW0YyIiu34zX3TYnTo1q/ONAGT4Xu4SdEaVLDevDus0p3DZ47maAxFmibO5xjeXJpLiaa+1vCcoFd0WPhAdA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@farmfe/plugin-replace-dirname-linux-x64-gnu@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-ua+tAPKERjFmFI8V5UN6fda7Fw6nsWm9LesEBRVgntmyxOs7Ji3W9YlmaW009So8FDknVddwXIZC+M5y+lNG8Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@farmfe/plugin-replace-dirname-linux-x64-musl@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-sFM/joFBB2oMRM+HI+0c67Iikhsm/gRaLkCAkoy8F4N6H3NtJvv4ZwIZNQRyiraBHo38hH0usxDdpBT5dwBGjQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@farmfe/plugin-replace-dirname-win32-arm64-msvc@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-gqJqWl0aseJycVGdrF8z/O/4w9UKXmgRfLZqhffY0XJ/zsBLQS4NURSMkWyfU9IZzWW+a2pGfwpnmdeuu8g/+g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@farmfe/plugin-replace-dirname-win32-ia32-msvc@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-9GzNKjI7QDZd913iZUCzzZYXJBra0IgHd+u1BGY3k9ds0n6Zxstf76vGa2uro2gkPK8LHGYtG4r79o1ASTucmg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@farmfe/plugin-replace-dirname-win32-x64-msvc@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-6DaEVrYodBzZN7dULr1qz/eSQMHrmw+4yX7vzcwVd456vQXT5EICkPMnUm9vZcvea/vB8HNtlrcAYP/kW65BsA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@farmfe/plugin-replace-dirname@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-6XoU9pCsciVkRMslJWhg7E+gD+8JrXLTZxj0eqc9FlYfCAuY6ZN4hLFspX7HF6p6PGFig+B5wlWZODrlI0eNtQ==} + engines: {node: '>=16'} + + '@farmfe/runtime-plugin-hmr@4.0.0-nightly-20250411100807': + resolution: {integrity: sha512-r+JiPCtfHv+EgAXbryhT7MESn35rZJzkN95/6qaZ+EC63YLiPJIMup/5yNLydsR3Bp8wwYYvAwbTxujvOo3ucw==} + + '@farmfe/runtime-plugin-import-meta@1.0.0-nightly-20250411100807': + resolution: {integrity: sha512-mIr6ulpEzjrK+SFbfx71/OakdzeSL5EZA8oMJEBSRZO/2b+aCinghoRKz8u3C13B+vooy6lKN4UWHEupm7HxqA==} + + '@farmfe/runtime@1.0.0-nightly-20250411141103': + resolution: {integrity: sha512-SNwWV0A7qDmVJzg9UnQN+9tV5Y/YMJL6PZOF8GufjQlIlesCXDWyNbaf37ZeXFwpWysW43LKbQbvmTY7273FSg==} + + '@farmfe/utils@1.0.0-nightly-20241022124925': + resolution: {integrity: sha512-SqtQJAK7wIt19NIvyxuMae1X5B/2OYMkqsiovhScDoehu3ufemMz5SATQFJ4ylDqR+RkKY7gIOQ4onbXuyeT4Q==} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -729,6 +881,9 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@mdn/browser-compat-data@5.7.6': + resolution: {integrity: sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==} + '@module-federation/error-codes@0.11.2': resolution: {integrity: sha512-ik1Qnn0I+WyEdprTck9WGlH41vGsVdUg8cfO+ZM02qOb2cZm5Vu3SlxGAobj6g7uAj0g8yINnd7h7Dci40BxQA==} @@ -1104,6 +1259,10 @@ packages: resolution: {integrity: sha512-25L86MyPvnlQoX2MTIV2OiUcb6vJ6aRbFa9pbwByn95INKD5mFH2smgjDhq+fwJoqAgvgbdJLj6Tz7V9X5CFAQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@polka/compression@1.0.0-next.25': + resolution: {integrity: sha512-UlVkoSGRig87riHSn8QOxd2DzGhadRpNSj5Ukqj+Bt7WTE4Es+sE3ju3OYbe8SiV2OwA+8tDcSuHWUh5S3jCBQ==} + engines: {node: '>=6'} + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -1355,71 +1514,71 @@ packages: resolution: {integrity: sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==} engines: {node: '>=16.0.0'} - '@swc/core-darwin-arm64@1.11.18': - resolution: {integrity: sha512-K6AntdUlNMQg8aChqjeXwnVhK6d4WRZ9TgtLSTmdU0Ugll4an7QK49s9NrT7XQU91cEsVvzdr++p1bNImx0hJg==} + '@swc/core-darwin-arm64@1.11.20': + resolution: {integrity: sha512-Sc06h6pwMhQagU7vz92b7wwQTIibTiqRE4y/XjkvurSbjSarrtSZR4OKkrdNwUkSy1HlQE4NhKQf7tmLeQ7PhQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.11.18': - resolution: {integrity: sha512-RCRvC6Q9M5BArTvj/IzUAAYGrgxYFbTTnAtf6UX7JFq2DAn+hEwYUjmC1m0gFso9HqFU0m5QZUGfZvVmACGWUw==} + '@swc/core-darwin-x64@1.11.20': + resolution: {integrity: sha512-kHANJrgbqaGzUyTectNfLyhnHAeDGGVSRXYyPVAx6x0nuLOnRhKbuSyZY42UEN1IgHauaADCzcd+HiiMv/rgRw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.11.18': - resolution: {integrity: sha512-wteAKf8YKb3jOnZFm3EzuIMzzCVXMuQOLHsz1IgEOc44/gdgNXKxaYTWAowZuej7t68tf/w0cRNMc7Le414v/g==} + '@swc/core-linux-arm-gnueabihf@1.11.20': + resolution: {integrity: sha512-FXllEBeAwU6FNIZzo+u1LmHGaHzwAKzz7tWRkUOqBKjKr20Ot4KGS3xlz2qgV2NESFHAisdHja2P2rcQWqtZRg==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.11.18': - resolution: {integrity: sha512-hY6jJYZ6PKHSBo5OATswfyKsUgsWu9+4nDcN8liYIRRgz3E0G9wk0VUTP4cFPivBFeHWTTAGz687/Nf2aQEIpw==} + '@swc/core-linux-arm64-gnu@1.11.20': + resolution: {integrity: sha512-OsYMFyJzUM0K8a97tu6KxZaCob3vr+UknVqHO09QwechX+rdX4euWm7Lte4d1B+7SBfokhw7ghLZsNTQfRw9pA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.11.18': - resolution: {integrity: sha512-slu0mlP2nucvQalttnapfpqpD/LlM9NHx9g3ofgsLzjObyMEBiX4ZysQ3y65U8Mjw71RNqtLd/ZmvxI6OmLdiQ==} + '@swc/core-linux-arm64-musl@1.11.20': + resolution: {integrity: sha512-fbSWOQ5ZZ7sWodoC6GnzV9RhbImdxoH8b14K1tnHCWJXolzTH40/4JKf/koJ3r24nm1PtsqX9OUxRsOXYAy5dg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.11.18': - resolution: {integrity: sha512-h9a/8PA25arMCQ9t8CE8rA1s0c77z4kCZZ7dUuUkD88yEXIrARMca1IKR7of+S3slfQrf1Zlq3Ac1Fb1HVJziQ==} + '@swc/core-linux-x64-gnu@1.11.20': + resolution: {integrity: sha512-OFU53idbY8KA1RkNzZBi0FpoRPSn/anv4N7ZzGZGk664UoFwMbSL+XHGocJzhV9G/VNGH7bMBmgoVWk72nn5hw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.11.18': - resolution: {integrity: sha512-0sMDJj5qUGK9QEw4lrxLxkTP/4AoKciqNzXvqbk+J9XuXN2aIv4BsR1Y7z3GwAeMFGsba2lbHLOtJlDsaqIsiA==} + '@swc/core-linux-x64-musl@1.11.20': + resolution: {integrity: sha512-GZbqXEc09nIarkGMXc2P4Hf2ONb1vre22X7Se9CCeU/QtWYRU/H1a2TFnYgBKzNVOH65Dd/XYXcuy+tM1aw1iw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.11.18': - resolution: {integrity: sha512-zGv9HnfgBcKyt54MJRWdwRNu9BuYkAFM7bx+tWtKhd37Ef7ZX20QLs9xXl5wWDXCbsOdRxXIZgXs6PEL+Pzmrw==} + '@swc/core-win32-arm64-msvc@1.11.20': + resolution: {integrity: sha512-i0H2MeK8krEd/YeiGz0GHtNL9wSGfAPXiouh8aRNV/u+w4vPaaRqnXwv/yzAW+D2vPpKJBhOwmNFFzdgTJ5mWw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.11.18': - resolution: {integrity: sha512-uBKj0S1lYv/E2ZhxHZOxSiQwoegYmzbPRpjq6eHBZDv97mu7W3K27/lsnPbvAfQ6b6rnv8BI+EsmJ7VLQBAHBQ==} + '@swc/core-win32-ia32-msvc@1.11.20': + resolution: {integrity: sha512-/7e3X7EGO8uOvAUP+YKJTdoR2JR5vdiewDOnDS9FFXj8yr9x6/oDFLd92Sp9NglF+aXuqAo33IfH2OTz1MR+Ww==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.11.18': - resolution: {integrity: sha512-8USTRcdgeFMNBgvVXl8tz6n4+9s9m+zHsfDeBT4jPgwnq2bnLBlTUlwnPwzDxfg9nUJr6RFD4xeKfWyZZRosZg==} + '@swc/core-win32-x64-msvc@1.11.20': + resolution: {integrity: sha512-rcZpt5uiVNTs/Se+CYBoaDphafFJcsqXo3DNmfkJZoDZUb4PZqxu61p4Qa+lvFDQlRragrlLRpGQM9qnLNd4iQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.11.18': - resolution: {integrity: sha512-ORZxyCKKiqYt2iHdh1C7pfVR1GBjkuFOdwqZggQzaq0vt22DpGca+2JsUtkUoWQmWcct04v5+ScwgvsHuMObxA==} + '@swc/core@1.11.20': + resolution: {integrity: sha512-2F0+bQs7+pwbudsxRffLdfpGCQX4Ih5k88f7LqTfj2oC7aTrv7FssduOvcAvfVY/InZmyYEblKl1rqg8bvzrZQ==} engines: {node: '>=10'} peerDependencies: - '@swc/helpers': '*' + '@swc/helpers': '>=0.5.17' peerDependenciesMeta: '@swc/helpers': optional: true @@ -1427,6 +1586,9 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@swc/types@0.1.21': resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==} @@ -1525,6 +1687,9 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@types/object-path@0.11.4': + resolution: {integrity: sha512-4tgJ1Z3elF/tOMpA8JLVuR9spt9Ynsf7+JjqsQ2IqtiPJtcLoHoXcT6qU4E10cPFqyXX5HDm9QwIzZhBSkLxsw==} + '@types/qs@6.9.18': resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} @@ -1534,6 +1699,9 @@ packages: '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + '@types/semver@7.7.0': + resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} + '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} @@ -1546,6 +1714,9 @@ packages: '@types/sockjs@0.3.36': resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + '@types/ua-parser-js@0.7.39': + resolution: {integrity: sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -2149,6 +2320,10 @@ packages: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + consola@3.4.2: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -2175,9 +2350,16 @@ packages: core-js-compat@3.41.0: resolution: {integrity: sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==} + core-js@3.39.0: + resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -2251,6 +2433,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + default-browser-id@5.0.0: resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} engines: {node: '>=18'} @@ -2327,6 +2513,10 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + dotenv@16.4.7: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} @@ -2650,6 +2840,10 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + execa@8.0.0: + resolution: {integrity: sha512-CTNS0BcKBcoOsawKBlpcKNmK4Kjuyz5jVLhf+PUsHGMqiKMVTa4cN3U7r7bRY8KTpfOGpXMo27fdy0dYVg2pqA==} + engines: {node: '>=16.17'} + exit-hook@4.0.0: resolution: {integrity: sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==} engines: {node: '>=18'} @@ -2665,6 +2859,10 @@ packages: exsolve@1.0.4: resolution: {integrity: sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==} + farm-browserslist-generator@1.0.5: + resolution: {integrity: sha512-igffWSQATGV2ZJEvDBIB9Q2QfVOr+vv/JTZaaNoYfW/nrCGZ58zyJ0kSkFQEvptGUWf6idECqj82ykli4Ueplw==} + engines: {node: '>=16.15.1', npm: '>=7.0.0', pnpm: '>=3.2.0', yarn: '>=1.13'} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2714,6 +2912,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -2762,6 +2964,10 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2786,6 +2992,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + get-tsconfig@4.10.0: resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} @@ -2915,6 +3125,10 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} @@ -3033,6 +3247,10 @@ packages: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + is-port-reachable@4.0.0: resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3041,6 +3259,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3052,6 +3274,10 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isbot@3.8.0: + resolution: {integrity: sha512-vne1mzQUTR+qsMLeCBL9+/tgnDXRyc2pygLGl/WsgA+EZKIiB5Ehu0CiVTHIIk30zhJ24uGz4M5Ppse37aR0Hg==} + engines: {node: '>=12'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -3117,6 +3343,9 @@ packages: jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3347,10 +3576,19 @@ packages: engines: {node: '>=4'} hasBin: true + mime@4.0.7: + resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} + engines: {node: '>=16'} + hasBin: true + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -3448,6 +3686,10 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -3456,16 +3698,28 @@ packages: engines: {node: ^14.16.0 || >=16.10.0} hasBin: true + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + object-path@0.11.8: + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} + obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -3478,6 +3732,10 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + open@10.1.0: resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} engines: {node: '>=18'} @@ -3571,6 +3829,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -3677,6 +3939,10 @@ packages: pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -4057,6 +4323,10 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + strip-indent@4.0.0: resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} engines: {node: '>=12'} @@ -4234,6 +4504,10 @@ packages: engines: {node: '>=14.17'} hasBin: true + ua-parser-js@1.0.40: + resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} + hasBin: true + ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} @@ -4259,6 +4533,10 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -4619,6 +4897,15 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + zod-validation-error@1.5.0: + resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==} + engines: {node: '>=16.0.0'} + peerDependencies: + zod: ^3.18.0 + + zod@3.24.2: + resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4912,6 +5199,137 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 + '@farmfe/cli@2.0.0-nightly-20250411100807': + dependencies: + cac: 6.7.14 + + '@farmfe/core-darwin-arm64@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-darwin-x64@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-linux-arm64-gnu@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-linux-arm64-musl@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-linux-x64-gnu@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-linux-x64-musl@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-win32-arm64-msvc@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-win32-ia32-msvc@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core-win32-x64-msvc@2.0.0-nightly-20250411141103': + optional: true + + '@farmfe/core@2.0.0-nightly-20250411141103': + dependencies: + '@farmfe/plugin-replace-dirname': 1.0.0-nightly-20250411100807 + '@farmfe/runtime': 1.0.0-nightly-20250411141103 + '@farmfe/runtime-plugin-hmr': 4.0.0-nightly-20250411100807 + '@farmfe/runtime-plugin-import-meta': 1.0.0-nightly-20250411100807 + '@farmfe/utils': 1.0.0-nightly-20241022124925 + '@polka/compression': 1.0.0-next.25 + '@swc/helpers': 0.5.17 + chokidar: 3.6.0 + connect: 3.7.0 + cors: 2.8.5 + debug: 4.4.0 + deepmerge: 4.3.1 + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + etag: 1.8.1 + execa: 8.0.0 + farm-browserslist-generator: 1.0.5 + fast-glob: 3.3.3 + fs-extra: 11.3.0 + http-proxy: 1.18.1(debug@4.4.0) + is-plain-object: 5.0.0 + mime: 4.0.7 + mime-types: 2.1.35 + open: 10.1.0 + sirv: 3.0.1 + slashes: 3.0.12 + ws: 8.18.1 + zod: 3.24.2 + zod-validation-error: 1.5.0(zod@3.24.2) + optionalDependencies: + '@farmfe/core-darwin-arm64': 2.0.0-nightly-20250411141103 + '@farmfe/core-darwin-x64': 2.0.0-nightly-20250411141103 + '@farmfe/core-linux-arm64-gnu': 2.0.0-nightly-20250411141103 + '@farmfe/core-linux-arm64-musl': 2.0.0-nightly-20250411141103 + '@farmfe/core-linux-x64-gnu': 2.0.0-nightly-20250411141103 + '@farmfe/core-linux-x64-musl': 2.0.0-nightly-20250411141103 + '@farmfe/core-win32-arm64-msvc': 2.0.0-nightly-20250411141103 + '@farmfe/core-win32-ia32-msvc': 2.0.0-nightly-20250411141103 + '@farmfe/core-win32-x64-msvc': 2.0.0-nightly-20250411141103 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@farmfe/plugin-replace-dirname-darwin-arm64@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-darwin-x64@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-linux-arm64-gnu@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-linux-arm64-musl@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-linux-x64-gnu@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-linux-x64-musl@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-win32-arm64-msvc@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-win32-ia32-msvc@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname-win32-x64-msvc@1.0.0-nightly-20250411100807': + optional: true + + '@farmfe/plugin-replace-dirname@1.0.0-nightly-20250411100807': + optionalDependencies: + '@farmfe/plugin-replace-dirname-darwin-arm64': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-darwin-x64': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-linux-arm64-gnu': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-linux-arm64-musl': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-linux-x64-gnu': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-linux-x64-musl': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-win32-arm64-msvc': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-win32-ia32-msvc': 1.0.0-nightly-20250411100807 + '@farmfe/plugin-replace-dirname-win32-x64-msvc': 1.0.0-nightly-20250411100807 + + '@farmfe/runtime-plugin-hmr@4.0.0-nightly-20250411100807': + dependencies: + core-js: 3.39.0 + prismjs: 1.30.0 + + '@farmfe/runtime-plugin-import-meta@1.0.0-nightly-20250411100807': + dependencies: + core-js: 3.39.0 + + '@farmfe/runtime@1.0.0-nightly-20250411141103': + dependencies: + core-js: 3.39.0 + + '@farmfe/utils@1.0.0-nightly-20241022124925': {} + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4974,6 +5392,8 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@mdn/browser-compat-data@5.7.6': {} + '@module-federation/error-codes@0.11.2': {} '@module-federation/runtime-core@0.11.2': @@ -5228,6 +5648,8 @@ snapshots: '@pkgr/core@0.2.2': {} + '@polka/compression@1.0.0-next.25': {} + '@polka/url@1.0.0-next.29': {} '@publint/pack@0.1.2': @@ -5374,11 +5796,11 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 1.3.4 '@rspack/binding-win32-x64-msvc': 1.3.4 - '@rspack/cli@1.3.4(@rspack/core@1.3.4)(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2))': + '@rspack/cli@1.3.4(@rspack/core@1.3.4(@swc/helpers@0.5.17))(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2))': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@rspack/core': 1.3.4 - '@rspack/dev-server': 1.1.1(@rspack/core@1.3.4)(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + '@rspack/core': 1.3.4(@swc/helpers@0.5.17) + '@rspack/dev-server': 1.1.1(@rspack/core@1.3.4(@swc/helpers@0.5.17))(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) colorette: 2.0.20 exit-hook: 4.0.0 interpret: 3.1.1 @@ -5394,23 +5816,25 @@ snapshots: - webpack - webpack-cli - '@rspack/core@1.3.4': + '@rspack/core@1.3.4(@swc/helpers@0.5.17)': dependencies: '@module-federation/runtime-tools': 0.11.2 '@rspack/binding': 1.3.4 '@rspack/lite-tapable': 1.0.1 caniuse-lite: 1.0.30001712 + optionalDependencies: + '@swc/helpers': 0.5.17 - '@rspack/dev-server@1.1.1(@rspack/core@1.3.4)(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2))': + '@rspack/dev-server@1.1.1(@rspack/core@1.3.4(@swc/helpers@0.5.17))(@types/express@4.17.21)(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2))': dependencies: - '@rspack/core': 1.3.4 + '@rspack/core': 1.3.4(@swc/helpers@0.5.17) chokidar: 3.6.0 express: 4.21.2 http-proxy-middleware: 2.0.8(@types/express@4.17.21)(debug@4.4.0) mime-types: 2.1.35 p-retry: 6.2.1 - webpack-dev-middleware: 7.4.2(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) - webpack-dev-server: 5.2.0(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + webpack-dev-middleware: 7.4.2(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) + webpack-dev-server: 5.2.0(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) ws: 8.18.1 transitivePeerDependencies: - '@types/express' @@ -5423,54 +5847,59 @@ snapshots: '@rspack/lite-tapable@1.0.1': {} - '@swc/core-darwin-arm64@1.11.18': + '@swc/core-darwin-arm64@1.11.20': optional: true - '@swc/core-darwin-x64@1.11.18': + '@swc/core-darwin-x64@1.11.20': optional: true - '@swc/core-linux-arm-gnueabihf@1.11.18': + '@swc/core-linux-arm-gnueabihf@1.11.20': optional: true - '@swc/core-linux-arm64-gnu@1.11.18': + '@swc/core-linux-arm64-gnu@1.11.20': optional: true - '@swc/core-linux-arm64-musl@1.11.18': + '@swc/core-linux-arm64-musl@1.11.20': optional: true - '@swc/core-linux-x64-gnu@1.11.18': + '@swc/core-linux-x64-gnu@1.11.20': optional: true - '@swc/core-linux-x64-musl@1.11.18': + '@swc/core-linux-x64-musl@1.11.20': optional: true - '@swc/core-win32-arm64-msvc@1.11.18': + '@swc/core-win32-arm64-msvc@1.11.20': optional: true - '@swc/core-win32-ia32-msvc@1.11.18': + '@swc/core-win32-ia32-msvc@1.11.20': optional: true - '@swc/core-win32-x64-msvc@1.11.18': + '@swc/core-win32-x64-msvc@1.11.20': optional: true - '@swc/core@1.11.18': + '@swc/core@1.11.20(@swc/helpers@0.5.17)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.21 optionalDependencies: - '@swc/core-darwin-arm64': 1.11.18 - '@swc/core-darwin-x64': 1.11.18 - '@swc/core-linux-arm-gnueabihf': 1.11.18 - '@swc/core-linux-arm64-gnu': 1.11.18 - '@swc/core-linux-arm64-musl': 1.11.18 - '@swc/core-linux-x64-gnu': 1.11.18 - '@swc/core-linux-x64-musl': 1.11.18 - '@swc/core-win32-arm64-msvc': 1.11.18 - '@swc/core-win32-ia32-msvc': 1.11.18 - '@swc/core-win32-x64-msvc': 1.11.18 + '@swc/core-darwin-arm64': 1.11.20 + '@swc/core-darwin-x64': 1.11.20 + '@swc/core-linux-arm-gnueabihf': 1.11.20 + '@swc/core-linux-arm64-gnu': 1.11.20 + '@swc/core-linux-arm64-musl': 1.11.20 + '@swc/core-linux-x64-gnu': 1.11.20 + '@swc/core-linux-x64-musl': 1.11.20 + '@swc/core-win32-arm64-msvc': 1.11.20 + '@swc/core-win32-ia32-msvc': 1.11.20 + '@swc/core-win32-x64-msvc': 1.11.20 + '@swc/helpers': 0.5.17 '@swc/counter@0.1.3': {} + '@swc/helpers@0.5.17': + dependencies: + tslib: 2.8.1 + '@swc/types@0.1.21': dependencies: '@swc/counter': 0.1.3 @@ -5516,7 +5945,7 @@ snapshots: '@sxzz/prettier-config@2.2.1': {} - '@sxzz/test-utils@0.5.4(esbuild@0.25.2)(rollup@4.39.0)(vitest@3.1.1)': + '@sxzz/test-utils@0.5.4(esbuild@0.25.2)(rollup@4.39.0)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.0)(@vitest/ui@3.1.1)(jiti@2.4.2)(sass@1.86.3)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.1))': dependencies: tinyglobby: 0.2.12 unplugin-utils: 0.2.4 @@ -5608,12 +6037,16 @@ snapshots: '@types/normalize-package-data@2.4.4': {} + '@types/object-path@0.11.4': {} + '@types/qs@6.9.18': {} '@types/range-parser@1.2.7': {} '@types/retry@0.12.2': {} + '@types/semver@7.7.0': {} + '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 @@ -5633,13 +6066,15 @@ snapshots: dependencies: '@types/node': 22.14.0 + '@types/ua-parser-js@0.7.39': {} + '@types/unist@3.0.3': {} - '@types/webpack@5.28.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1)': + '@types/webpack@5.28.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))': dependencies: '@types/node': 22.14.0 tapable: 2.2.1 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -5964,19 +6399,19 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.99.5)': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1))': dependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.99.5)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1))': dependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.1)(webpack@5.99.5)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))(webpack-dev-server@5.2.1(debug@4.4.0)(webpack-cli@6.0.1)(webpack@5.99.5))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1))': dependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) optionalDependencies: webpack-dev-server: 5.2.1(debug@4.4.0)(webpack-cli@6.0.1)(webpack@5.99.5) @@ -6329,6 +6764,15 @@ snapshots: connect-history-api-fallback@2.0.0: {} + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + consola@3.4.2: {} content-disposition@0.5.2: {} @@ -6347,15 +6791,22 @@ snapshots: dependencies: browserslist: 4.24.4 + core-js@3.39.0: {} + core-util-is@1.0.3: {} + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - css-loader@7.1.2(@rspack/core@1.3.4)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)): + css-loader@7.1.2(@rspack/core@1.3.4(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -6366,10 +6817,10 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.1 optionalDependencies: - '@rspack/core': 1.3.4 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2) + '@rspack/core': 1.3.4(@swc/helpers@0.5.17) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) - css-loader@7.1.2(@rspack/core@1.3.4)(webpack@5.99.5): + css-loader@7.1.2(@rspack/core@1.3.4(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -6380,8 +6831,8 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.1 optionalDependencies: - '@rspack/core': 1.3.4 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + '@rspack/core': 1.3.4(@swc/helpers@0.5.17) + webpack: 5.99.5(@swc/core@1.11.20)(esbuild@0.25.2) css-select@4.3.0: dependencies: @@ -6421,6 +6872,8 @@ snapshots: deep-is@0.1.4: {} + deepmerge@4.3.1: {} + default-browser-id@5.0.0: {} default-browser@5.2.1: @@ -6487,6 +6940,10 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.4.7 + dotenv@16.4.7: {} dunder-proto@1.0.1: @@ -6920,6 +7377,18 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + execa@8.0.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + exit-hook@4.0.0: {} expect-type@1.2.1: {} @@ -6962,6 +7431,19 @@ snapshots: exsolve@1.0.4: {} + farm-browserslist-generator@1.0.5: + dependencies: + '@mdn/browser-compat-data': 5.7.6 + '@types/object-path': 0.11.4 + '@types/semver': 7.7.0 + '@types/ua-parser-js': 0.7.39 + browserslist: 4.24.4 + caniuse-lite: 1.0.30001712 + isbot: 3.8.0 + object-path: 0.11.8 + semver: 7.7.1 + ua-parser-js: 1.0.40 + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -7004,6 +7486,18 @@ snapshots: dependencies: to-regex-range: 5.0.1 + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -7050,6 +7544,12 @@ snapshots: fresh@0.5.2: {} + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fsevents@2.3.3: optional: true @@ -7077,6 +7577,8 @@ snapshots: get-stream@6.0.1: {} + get-stream@8.0.1: {} + get-tsconfig@4.10.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -7160,7 +7662,7 @@ snapshots: relateurl: 0.2.7 terser: 5.39.0 - html-webpack-plugin@5.6.3(@rspack/core@1.3.4)(webpack@5.99.5): + html-webpack-plugin@5.6.3(@rspack/core@1.3.4(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -7168,8 +7670,8 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - '@rspack/core': 1.3.4 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + '@rspack/core': 1.3.4(@swc/helpers@0.5.17) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) htmlparser2@6.1.0: dependencies: @@ -7219,6 +7721,8 @@ snapshots: human-signals@2.1.0: {} + human-signals@5.0.0: {} + hyperdyperid@1.2.0: {} iconv-lite@0.4.24: @@ -7299,10 +7803,14 @@ snapshots: dependencies: isobject: 3.0.1 + is-plain-object@5.0.0: {} + is-port-reachable@4.0.0: {} is-stream@2.0.1: {} + is-stream@3.0.0: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -7313,6 +7821,8 @@ snapshots: isarray@1.0.0: {} + isbot@3.8.0: {} + isexe@2.0.0: {} isobject@3.0.1: {} @@ -7363,6 +7873,12 @@ snapshots: jsonc-parser@3.3.1: {} + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -7750,8 +8266,12 @@ snapshots: mime@1.6.0: {} + mime@4.0.7: {} + mimic-fn@2.1.0: {} + mimic-fn@4.0.0: {} + min-indent@1.0.1: {} minimalistic-assert@1.0.1: {} @@ -7831,6 +8351,10 @@ snapshots: dependencies: path-key: 3.1.1 + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -7843,12 +8367,20 @@ snapshots: pkg-types: 2.1.0 tinyexec: 0.3.2 + object-assign@4.1.1: {} + object-inspect@1.13.4: {} + object-path@0.11.8: {} + obuf@1.1.2: {} ohash@2.0.11: {} + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -7859,6 +8391,10 @@ snapshots: dependencies: mimic-fn: 2.1.0 + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + open@10.1.0: dependencies: default-browser: 5.2.1 @@ -8000,6 +8536,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@2.0.0: @@ -8097,6 +8635,8 @@ snapshots: lodash: 4.17.21 renderkid: 3.0.0 + prismjs@1.30.0: {} + process-nextick-args@2.0.1: {} proxy-addr@2.0.7: @@ -8586,6 +9126,8 @@ snapshots: strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} + strip-indent@4.0.0: dependencies: min-indent: 1.0.1 @@ -8594,13 +9136,13 @@ snapshots: strip-json-comments@3.1.1: {} - style-loader@4.0.0(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)): + style-loader@4.0.0(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)): dependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) - style-loader@4.0.0(webpack@5.99.5): + style-loader@4.0.0(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)): dependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20)(esbuild@0.25.2) supports-color@7.2.0: dependencies: @@ -8612,11 +9154,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swc-loader@0.2.6(@swc/core@1.11.18)(webpack@5.99.5): + swc-loader@0.2.6(@swc/core@1.11.20(@swc/helpers@0.5.17))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)): dependencies: - '@swc/core': 1.11.18 + '@swc/core': 1.11.20(@swc/helpers@0.5.17) '@swc/counter': 0.1.3 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) synckit@0.10.3: dependencies: @@ -8635,28 +9177,28 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.14(@swc/core@1.11.18)(esbuild@0.25.2)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)): + terser-webpack-plugin@5.3.14(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) optionalDependencies: - '@swc/core': 1.11.18 + '@swc/core': 1.11.20(@swc/helpers@0.5.17) esbuild: 0.25.2 - terser-webpack-plugin@5.3.14(@swc/core@1.11.18)(esbuild@0.25.2)(webpack@5.99.5): + terser-webpack-plugin@5.3.14(@swc/core@1.11.20)(esbuild@0.25.2)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20)(esbuild@0.25.2) optionalDependencies: - '@swc/core': 1.11.18 + '@swc/core': 1.11.20(@swc/helpers@0.5.17) esbuild: 0.25.2 terser@5.39.0: @@ -8703,7 +9245,7 @@ snapshots: dependencies: typescript: 5.8.3 - tsdown@0.6.10(@swc/core@1.11.18)(publint@0.3.4)(typescript@5.8.3)(unplugin-unused@0.4.1): + tsdown@0.6.10(@swc/core@1.11.20)(publint@0.3.4)(typescript@5.8.3)(unplugin-unused@0.4.1): dependencies: ansis: 3.17.0 cac: 6.7.14 @@ -8718,7 +9260,7 @@ snapshots: rollup-plugin-dts: 6.2.1(rollup@4.39.0)(typescript@5.8.3) tinyglobby: 0.2.12 unconfig: 7.3.1 - unplugin-isolated-decl: 0.13.6(@swc/core@1.11.18)(typescript@5.8.3) + unplugin-isolated-decl: 0.13.6(@swc/core@1.11.20)(typescript@5.8.3) optionalDependencies: publint: 0.3.4 unplugin-unused: 0.4.1 @@ -8763,6 +9305,8 @@ snapshots: typescript@5.8.3: {} + ua-parser-js@1.0.40: {} + ufo@1.6.1: {} unconfig@7.3.1: @@ -8795,9 +9339,11 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + universalify@2.0.1: {} + unpipe@1.0.0: {} - unplugin-isolated-decl@0.13.6(@swc/core@1.11.18)(typescript@5.8.3): + unplugin-isolated-decl@0.13.6(@swc/core@1.11.20)(typescript@5.8.3): dependencies: debug: 4.4.0 magic-string: 0.30.17 @@ -8806,7 +9352,7 @@ snapshots: unplugin: 2.3.0 unplugin-utils: 0.2.4 optionalDependencies: - '@swc/core': 1.11.18 + '@swc/core': 1.11.20(@swc/helpers@0.5.17) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -9044,9 +9590,9 @@ snapshots: webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.5) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.5) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.1)(webpack@5.99.5) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5))(webpack-dev-server@5.2.1(debug@4.4.0)(webpack-cli@6.0.1)(webpack@5.99.5))(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -9055,12 +9601,12 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) webpack-merge: 6.0.1 optionalDependencies: webpack-dev-server: 5.2.1(debug@4.4.0)(webpack-cli@6.0.1)(webpack@5.99.5) - webpack-dev-middleware@7.4.2(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)): + webpack-dev-middleware@7.4.2(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -9069,9 +9615,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) - webpack-dev-middleware@7.4.2(webpack@5.99.5): + webpack-dev-middleware@7.4.2(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -9080,9 +9626,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20)(esbuild@0.25.2) - webpack-dev-server@5.2.0(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)): + webpack-dev-server@5.2.0(debug@4.4.0)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -9109,10 +9655,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + webpack-dev-middleware: 7.4.2(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) ws: 8.18.1 optionalDependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2) + webpack: 5.99.5(@swc/core@1.11.20)(esbuild@0.25.2) transitivePeerDependencies: - bufferutil - debug @@ -9147,10 +9693,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.5) + webpack-dev-middleware: 7.4.2(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) ws: 8.18.1 optionalDependencies: - webpack: 5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1) + webpack: 5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) transitivePeerDependencies: - bufferutil @@ -9168,7 +9714,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2): + webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -9190,15 +9736,17 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.18)(esbuild@0.25.2)(webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack@5.99.5(@swc/core@1.11.20(@swc/helpers@0.5.17))(esbuild@0.25.2)(webpack-cli@6.0.1)) watchpack: 2.4.2 webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.99.5(@swc/core@1.11.18)(esbuild@0.25.2)(webpack-cli@6.0.1): + webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -9220,11 +9768,9 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.18)(esbuild@0.25.2)(webpack@5.99.5) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.20)(esbuild@0.25.2)(webpack@5.99.5(@swc/core@1.11.20)(esbuild@0.25.2)) watchpack: 2.4.2 webpack-sources: 3.2.3 - optionalDependencies: - webpack-cli: 6.0.1(webpack-dev-server@5.2.1)(webpack@5.99.5) transitivePeerDependencies: - '@swc/core' - esbuild @@ -9296,4 +9842,10 @@ snapshots: yocto-queue@0.1.0: {} + zod-validation-error@1.5.0(zod@3.24.2): + dependencies: + zod: 3.24.2 + + zod@3.24.2: {} + zwitch@2.0.4: {} diff --git a/src/core/index.ts b/src/core/index.ts index e975b46d..0431e222 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -32,6 +32,7 @@ import { type ExtendedSFCDescriptor, } from './utils/descriptorCache' import { parseVueRequest } from './utils/query' +import type { Server } from '@farmfe/core' import type { SFCBlock, SFCScriptCompileOptions, @@ -374,6 +375,91 @@ export const plugin: UnpluginInstance = }, }, + farm: { + config(config) { + return { + compilation: { + resolve: { + dedupe: + config.compilation?.output?.targetEnv === 'node' + ? [] + : ['vue'], + }, + define: { + __VUE_OPTIONS_API__: !!( + (options.value.features?.optionsAPI ?? true) || + config?.compilation?.define?.__VUE_OPTIONS_API__ + ), + __VUE_PROD_DEVTOOLS__: !!( + options.value.features?.prodDevtools || + config?.compilation?.define?.__VUE_PROD_DEVTOOLS__ + ), + __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: !!( + options.value.features?.prodHydrationMismatchDetails || + config?.compilation?.define + ?.__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ + ), + }, + }, + } + }, + + configResolved(config) { + options.value = { + ...options.value, + root: config.root as string, + sourceMap: config.compilation?.sourcemap as boolean, + cssDevSourcemap: config.compilation?.sourcemap as boolean, + isProduction: config.compilation?.mode === 'production', + compiler: + options.value.compiler || resolveCompiler(config.root as string), + devToolsEnabled: !!( + options.value.features.prodDevtools || + config.compilation?.define?.__VUE_PROD_DEVTOOLS__ || + config.compilation?.mode !== 'production' + ), + } + }, + + configureServer(server: Server) { + const { + config: { + compilation: { + // @ts-ignore + output: { publicPath }, + }, + }, + } = server + // @ts-ignore + options.value.devServer = Object.assign(server, { + config: { ...server.config, base: publicPath }, + }) + }, + + updateModules: { + executor(ctx) { + options.value.devServer?.ws.send({ + type: 'custom', + event: 'file-changed', + data: { file: normalizePath(ctx.file) }, + }) + if (options.value.compiler.invalidateTypeCache) { + options.value.compiler.invalidateTypeCache(ctx.file) + } + if (typeDepToSFCMap.has(ctx.file)) { + handleTypeDepChange(typeDepToSFCMap.get(ctx.file)!, ctx as any) + } + if (filter.value(ctx.file)) { + handleHotUpdate( + ctx as any, + options.value, + customElementFilter.value(ctx.file), + ) + } + }, + }, + }, + buildStart() { const compiler = (options.value.compiler = options.value.compiler || resolveCompiler(options.value.root)) diff --git a/src/farm.ts b/src/farm.ts new file mode 100644 index 00000000..d485d891 --- /dev/null +++ b/src/farm.ts @@ -0,0 +1,27 @@ +import fs from 'node:fs' +import { plugin, type Options } from './core' +import type { JsPlugin, PluginLoadHookParam } from '@farmfe/core' + +const createFarmVuePlugins = (options?: Options): JsPlugin[] => { + const vuePlugin = plugin.farm(options) + + const vueLoadPlugin = { + name: 'farm-load-vue-module-type', + priority: -100, + load: { + filters: { + resolvedPaths: ['.vue'], + }, + executor: (param: PluginLoadHookParam) => { + const content = fs.readFileSync(param.resolvedPath, 'utf-8') + return { + content, + moduleType: 'js', + } + }, + }, + } + return [vuePlugin, vueLoadPlugin] +} + +export default createFarmVuePlugins