diff --git a/package.json b/package.json index eb092198..16aa6d4a 100644 --- a/package.json +++ b/package.json @@ -99,18 +99,24 @@ "typescript": "5.6.2", "typescript-eslint": "^8.6.0", "unbuild": "^2.0.0", - "vite": "^5.4.7" + "vite": "^5.4.7", + "vitest": "^2.1.1" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" }, "lint-staged": { - "*": ["biome format --write .", "biome lint ."] + "*": [ + "biome format --write .", + "biome lint ." + ] }, "pnpm": { "patchedDependencies": {} }, "ncu": { - "reject": ["eslint"] + "reject": [ + "eslint" + ] } } diff --git a/packages/props-keys/generate.ts b/packages/schema/generate.ts similarity index 100% rename from packages/props-keys/generate.ts rename to packages/schema/generate.ts diff --git a/packages/props-keys/outputPath.json b/packages/schema/outputPath.json similarity index 100% rename from packages/props-keys/outputPath.json rename to packages/schema/outputPath.json diff --git a/packages/props-keys/package.json b/packages/schema/package.json similarity index 89% rename from packages/props-keys/package.json rename to packages/schema/package.json index c4dc062e..8af6ca01 100644 --- a/packages/props-keys/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { - "name": "props-keys", - "version": "1.0.0", + "name": "schema", + "version": "0.0.0", "description": "", "main": "index.js", "scripts": { diff --git a/packages/props-keys/tsconfig.json b/packages/schema/tsconfig.json similarity index 100% rename from packages/props-keys/tsconfig.json rename to packages/schema/tsconfig.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f3e38809..7c3a1dbc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -194,6 +194,9 @@ importers: vite: specifier: ^5.4.7 version: 5.4.7(@types/node@22.5.5)(less@4.2.0)(lightningcss@1.22.1)(sass@1.78.0)(sugarss@2.0.0)(terser@5.33.0) + vitest: + specifier: ^2.1.1 + version: 2.1.1(@types/node@22.5.5)(jsdom@25.0.0)(less@4.2.0)(lightningcss@1.22.1)(sass@1.78.0)(sugarss@2.0.0)(terser@5.33.0) components/antd: dependencies: @@ -1255,13 +1258,13 @@ importers: version: 0.31.4(vitest@0.31.4(jsdom@22.1.0)(less@4.2.0)(lightningcss@1.22.1)(sass@1.78.0)(sugarss@2.0.0)(terser@5.33.0)) dumi: specifier: ^2.0.18 - version: 2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) + version: 2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@5.6.2))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) eslint: specifier: ^8.54.0 version: 8.57.0 eslint-plugin-jest: specifier: ^27.6.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2) + version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@22.5.5)(typescript@5.6.2)))(typescript@5.6.2) eslint-plugin-unicorn: specifier: ^49.0.0 version: 49.0.0(eslint@8.57.0) @@ -1486,7 +1489,7 @@ importers: version: 7.0.3 dumi: specifier: ^2.1.13 - version: 2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) + version: 2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@4.9.5))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) eslint: specifier: ^7.0.0 version: 7.32.0 @@ -2578,7 +2581,7 @@ importers: version: 2.14.1 dumi: specifier: ^1.1.0 - version: 1.1.54(react-dom@18.3.1(react@18.3.1))(react-router@5.2.0(react@16.14.0))(react@18.3.1)(typescript@4.9.5) + version: 1.1.54(react-dom@18.3.1(react@18.3.1))(react-router@5.2.0(react@18.3.1))(react@18.3.1)(typescript@4.9.5) eslint: specifier: ^7.18.0 version: 7.32.0 @@ -5652,6 +5655,21 @@ importers: specifier: ^10.24.0 version: 10.24.0 + packages/schema: + devDependencies: + '@bees-ui/antd': + specifier: workspace:^ + version: link:../../components/antd + ts-json-schema-generator: + specifier: ^2.3.0 + version: 2.3.0 + ts-morph: + specifier: ^23.0.0 + version: 23.0.0 + typescript-json-schema: + specifier: ^0.65.1 + version: 0.65.1(@swc/core@1.4.2(@swc/helpers@0.5.1)) + packages/vue: {} playground/antd-vue3: @@ -31642,7 +31660,7 @@ snapshots: ansi-styles: 4.3.0 autoprefixer: 10.4.20(postcss@8.4.47) babel-jest: 28.1.3(@babel/core@7.25.2) - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)(uglify-js@3.19.3)) + babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) babel-plugin-import: 1.13.8 babel-plugin-transform-dev-warning: 0.1.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -39347,14 +39365,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2(postcss@7.0.39))(postcss@8.4.47)': - dependencies: - '@babel/core': 7.25.2 - postcss: 8.4.47 - postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39) - transitivePeerDependencies: - - supports-color - '@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2(postcss@8.4.47))(postcss@8.4.47)': dependencies: '@babel/core': 7.25.2 @@ -40641,25 +40651,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@5.6.2)': - dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) - debug: 4.3.7(supports-color@5.5.0) - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare-lite: 1.4.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.0 @@ -41319,10 +41310,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@umijs/bundler-utils@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0)': + '@umijs/bundler-utils@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0)': dependencies: '@umijs/babel-preset-umi': 3.5.43 - '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/utils': 3.5.43 transitivePeerDependencies: - react @@ -41418,12 +41409,12 @@ snapshots: - supports-color - terser - '@umijs/bundler-webpack@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0)': + '@umijs/bundler-webpack@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0)': dependencies: - '@umijs/bundler-utils': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/bundler-utils': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 '@umijs/deps': 3.5.43 - '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/utils': 3.5.43 jest-worker: 26.6.2 node-libs-browser: 2.2.1 @@ -41750,7 +41741,7 @@ snapshots: eslint-config-prettier: 8.10.0(eslint@7.32.0) eslint-formatter-pretty: 4.1.0 eslint-plugin-babel: 5.3.1(eslint@7.32.0) - eslint-plugin-jest: 24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5) + eslint-plugin-jest: 24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) eslint-plugin-promise: 6.6.0(eslint@7.32.0) eslint-plugin-react: 7.36.1(eslint@7.32.0) eslint-plugin-react-hooks: 4.6.2(eslint@7.32.0) @@ -41787,7 +41778,7 @@ snapshots: eslint-config-prettier: 8.10.0(eslint@7.32.0) eslint-formatter-pretty: 4.1.0 eslint-plugin-babel: 5.3.1(eslint@7.32.0) - eslint-plugin-jest: 24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5) + eslint-plugin-jest: 24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) eslint-plugin-promise: 6.6.0(eslint@7.32.0) eslint-plugin-react: 7.36.1(eslint@7.32.0) eslint-plugin-react-hooks: 4.6.2(eslint@7.32.0) @@ -41905,7 +41896,7 @@ snapshots: eslint: 8.57.0 eslint-config-prettier: 8.10.0(eslint@8.57.0) eslint-formatter-pretty: 4.1.0 - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2) eslint-plugin-react: 7.36.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) eslint-plugin-unicorn: 47.0.0(eslint@8.57.0) @@ -42063,32 +42054,6 @@ snapshots: - supports-color - typescript - '@umijs/lint@4.3.20(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@13.13.1)(typescript@4.9.5)': - dependencies: - '@babel/core': 7.23.6 - '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@7.32.0) - '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss@8.4.47))(postcss@8.4.47) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) - '@umijs/babel-preset-umi': 4.3.20 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@4.9.5) - eslint-plugin-react: 7.33.2(eslint@7.32.0) - eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) - postcss: 8.4.47 - postcss-syntax: 0.36.2(postcss@8.4.47) - stylelint-config-standard: 25.0.0(stylelint@13.13.1) - transitivePeerDependencies: - - eslint - - jest - - postcss-html - - postcss-jsx - - postcss-less - - postcss-markdown - - postcss-scss - - stylelint - - supports-color - - typescript - '@umijs/lint@4.3.20(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@16.9.0(typescript@4.9.5))(typescript@4.9.5)': dependencies: '@babel/core': 7.23.6 @@ -42097,7 +42062,7 @@ snapshots: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) '@umijs/babel-preset-umi': 4.3.20 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@4.9.5) + eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@4.9.5) eslint-plugin-react: 7.33.2(eslint@7.32.0) eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) postcss: 8.4.47 @@ -42149,7 +42114,7 @@ snapshots: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.6.2) '@umijs/babel-preset-umi': 4.3.20 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2) + eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2) eslint-plugin-react: 7.33.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) postcss: 8.4.47 @@ -42193,32 +42158,6 @@ snapshots: - supports-color - typescript - '@umijs/lint@4.3.20(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@13.13.1)(typescript@5.6.2)': - dependencies: - '@babel/core': 7.23.6 - '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.57.0) - '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss@7.0.39))(postcss@8.4.47) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.6.2) - '@umijs/babel-preset-umi': 4.3.20 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2) - eslint-plugin-react: 7.33.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - postcss: 8.4.47 - postcss-syntax: 0.36.2(postcss@8.4.47) - stylelint-config-standard: 25.0.0(stylelint@13.13.1) - transitivePeerDependencies: - - eslint - - jest - - postcss-html - - postcss-jsx - - postcss-less - - postcss-markdown - - postcss-scss - - stylelint - - supports-color - - typescript - '@umijs/lint@4.3.20(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@16.9.0(typescript@4.9.5))(typescript@4.9.5)': dependencies: '@babel/core': 7.23.6 @@ -42372,14 +42311,14 @@ snapshots: dependencies: '@types/react-router-config': 5.0.2 '@umijs/babel-preset-umi': 3.5.43 - '@umijs/bundler-webpack': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/bundler-webpack': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/core': 3.5.43 '@umijs/deps': 3.5.43 '@umijs/renderer-mpa': 3.5.43(react-dom@16.14.0(react@16.14.0))(react@16.14.0) - '@umijs/renderer-react': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/renderer-react': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/runtime': 3.5.43(react@16.14.0) '@umijs/server': 3.5.43 - '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/utils': 3.5.43 ansi-html: 0.0.9 core-js: 3.6.5 @@ -42392,8 +42331,8 @@ snapshots: mime: 1.4.1 react: 16.14.0 react-refresh: 0.10.0 - react-router: 5.2.0(react@16.14.0) - react-router-config: 5.1.1(react-router@5.2.0(react@18.3.1))(react@16.14.0) + react-router: 5.2.0(react@18.3.1) + react-router-config: 5.1.1(react-router@5.2.0(react@16.14.0))(react@16.14.0) react-router-dom: 5.2.0(react@16.14.0) regenerator-runtime: 0.13.5 schema-utils: 3.3.0 @@ -43146,7 +43085,7 @@ snapshots: react: 16.14.0 react-dom: 16.14.0(react@16.14.0) - '@umijs/renderer-react@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0)': + '@umijs/renderer-react@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0)': dependencies: '@types/react': 16.14.61 '@types/react-dom': 16.9.24 @@ -43154,7 +43093,7 @@ snapshots: '@umijs/runtime': 3.5.43(react@16.14.0) react: 16.14.0 react-dom: 16.14.0(react@16.14.0) - react-router-config: 5.1.1(react-router@5.2.0(react@18.3.1))(react@16.14.0) + react-router-config: 5.1.1(react-router@5.2.0(react@16.14.0))(react@16.14.0) transitivePeerDependencies: - react-router @@ -43280,12 +43219,12 @@ snapshots: - '@babel/core' - supports-color - '@umijs/types@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0)': + '@umijs/types@3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0)': dependencies: '@umijs/babel-preset-umi': 3.5.43 '@umijs/core': 3.5.43 '@umijs/deps': 3.5.43 - '@umijs/renderer-react': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/renderer-react': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/server': 3.5.43 '@umijs/utils': 3.5.43 webpack-chain: 6.5.1 @@ -45038,7 +44977,7 @@ snapshots: schema-utils: 2.7.1 webpack: 4.47.0 - babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)(uglify-js@3.19.3)): + babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): dependencies: '@babel/core': 7.25.2 find-cache-dir: 4.0.0 @@ -48802,7 +48741,7 @@ snapshots: - typescript - utf-8-validate - dumi@1.1.54(react-dom@18.3.1(react@18.3.1))(react-router@5.2.0(react@16.14.0))(react@18.3.1)(typescript@4.9.5): + dumi@1.1.54(react-dom@18.3.1(react@18.3.1))(react-router@5.2.0(react@18.3.1))(react@18.3.1)(typescript@4.9.5): dependencies: '@umijs/preset-dumi': 1.1.54(react-dom@18.3.1(react@18.3.1))(react-router@5.2.0(react@16.14.0))(react@18.3.1)(typescript@4.9.5)(umi@3.5.43(react-router@5.2.0(react@16.14.0))) umi: 3.5.43(react-router@5.2.0(react@16.14.0)) @@ -49846,109 +49785,6 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - dumi@2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): - dependencies: - '@ant-design/icons-svg': 4.4.2 - '@makotot/ghostui': 2.0.0(react@18.3.1) - '@stackblitz/sdk': 1.11.0 - '@swc/core': 1.4.2(@swc/helpers@0.5.1) - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - '@umijs/bundler-utils': 4.3.20 - '@umijs/core': 4.3.20 - '@umijs/utils': 4.3.20 - animated-scroll-to: 2.3.0 - classnames: 2.3.2 - codesandbox: 2.2.3 - comlink: 4.4.1 - copy-to-clipboard: 3.3.3 - deepmerge: 4.3.1 - dumi-afx-deps: 1.0.0-alpha.20 - dumi-assets-types: 2.3.0 - enhanced-resolve: 5.17.1 - estree-util-to-js: 1.2.0 - estree-util-visit: 1.2.1 - file-system-cache: 2.4.4 - github-slugger: 1.5.0 - hast-util-is-element: 2.1.3 - hast-util-raw: 8.0.0 - hast-util-to-estree: 2.3.3 - hast-util-to-string: 2.0.0 - heti: 0.9.4 - hosted-git-info: 6.1.1 - html-to-text: 9.0.5 - html2sketch: 1.0.2 - js-yaml: 4.1.0 - lodash.throttle: 4.1.1 - mdast-util-find-and-replace: 2.2.2 - mdast-util-to-string: 3.2.0 - nprogress: 0.2.0 - pluralize: 8.0.0 - prism-react-renderer: 1.3.5(react@18.3.1) - prism-themes: 1.9.0 - prismjs: 1.29.0 - raw-loader: 4.0.2(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) - rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-tabs: 12.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-tooltip: 6.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-tree: 5.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-copy-to-clipboard: 5.1.0(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - react-error-boundary: 4.0.13(react@18.3.1) - react-intl: 6.6.8(react@18.3.1)(typescript@4.9.5) - react-loading-skeleton: 3.4.0(react@18.3.1) - react-simple-code-editor: 0.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rehype-autolink-headings: 6.1.1 - rehype-remove-comments: 5.0.0 - rehype-stringify: 9.0.4 - remark-directive: 2.0.1 - remark-frontmatter: 4.0.1 - remark-gfm: 3.0.1 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - sass: 1.78.0 - sitemap: 7.1.2 - sucrase: 3.35.0 - umi: 4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) - unified: 10.1.2 - unist-util-visit: 4.1.2 - unist-util-visit-parents: 5.1.3 - url: 0.11.4 - v8-compile-cache: 2.3.0 - vfile: 5.3.7 - transitivePeerDependencies: - - '@babel/core' - - '@swc/helpers' - - '@types/node' - - '@types/react' - - '@types/webpack' - - '@volar/vue-language-plugin-pug' - - '@volar/vue-typescript' - - eslint - - jest - - lightningcss - - postcss-html - - postcss-jsx - - postcss-less - - postcss-markdown - - postcss-scss - - prettier - - rollup - - sockjs-client - - stylelint - - stylus - - sugarss - - supports-color - - terser - - type-fest - - typescript - - webpack - - webpack-dev-server - - webpack-hot-middleware - - webpack-plugin-serve - dumi@2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@4.9.5))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): dependencies: '@ant-design/icons-svg': 4.4.2 @@ -50567,7 +50403,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - dumi@2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): + dumi@2.4.11(@babel/core@7.25.2)(@swc/helpers@0.5.1)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@5.6.2))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): dependencies: '@ant-design/icons-svg': 4.4.2 '@makotot/ghostui': 2.0.0(react@18.3.1) @@ -50632,7 +50468,7 @@ snapshots: sass: 1.78.0 sitemap: 7.1.2 sucrase: 3.35.0 - umi: 4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) + umi: 4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@5.6.2))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) unified: 10.1.2 unist-util-visit: 4.1.2 unist-util-visit-parents: 5.1.3 @@ -52238,7 +52074,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5): + eslint-plugin-jest@24.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5): dependencies: '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@4.9.5) eslint: 7.32.0 @@ -52248,6 +52084,17 @@ snapshots: - supports-color - typescript + eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@4.9.5): + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + eslint: 7.32.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) + jest: 29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@22.5.5)(typescript@5.6.2)) + transitivePeerDependencies: + - supports-color + - typescript + eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@5.6.2))(eslint@7.32.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.6.2) @@ -52281,24 +52128,13 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@4.9.5): - dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) - eslint: 7.32.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) - jest: 29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@22.5.5)(typescript@5.6.2)) - transitivePeerDependencies: - - supports-color - - typescript - - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2): + eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) eslint: 8.57.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) - jest: 29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@22.5.5)(typescript@5.6.2)) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) + jest: 29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1) transitivePeerDependencies: - supports-color - typescript @@ -52336,17 +52172,6 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2): - dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) - eslint: 8.57.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) - jest: 29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1) - transitivePeerDependencies: - - supports-color - - typescript - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@22.5.5)(typescript@5.6.2)))(typescript@5.6.2): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) @@ -52358,13 +52183,13 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@7.32.0)(typescript@4.9.5))(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(typescript@5.6.2): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.6.2) eslint: 8.57.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) - jest: 29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@22.5.5)(typescript@5.6.2)) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) + jest: 29.7.0(@types/node@20.16.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1) transitivePeerDependencies: - supports-color - typescript @@ -58553,9 +58378,7 @@ snapshots: pretty-format: 24.9.0 throat: 4.1.0 transitivePeerDependencies: - - bufferutil - supports-color - - utf-8-validate jest-jasmine2@26.6.3(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.16.5)(typescript@4.9.5)): dependencies: @@ -67881,17 +67704,17 @@ snapshots: transitivePeerDependencies: - react-dom - react-router-config@5.1.1(react-router@5.2.0(react@16.14.0))(react@18.3.1): + react-router-config@5.1.1(react-router@5.2.0(react@16.14.0))(react@16.14.0): dependencies: '@babel/runtime': 7.25.6 - react: 18.3.1 - react-router: 5.2.0(react@16.14.0) + react: 16.14.0 + react-router: 5.2.0(react@18.3.1) - react-router-config@5.1.1(react-router@5.2.0(react@18.3.1))(react@16.14.0): + react-router-config@5.1.1(react-router@5.2.0(react@16.14.0))(react@18.3.1): dependencies: '@babel/runtime': 7.25.6 - react: 16.14.0 - react-router: 5.2.0(react@16.14.0) + react: 18.3.1 + react-router: 5.2.0(react@18.3.1) react-router-config@5.1.1(react-router@6.26.2(react@16.14.0))(react@16.14.0): dependencies: @@ -70845,10 +70668,6 @@ snapshots: dependencies: stylelint: 13.13.1 - stylelint-config-recommended@7.0.0(stylelint@13.13.1): - dependencies: - stylelint: 13.13.1 - stylelint-config-recommended@7.0.0(stylelint@16.9.0(typescript@4.9.5)): dependencies: stylelint: 16.9.0(typescript@4.9.5) @@ -70870,11 +70689,6 @@ snapshots: stylelint: 13.13.1 stylelint-config-recommended: 3.0.0(stylelint@13.13.1) - stylelint-config-standard@25.0.0(stylelint@13.13.1): - dependencies: - stylelint: 13.13.1 - stylelint-config-recommended: 7.0.0(stylelint@13.13.1) - stylelint-config-standard@25.0.0(stylelint@16.9.0(typescript@4.9.5)): dependencies: stylelint: 16.9.0(typescript@4.9.5) @@ -72561,12 +72375,12 @@ snapshots: umi@3.5.43(react-router@5.2.0(react@16.14.0)): dependencies: - '@umijs/bundler-webpack': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/bundler-webpack': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/core': 3.5.43 '@umijs/deps': 3.5.43 '@umijs/preset-built-in': 3.5.43(react-dom@16.14.0(react@16.14.0))(react@16.14.0) '@umijs/runtime': 3.5.43(react@16.14.0) - '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@18.3.1))(react@16.14.0) + '@umijs/types': 3.5.43(react-dom@16.14.0(react@16.14.0))(react-router@5.2.0(react@16.14.0))(react@16.14.0) '@umijs/utils': 3.5.43 react: 16.14.0 react-dom: 16.14.0(react@16.14.0) @@ -73059,53 +72873,6 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - umi@4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): - dependencies: - '@babel/runtime': 7.23.6 - '@umijs/bundler-utils': 4.3.20 - '@umijs/bundler-webpack': 4.3.20(@types/webpack@4.41.39)(sockjs-client@1.6.1)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) - '@umijs/core': 4.3.20 - '@umijs/lint': 4.3.20(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@13.13.1)(typescript@4.9.5) - '@umijs/preset-umi': 4.3.20(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(lightningcss@1.22.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) - '@umijs/renderer-react': 4.3.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@umijs/server': 4.3.20 - '@umijs/test': 4.3.20(@babel/core@7.25.2) - '@umijs/utils': 4.3.20 - prettier-plugin-organize-imports: 3.2.4(prettier@2.8.8)(typescript@4.9.5) - prettier-plugin-packagejson: 2.4.3(prettier@2.8.8) - transitivePeerDependencies: - - '@babel/core' - - '@types/node' - - '@types/react' - - '@types/webpack' - - '@volar/vue-language-plugin-pug' - - '@volar/vue-typescript' - - eslint - - jest - - lightningcss - - postcss-html - - postcss-jsx - - postcss-less - - postcss-markdown - - postcss-scss - - prettier - - react - - react-dom - - rollup - - sass - - sockjs-client - - stylelint - - stylus - - sugarss - - supports-color - - terser - - type-fest - - typescript - - webpack - - webpack-dev-server - - webpack-hot-middleware - - webpack-plugin-serve - umi@4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@7.32.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@4.9.5))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@4.9.5)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): dependencies: '@babel/runtime': 7.23.6 @@ -73388,13 +73155,13 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - umi@4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@13.13.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): + umi@4.3.20(@babel/core@7.25.2)(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(lightningcss@1.22.1)(prettier@2.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(stylelint@16.9.0(typescript@5.6.2))(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)): dependencies: '@babel/runtime': 7.23.6 '@umijs/bundler-utils': 4.3.20 '@umijs/bundler-webpack': 4.3.20(@types/webpack@4.41.39)(sockjs-client@1.6.1)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) '@umijs/core': 4.3.20 - '@umijs/lint': 4.3.20(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@13.13.1)(typescript@5.6.2) + '@umijs/lint': 4.3.20(eslint@8.57.0)(jest@29.7.0(@types/node@22.5.5)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1))(stylelint@16.9.0(typescript@5.6.2))(typescript@5.6.2) '@umijs/preset-umi': 4.3.20(@types/node@22.5.5)(@types/react@18.3.8)(@types/webpack@4.41.39)(lightningcss@1.22.1)(rollup@3.29.4)(sass@1.78.0)(sockjs-client@1.6.1)(sugarss@2.0.0)(terser@5.33.0)(type-fest@4.26.1)(typescript@5.6.2)(webpack-dev-server@3.11.3(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)))(webpack-hot-middleware@2.26.1)(webpack@5.94.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.23.1)) '@umijs/renderer-react': 4.3.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@umijs/server': 4.3.20 diff --git a/scripts/generate-api/Cargo.toml b/scripts/generate-api/Cargo.toml index e14509e1..769d0bc3 100644 --- a/scripts/generate-api/Cargo.toml +++ b/scripts/generate-api/Cargo.toml @@ -4,3 +4,8 @@ version = "0.1.0" edition = "2021" [dependencies] +pulldown-cmark = "0.12.1" +regex = "1.10.6" +globwalk = "0.9.1" +serde_json = "1.0.128" +serde = { version = "1.0.210", features = ["derive"] } diff --git a/scripts/generate-api/src/main.rs b/scripts/generate-api/src/main.rs index e7a11a96..fdf789a9 100644 --- a/scripts/generate-api/src/main.rs +++ b/scripts/generate-api/src/main.rs @@ -1,3 +1,175 @@ +use globwalk::GlobWalkerBuilder; +use pulldown_cmark::{Event, Parser, Tag, TagEnd}; +use serde::Serialize; +use std::{env, path::PathBuf}; + +#[derive(Debug, Serialize)] +struct Prop { + name: String, + description: String, + required: bool, + ty: String, + default: Option, +} + +impl Prop { + fn new( + name: String, + description: String, + required: bool, + ty: String, + default: Option, + ) -> Self { + Self { + name, + description, + required, + ty, + default, + } + } +} + +#[derive(Debug, Serialize)] +struct Component { + name: String, + props: Vec, + children: Vec, + path: PathBuf, +} + +impl Component { + fn new(name: String) -> Self { + Self { + name, + props: Vec::new(), + children: Vec::new(), + path: PathBuf::new(), + } + } + + fn add_child(&mut self, child: Component) { + self.children.push(child); + } + + fn add_prop(&mut self, prop: Prop) { + self.props.push(prop); + } + + fn set_path(&mut self, path: PathBuf) { + self.path = path; + } +} + fn main() { - println!("Hello, world!"); + // 获取当前工作目录 + let mut components: Vec = Vec::new(); + let current_dir = env::current_dir().unwrap().join("components/antd"); + let component_names = get_components(¤t_dir); + for component_name in component_names { + let mut new_component = Component::new(component_name.clone()); + let component_dir = current_dir + .join("components") + .join(format!("{component_name}/index.zh-CN.md")); + new_component.set_path(component_dir); + parse_markdown(&mut new_component); + components.push(new_component); + } + write_components_schema(&components); +} + +fn get_components(current_dir: &PathBuf) -> Vec { + // 创建 GlobWalker 来匹配路径 + let walker = GlobWalkerBuilder::from_patterns( + ¤t_dir, + &[ + "components/**/index.zh-CN.md", + "!components/{version,icon,col,row}/**", + ], + ) + .build() + .expect("Failed to build glob walker"); + + // 提取组件名称并过滤 + let component_names: Vec = walker + .filter_map(Result::ok) + .filter_map(|entry| { + // 转换路径为字符串,提取组件名称 + entry.path().to_str().and_then(|p| { + let re = regex::Regex::new(r"components/antd/components/([^/]*)/").unwrap(); + re.captures(p) + .and_then(|caps| caps.get(1).map(|m| m.as_str().to_string())) + }) + }) + .filter(|name| name != "overview") + .collect(); + + // 打印匹配到的组件名称 + component_names +} + +fn parse_markdown(component: &mut Component) { + let content = std::fs::read_to_string(&component.path).expect("Failed to read file"); + + let parser = Parser::new(&content); + let mut in_table = false; + let mut in_header = false; + let mut current_props: Vec = Vec::new(); + + for event in parser { + match event { + Event::Start(tag) => { + if let Tag::Table(_) = tag { + in_table = true; + } + if let Tag::TableHead = tag { + in_header = true; + } + } + Event::End(tag) => { + if let TagEnd::Table = tag { + // 这里也没有括号 + in_table = false; + } + if let TagEnd::TableHead = tag { + // 没有括号 + in_header = false; + } + if let TagEnd::TableRow = tag { + if let Some(prop) = current_props.pop() { + component.add_prop(prop); + } + } + } + Event::Text(text) => { + if in_table && !in_header { + println!("{}", text); + let parts: Vec<&str> = text.split('|').map(|s| s.trim()).collect(); + if parts.len() >= 4 { + let name = parts[0].to_string(); + let description = parts[1].to_string(); + let required = parts[2] == "true"; + let ty = parts[3].to_string(); + let default = if parts.len() > 4 { + Some(parts[4].to_string()) + } else { + None + }; + current_props.push(Prop::new(name, description, required, ty, default)); + } + } + } + _ => {} + } + } + + current_props + .into_iter() + .for_each(|prop| component.add_prop(prop)); +} + +fn write_components_schema(components: &Vec) { + println!("{:#?}", components); + let json = serde_json::to_string_pretty(&components).unwrap(); + std::fs::write("components.json", json).expect("Failed to write file"); }