From 4aa87b32981f55a815897508312f2a97b55366d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Wed, 2 Jul 2025 03:28:55 +0800 Subject: [PATCH] chore: enable pnpm catalogs --- docs/package.json | 32 +++--- eslint.config.js | 1 + package.json | 72 ++++++------- pnpm-lock.yaml | 255 +++++++++++++++++++++++++++++++++++--------- pnpm-workspace.yaml | 58 ++++++++++ src/utils/filter.ts | 6 +- 6 files changed, 319 insertions(+), 105 deletions(-) diff --git a/docs/package.json b/docs/package.json index c3e53d2..2fe9303 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,22 +13,22 @@ "typecheck": "vue-tsc --noEmit" }, "devDependencies": { - "@iconify-json/ri": "^1.2.5", - "@shikijs/vitepress-twoslash": "^3.7.0", - "case-police": "^2.0.0", - "consola": "^3.4.2", - "dotenv": "^17.0.1", - "markdown-it": "^14.1.0", - "markdown-it-github-alerts": "^1.0.0", - "ofetch": "^1.4.1", - "tsx": "^4.20.3", - "unocss": "^66.3.2", + "@iconify-json/ri": "catalog:docs", + "@shikijs/vitepress-twoslash": "catalog:docs", + "case-police": "catalog:docs", + "consola": "catalog:docs", + "dotenv": "catalog:docs", + "markdown-it": "catalog:docs", + "markdown-it-github-alerts": "catalog:docs", + "ofetch": "catalog:docs", + "tsx": "catalog:docs", + "unocss": "catalog:docs", "unplugin": "workspace:*", - "unplugin-icons": "^22.1.0", - "unplugin-vue-components": "^28.8.0", - "vitepress": "2.0.0-alpha.7", - "vitepress-plugin-group-icons": "^1.6.1", - "vue": "^3.5.17", - "vue-tsc": "^3.0.0" + "unplugin-icons": "catalog:docs", + "unplugin-vue-components": "catalog:docs", + "vitepress": "catalog:docs", + "vitepress-plugin-group-icons": "catalog:docs", + "vue": "catalog:docs", + "vue-tsc": "catalog:docs" } } diff --git a/eslint.config.js b/eslint.config.js index da4b4db..3ae5801 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -7,6 +7,7 @@ export default antfu( formatters: { markdown: 'dprint', }, + pnpm: true, }, { ignores: [ diff --git a/package.json b/package.json index fd79a4a..3880581 100644 --- a/package.json +++ b/package.json @@ -43,47 +43,47 @@ "test:build": "jiti scripts/buildFixtures.ts" }, "dependencies": { - "acorn": "^8.15.0", - "picomatch": "^4.0.2", - "webpack-virtual-modules": "^0.6.2" + "acorn": "catalog:prod", + "picomatch": "catalog:prod", + "webpack-virtual-modules": "catalog:prod" }, "devDependencies": { - "@ampproject/remapping": "^2.3.0", - "@antfu/eslint-config": "^4.16.1", - "@antfu/ni": "^25.0.0", - "@farmfe/cli": "^1.0.5", - "@farmfe/core": "^1.7.8", - "@rspack/cli": "^1.4.2", - "@rspack/core": "^1.4.2", - "@types/fs-extra": "^11.0.4", - "@types/node": "^24.0.9", - "@types/picomatch": "^4.0.0", - "ansis": "^4.1.0", - "bumpp": "^10.2.0", - "esbuild": "^0.25.5", - "esbuild-plugin-copy": "^2.1.1", - "eslint": "^9.30.0", - "eslint-plugin-format": "^1.0.1", - "fast-glob": "^3.3.3", - "fs-extra": "^11.3.0", - "jiti": "^2.4.2", - "lint-staged": "^16.1.2", - "magic-string": "^0.30.17", - "rolldown": "^1.0.0-beta.23", - "rollup": "^4.44.1", - "simple-git-hooks": "^2.13.0", - "tsdown": "^0.12.9", - "typescript": "~5.8.3", - "unloader": "^0.4.5", + "@ampproject/remapping": "catalog:", + "@antfu/eslint-config": "catalog:", + "@antfu/ni": "catalog:", + "@farmfe/cli": "catalog:", + "@farmfe/core": "catalog:", + "@rspack/cli": "catalog:", + "@rspack/core": "catalog:", + "@types/fs-extra": "catalog:", + "@types/node": "catalog:", + "@types/picomatch": "catalog:", + "ansis": "catalog:", + "bumpp": "catalog:", + "esbuild": "catalog:", + "esbuild-plugin-copy": "catalog:", + "eslint": "catalog:", + "eslint-plugin-format": "catalog:", + "fast-glob": "catalog:", + "fs-extra": "catalog:", + "jiti": "catalog:", + "lint-staged": "catalog:", + "magic-string": "catalog:", + "rolldown": "catalog:", + "rollup": "catalog:", + "simple-git-hooks": "catalog:", + "tsdown": "catalog:", + "typescript": "catalog:", + "unloader": "catalog:", "unplugin": "workspace:*", - "unplugin-unused": "^0.5.1", - "vite": "^7.0.0", - "vitest": "^3.2.4", - "webpack": "^5.99.9", - "webpack-cli": "^6.0.1" + "unplugin-unused": "catalog:", + "vite": "catalog:", + "vitest": "catalog:", + "webpack": "catalog:", + "webpack-cli": "catalog:" }, "resolutions": { - "esbuild": "^0.25.5" + "esbuild": "catalog:" }, "simple-git-hooks": { "pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dcad2aa..dc2a7f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,161 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +catalogs: + default: + '@ampproject/remapping': + specifier: ^2.3.0 + version: 2.3.0 + '@antfu/eslint-config': + specifier: ^4.16.1 + version: 4.16.1 + '@antfu/ni': + specifier: ^25.0.0 + version: 25.0.0 + '@farmfe/cli': + specifier: ^1.0.5 + version: 1.0.5 + '@farmfe/core': + specifier: ^1.7.8 + version: 1.7.8 + '@rspack/cli': + specifier: ^1.4.2 + version: 1.4.2 + '@rspack/core': + specifier: ^1.4.2 + version: 1.4.2 + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 + '@types/node': + specifier: ^24.0.9 + version: 24.0.9 + '@types/picomatch': + specifier: ^4.0.0 + version: 4.0.0 + ansis: + specifier: ^4.1.0 + version: 4.1.0 + bumpp: + specifier: ^10.2.0 + version: 10.2.0 + esbuild-plugin-copy: + specifier: ^2.1.1 + version: 2.1.1 + eslint: + specifier: ^9.30.0 + version: 9.30.0 + eslint-plugin-format: + specifier: ^1.0.1 + version: 1.0.1 + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 + fs-extra: + specifier: ^11.3.0 + version: 11.3.0 + jiti: + specifier: ^2.4.2 + version: 2.4.2 + lint-staged: + specifier: ^16.1.2 + version: 16.1.2 + magic-string: + specifier: ^0.30.17 + version: 0.30.17 + rolldown: + specifier: ^1.0.0-beta.23 + version: 1.0.0-beta.23 + rollup: + specifier: ^4.44.1 + version: 4.44.1 + simple-git-hooks: + specifier: ^2.13.0 + version: 2.13.0 + tsdown: + specifier: ^0.12.9 + version: 0.12.9 + typescript: + specifier: ~5.8.3 + version: 5.8.3 + unloader: + specifier: ^0.4.5 + version: 0.4.5 + unplugin-unused: + specifier: ^0.5.1 + version: 0.5.1 + vite: + specifier: ^7.0.0 + version: 7.0.0 + vitest: + specifier: ^3.2.4 + version: 3.2.4 + webpack: + specifier: ^5.99.9 + version: 5.99.9 + webpack-cli: + specifier: ^6.0.1 + version: 6.0.1 + docs: + '@iconify-json/ri': + specifier: ^1.2.5 + version: 1.2.5 + '@shikijs/vitepress-twoslash': + specifier: ^3.7.0 + version: 3.7.0 + case-police: + specifier: ^2.0.0 + version: 2.0.0 + consola: + specifier: ^3.4.2 + version: 3.4.2 + dotenv: + specifier: ^17.0.1 + version: 17.0.1 + markdown-it: + specifier: ^14.1.0 + version: 14.1.0 + markdown-it-github-alerts: + specifier: ^1.0.0 + version: 1.0.0 + ofetch: + specifier: ^1.4.1 + version: 1.4.1 + tsx: + specifier: ^4.20.3 + version: 4.20.3 + unocss: + specifier: ^66.3.2 + version: 66.3.2 + unplugin-icons: + specifier: ^22.1.0 + version: 22.1.0 + unplugin-vue-components: + specifier: ^28.8.0 + version: 28.8.0 + vitepress: + specifier: 2.0.0-alpha.7 + version: 2.0.0-alpha.7 + vitepress-plugin-group-icons: + specifier: ^1.6.1 + version: 1.6.1 + vue: + specifier: ^3.5.17 + version: 3.5.17 + vue-tsc: + specifier: ^3.0.0 + version: 3.0.0 + prod: + acorn: + specifier: ^8.15.0 + version: 8.15.0 + picomatch: + specifier: ^4.0.2 + version: 4.0.2 + webpack-virtual-modules: + specifier: ^0.6.2 + version: 0.6.2 + overrides: esbuild: ^0.25.5 @@ -12,167 +167,167 @@ importers: .: dependencies: acorn: - specifier: ^8.15.0 + specifier: catalog:prod version: 8.15.0 picomatch: - specifier: ^4.0.2 + specifier: catalog:prod version: 4.0.2 webpack-virtual-modules: - specifier: ^0.6.2 + specifier: catalog:prod version: 0.6.2 devDependencies: '@ampproject/remapping': - specifier: ^2.3.0 + specifier: 'catalog:' version: 2.3.0 '@antfu/eslint-config': - specifier: ^4.16.1 + specifier: 'catalog:' version: 4.16.1(@vue/compiler-sfc@3.5.17)(eslint-plugin-format@1.0.1(eslint@9.30.0(jiti@2.4.2)))(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.9)(jiti@2.4.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@antfu/ni': - specifier: ^25.0.0 + specifier: 'catalog:' version: 25.0.0 '@farmfe/cli': - specifier: ^1.0.5 + specifier: 'catalog:' version: 1.0.5 '@farmfe/core': - specifier: ^1.7.8 + specifier: 'catalog:' version: 1.7.8 '@rspack/cli': - specifier: ^1.4.2 + specifier: 'catalog:' version: 1.4.2(@rspack/core@1.4.2(@swc/helpers@0.5.17))(@types/express@4.17.23)(webpack-cli@6.0.1)(webpack@5.99.9) '@rspack/core': - specifier: ^1.4.2 + specifier: 'catalog:' version: 1.4.2(@swc/helpers@0.5.17) '@types/fs-extra': - specifier: ^11.0.4 + specifier: 'catalog:' version: 11.0.4 '@types/node': - specifier: ^24.0.9 + specifier: 'catalog:' version: 24.0.9 '@types/picomatch': - specifier: ^4.0.0 + specifier: 'catalog:' version: 4.0.0 ansis: - specifier: ^4.1.0 + specifier: 'catalog:' version: 4.1.0 bumpp: - specifier: ^10.2.0 + specifier: 'catalog:' version: 10.2.0 esbuild: specifier: ^0.25.5 version: 0.25.5 esbuild-plugin-copy: - specifier: ^2.1.1 + specifier: 'catalog:' version: 2.1.1(esbuild@0.25.5) eslint: - specifier: ^9.30.0 + specifier: 'catalog:' version: 9.30.0(jiti@2.4.2) eslint-plugin-format: - specifier: ^1.0.1 + specifier: 'catalog:' version: 1.0.1(eslint@9.30.0(jiti@2.4.2)) fast-glob: - specifier: ^3.3.3 + specifier: 'catalog:' version: 3.3.3 fs-extra: - specifier: ^11.3.0 + specifier: 'catalog:' version: 11.3.0 jiti: - specifier: ^2.4.2 + specifier: 'catalog:' version: 2.4.2 lint-staged: - specifier: ^16.1.2 + specifier: 'catalog:' version: 16.1.2 magic-string: - specifier: ^0.30.17 + specifier: 'catalog:' version: 0.30.17 rolldown: - specifier: ^1.0.0-beta.23 + specifier: 'catalog:' version: 1.0.0-beta.23 rollup: - specifier: ^4.44.1 + specifier: 'catalog:' version: 4.44.1 simple-git-hooks: - specifier: ^2.13.0 + specifier: 'catalog:' version: 2.13.0 tsdown: - specifier: ^0.12.9 + specifier: 'catalog:' version: 0.12.9(publint@0.3.5)(typescript@5.8.3)(unplugin-unused@0.5.1)(vue-tsc@2.2.10(typescript@5.8.3)) typescript: - specifier: ~5.8.3 + specifier: 'catalog:' version: 5.8.3 unloader: - specifier: ^0.4.5 + specifier: 'catalog:' version: 0.4.5 unplugin: specifier: workspace:* version: 'link:' unplugin-unused: - specifier: ^0.5.1 + specifier: 'catalog:' version: 0.5.1 vite: - specifier: ^7.0.0 + specifier: 'catalog:' version: 7.0.0(@types/node@24.0.9)(jiti@2.4.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitest: - specifier: ^3.2.4 + specifier: 'catalog:' version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.9)(jiti@2.4.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webpack: - specifier: ^5.99.9 + specifier: 'catalog:' version: 5.99.9(esbuild@0.25.5)(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 + specifier: 'catalog:' version: 6.0.1(webpack@5.99.9) docs: devDependencies: '@iconify-json/ri': - specifier: ^1.2.5 + specifier: catalog:docs version: 1.2.5 '@shikijs/vitepress-twoslash': - specifier: ^3.7.0 + specifier: catalog:docs version: 3.7.0(typescript@5.8.3) case-police: - specifier: ^2.0.0 + specifier: catalog:docs version: 2.0.0 consola: - specifier: ^3.4.2 + specifier: catalog:docs version: 3.4.2 dotenv: - specifier: ^17.0.1 + specifier: catalog:docs version: 17.0.1 markdown-it: - specifier: ^14.1.0 + specifier: catalog:docs version: 14.1.0 markdown-it-github-alerts: - specifier: ^1.0.0 + specifier: catalog:docs version: 1.0.0(markdown-it@14.1.0) ofetch: - specifier: ^1.4.1 + specifier: catalog:docs version: 1.4.1 tsx: - specifier: ^4.20.3 + specifier: catalog:docs version: 4.20.3 unocss: - specifier: ^66.3.2 + specifier: catalog:docs version: 66.3.2(postcss@8.5.6)(vite@7.0.0(@types/node@24.0.9)(jiti@2.4.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) unplugin: specifier: workspace:* version: link:.. unplugin-icons: - specifier: ^22.1.0 + specifier: catalog:docs version: 22.1.0(@vue/compiler-sfc@3.5.17) unplugin-vue-components: - specifier: ^28.8.0 + specifier: catalog:docs version: 28.8.0(@babel/parser@7.27.7)(vue@3.5.17(typescript@5.8.3)) vitepress: - specifier: 2.0.0-alpha.7 + specifier: catalog:docs version: 2.0.0-alpha.7(@algolia/client-search@5.30.0)(@types/node@24.0.9)(jiti@2.4.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) vitepress-plugin-group-icons: - specifier: ^1.6.1 + specifier: catalog:docs version: 1.6.1(markdown-it@14.1.0)(vite@7.0.0(@types/node@24.0.9)(jiti@2.4.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vue: - specifier: ^3.5.17 + specifier: catalog:docs version: 3.5.17(typescript@5.8.3) vue-tsc: - specifier: ^3.0.0 + specifier: catalog:docs version: 3.0.0(typescript@5.8.3) packages: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 28756fa..420dbf9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,60 @@ packages: - docs + +catalog: + '@ampproject/remapping': ^2.3.0 + '@antfu/eslint-config': ^4.16.1 + '@antfu/ni': ^25.0.0 + '@farmfe/cli': ^1.0.5 + '@farmfe/core': ^1.7.8 + '@rspack/cli': ^1.4.2 + '@rspack/core': ^1.4.2 + '@types/fs-extra': ^11.0.4 + '@types/node': ^24.0.9 + '@types/picomatch': ^4.0.0 + ansis: ^4.1.0 + bumpp: ^10.2.0 + esbuild: ^0.25.5 + esbuild-plugin-copy: ^2.1.1 + eslint: ^9.30.0 + eslint-plugin-format: ^1.0.1 + fast-glob: ^3.3.3 + fs-extra: ^11.3.0 + jiti: ^2.4.2 + lint-staged: ^16.1.2 + magic-string: ^0.30.17 + rolldown: ^1.0.0-beta.23 + rollup: ^4.44.1 + simple-git-hooks: ^2.13.0 + tsdown: ^0.12.9 + typescript: ~5.8.3 + unloader: ^0.4.5 + unplugin-unused: ^0.5.1 + vite: ^7.0.0 + vitest: ^3.2.4 + webpack: ^5.99.9 + webpack-cli: ^6.0.1 + +catalogs: + docs: + '@iconify-json/ri': ^1.2.5 + '@shikijs/vitepress-twoslash': ^3.7.0 + case-police: ^2.0.0 + consola: ^3.4.2 + dotenv: ^17.0.1 + markdown-it: ^14.1.0 + markdown-it-github-alerts: ^1.0.0 + ofetch: ^1.4.1 + tsx: ^4.20.3 + unocss: ^66.3.2 + unplugin-icons: ^22.1.0 + unplugin-vue-components: ^28.8.0 + vitepress: 2.0.0-alpha.7 + vitepress-plugin-group-icons: ^1.6.1 + vue: ^3.5.17 + vue-tsc: ^3.0.0 + + prod: + acorn: ^8.15.0 + picomatch: ^4.0.2 + webpack-virtual-modules: ^0.6.2 diff --git a/src/utils/filter.ts b/src/utils/filter.ts index 28ba9cf..88f6b6e 100644 --- a/src/utils/filter.ts +++ b/src/utils/filter.ts @@ -154,9 +154,9 @@ export function normalizeObjectHook any, F extends name: 'resolveId' | 'load' | 'transform', hook: Hook, ): { - handler: T - filter: PluginFilter | TransformHookFilter - } { + handler: T + filter: PluginFilter | TransformHookFilter +} { let handler: T let filter: PluginFilter | TransformHookFilter | undefined