From 211a0ee7419b7742ce139543811e083385890a03 Mon Sep 17 00:00:00 2001 From: lizhensheng Date: Thu, 14 May 2026 18:29:23 +0800 Subject: [PATCH] revert: revert accidental toolchain upgrade commits merged to main Reverts commits a5a8ab7f..ceb8d2e5 (13 commits) that were accidentally pushed to main via a branch without proper remote tracking configuration. The reverted commits include: - chore(build): upgrade toolchain to Vite 8 and migrate chunk splitting - chore(ci): switch test pipeline to turbo per-package coverage reports - chore: migrate toolchain to oxc, turbo, and source-based dms-kit consumption - refactor(test): run root tests per package and remove legacy root jest runner - fix(tsconfig): remove deprecated baseUrl usage - fix(tsconfig): update module resolution and include jest test types - and related CI/test fix commits This restores main to the state at commit 19e47ae22 (Merge pull request #830). Co-authored-by: Cursor --- .github/workflows/main.yml | 74 +- .gitignore | 7 +- .oxfmtrc.json | 18 - .oxlintrc.json | 42 - Makefile | 6 +- eslint.config.mjs | 101 + jest.config.js | 150 ++ package.json | 50 +- packages/base/jest.config.mjs | 19 - packages/base/package.json | 19 +- packages/base/tsconfig.json | 5 +- packages/base/vite.config.mts | 61 +- packages/dms-kit/jest.config.mjs | 18 - packages/dms-kit/package.json | 15 +- .../dms-kit/src/types/ambient-modules.d.ts | 1 - packages/dms-kit/src/utils/HighlightCode.ts | 4 +- packages/icons/package.json | 6 +- packages/icons/tsconfig.json | 7 +- packages/shared/jest.config.mjs | 26 - .../shared/lib/types/ambient-modules.d.ts | 1 - packages/shared/package.json | 12 +- packages/shared/tsconfig.json | 5 +- packages/sqle/jest.config.mjs | 21 - packages/sqle/package.json | 10 +- packages/sqle/src/index.tsx | 2 + .../markdownPreviewOptions.tsx | 15 +- .../SqlFileStatementOverview/index.tsx | 4 +- .../components/AuditExecResultPanel/index.tsx | 8 +- .../__snapshots__/index.test.tsx.snap | 196 +- packages/sqle/src/types/ambient-modules.d.ts | 7 - packages/sqle/tsconfig.json | 5 +- .../tooling-config/jest/create-jest-config.js | 169 -- packages/tooling-config/package.json | 20 - packages/tooling-config/tsconfig/base.json | 20 - pnpm-lock.yaml | 1724 +++++------------ scripts/cli/create-dms-page/tsconfig.json | 2 +- scripts/cli/dms-kit-publish/tsconfig.json | 2 +- scripts/format/oxfmt-changed.mjs | 57 - scripts/jest/README.md | 226 ++- scripts/jest/merge-report-json.js | 86 + scripts/jest/run-ci.sh | 29 + scripts/jest/run-coverage.sh | 26 + scripts/jest/run.sh | 29 + tsconfig.json | 21 +- turbo.json | 50 - 45 files changed, 1234 insertions(+), 2142 deletions(-) delete mode 100644 .oxfmtrc.json delete mode 100644 .oxlintrc.json create mode 100644 eslint.config.mjs create mode 100644 jest.config.js delete mode 100644 packages/base/jest.config.mjs delete mode 100644 packages/dms-kit/jest.config.mjs delete mode 100644 packages/dms-kit/src/types/ambient-modules.d.ts delete mode 100644 packages/shared/jest.config.mjs delete mode 100644 packages/shared/lib/types/ambient-modules.d.ts delete mode 100644 packages/sqle/jest.config.mjs delete mode 100644 packages/sqle/src/types/ambient-modules.d.ts delete mode 100644 packages/tooling-config/jest/create-jest-config.js delete mode 100644 packages/tooling-config/package.json delete mode 100644 packages/tooling-config/tsconfig/base.json delete mode 100644 scripts/format/oxfmt-changed.mjs create mode 100644 scripts/jest/merge-report-json.js create mode 100644 scripts/jest/run-ci.sh create mode 100644 scripts/jest/run-coverage.sh create mode 100644 scripts/jest/run.sh delete mode 100644 turbo.json diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4d9700e19..397ad2eb9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,15 +26,7 @@ jobs: if: ${{ !contains(github.event.pull_request.title, '[skip checker]') }} strategy: matrix: - include: - - package_name: base - package_path: packages/base - - package_name: '@actiontech/dms-kit' - package_path: packages/dms-kit - - package_name: '@actiontech/shared' - package_path: packages/shared - - package_name: sqle - package_path: packages/sqle + shard: [1, 2, 3, 4] steps: - name: Checkout repository uses: actions/checkout@v4 @@ -42,14 +34,64 @@ jobs: - name: Install dependencies uses: ./.github/actions/catch-install-pnpm - - name: Run package test suite - run: pnpm turbo run test:ci --filter=${{ matrix.package_name }} + - name: Coverage test report + run: sh ./scripts/jest/run-ci.sh ${{ matrix.shard }} ${{ strategy.job-total }} - - name: Coverage report + - uses: actions/upload-artifact@v4 + with: + name: coverage-artifacts-${{ matrix.shard }} + path: coverage/ + + report: + runs-on: ubuntu-latest + if: ${{ !contains(github.event.pull_request.title, '[skip checker]') }} + needs: [test] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Get Coverage 1 + uses: actions/download-artifact@v4 + with: + name: coverage-artifacts-1 + path: coverage + + - name: Get Coverage 2 + uses: actions/download-artifact@v4 + with: + name: coverage-artifacts-2 + path: coverage + + - name: Get Coverage 3 + uses: actions/download-artifact@v4 + with: + name: coverage-artifacts-3 + path: coverage + + - name: Get Coverage 4 + uses: actions/download-artifact@v4 + with: + name: coverage-artifacts-4 + path: coverage + + - name: Install dependencies + uses: ./.github/actions/catch-install-pnpm + + - name: Merge coverage reports + run: node ./scripts/jest/merge-report-json.js + + - name: Coverage test report uses: ArtiomTr/jest-coverage-report-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} - custom-title: 'Coverage report (${{ matrix.package_name }})' - coverage-file: ${{ matrix.package_path }}/coverage/report.json - base-coverage-file: ${{ matrix.package_path }}/coverage/report.json - skip-step: all + base-coverage-file: coverage-merged.json + coverage-file: coverage-merged.json + + - name: Delete artifact + uses: geekyeggo/delete-artifact@v5 + with: + name: | + coverage-artifacts-1 + coverage-artifacts-2 + coverage-artifacts-3 + coverage-artifacts-4 diff --git a/.gitignore b/.gitignore index ebf298133..4dbb2d65d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,8 +16,9 @@ dist # testing /ce_coverage /coverage -**/coverage/** /report.json +/coverage-merged +/coverage-merged.json # production /build @@ -52,6 +53,4 @@ verdaccio ftp-data -/scripts/cli/dms-kit-publish/docs - -*.turbo \ No newline at end of file +/scripts/cli/dms-kit-publish/docs \ No newline at end of file diff --git a/.oxfmtrc.json b/.oxfmtrc.json deleted file mode 100644 index aa9ef744a..000000000 --- a/.oxfmtrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "./node_modules/oxfmt/configuration_schema.json", - "tabWidth": 2, - "semi": true, - "printWidth": 80, - "trailingComma": "none", - "arrowParens": "always", - "proseWrap": "preserve", - "useTabs": false, - "singleQuote": true, - "bracketSpacing": true, - "jsxBracketSameLine": false, - "sortPackageJson": false, - "ignorePatterns": [ - "*.snap", - "*.md" - ] -} diff --git a/.oxlintrc.json b/.oxlintrc.json deleted file mode 100644 index 72db1b5f1..000000000 --- a/.oxlintrc.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$schema": "./node_modules/oxlint/configuration_schema.json", - "plugins": [ - "react", - "import", - "node", - "jest", - "typescript", - "unicorn", - "oxc" - ], - "categories": { - "correctness": "warn", - "suspicious": "warn" - }, - "rules": { - "no-console": "warn", - "react-in-jsx-scope": "off", - "no-shadow": "off", - "no-shadow-restricted-names": "error", - "prefer-const": "warn", - "no-extra-boolean-cast": "off", - "no-template-curly-in-string": "warn", - "react/display-name": "off", - "import/no-anonymous-default-export": "warn" - }, - "env": { - "builtin": true - }, - "ignorePatterns": [ - "**/*.test.ts", - "**/*.test.tsx", - "**/demo/**", - "**/demos/**", - "**/dist/**", - "**/es/**", - "**/node_modules/**", - "packages/shared/lib/api/*", - "packages/**/mockApi/*", - "packages/**/testUtil/*" - ] -} \ No newline at end of file diff --git a/Makefile b/Makefile index 69e577045..58996cf14 100644 --- a/Makefile +++ b/Makefile @@ -38,13 +38,13 @@ docker_clean: $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "git config --global --add safe.directory /usr/src/app && git clean -dfx" docker_build_ce: pull_image docker_install_node_modules - $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "pnpm --filter base build:release" + $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "pnpm build" docker_build_ee: pull_image docker_install_node_modules - $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "pnpm --filter base build:release:ee" + $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "pnpm build:ee" docker_build_demo: pull_image docker_install_node_modules - $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "pnpm --filter base build:release:demo" + $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm $(DOCKER_IMAGE) sh -c "pnpm build:demo" docker_dms_kit_publish: docker_install_node_modules $(DOCKER) run -v $(MAIN_MODULE):/usr/src/app --user $(UID):$(GID) -w /usr/src/app --rm \ diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..b92397d45 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,101 @@ +import { defineConfig, globalIgnores } from 'eslint/config'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; +import pluginReact from 'eslint-plugin-react'; +import pluginImport from 'eslint-plugin-import'; +import pluginReactHooks from 'eslint-plugin-react-hooks'; +import pluginNode from 'eslint-plugin-node'; + +export default defineConfig([ + tseslint.configs.recommended, + { + files: ['**/scripts/**/*.{js,mjs,cjs,ts,jsx,tsx}'], + plugins: { + import: pluginImport, + node: pluginNode + }, + languageOptions: { + globals: { + ...globals.node + } + }, + rules: { + '@typescript-eslint/no-unused-vars': 'warn', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-require-imports': 'warn', + '@typescript-eslint/no-empty-object-type': 'off' + } + }, + { + files: ['**/packages/**/*.{js,mjs,cjs,ts,jsx,tsx}'], + ...pluginReact.configs.flat.recommended, + plugins: { + import: pluginImport, + react: pluginReact, + 'react-hooks': pluginReactHooks + }, + languageOptions: { + ...pluginReact.configs.flat.recommended.languageOptions, + globals: { + ...globals.browser + } + }, + settings: { + react: { + pragma: 'React', + version: 'detect' + } + }, + rules: { + ...pluginReactHooks.configs.recommended.rules, + 'no-shadow': 'off', + '@typescript-eslint/no-shadow': 'error', + 'no-shadow-restricted-names': 'error', + 'testing-library/render-result-naming-convention': 0, + 'prefer-const': 'warn', + '@typescript-eslint/no-non-null-asserted-optional-chain': 0, + '@typescript-eslint/no-non-null-assertion': 0, + 'no-extra-boolean-cast': 'off', + 'import/no-anonymous-default-export': [2, { allowNew: true }], + '@typescript-eslint/no-empty-interface': [ + 'error', + { + allowSingleExtends: true + } + ], + '@typescript-eslint/no-explicit-any': 'off', + 'react/display-name': 0, + 'react/prop-types': 'off', + 'react/require-default-props': 'off', + 'no-console': 'warn', + '@typescript-eslint/no-unused-vars': 'warn', + 'no-template-curly-in-string': 'warn', + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-empty-function': 'warn', + 'import/no-anonymous-default-export': 'warn' + } + }, + globalIgnores([ + 'jest.config.js', + 'eslint.config.mjs', + '**/packages/**/*.test.ts', + '**/packages/**/*.test.tsx', + '**/packages/shared/lib/api/*', + '**/packages/**/mockApi/*', + '**/packages/**/testUtil/*', + '**/packages/**/demo/*', + '**/packages/**/demos/*', + 'jest-setup.ts', + 'node_modules/*', + '**/packages/*/node_modules/*', + '**/scripts/jest/*.js', + '/**/node_modules/*', + 'dist', + 'packages/*/dist', + 'packages/*/scripts', + '# config', + 'vite.config.ts', + '.eslintrc.json', + 'es' + ]) +]); diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 000000000..6515087c5 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,150 @@ +process.env.TZ = 'Asia/Shanghai'; + +const path = require('path'); + +const { compilerOptions } = require('./tsconfig.json'); +const { pathsToModuleNameMapper } = require('ts-jest'); + +compilerOptions.paths['~/*'][0] = path.resolve(compilerOptions.paths['~/*'][0]); + +const sharedModuleNameMapper = { + '.+\\.(css|style|less|sass|scss|ttf|woff|woff2)$': 'identity-obj-proxy', + '@ant-design/plots': + '/packages/shared/lib/testUtil/mockModule/mockAntDesignPlots.jsx', + 'monaco-editor': + '/packages/shared/lib/testUtil/mockModule/mockEditor.jsx', + '@monaco-editor/react': + '/packages/shared/lib/testUtil/mockModule/mockEditor.jsx', + '@uiw/react-md-editor': + '/packages/shared/lib/testUtil/mockModule/mockEditor.jsx', + '@actiontech/(.*)': '/packages/$1', + '@react-sigma/core(.*)$': + '/packages/shared/lib/testUtil/mockModule/mockSigmaCore.tsx', + '@react-sigma/graph-search$': + '/packages/shared/lib/testUtil/mockModule/mockSigmaGraphSearch.tsx', + ...pathsToModuleNameMapper(compilerOptions.paths) +}; + +const sharedIgnorePatterns = ['/node_modules/', '/demo/', '/demos/']; + +// Naming conventions for condition-specific test files: +// *.ce.test.{ts,tsx} → CE project (ee=false, ce=true, sqle=true, dms=false) 不要强制匹配 ce.test, ce.[可选项].test.{ts,tsx} +// *.sqle.test.{ts,tsx} → EE project (ee=true, ce=false, sqle=true, dms=false) 同上 +// *.provision.test.{ts,tsx} → PROVISION project (ee=true, ce=false, sqle=false, provision=true, dms=false) 同上 +// *.test.{ts,tsx} → DMS project (ee=true, ce=false, sqle=true, provision=true, dms=true) [default] 同上 +// 实现:`.ce.` / `.sqle.` / `.provision.` 与 `.test.` 之间可有零段或多段 `.xxx.`(正则见下方 *_TEST_FILE_RE)。 +const CE_TEST_FILE_RE = '\\.ce(\\.[^./]+)*\\.test\\.[jt]sx?$'; +const SQLE_TEST_FILE_RE = '\\.sqle(\\.[^./]+)*\\.test\\.[jt]sx?$'; +const PROVISION_TEST_FILE_RE = '\\.provision(\\.[^./]+)*\\.test\\.[jt]sx?$'; + +const sharedProjectConfig = { + transform: { + '^.+\\.(ts|tsx|js|jsx)$': '/scripts/jest/custom-transform.js', + '^.+\\.(png|jpg|jpeg|css|json)$': '/scripts/jest/file-transform.js' + }, + transformIgnorePatterns: [ + '/dist/', + 'node_modules/(?!(?:.pnpm/)?(@react-sigma|.+/es))[^/]+?/(?!(es|node_modules)/)' + ], + moduleFileExtensions: ['ts', 'tsx', 'js', 'json', 'jsx', 'node'], + testEnvironment: 'jest-environment-jsdom', + resetMocks: true, + moduleNameMapper: sharedModuleNameMapper, + collectCoverageFrom: [ + 'packages/**/{src,lib}/{page,components,hooks,global,store,utils}/**/*.{ts,tsx}', + 'packages/**/src/App.tsx', + 'packages/shared/api/common/**', + '!packages/**/index.type.ts', + '!packages/**/index.enum.ts', + '!packages/sqle/src/page/SqlAnalyze/SqlAnalyze/ProcessListCom/**', + '!packages/shared/lib/hooks/usePrompt/index.tsx', + '!packages/sqle/src/page/Knowledge/Graph/components/**', + '!packages/**/demo/**', + '!packages/**/demos/**' + ], + setupFilesAfterEnv: ['/jest-setup.ts'] +}; + +module.exports = { + projects: [ + { + ...sharedProjectConfig, + displayName: 'dms', + globals: { + TEST_CONDITIONS: { + ee: true, + ce: false, + sqle: true, + provision: true, + dms: true + } + }, + // Default tests only: exclude CE / sqle / provision condition tests (dedicated projects) + testPathIgnorePatterns: [ + ...sharedIgnorePatterns, + CE_TEST_FILE_RE, + SQLE_TEST_FILE_RE, + PROVISION_TEST_FILE_RE + ] + }, + { + ...sharedProjectConfig, + displayName: 'sqle-ce', + globals: { + TEST_CONDITIONS: { + ee: false, + ce: true, + sqle: true, + provision: false, + dms: false + } + }, + testRegex: CE_TEST_FILE_RE, + testPathIgnorePatterns: sharedIgnorePatterns + }, + { + ...sharedProjectConfig, + displayName: 'sqle-ee', + globals: { + TEST_CONDITIONS: { + ee: true, + ce: false, + sqle: true, + provision: false, + dms: false + } + }, + testRegex: SQLE_TEST_FILE_RE, + // e.g. *.ce.sqle.test.* belongs to CE, not EE + testPathIgnorePatterns: [...sharedIgnorePatterns, CE_TEST_FILE_RE] + }, + { + ...sharedProjectConfig, + displayName: 'provision', + globals: { + TEST_CONDITIONS: { + ee: true, + ce: false, + sqle: false, + provision: true, + dms: false + } + }, + testRegex: PROVISION_TEST_FILE_RE, + testPathIgnorePatterns: [...sharedIgnorePatterns, CE_TEST_FILE_RE] + } + ], + reporters: [ + 'default', + [ + 'jest-slow-test-reporter', + { + numTests: 8, + outputDirectory: 'reports', + outputName: 'report.xml', + color: true, + warnSlowerThan: 6000 + } + ] + ] +}; diff --git a/package.json b/package.json index 9491b360f..567c18aeb 100644 --- a/package.json +++ b/package.json @@ -8,28 +8,22 @@ "pnpm": ">=9.7.0" }, "scripts": { - "preview": "pnpm --filter base preview", "preinstall": "npx only-allow pnpm", - "start": "turbo run start --filter=base --parallel", - "start:ee": "turbo run start:ee --filter=base --parallel", - "start:demo": "turbo run start:demo --filter=base --parallel", - "build": "turbo run build --filter=@actiontech/dms-kit && pnpm --filter base build", - "build:ee": "turbo run build --filter=@actiontech/dms-kit && pnpm --filter base build:ee", - "build:demo": "turbo run build --filter=@actiontech/dms-kit && pnpm --filter base build:demo", - "check:turbo": "turbo run check --filter='./packages/*'", - "oxfmt:w": "node ./scripts/format/oxfmt-changed.mjs", - "oxfmt:c": "node ./scripts/format/oxfmt-changed.mjs --check", - "oxfmt:w:all": "oxfmt --write \"packages/*/src/**/*\" \"packages/shared/lib/**/*\" \"scripts/cli/*/src/**/*\"", - "oxfmt:c:all": "oxfmt --check \"packages/*/src/**/*\" \"packages/shared/lib/**/*\" \"scripts/cli/*/src/**/*\"", - "oxlint": "oxlint --no-error-on-unmatched-pattern packages/base/src packages/dms-kit/src packages/shared/src packages/shared/lib packages/sqle/src scripts/cli/create-dms-page/src scripts/cli/dms-kit-publish/src packages/base/vite.config.mts", - "oxlint:turbo": "turbo run oxlint --filter='./packages/*'", + "start": "concurrently \"pnpm --filter base start\" \"pnpm --filter @actiontech/dms-kit dev\"", + "start:ee": "concurrently \"pnpm --filter base start:ee\" \"pnpm --filter @actiontech/dms-kit dev\"", + "start:demo": "concurrently \"pnpm --filter base start:demo\" \"pnpm --filter @actiontech/dms-kit dev\"", + "build": "pnpm --filter @actiontech/dms-kit build && pnpm --filter base build", + "build:ee": "pnpm --filter @actiontech/dms-kit build && pnpm --filter base build:ee", + "build:demo": "pnpm --filter @actiontech/dms-kit build && pnpm --filter base build:demo", + "prettier:w": "prettier -w packages/*/src/ packages/shared/lib/ scripts/cli/*/src", + "prettier:c": "prettier -c packages/*/src/ packages/shared/lib/ scripts/cli/*/src", + "eslint": "eslint packages/*/src/ packages/shared/lib/ scripts/cli/*/src", "stylelint": "stylelint packages/*/{src,lib}/**/{*.less,style.ts,element.ts}", "ts-check": "tsc --noEmit", - "checker": "pnpm check:turbo", - "test": "pnpm --workspace-concurrency=1 --filter base --filter @actiontech/dms-kit --filter @actiontech/shared --filter sqle run test:run", - "test:c": "pnpm --workspace-concurrency=1 --filter base --filter @actiontech/dms-kit --filter @actiontech/shared --filter sqle run test:c", - "test:ci": "turbo run test:ci --filter='./packages/*'", - "test:ci:turbo": "pnpm test:ci", + "checker": "concurrently \"pnpm ts-check\" \"pnpm eslint\" \"pnpm stylelint\" \"pnpm prettier:c\"", + "test": "sh ./scripts/jest/run.sh", + "test:c": "sh ./scripts/jest/run-coverage.sh", + "test:ci": "sh ./scripts/jest/run-ci.sh 1 1 && node ./scripts/jest/merge-report-json.js", "test:clean": "jest --clearCache", "icon:g": "pnpm --filter @actiontech/icons icon:g", "icon:docs:g": "pnpm --filter @actiontech/icons docs:g", @@ -40,13 +34,12 @@ "api_client:g": "cross-env npm_config_registry=http://10.186.18.19:4873 pnpx @actiontech/cli api-client -y", "api_mocks:g": "cross-env npm_config_registry=http://10.186.18.19:4873 pnpx @actiontech/cli api-mocks -y", "ai-doc": "cross-env npm_config_registry=http://10.186.18.19:4873 pnpx @actiontech/cli ai-doc", - "dms-kit:build": "turbo run build --filter=@actiontech/dms-kit", + "postinstall": "pnpm --filter @actiontech/dms-kit build", "dms-kit:publish": "pnpm --filter @actiontech/cli-dms-kit-publish build && dms-kit-publish" }, "keywords": [], "author": "", "devDependencies": { - "@actiontech/tooling-config": "workspace:^", "@actiontech/cli-create-dms-page": "workspace:^", "@actiontech/cli-dms-kit-publish": "workspace:^", "@cfaester/enzyme-adapter-react-18": "^0.7.0", @@ -67,11 +60,12 @@ "@types/testing-library__jest-dom": "^5.14.5", "@typescript-eslint/eslint-plugin": "^5.30.6", "@typescript-eslint/parser": "^5.30.6", - "@vitejs/plugin-react": "^6", + "@vitejs/plugin-react": "^4.2.1", "babel-jest": "^29.7.0", "babel-preset-react-app": "^10.0.1", "blob-polyfill": "^7.0.20220408", "comment-parser": "^1.4.1", + "concurrently": "^9.1.2", "cross-env": "^7.0.3", "enzyme": "^3.11.0", "enzyme-to-json": "^3.6.2", @@ -91,8 +85,6 @@ "less": "^4.1.3", "mockdate": "^3.0.5", "msw": "^0.45.0", - "oxfmt": "^0.45.0", - "oxlint": "^1.60.0", "postcss-less": "^6.0.0", "postcss-styled-syntax": "^0.6.4", "prettier": "^2.7.1", @@ -103,11 +95,11 @@ "stylelint-prettier": "^4.0.2", "ts-jest": "27.1.5", "tsx": "^4.20.5", - "turbo": "^2.9.6", - "typescript": "^6", + "typescript": "^5.0.2", "typescript-eslint": "^8.28.0", - "vite": "^8", + "vite": "^5.2.6", "vite-plugin-conditional-compile": "1.4.3", + "vite-plugin-eslint": "^1.8.1", "vite-plugin-html": "^3.2.2" }, "dependencies": { @@ -125,7 +117,6 @@ "@mui/styles": "^5.11.16", "@mui/system": "^5.9.1", "@reduxjs/toolkit": "^1.9.3", - "@uiw/react-md-editor": "^3.23.5", "@xyflow/react": "^12.3.0", "ahooks": "^3.7.0", "antd": "^5.7.3", @@ -149,7 +140,8 @@ "react-redux": "^8.0.5", "react-router-dom": "^6.10.0", "recoil": "^0.7.4", - "sql-formatter": "^12.2.4" + "sql-formatter": "^12.2.4", + "@uiw/react-md-editor": "^3.23.5" }, "resolutions": { "headers-polyfill": "3.0.10", diff --git a/packages/base/jest.config.mjs b/packages/base/jest.config.mjs deleted file mode 100644 index c3629d79b..000000000 --- a/packages/base/jest.config.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import { createJestConfig } from '@actiontech/tooling-config/jest/create-jest-config'; -import { fileURLToPath } from 'node:url'; -import path from 'node:path'; - -const packageRoot = path.dirname(fileURLToPath(import.meta.url)); - -export default createJestConfig({ - packageRoot, - enabledProjects: ['dms', 'sqle-ce', 'sqle-ee'], - collectCoverageFrom: [ - 'src/{page,components,hooks,global,store,utils}/**/*.{ts,tsx}', - 'src/App.tsx', - '!src/**/*.test.{ts,tsx}', - '!src/**/*.type.ts', - '!src/**/*.enum.ts', - '!src/**/demo/**', - '!src/**/demos/**' - ] -}); diff --git a/packages/base/package.json b/packages/base/package.json index 791f7c183..b0aa6eb18 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -6,26 +6,17 @@ "start": "cross-env buildType=ce,SQLE vite --port=3020", "start:ee": "cross-env buildType=ee,SQLE vite --port=3020", "start:demo": "cross-env buildType=ce,SQLE,DEMO vite --port=3020", - "build": "tsc && cross-env NODE_OPTIONS=--max_old_space_size=102400 buildType=ce,SQLE vite build", - "build:ee": "tsc && cross-env NODE_OPTIONS=--max_old_space_size=102400 buildType=ee,SQLE vite build", - "build:demo": "tsc && cross-env NODE_OPTIONS=--max_old_space_size=102400 buildType=ce,SQLE,DEMO vite build", - "build:release": "node ../../scripts/getGitVersion.mjs ce && pnpm build", - "build:release:ee": "node ../../scripts/getGitVersion.mjs ee && pnpm build:ee", - "build:release:demo": "node ../../scripts/getGitVersion.mjs trial && pnpm build:demo", + "build": "node ../../scripts/getGitVersion.mjs ce && tsc && cross-env NODE_OPTIONS=--max_old_space_size=102400 buildType=ce,SQLE vite build", + "build:ee": "node ../../scripts/getGitVersion.mjs ee && tsc && cross-env NODE_OPTIONS=--max_old_space_size=102400 buildType=ee,SQLE vite build", + "build:demo": "node ../../scripts/getGitVersion.mjs trial && tsc && cross-env NODE_OPTIONS=--max_old_space_size=102400 buildType=ce,SQLE,DEMO vite build", "preview": "vite preview", - "oxlint": "oxlint --no-error-on-unmatched-pattern src vite.config.mts", - "typecheck": "tsc --noEmit -p tsconfig.json", - "stylelint": "stylelint \"src/**/{*.less,style.ts,element.ts}\" --allow-empty-input", - "check": "echo \"base check\"", "test": "jest --watchAll=true", - "test:c": "jest --watchAll=false --coverage --coverageDirectory=coverage", - "test:run": "jest --watchAll=false --color", - "test:ci": "jest --ci --watchAll=false --coverage --coverageDirectory=coverage --json --outputFile=coverage/report.json --color --silent --testLocationInResults" + "test:c": "jest --coverage", + "test:ci": "jest --ci --watchAll=false --coverage --color --silent --testLocationInResults" }, "dependencies": { "@actiontech/shared": "workspace:^", "@actiontech/dms-kit": "workspace:^", - "@actiontech/tooling-config": "workspace:^", "babel-preset-react-app": "^10.0.1", "sqle": "workspace:^", "@actiontech/icons": "workspace:^" diff --git a/packages/base/tsconfig.json b/packages/base/tsconfig.json index cc3ae8dea..740aafa02 100644 --- a/packages/base/tsconfig.json +++ b/packages/base/tsconfig.json @@ -3,10 +3,7 @@ "include": ["src"], "compilerOptions": { "paths": { - "~/*": ["./src/*"], - "@actiontech/dms-kit": ["../dms-kit/src/index.ts"], - "@actiontech/dms-kit/es/*": ["../dms-kit/src/*"], - "@actiontech/dms-kit/*": ["../dms-kit/src/*"] + "~/*": ["./src/*"] }, "skipLibCheck": true } diff --git a/packages/base/vite.config.mts b/packages/base/vite.config.mts index 7f1ef1754..d625f0809 100644 --- a/packages/base/vite.config.mts +++ b/packages/base/vite.config.mts @@ -1,5 +1,6 @@ import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; +import eslint from 'vite-plugin-eslint'; import vitePluginConditionalCompile from 'vite-plugin-conditional-compile'; import { createHtmlPlugin } from 'vite-plugin-html'; import * as path from 'path'; @@ -49,6 +50,14 @@ export default defineConfig(() => { demo: isDemo } }), + eslint({ + exclude: [ + '**/node_modules/**', + '**/packages/**/lib/**', + '**/packages/**/es/**', + '!**/packages/**/lib/api/common/**' + ] + }), react(), createHtmlPlugin({ inject: { @@ -59,20 +68,9 @@ export default defineConfig(() => { }) ], resolve: { - alias: [ - { - find: /^@actiontech\/dms-kit\/es\/(.*)$/, - replacement: path.resolve(__dirname, '../dms-kit/src/$1') - }, - { - find: '@actiontech/dms-kit', - replacement: path.resolve(__dirname, '../dms-kit/src') - }, - { - find: '~', - replacement: path.resolve(__dirname, '../provision/src') - } - ] + alias: { + '~': path.resolve(__dirname, '../provision/src') + } }, css: { preprocessorOptions: { @@ -83,7 +81,6 @@ export default defineConfig(() => { } }, build: { - target: 'chrome80', rollupOptions: { // resolve css in js 'use client' warn onwarn(warning, warn) { @@ -94,33 +91,13 @@ export default defineConfig(() => { }, output: { minifyInternalExports: true, - codeSplitting: { - groups: [ - { - test: /[\\/]node_modules[\\/]antd[\\/]/, - name: 'antd.module' - }, - { - test: /[\\/]node_modules[\\/]react[\\/]/, - name: 'react.module' - }, - { - test: /[\\/]node_modules[\\/]lodash[\\/]/, - name: 'lodash.module' - }, - { - test: /[\\/]node_modules[\\/]@ant-design[\\/]icons[\\/]/, - name: 'antd.icon.module' - }, - { - test: /[\\/]node_modules[\\/]@ant-design[\\/]plots[\\/]/, - name: 'antd.plots' - }, - { - test: /[\\/]node_modules[\\/]@actiontech[\\/]shared[\\/]/, - name: 'actiontech.shared' - } - ] + manualChunks: { + 'antd.module': ['antd'], + 'react.module': ['react'], + 'lodash.module': ['lodash'], + 'antd.icon.module': ['@ant-design/icons'], + 'antd.plots': ['@ant-design/plots'], + 'actiontech.shared': ['@actiontech/shared'] } } } diff --git a/packages/dms-kit/jest.config.mjs b/packages/dms-kit/jest.config.mjs deleted file mode 100644 index b5af9812e..000000000 --- a/packages/dms-kit/jest.config.mjs +++ /dev/null @@ -1,18 +0,0 @@ -import { createJestConfig } from '@actiontech/tooling-config/jest/create-jest-config'; -import { fileURLToPath } from 'node:url'; -import path from 'node:path'; - -const packageRoot = path.dirname(fileURLToPath(import.meta.url)); - -export default createJestConfig({ - packageRoot, - enabledProjects: ['dms'], - collectCoverageFrom: [ - 'src/**/*.{ts,tsx}', - '!src/**/*.test.{ts,tsx}', - '!src/**/*.type.ts', - '!src/**/*.enum.ts', - '!src/**/demo/**', - '!src/**/demos/**' - ] -}); diff --git a/packages/dms-kit/package.json b/packages/dms-kit/package.json index c3f0cfa39..311f8f1eb 100644 --- a/packages/dms-kit/package.json +++ b/packages/dms-kit/package.json @@ -16,20 +16,12 @@ "scripts": { "build": "father build", "dev": "father dev --incremental", - "start": "pnpm dev", - "start:ee": "pnpm dev", - "start:demo": "pnpm dev", "docs:dev": "dumi dev", "docs:build": "dumi build", "docs:preview": "dumi preview", - "oxlint": "oxlint --no-error-on-unmatched-pattern src", - "typecheck": "tsc --noEmit -p tsconfig.json", - "stylelint": "stylelint \"src/**/{*.less,style.ts,element.ts}\" --allow-empty-input", - "check": "echo \"dms-kit check\"", "test": "jest --watchAll=true", - "test:c": "jest --watchAll=false --coverage --coverageDirectory=coverage", - "test:run": "jest --watchAll=false --color", - "test:ci": "jest --ci --watchAll=false --coverage --coverageDirectory=coverage --json --outputFile=coverage/report.json --color --silent --testLocationInResults" + "test:c": "jest --watchAll=false --coverage", + "test:ci": "jest --ci --watchAll=false --coverage --color --silent --testLocationInResults" }, "dependencies": { "ahooks": "^3.7.0", @@ -62,9 +54,8 @@ "typescript": "^5.0.2" }, "devDependencies": { - "@actiontech/tooling-config": "workspace:^", "father": "^4.5.2", "dumi": "^2.3.8", "babel-plugin-import": "^1.13.8" } -} +} \ No newline at end of file diff --git a/packages/dms-kit/src/types/ambient-modules.d.ts b/packages/dms-kit/src/types/ambient-modules.d.ts deleted file mode 100644 index 35306c6fc..000000000 --- a/packages/dms-kit/src/types/ambient-modules.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module '*.css'; diff --git a/packages/dms-kit/src/utils/HighlightCode.ts b/packages/dms-kit/src/utils/HighlightCode.ts index a3d4b763e..60e822f67 100644 --- a/packages/dms-kit/src/utils/HighlightCode.ts +++ b/packages/dms-kit/src/utils/HighlightCode.ts @@ -1,7 +1,5 @@ import hljs from 'highlight.js/lib/core'; import sqlCore from 'highlight.js/lib/languages/sql'; - -// oxlint-disable-next-line import/no-unassigned-import import 'highlight.js/styles/github.css'; class HighlightCode { @@ -15,5 +13,5 @@ class HighlightCode { } } -// oxlint-disable-next-line import/no-anonymous-default-export +// eslint-disable-next-line import/no-anonymous-default-export export default new HighlightCode(); diff --git a/packages/icons/package.json b/packages/icons/package.json index 485090a0f..48cf230af 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -9,10 +9,6 @@ "docs:build": "dumi build", "docs:preview": "dumi preview", "build": "father build", - "oxlint": "oxlint --no-error-on-unmatched-pattern src", - "typecheck": "tsc --noEmit -p tsconfig.json", - "stylelint": "stylelint \"src/**/{*.less,style.ts,element.ts}\" --allow-empty-input", - "check": "echo \"icons check\"", "icon:g": "svgr --template template/template.cjs -d src svg/ ", "docs:g": "node scripts/generate.js" }, @@ -25,4 +21,4 @@ "dumi": "^2.3.8", "father": "^4.1.0" } -} +} \ No newline at end of file diff --git a/packages/icons/tsconfig.json b/packages/icons/tsconfig.json index 574fae7d5..6cec366d2 100644 --- a/packages/icons/tsconfig.json +++ b/packages/icons/tsconfig.json @@ -6,10 +6,11 @@ "esModuleInterop": true, "resolveJsonModule": true, "jsx": "react-jsx", + "baseUrl": "./", "paths": { - "@@/*": ["./.dumi/tmp/*"], - "@actiontech/icons": ["./src"], - "@actiontech/icons/*": ["./src/*", "./*"] + "@@/*": [".dumi/tmp/*"], + "@actiontech/icons": ["src"], + "@actiontech/icons/*": ["src/*", "*"] } }, "include": [".dumirc.ts", "src/**/*"] diff --git a/packages/shared/jest.config.mjs b/packages/shared/jest.config.mjs deleted file mode 100644 index ed7c7a116..000000000 --- a/packages/shared/jest.config.mjs +++ /dev/null @@ -1,26 +0,0 @@ -import { createJestConfig } from '@actiontech/tooling-config/jest/create-jest-config'; -import { fileURLToPath } from 'node:url'; -import path from 'node:path'; - -const packageRoot = path.dirname(fileURLToPath(import.meta.url)); - -export default createJestConfig({ - packageRoot, - enabledProjects: ['dms', 'sqle-ce'], - collectCoverageFrom: [ - 'src/**/*.{ts,tsx}', - 'lib/**/*.{ts,tsx}', - 'api/common/**/*.{ts,tsx}', - '!src/**/*.test.{ts,tsx}', - '!lib/**/*.test.{ts,tsx}', - '!src/**/*.type.ts', - '!src/**/*.enum.ts', - '!lib/**/*.type.ts', - '!lib/**/*.enum.ts', - '!lib/hooks/usePrompt/index.tsx', - '!src/**/demo/**', - '!src/**/demos/**', - '!lib/**/demo/**', - '!lib/**/demos/**' - ] -}); diff --git a/packages/shared/lib/types/ambient-modules.d.ts b/packages/shared/lib/types/ambient-modules.d.ts deleted file mode 100644 index 35306c6fc..000000000 --- a/packages/shared/lib/types/ambient-modules.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module '*.css'; diff --git a/packages/shared/package.json b/packages/shared/package.json index 126c435ec..f78ab4c84 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -5,21 +5,15 @@ "license": "MIT", "scripts": { "build": "tsup", - "oxlint": "oxlint --no-error-on-unmatched-pattern src lib api", - "typecheck": "tsc --noEmit -p tsconfig.json", - "stylelint": "stylelint \"{src,lib}/**/{*.less,style.ts,element.ts}\" --allow-empty-input", - "check": "echo \"shared check\"", "test": "jest --watchAll=true", - "test:c": "jest --watchAll=false --coverage --coverageDirectory=coverage", - "test:run": "jest --watchAll=false --color", - "test:ci": "jest --ci --watchAll=false --coverage --coverageDirectory=coverage --json --outputFile=coverage/report.json --color --silent --testLocationInResults" + "test:c": "jest --watchAll=false --coverage", + "test:ci": "jest --ci --watchAll=false --coverage --color --silent --testLocationInResults" }, "dependencies": { "@actiontech/icons": "workspace:^", "@actiontech/dms-kit": "workspace:^" }, "devDependencies": { - "@actiontech/tooling-config": "workspace:^", "tsup": "^8.5.0" } -} +} \ No newline at end of file diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index 123b99889..ee6467a89 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -3,10 +3,7 @@ "include": ["./lib"], "compilerOptions": { "paths": { - "~/*": ["./src/*"], - "@actiontech/dms-kit": ["../dms-kit/src/index.ts"], - "@actiontech/dms-kit/es/*": ["../dms-kit/src/*"], - "@actiontech/dms-kit/*": ["../dms-kit/src/*"] + "~/*": ["./src/*"] } } } diff --git a/packages/sqle/jest.config.mjs b/packages/sqle/jest.config.mjs deleted file mode 100644 index 06aa95479..000000000 --- a/packages/sqle/jest.config.mjs +++ /dev/null @@ -1,21 +0,0 @@ -import { createJestConfig } from '@actiontech/tooling-config/jest/create-jest-config'; -import { fileURLToPath } from 'node:url'; -import path from 'node:path'; - -const packageRoot = path.dirname(fileURLToPath(import.meta.url)); - -export default createJestConfig({ - packageRoot, - enabledProjects: ['dms', 'sqle-ce', 'sqle-ee'], - collectCoverageFrom: [ - 'src/{page,components,hooks,global,store,utils}/**/*.{ts,tsx}', - 'src/App.tsx', - '!src/**/*.test.{ts,tsx}', - '!src/**/*.type.ts', - '!src/**/*.enum.ts', - '!src/page/SqlAnalyze/SqlAnalyze/ProcessListCom/**', - '!src/page/Knowledge/Graph/components/**', - '!src/**/demo/**', - '!src/**/demos/**' - ] -}); diff --git a/packages/sqle/package.json b/packages/sqle/package.json index b7cdb976b..68dacf6a5 100644 --- a/packages/sqle/package.json +++ b/packages/sqle/package.json @@ -23,7 +23,6 @@ "web-vitals": "^0.2.4" }, "devDependencies": { - "@actiontech/tooling-config": "workspace:^", "@types/react-grid-layout": "^1.3.2", "graphology-types": "^0.24.8", "jest-canvas-mock": "^2.2.0" @@ -31,14 +30,9 @@ "scripts": { "start": "PORT=3030 craco start", "build": "craco build", - "oxlint": "oxlint --no-error-on-unmatched-pattern src", - "typecheck": "tsc --noEmit -p tsconfig.json", - "stylelint": "stylelint \"src/**/{*.less,style.ts,element.ts}\" --allow-empty-input", - "check": "echo \"sqle check\"", "test": "jest --watchAll=true", - "test:c": "jest --watchAll=false --coverage --coverageDirectory=coverage", - "test:run": "jest --watchAll=false --color", - "test:ci": "jest --ci --watchAll=false --coverage --coverageDirectory=coverage --json --outputFile=coverage/report.json --color --silent --testLocationInResults", + "test:c": "jest --watchAll=false --coverage", + "test:ci": "jest --ci --watchAll=false --coverage --color --silent --testLocationInResults", "eject": "react-scripts eject" }, "browserslist": { diff --git a/packages/sqle/src/index.tsx b/packages/sqle/src/index.tsx index a15dc4bfe..6a1ae6db0 100644 --- a/packages/sqle/src/index.tsx +++ b/packages/sqle/src/index.tsx @@ -6,6 +6,8 @@ import { Provider } from 'react-redux'; import store from './store'; import { BrowserRouter as Router } from 'react-router-dom'; import './locale'; +import './utils/HighlightCode'; +import './index.less'; import { initReactI18n } from './locale'; ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( diff --git a/packages/sqle/src/page/RuleKnowledge/Common/MarkdownPreview/markdownPreviewOptions.tsx b/packages/sqle/src/page/RuleKnowledge/Common/MarkdownPreview/markdownPreviewOptions.tsx index a436268cc..049c13cec 100644 --- a/packages/sqle/src/page/RuleKnowledge/Common/MarkdownPreview/markdownPreviewOptions.tsx +++ b/packages/sqle/src/page/RuleKnowledge/Common/MarkdownPreview/markdownPreviewOptions.tsx @@ -9,15 +9,7 @@ type PreviewOptions = BasicMDEditorProps['previewOptions']; export const markdownPreviewOptions: PreviewOptions = { components: { - code: ({ - children, - className, - node - }: { - children: string; - className: string; - node: { children: Parameters[0] }; - }) => { + code: ({ children, className, ...props }) => { /** * label 代码块 * Example: @@ -31,8 +23,11 @@ export const markdownPreviewOptions: PreviewOptions = { if (isArray(match) && !!match[1]) { return ; } + const code = - node && node.children ? getCodeString(node.children) : children; + props.node && props.node.children + ? getCodeString(props.node.children) + : children; /** * sql_diff 代码块 * Example: diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/SqlFileStatementOverview/index.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/SqlFileStatementOverview/index.tsx index 26a41d681..287e3a463 100644 --- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/SqlFileStatementOverview/index.tsx +++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/TaskResultList/SqlFileStatementOverview/index.tsx @@ -14,7 +14,7 @@ import useAuditResultFilterParams from '../../../../../Common/AuditResultFilterC import { IAuditTaskSQLResV2 } from '@actiontech/shared/lib/api/sqle/service/common'; import { AuditTaskExtraFilterMeta } from '../../index.data'; import task from '@actiontech/shared/lib/api/sqle/service/task'; -import { FilterCustomProps, ResponseCode } from '@actiontech/dms-kit'; +import { ResponseCode } from '@actiontech/dms-kit'; import { GetAuditTaskSQLsPrams } from '../../index.type'; import { BasicButton, @@ -228,7 +228,7 @@ const SqlFileStatementOverview: React.FC = () => { filterContainerMeta={filterContainerMeta} updateTableFilterInfo={updateTableFilterInfo} filterCustomProps={ - new Map([ + new Map([ [ 'audit_level', { diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx index 012b01281..d27310fcd 100644 --- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx +++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/index.tsx @@ -1,10 +1,7 @@ import { useTranslation } from 'react-i18next'; import { AuditExecResultPanelProps } from './index.type'; import { AuditExecResultPanelStyleWrapper } from './style'; -import { - FilterCustomProps, - SegmentedRowStyleWrapper -} from '@actiontech/dms-kit'; +import { SegmentedRowStyleWrapper } from '@actiontech/dms-kit'; import { BasicSegmented, EmptyBox } from '@actiontech/dms-kit'; import { WORKFLOW_OVERVIEW_TAB_KEY } from '../../hooks/useAuditExecResultPanelSetup'; import { @@ -38,7 +35,6 @@ import { ModalName } from '../../../../../data/ModalName'; import EmitterKey from '../../../../../data/EmitterKey'; import EventEmitter from '../../../../../utils/EventEmitter'; import useRetryExecute from './hooks/useRetryExecute'; -import { IAuditTaskSQLResV2 } from '@actiontech/shared/lib/api/sqle/service/common'; const AuditExecResultPanel: React.FC = ({ activeTabKey, @@ -184,7 +180,7 @@ const AuditExecResultPanel: React.FC = ({ filterContainerMeta={filterContainerMeta} updateTableFilterInfo={updateTableFilterInfo} filterCustomProps={ - new Map([ + new Map([ [ 'audit_level', { diff --git a/packages/sqle/src/page/VersionManagement/Detail/components/ModifyWorkflowSql/__tests__/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/VersionManagement/Detail/components/ModifyWorkflowSql/__tests__/__snapshots__/index.test.tsx.snap index 015fd498f..26987a56c 100644 --- a/packages/sqle/src/page/VersionManagement/Detail/components/ModifyWorkflowSql/__tests__/__snapshots__/index.test.tsx.snap +++ b/packages/sqle/src/page/VersionManagement/Detail/components/ModifyWorkflowSql/__tests__/__snapshots__/index.test.tsx.snap @@ -101,80 +101,32 @@ exports[`sqle/VersionManagement/Detail/ModifyWorkflowSql render init snap shot 1 class="ant-form-item-no-colon" title="" > -
-
- - - - -
-
- - 选择SQL语句上传方式 - -
-
-
-
- - - -
-
-
-
+ + + + + 选择SQL语句上传方式 +
-
-
- - - - -
-
- - 选择SQL语句上传方式 - -
-
-
-
- - - -
-
-
-
+ + + + + 选择SQL语句上传方式 +
Worker; - export default workerFactory; -} diff --git a/packages/sqle/tsconfig.json b/packages/sqle/tsconfig.json index 05b880371..a4cb7b26e 100644 --- a/packages/sqle/tsconfig.json +++ b/packages/sqle/tsconfig.json @@ -3,10 +3,7 @@ "include": ["src"], "compilerOptions": { "paths": { - "~/*": ["./src/*"], - "@actiontech/dms-kit": ["../dms-kit/src/index.ts"], - "@actiontech/dms-kit/es/*": ["../dms-kit/src/*"], - "@actiontech/dms-kit/*": ["../dms-kit/src/*"] + "~/*": ["./src/*"] } } } diff --git a/packages/tooling-config/jest/create-jest-config.js b/packages/tooling-config/jest/create-jest-config.js deleted file mode 100644 index 0d422783e..000000000 --- a/packages/tooling-config/jest/create-jest-config.js +++ /dev/null @@ -1,169 +0,0 @@ -import path from 'node:path'; - -process.env.TZ = 'Asia/Shanghai'; - -const CE_TEST_FILE_RE = '\\.ce(\\.[^./]+)*\\.test\\.[jt]sx?$'; -const SQLE_TEST_FILE_RE = '\\.sqle(\\.[^./]+)*\\.test\\.[jt]sx?$'; -const PROVISION_TEST_FILE_RE = '\\.provision(\\.[^./]+)*\\.test\\.[jt]sx?$'; - -const PROJECT_CONDITIONS = { - dms: { - ee: true, - ce: false, - sqle: true, - provision: true, - dms: true - }, - 'sqle-ce': { - ee: false, - ce: true, - sqle: true, - provision: false, - dms: false - }, - 'sqle-ee': { - ee: true, - ce: false, - sqle: true, - provision: false, - dms: false - }, - provision: { - ee: true, - ce: false, - sqle: false, - provision: true, - dms: false - } -}; - -function createProject(name, sharedProjectConfig, sharedIgnorePatterns) { - if (!PROJECT_CONDITIONS[name]) { - throw new Error(`Unsupported Jest project: ${name}`); - } - - const config = { - ...sharedProjectConfig, - displayName: name, - globals: { - TEST_CONDITIONS: PROJECT_CONDITIONS[name] - } - }; - - if (name === 'dms') { - config.testPathIgnorePatterns = [ - ...sharedIgnorePatterns, - CE_TEST_FILE_RE, - SQLE_TEST_FILE_RE, - PROVISION_TEST_FILE_RE - ]; - return config; - } - - if (name === 'sqle-ce') { - config.testRegex = CE_TEST_FILE_RE; - config.testPathIgnorePatterns = sharedIgnorePatterns; - return config; - } - - if (name === 'sqle-ee') { - config.testRegex = SQLE_TEST_FILE_RE; - config.testPathIgnorePatterns = [...sharedIgnorePatterns, CE_TEST_FILE_RE]; - return config; - } - - config.testRegex = PROVISION_TEST_FILE_RE; - config.testPathIgnorePatterns = [...sharedIgnorePatterns, CE_TEST_FILE_RE]; - return config; -} - -export function createJestConfig(options) { - const { - packageRoot, - collectCoverageFrom = [], - enabledProjects = ['dms'], - useSlowReporter = false - } = options; - - const repoRoot = path.resolve(packageRoot, '../..'); - const sharedIgnorePatterns = ['/node_modules/', '/demo/', '/demos/']; - - const sharedProjectConfig = { - transform: { - '^.+\\.(ts|tsx|js|jsx)$': path.resolve( - repoRoot, - 'scripts/jest/custom-transform.js' - ), - '^.+\\.(png|jpg|jpeg|css|json)$': path.resolve( - repoRoot, - 'scripts/jest/file-transform.js' - ) - }, - transformIgnorePatterns: [ - '/dist/', - 'node_modules/(?!(?:.pnpm/)?(@react-sigma|.+/es))[^/]+?/(?!(es|node_modules)/)' - ], - moduleFileExtensions: ['ts', 'tsx', 'js', 'json', 'jsx', 'node'], - testEnvironment: 'jest-environment-jsdom', - resetMocks: true, - moduleNameMapper: { - '.+\\.(css|style|less|sass|scss|ttf|woff|woff2)$': 'identity-obj-proxy', - '^~/(.*)$': '/src/$1', - '@ant-design/plots': path.resolve( - repoRoot, - 'packages/shared/lib/testUtil/mockModule/mockAntDesignPlots.jsx' - ), - 'monaco-editor': path.resolve( - repoRoot, - 'packages/shared/lib/testUtil/mockModule/mockEditor.jsx' - ), - '@monaco-editor/react': path.resolve( - repoRoot, - 'packages/shared/lib/testUtil/mockModule/mockEditor.jsx' - ), - '@uiw/react-md-editor': path.resolve( - repoRoot, - 'packages/shared/lib/testUtil/mockModule/mockEditor.jsx' - ), - '@react-sigma/core(.*)$': path.resolve( - repoRoot, - 'packages/shared/lib/testUtil/mockModule/mockSigmaCore.tsx' - ), - '@react-sigma/graph-search$': path.resolve( - repoRoot, - 'packages/shared/lib/testUtil/mockModule/mockSigmaGraphSearch.tsx' - ), - '^@actiontech/dms-kit/es/(.*)$': path.resolve( - repoRoot, - 'packages/dms-kit/src/$1' - ), - '^@actiontech/dms-kit$': path.resolve(repoRoot, 'packages/dms-kit/src'), - '^@actiontech/(.*)$': path.resolve(packageRoot, '../$1') - }, - setupFilesAfterEnv: [path.resolve(repoRoot, 'jest-setup.ts')] - }; - - const projects = enabledProjects.map((name) => - createProject(name, sharedProjectConfig, sharedIgnorePatterns) - ); - - const reporters = ['default']; - if (useSlowReporter) { - reporters.push([ - 'jest-slow-test-reporter', - { - numTests: 8, - outputDirectory: 'reports', - outputName: 'report.xml', - color: true, - warnSlowerThan: 6000 - } - ]); - } - - return { - collectCoverageFrom, - projects, - reporters - }; -} diff --git a/packages/tooling-config/package.json b/packages/tooling-config/package.json deleted file mode 100644 index 047be524c..000000000 --- a/packages/tooling-config/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@actiontech/tooling-config", - "version": "1.0.0", - "private": true, - "type": "module", - "exports": { - "./jest/create-jest-config": "./jest/create-jest-config.js", - "./tsconfig/base": "./tsconfig/base.json" - }, - "scripts": { - "oxlint": "oxlint --no-error-on-unmatched-pattern jest tsconfig", - "typecheck": "echo \"tooling-config typecheck skipped\"", - "stylelint": "echo \"tooling-config stylelint skipped\"", - "check": "echo \"tooling-config check\"" - }, - "files": [ - "jest", - "tsconfig" - ] -} diff --git a/packages/tooling-config/tsconfig/base.json b/packages/tooling-config/tsconfig/base.json deleted file mode 100644 index 68a5b6aca..000000000 --- a/packages/tooling-config/tsconfig/base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "lib": ["DOM", "DOM.Iterable", "ESNext"], - "allowJs": false, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "types": ["jest", "node", "testing-library__jest-dom"] - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a96646835..b5d220abe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -138,9 +138,6 @@ importers: '@actiontech/cli-dms-kit-publish': specifier: workspace:^ version: link:scripts/cli/dms-kit-publish - '@actiontech/tooling-config': - specifier: workspace:^ - version: link:packages/tooling-config '@cfaester/enzyme-adapter-react-18': specifier: ^0.7.0 version: 0.7.1(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -152,7 +149,7 @@ importers: version: 9.3.4 '@testing-library/jest-dom': specifier: 6.4.2 - version: 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2))) + version: 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2))) '@testing-library/react': specifier: ^16.2.0 version: 16.2.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.5(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -191,13 +188,13 @@ importers: version: 5.14.9 '@typescript-eslint/eslint-plugin': specifier: ^5.30.6 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2) + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2) '@typescript-eslint/parser': specifier: ^5.30.6 - version: 5.62.0(eslint@9.23.0)(typescript@6.0.2) + version: 5.62.0(eslint@9.23.0)(typescript@5.8.2) '@vitejs/plugin-react': - specifier: ^6 - version: 6.0.1(vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5)) + specifier: ^4.2.1 + version: 4.3.4(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)) babel-jest: specifier: ^29.7.0 version: 29.7.0(@babel/core@7.26.10) @@ -210,6 +207,9 @@ importers: comment-parser: specifier: ^1.4.1 version: 1.4.1 + concurrently: + specifier: ^9.1.2 + version: 9.1.2 cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -224,7 +224,7 @@ importers: version: 9.23.0 eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0) + version: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@9.23.0) @@ -245,7 +245,7 @@ importers: version: 3.0.0 jest: specifier: 29.1.2 - version: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + version: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) jest-canvas-mock: specifier: ^2.2.0 version: 2.5.2 @@ -257,7 +257,7 @@ importers: version: 1.0.0 jest-watch-typeahead: specifier: ^2.1.1 - version: 2.2.2(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2))) + version: 2.2.2(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2))) less: specifier: ^4.1.3 version: 4.2.2 @@ -266,13 +266,7 @@ importers: version: 3.0.5 msw: specifier: ^0.45.0 - version: 0.45.0(encoding@0.1.13)(typescript@6.0.2) - oxfmt: - specifier: ^0.45.0 - version: 0.45.0 - oxlint: - specifier: ^1.60.0 - version: 1.60.0 + version: 0.45.0(encoding@0.1.13)(typescript@5.8.2) postcss-less: specifier: ^6.0.0 version: 6.0.0(postcss@8.5.3) @@ -284,43 +278,43 @@ importers: version: 2.8.8 stylelint: specifier: ^15.10.2 - version: 15.11.0(typescript@6.0.2) + version: 15.11.0(typescript@5.8.2) stylelint-config-prettier: specifier: ^9.0.5 - version: 9.0.5(stylelint@15.11.0(typescript@6.0.2)) + version: 9.0.5(stylelint@15.11.0(typescript@5.8.2)) stylelint-config-standard-less: specifier: ^1.0.0 - version: 1.0.0(postcss@8.5.3)(stylelint@15.11.0(typescript@6.0.2)) + version: 1.0.0(postcss@8.5.3)(stylelint@15.11.0(typescript@5.8.2)) stylelint-config-styled-components: specifier: ^0.1.1 version: 0.1.1 stylelint-prettier: specifier: ^4.0.2 - version: 4.1.0(prettier@2.8.8)(stylelint@15.11.0(typescript@6.0.2)) + version: 4.1.0(prettier@2.8.8)(stylelint@15.11.0(typescript@5.8.2)) ts-jest: specifier: 27.1.5 - version: 27.1.5(@babel/core@7.26.10)(@types/jest@29.5.12)(babel-jest@29.7.0(@babel/core@7.26.10))(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)))(typescript@6.0.2) + version: 27.1.5(@babel/core@7.26.10)(@types/jest@29.5.12)(babel-jest@29.7.0(@babel/core@7.26.10))(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)))(typescript@5.8.2) tsx: specifier: ^4.20.5 version: 4.20.5 - turbo: - specifier: ^2.9.6 - version: 2.9.6 typescript: - specifier: ^6 - version: 6.0.2 + specifier: ^5.0.2 + version: 5.8.2 typescript-eslint: specifier: ^8.28.0 - version: 8.28.0(eslint@9.23.0)(typescript@6.0.2) + version: 8.28.0(eslint@9.23.0)(typescript@5.8.2) vite: - specifier: ^8 - version: 8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5) + specifier: ^5.2.6 + version: 5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) vite-plugin-conditional-compile: specifier: 1.4.3 - version: 1.4.3(vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5)) + version: 1.4.3(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)) + vite-plugin-eslint: + specifier: ^1.8.1 + version: 1.8.1(eslint@9.23.0)(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)) vite-plugin-html: specifier: ^3.2.2 - version: 3.2.2(vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5)) + version: 3.2.2(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)) packages/base: dependencies: @@ -333,9 +327,6 @@ importers: '@actiontech/shared': specifier: workspace:^ version: link:../shared - '@actiontech/tooling-config': - specifier: workspace:^ - version: link:../tooling-config babel-preset-react-app: specifier: ^10.0.1 version: 10.1.0 @@ -424,15 +415,12 @@ importers: specifier: ^5.0.2 version: 5.8.2 devDependencies: - '@actiontech/tooling-config': - specifier: workspace:^ - version: link:../tooling-config babel-plugin-import: specifier: ^1.13.8 version: 1.13.8 dumi: specifier: ^2.3.8 - version: 2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) + version: 2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) father: specifier: ^4.5.2 version: 4.5.2(@babel/core@7.26.10)(@types/node@22.13.14)(styled-components@6.1.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(type-fest@1.4.0)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) @@ -447,7 +435,7 @@ importers: version: 8.1.0(typescript@5.3.3) dumi: specifier: ^2.3.8 - version: 2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) + version: 2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) father: specifier: ^4.1.0 version: 4.5.2(@babel/core@7.26.10)(@types/node@22.13.14)(styled-components@6.1.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(type-fest@1.4.0)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) @@ -461,12 +449,9 @@ importers: specifier: workspace:^ version: link:../icons devDependencies: - '@actiontech/tooling-config': - specifier: workspace:^ - version: link:../tooling-config tsup: specifier: ^8.5.0 - version: 8.5.0(@microsoft/api-extractor@7.39.1(@types/node@22.13.14))(@swc/core@1.9.2(@swc/helpers@0.5.1))(postcss@8.5.9)(tsx@4.20.5)(typescript@6.0.2) + version: 8.5.0(@microsoft/api-extractor@7.39.1(@types/node@22.13.14))(@swc/core@1.9.2(@swc/helpers@0.5.1))(postcss@8.5.3)(tsx@4.20.5)(typescript@5.8.2) packages/sqle: dependencies: @@ -522,9 +507,6 @@ importers: specifier: ^0.2.4 version: 0.2.4 devDependencies: - '@actiontech/tooling-config': - specifier: workspace:^ - version: link:../tooling-config '@types/react-grid-layout': specifier: ^1.3.2 version: 1.3.5 @@ -535,8 +517,6 @@ importers: specifier: ^2.2.0 version: 2.5.2 - packages/tooling-config: {} - scripts/cli/create-dms-page: dependencies: '@babel/generator': @@ -1720,15 +1700,6 @@ packages: peerDependencies: react: '>=16.8.0' - '@emnapi/core@1.9.2': - resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - - '@emnapi/runtime@1.9.2': - resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -1816,6 +1787,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.25.9': resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} @@ -1840,6 +1817,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.9': resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} @@ -1864,6 +1847,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.9': resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} @@ -1888,6 +1877,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.9': resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} @@ -1912,6 +1907,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.9': resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} @@ -1936,6 +1937,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.9': resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} @@ -1960,6 +1967,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.9': resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} engines: {node: '>=18'} @@ -1984,6 +1997,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.9': resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} @@ -2008,6 +2027,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.9': resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} @@ -2032,6 +2057,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.9': resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} @@ -2056,6 +2087,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.9': resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} @@ -2080,6 +2117,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.9': resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} @@ -2104,6 +2147,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.9': resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} @@ -2128,6 +2177,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.9': resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} @@ -2152,6 +2207,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.9': resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} @@ -2176,6 +2237,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.9': resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} @@ -2200,6 +2267,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.9': resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} @@ -2230,6 +2303,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.9': resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} @@ -2260,6 +2339,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.9': resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} engines: {node: '>=18'} @@ -2290,6 +2375,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.9': resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} @@ -2314,6 +2405,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.9': resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} @@ -2338,6 +2435,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.9': resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} @@ -2362,6 +2465,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.9': resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} @@ -2926,12 +3035,6 @@ packages: resolution: {integrity: sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==} engines: {node: '>= 10'} - '@napi-rs/wasm-runtime@1.1.3': - resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==} - peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 - '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} @@ -3002,253 +3105,6 @@ packages: '@open-draft/until@1.0.3': resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} - '@oxc-project/types@0.124.0': - resolution: {integrity: sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==} - - '@oxfmt/binding-android-arm-eabi@0.45.0': - resolution: {integrity: sha512-A/UMxFob1fefCuMeGxQBulGfFE38g2Gm23ynr3u6b+b7fY7/ajGbNsa3ikMIkGMLJW/TRoQaMoP1kME7S+815w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxfmt/binding-android-arm64@0.45.0': - resolution: {integrity: sha512-L63z4uZmHjgvvqvMJD7mwff8aSBkM0+X4uFr6l6U5t6+Qc9DCLVZWIunJ7Gm4fn4zHPdSq6FFQnhu9yqqobxIg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxfmt/binding-darwin-arm64@0.45.0': - resolution: {integrity: sha512-UV34dd623FzqT+outIGndsCA/RBB+qgB3XVQhgmmJ9PJwa37NzPC9qzgKeOhPKxVk2HW+JKldQrVL54zs4Noww==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxfmt/binding-darwin-x64@0.45.0': - resolution: {integrity: sha512-pMNJv0CMa1pDefVPeNbuQxibh8ITpWDFEhMC/IBB9Zlu76EbgzYwrzI4Cb11mqX2+rIYN70UTrh3z06TM59ptQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxfmt/binding-freebsd-x64@0.45.0': - resolution: {integrity: sha512-xTcRoxbbo61sW2+ZRPeH+vp/o9G8gkdhiVumFU+TpneiPm14c79l6GFlxPXlCE9bNWikigbsrvJw46zCVAQFfg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxfmt/binding-linux-arm-gnueabihf@0.45.0': - resolution: {integrity: sha512-hWL8Hdni+3U1mPFx1UtWeGp3tNb6EhBAUHRMbKUxVkOp3WwoJbpVO2bfUVbS4PfpledviXXNHSTl1veTa6FhkQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxfmt/binding-linux-arm-musleabihf@0.45.0': - resolution: {integrity: sha512-6Blt/0OBT7vvfQpqYuYbpbFLPqSiaYpEJzUUWhinPEuADypDbtV1+LdjM0vYBNGPvnj85ex7lTerEX6JGcPt9w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxfmt/binding-linux-arm64-gnu@0.45.0': - resolution: {integrity: sha512-jLjoLfe+hGfjhA8hNBSdw85yCA8ePKq7ME4T+g6P9caQXvmt6IhE2X7iVjnVdkmYUWEzZrxlh4p6RkDmAMJY/A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-arm64-musl@0.45.0': - resolution: {integrity: sha512-XQKXZIKYJC3GQJ8FnD3iMntpw69Wd9kDDK/Xt79p6xnFYlGGxSNv2vIBvRTDg5CKByWFWWZLCRDOXoP/m6YN4g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxfmt/binding-linux-ppc64-gnu@0.45.0': - resolution: {integrity: sha512-+g5RiG+xOkdrCWkKodv407nTvMq4vYM18Uox2MhZBm/YoqFxxJpWKsloskFFG5NU13HGPw1wzYjjOVcyd9moCA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-riscv64-gnu@0.45.0': - resolution: {integrity: sha512-V7dXKoSyEbWAkkSF4JJNtF+NJZDmJoSarSoP30WCsB3X636Rehd3CvxBj49FIJxEBFWhvcUjGSHVeU8Erck1bQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-riscv64-musl@0.45.0': - resolution: {integrity: sha512-Vdelft1sAEYojVGgcODEFXSWYQYlIvoyIGWebKCuUibd1tvS1TjTx413xG2ZLuHpYj45CkN/ztMLMX6jrgqpgg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxfmt/binding-linux-s390x-gnu@0.45.0': - resolution: {integrity: sha512-RR7xKgNpqwENnK0aYCGYg0JycY2n93J0reNjHyes+I9Gq52dH95x+CBlnlAQHCPfz6FGnKA9HirgUl14WO6o7w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-x64-gnu@0.45.0': - resolution: {integrity: sha512-U/QQ0+BQNSHxjuXR/utvXnQ50Vu5kUuqEomZvQ1/3mhgbBiMc2WU9q5kZ5WwLp3gnFIx9ibkveoRSe2EZubkqg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-x64-musl@0.45.0': - resolution: {integrity: sha512-o5TLOUCF0RWQjsIS06yVC+kFgp092/yLe6qBGSUvtnmTVw9gxjpdQSXc3VN5Cnive4K11HNstEZF8ROKHfDFSw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxfmt/binding-openharmony-arm64@0.45.0': - resolution: {integrity: sha512-RnGcV3HgPuOjsGx/k9oyRNKmOp+NBLGzZTdPDYbc19r7NGeYPplnUU/BfU35bX2Y/O4ejvHxcfkvW2WoYL/gsg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxfmt/binding-win32-arm64-msvc@0.45.0': - resolution: {integrity: sha512-v3Vj7iKKsUFwt9w5hsqIIoErKVoENC6LoqfDlteOQ5QMDCXihlqLoxpmviUhXnNncg4zV6U9BPwlBbwa+qm4wg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxfmt/binding-win32-ia32-msvc@0.45.0': - resolution: {integrity: sha512-N8yotPBX6ph0H3toF4AEpdCeVPrdcSetj+8eGiZGsrLsng3bs/Q5HPu4bbSxip5GBPx5hGbGHrZwH4+rcrjhHA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxfmt/binding-win32-x64-msvc@0.45.0': - resolution: {integrity: sha512-w5MMTRCK1dpQeRA+HHqXQXyN33DlG/N2LOYxJmaT4fJjcmZrbNnqw7SmIk7I2/a2493PPLZ+2E/Ar6t2iKVMug==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - - '@oxlint/binding-android-arm-eabi@1.60.0': - resolution: {integrity: sha512-YdeJKaZckDQL1qa62a1aKq/goyq48aX3yOxaaWqWb4sau4Ee4IiLbamftNLU3zbePky6QsDj6thnSSzHRBjDfA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxlint/binding-android-arm64@1.60.0': - resolution: {integrity: sha512-7ANS7PpXCfq84xZQ8E5WPs14gwcuPcl+/8TFNXfpSu0CQBXz3cUo2fDpHT8v8HJN+Ut02eacvMAzTnc9s6X4tw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxlint/binding-darwin-arm64@1.60.0': - resolution: {integrity: sha512-pJsgd9AfplLGBm1fIr25V6V14vMrayhx4uIQvlfH7jWs2SZwSrvi3TfgfJySB8T+hvyEH8K2zXljQiUnkgUnfQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxlint/binding-darwin-x64@1.60.0': - resolution: {integrity: sha512-Ue1aXHX49ivwflKqGJc7zcd/LeLgbhaTcDCQStgx5x06AXgjEAZmvrlMuIkWd4AL4FHQe6QJ9f33z04Cg448VQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxlint/binding-freebsd-x64@1.60.0': - resolution: {integrity: sha512-YCyQzsQtusQw+gNRW9rRTifSO+Dt/+dtCl2NHoDMZqJlRTEZ/Oht9YnuporI9yiTx7+cB+eqzX3MtHHVHGIWhg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxlint/binding-linux-arm-gnueabihf@1.60.0': - resolution: {integrity: sha512-c7dxM2Zksa45Qw16i2iGY3Fti2NirJ38FrsBsKw+qcJ0OtqTsBgKJLF0xV+yLG56UH01Z8WRPgsw31e0MoRoGQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxlint/binding-linux-arm-musleabihf@1.60.0': - resolution: {integrity: sha512-ZWALoA42UYqBEP1Tbw9OWURgFGS1nWj2AAvLdY6ZcGx/Gj93qVCBKjcvwXMupZibYwFbi9s/rzqkZseb/6gVtQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxlint/binding-linux-arm64-gnu@1.60.0': - resolution: {integrity: sha512-tpy+1w4p9hN5CicMCxqNy6ymfRtV5ayE573vFNjp1k1TN/qhLFgflveZoE/0++RlkHikBz2vY545NWm/hp7big==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxlint/binding-linux-arm64-musl@1.60.0': - resolution: {integrity: sha512-eDYDXZGhQAXyn6GwtwiX/qcLS0HlOLPJ/+iiIY8RYr+3P8oKBmgKxADLlniL6FtWfE7pPk7IGN9/xvDEvDvFeg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxlint/binding-linux-ppc64-gnu@1.60.0': - resolution: {integrity: sha512-nxehly5XYBHUWI9VJX1bqCf9j/B43DaK/aS/T1fcxCpX3PA4Rm9BB54nPD1CKayT8xg6REN1ao+01hSRNgy8OA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxlint/binding-linux-riscv64-gnu@1.60.0': - resolution: {integrity: sha512-j1qf/NaUfOWQutjeoooNG1Q0zsK0XGmSu1uDLq3cctquRF3j7t9Hxqf/76ehCc5GEUAanth2W4Fa+XT1RFg/nw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxlint/binding-linux-riscv64-musl@1.60.0': - resolution: {integrity: sha512-YELKPRefQ/q/h3RUmeRfPCUhh2wBvgV1RyZ/F9M9u8cDyXsQW2ojv1DeWQTt466yczDITjZnIOg/s05pk7Ve2A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxlint/binding-linux-s390x-gnu@1.60.0': - resolution: {integrity: sha512-JkO3C6Gki7Y6h/MiIkFKvHFOz98/YWvQ4WYbK9DLXACMP2rjULzkeGyAzorJE5S1dzLQGFgeqvN779kSFwoV1g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxlint/binding-linux-x64-gnu@1.60.0': - resolution: {integrity: sha512-XjKHdFVCpZZZSWBCKyyqCq65s2AKXykMXkjLoKYODrD+f5toLhlwsMESscu8FbgnJQ4Y/dpR/zdazsahmgBJIA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxlint/binding-linux-x64-musl@1.60.0': - resolution: {integrity: sha512-js29ZWIuPhNWzY8NC7KoffEMEeWG105vbmm+8EOJsC+T/jHBiKIJEUF78+F/IrgEWMMP9N0kRND4Pp75+xAhKg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxlint/binding-openharmony-arm64@1.60.0': - resolution: {integrity: sha512-H+PUITKHk04stFpWj3x3Kg08Afp/bcXSBi0EhasR5a0Vw7StXHTzdl655PUI0fB4qdh2Wsu6Dsi+3ACxPoyQnA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxlint/binding-win32-arm64-msvc@1.60.0': - resolution: {integrity: sha512-WA/yc7f7ZfCefBXVzNHn1Ztulb1EFwNBb4jMZ6pjML0zz6pHujlF3Q3jySluz3XHl/GNeMTntG1seUBWVMlMag==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxlint/binding-win32-ia32-msvc@1.60.0': - resolution: {integrity: sha512-33YxL1sqwYNZXtn3MD/4dno6s0xeedXOJlT1WohkVD565WvohClZUr7vwKdAk954n4xiEWJkewiCr+zLeq7AeA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxlint/binding-win32-x64-msvc@1.60.0': - resolution: {integrity: sha512-JOro4ZcfBLamJCyfURQmOQByoorgOdx3ZjAkSqnb/CyG/i+lN3KoV5LAgk5ZAW6DPq7/Cx7n23f8DuTWXTWgyQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} @@ -3440,107 +3296,6 @@ packages: resolution: {integrity: sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==} engines: {node: '>=14'} - '@rolldown/binding-android-arm64@1.0.0-rc.15': - resolution: {integrity: sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@rolldown/binding-darwin-arm64@1.0.0-rc.15': - resolution: {integrity: sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@rolldown/binding-darwin-x64@1.0.0-rc.15': - resolution: {integrity: sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@rolldown/binding-freebsd-x64@1.0.0-rc.15': - resolution: {integrity: sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.15': - resolution: {integrity: sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.15': - resolution: {integrity: sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-musl@1.0.0-rc.15': - resolution: {integrity: sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rolldown/binding-openharmony-arm64@1.0.0-rc.15': - resolution: {integrity: sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@rolldown/binding-wasm32-wasi@1.0.0-rc.15': - resolution: {integrity: sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15': - resolution: {integrity: sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.15': - resolution: {integrity: sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - - '@rolldown/pluginutils@1.0.0-rc.15': - resolution: {integrity: sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==} - - '@rolldown/pluginutils@1.0.0-rc.7': - resolution: {integrity: sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==} - '@rollup/pluginutils@4.2.1': resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -4175,39 +3930,6 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@turbo/darwin-64@2.9.6': - resolution: {integrity: sha512-X/56SnVXIQZBLKwniGTwEQTGmtE5brSACnKMBWpY3YafuxVYefrC2acamfjgxP7BG5w3I+6jf0UrLoSzgPcSJg==} - cpu: [x64] - os: [darwin] - - '@turbo/darwin-arm64@2.9.6': - resolution: {integrity: sha512-aalBeSl4agT/QtYGDyf/XLajedWzUC9Vg/pm/YO6QQ93vkQ91Vz5uK1ta5RbVRDozQSz4njxUNqRNmOXDzW+qw==} - cpu: [arm64] - os: [darwin] - - '@turbo/linux-64@2.9.6': - resolution: {integrity: sha512-YKi05jnNHaD7vevgYwahpzGwbsNNTwzU2c7VZdmdFm7+cGDP4oREUWSsainiMfRqjRuolQxBwRn8wf1jmu+YZA==} - cpu: [x64] - os: [linux] - - '@turbo/linux-arm64@2.9.6': - resolution: {integrity: sha512-02o/ZS69cOYEDczXvOB2xmyrtzjQ2hVFtWZK1iqxXUfzMmTjZK4UumrfNnjckSg+gqeBfnPRHa0NstA173Ik3g==} - cpu: [arm64] - os: [linux] - - '@turbo/windows-64@2.9.6': - resolution: {integrity: sha512-wVdQjvnBI15wB6JrA+43CtUtagjIMmX6XYO758oZHAsCNSxqRlJtdyujih0D8OCnwCRWiGWGI63zAxR0hO6s9g==} - cpu: [x64] - os: [win32] - - '@turbo/windows-arm64@2.9.6': - resolution: {integrity: sha512-1XUUyWW0W6FTSqGEhU8RHVqb2wP1SPkr7hIvBlMEwH9jr+sJQK5kqeosLJ/QaUv4ecSAd1ZhIrLoW7qslAzT4A==} - cpu: [arm64] - os: [win32] - - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - '@types/archiver@6.0.4': resolution: {integrity: sha512-ULdQpARQ3sz9WH4nb98mJDYA0ft2A8C4f4fovvUcFwINa1cgGjY36JCAYuP5YypRq4mco1lJp1/7jEMS2oR0Hg==} @@ -4799,18 +4521,11 @@ packages: peerDependencies: vite: ^4.2.0 - '@vitejs/plugin-react@6.0.1': - resolution: {integrity: sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==} - engines: {node: ^20.19.0 || >=22.12.0} + '@vitejs/plugin-react@4.3.4': + resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 - babel-plugin-react-compiler: ^1.0.0 - vite: ^8.0.0 - peerDependenciesMeta: - '@rolldown/plugin-babel': - optional: true - babel-plugin-react-compiler: - optional: true + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -5688,6 +5403,11 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concurrently@9.1.2: + resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} + engines: {node: '>=18'} + hasBin: true + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -6167,10 +5887,6 @@ packages: engines: {node: '>=0.10'} hasBin: true - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} - detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -6471,6 +6187,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.25.9: resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} @@ -7462,7 +7183,6 @@ packages: intersection-observer@0.12.2: resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} - deprecated: The Intersection Observer polyfill is no longer needed and can safely be removed. Intersection Observer has been Baseline since 2019. intl-messageformat@10.7.16: resolution: {integrity: sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==} @@ -8106,60 +7826,30 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [android] - lightningcss-darwin-arm64@1.22.1: resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - lightningcss-darwin-x64@1.22.1: resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - lightningcss-freebsd-x64@1.22.1: resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.22.1: resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - lightningcss-linux-arm64-gnu@1.22.1: resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==} engines: {node: '>= 12.0.0'} @@ -8167,13 +7857,6 @@ packages: os: [linux] libc: [glibc] - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - lightningcss-linux-arm64-musl@1.22.1: resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==} engines: {node: '>= 12.0.0'} @@ -8181,67 +7864,30 @@ packages: os: [linux] libc: [musl] - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - lightningcss-linux-x64-gnu@1.22.1: resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] - - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - - lightningcss-linux-x64-musl@1.22.1: - resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] + libc: [glibc] - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + lightningcss-linux-x64-musl@1.22.1: + resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - lightningcss-win32-x64-msvc@1.22.1: resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - lightningcss@1.22.1: resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==} engines: {node: '>= 12.0.0'} - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} - lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -8938,21 +8584,6 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - oxfmt@0.45.0: - resolution: {integrity: sha512-0o/COoN9fY50bjVeM7PQsNgbhndKurBIeTIcspW033OumksjJJmIVDKjAk5HMwU/GHTxSOdGDdhJ6BRzGPmsHg==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - - oxlint@1.60.0: - resolution: {integrity: sha512-tnRzTWiWJ9pg3ftRWnD0+Oqh78L6ZSwcEudvCZaER0PIqiAnNyXj5N1dPwjmNpDalkKS9m/WMLN1CTPUBPmsgw==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - oxlint-tsgolint: '>=0.18.0' - peerDependenciesMeta: - oxlint-tsgolint: - optional: true - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -9103,10 +8734,6 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -9435,10 +9062,6 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.9: - resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} - engines: {node: ^10 || ^12 || >=14} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -10363,11 +9986,6 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rolldown@1.0.0-rc.15: - resolution: {integrity: sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - rollup-plugin-visualizer@5.9.0: resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} engines: {node: '>=14'} @@ -10382,6 +10000,11 @@ packages: resolution: {integrity: sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==} hasBin: true + rollup@2.79.2: + resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} + engines: {node: '>=10.0.0'} + hasBin: true + rollup@3.29.5: resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -10545,6 +10168,10 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -11071,14 +10698,6 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinyglobby@0.2.16: - resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} - engines: {node: '>=12.0.0'} - - tinypool@2.1.0: - resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} - engines: {node: ^20.0.0 || >=22.0.0} - titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} @@ -11245,10 +10864,6 @@ packages: tty-browserify@0.0.0: resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} - turbo@2.9.6: - resolution: {integrity: sha512-+v2QJey7ZUeUiuigkU+uFfklvNUyPI2VO2vBpMYJA+a1hKFLFiKtUYlRHdb3P9CrAvMzi0upbjI4WT+zKtqkBg==} - hasBin: true - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -11322,11 +10937,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@6.0.2: - resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} - engines: {node: '>=14.17'} - hasBin: true - ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} @@ -11564,6 +11174,12 @@ packages: peerDependencies: vite: ^4.5.0 + vite-plugin-eslint@1.8.1: + resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} + peerDependencies: + eslint: '>=7' + vite: '>=2' + vite-plugin-html@3.2.2: resolution: {integrity: sha512-vb9C9kcdzcIo/Oc3CLZVS03dL5pDlOFuhGlZYDCJ840BhWl/0nGeZWf3Qy7NlOayscY4Cm/QRgULCQkEZige5Q==} peerDependencies: @@ -11597,34 +11213,26 @@ packages: terser: optional: true - vite@8.0.8: - resolution: {integrity: sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==} - engines: {node: ^20.19.0 || >=22.12.0} + vite@5.4.15: + resolution: {integrity: sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.0 - esbuild: ^0.27.0 || ^0.28.0 - jiti: '>=1.21.0' - less: ^4.0.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 peerDependenciesMeta: '@types/node': optional: true - '@vitejs/devtools': - optional: true - esbuild: - optional: true - jiti: - optional: true less: optional: true + lightningcss: + optional: true sass: optional: true sass-embedded: @@ -11635,10 +11243,6 @@ packages: optional: true terser: optional: true - tsx: - optional: true - yaml: - optional: true vm-browserify@1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} @@ -13539,22 +13143,6 @@ snapshots: react: 18.3.1 tslib: 2.8.1 - '@emnapi/core@1.9.2': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.9.2': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emotion/babel-plugin@11.13.5': dependencies: '@babel/helper-module-imports': 7.25.9 @@ -13668,6 +13256,9 @@ snapshots: '@esbuild/aix-ppc64@0.21.4': optional: true + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.25.9': optional: true @@ -13680,6 +13271,9 @@ snapshots: '@esbuild/android-arm64@0.21.4': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.25.9': optional: true @@ -13692,6 +13286,9 @@ snapshots: '@esbuild/android-arm@0.21.4': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.25.9': optional: true @@ -13704,6 +13301,9 @@ snapshots: '@esbuild/android-x64@0.21.4': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.25.9': optional: true @@ -13716,6 +13316,9 @@ snapshots: '@esbuild/darwin-arm64@0.21.4': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.25.9': optional: true @@ -13728,6 +13331,9 @@ snapshots: '@esbuild/darwin-x64@0.21.4': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.25.9': optional: true @@ -13740,6 +13346,9 @@ snapshots: '@esbuild/freebsd-arm64@0.21.4': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.25.9': optional: true @@ -13752,6 +13361,9 @@ snapshots: '@esbuild/freebsd-x64@0.21.4': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.25.9': optional: true @@ -13764,6 +13376,9 @@ snapshots: '@esbuild/linux-arm64@0.21.4': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.25.9': optional: true @@ -13776,6 +13391,9 @@ snapshots: '@esbuild/linux-arm@0.21.4': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.25.9': optional: true @@ -13788,6 +13406,9 @@ snapshots: '@esbuild/linux-ia32@0.21.4': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.25.9': optional: true @@ -13800,6 +13421,9 @@ snapshots: '@esbuild/linux-loong64@0.21.4': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.25.9': optional: true @@ -13812,6 +13436,9 @@ snapshots: '@esbuild/linux-mips64el@0.21.4': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.25.9': optional: true @@ -13824,6 +13451,9 @@ snapshots: '@esbuild/linux-ppc64@0.21.4': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.25.9': optional: true @@ -13836,6 +13466,9 @@ snapshots: '@esbuild/linux-riscv64@0.21.4': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.25.9': optional: true @@ -13848,6 +13481,9 @@ snapshots: '@esbuild/linux-s390x@0.21.4': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.25.9': optional: true @@ -13860,6 +13496,9 @@ snapshots: '@esbuild/linux-x64@0.21.4': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.25.9': optional: true @@ -13875,6 +13514,9 @@ snapshots: '@esbuild/netbsd-x64@0.21.4': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.25.9': optional: true @@ -13890,6 +13532,9 @@ snapshots: '@esbuild/openbsd-x64@0.21.4': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.25.9': optional: true @@ -13905,6 +13550,9 @@ snapshots: '@esbuild/sunos-x64@0.21.4': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.25.9': optional: true @@ -13917,6 +13565,9 @@ snapshots: '@esbuild/win32-arm64@0.21.4': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.25.9': optional: true @@ -13929,6 +13580,9 @@ snapshots: '@esbuild/win32-ia32@0.21.4': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.25.9': optional: true @@ -13941,6 +13595,9 @@ snapshots: '@esbuild/win32-x64@0.21.4': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.25.9': optional: true @@ -14225,7 +13882,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -14239,7 +13896,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest-config: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -14779,13 +14436,6 @@ snapshots: '@napi-rs/nice-win32-x64-msvc': 1.0.1 optional: true - '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': - dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.1 - optional: true - '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': dependencies: eslint-scope: 5.1.1 @@ -14867,122 +14517,6 @@ snapshots: '@open-draft/until@1.0.3': {} - '@oxc-project/types@0.124.0': {} - - '@oxfmt/binding-android-arm-eabi@0.45.0': - optional: true - - '@oxfmt/binding-android-arm64@0.45.0': - optional: true - - '@oxfmt/binding-darwin-arm64@0.45.0': - optional: true - - '@oxfmt/binding-darwin-x64@0.45.0': - optional: true - - '@oxfmt/binding-freebsd-x64@0.45.0': - optional: true - - '@oxfmt/binding-linux-arm-gnueabihf@0.45.0': - optional: true - - '@oxfmt/binding-linux-arm-musleabihf@0.45.0': - optional: true - - '@oxfmt/binding-linux-arm64-gnu@0.45.0': - optional: true - - '@oxfmt/binding-linux-arm64-musl@0.45.0': - optional: true - - '@oxfmt/binding-linux-ppc64-gnu@0.45.0': - optional: true - - '@oxfmt/binding-linux-riscv64-gnu@0.45.0': - optional: true - - '@oxfmt/binding-linux-riscv64-musl@0.45.0': - optional: true - - '@oxfmt/binding-linux-s390x-gnu@0.45.0': - optional: true - - '@oxfmt/binding-linux-x64-gnu@0.45.0': - optional: true - - '@oxfmt/binding-linux-x64-musl@0.45.0': - optional: true - - '@oxfmt/binding-openharmony-arm64@0.45.0': - optional: true - - '@oxfmt/binding-win32-arm64-msvc@0.45.0': - optional: true - - '@oxfmt/binding-win32-ia32-msvc@0.45.0': - optional: true - - '@oxfmt/binding-win32-x64-msvc@0.45.0': - optional: true - - '@oxlint/binding-android-arm-eabi@1.60.0': - optional: true - - '@oxlint/binding-android-arm64@1.60.0': - optional: true - - '@oxlint/binding-darwin-arm64@1.60.0': - optional: true - - '@oxlint/binding-darwin-x64@1.60.0': - optional: true - - '@oxlint/binding-freebsd-x64@1.60.0': - optional: true - - '@oxlint/binding-linux-arm-gnueabihf@1.60.0': - optional: true - - '@oxlint/binding-linux-arm-musleabihf@1.60.0': - optional: true - - '@oxlint/binding-linux-arm64-gnu@1.60.0': - optional: true - - '@oxlint/binding-linux-arm64-musl@1.60.0': - optional: true - - '@oxlint/binding-linux-ppc64-gnu@1.60.0': - optional: true - - '@oxlint/binding-linux-riscv64-gnu@1.60.0': - optional: true - - '@oxlint/binding-linux-riscv64-musl@1.60.0': - optional: true - - '@oxlint/binding-linux-s390x-gnu@1.60.0': - optional: true - - '@oxlint/binding-linux-x64-gnu@1.60.0': - optional: true - - '@oxlint/binding-linux-x64-musl@1.60.0': - optional: true - - '@oxlint/binding-openharmony-arm64@1.60.0': - optional: true - - '@oxlint/binding-win32-arm64-msvc@1.60.0': - optional: true - - '@oxlint/binding-win32-ia32-msvc@1.60.0': - optional: true - - '@oxlint/binding-win32-x64-msvc@1.60.0': - optional: true - '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -15150,88 +14684,35 @@ snapshots: - react - sigma - '@react-sigma/layout-force@5.0.2(graphology-layout-force@0.2.4(graphology-types@0.24.8))(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8))': - dependencies: - '@react-sigma/layout-core': 5.0.2(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8)) - graphology-layout-force: 0.2.4(graphology-types@0.24.8) - transitivePeerDependencies: - - graphology - - react - - sigma - - '@react-sigma/layout-forceatlas2@5.0.2(graphology-layout-forceatlas2@0.10.1(graphology-types@0.24.8))(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8))': - dependencies: - '@react-sigma/layout-core': 5.0.2(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8)) - graphology-layout-forceatlas2: 0.10.1(graphology-types@0.24.8) - transitivePeerDependencies: - - graphology - - react - - sigma - - '@reduxjs/toolkit@1.9.3(react-redux@8.0.5(@types/react-dom@18.3.5(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)': - dependencies: - immer: 9.0.21 - redux: 4.2.1 - redux-thunk: 2.4.2(redux@4.2.1) - reselect: 4.1.8 - optionalDependencies: - react: 18.3.1 - react-redux: 8.0.5(@types/react-dom@18.3.5(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) - - '@remix-run/router@1.5.0': {} - - '@rolldown/binding-android-arm64@1.0.0-rc.15': - optional: true - - '@rolldown/binding-darwin-arm64@1.0.0-rc.15': - optional: true - - '@rolldown/binding-darwin-x64@1.0.0-rc.15': - optional: true - - '@rolldown/binding-freebsd-x64@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.15': - optional: true - - '@rolldown/binding-linux-x64-musl@1.0.0-rc.15': - optional: true - - '@rolldown/binding-openharmony-arm64@1.0.0-rc.15': - optional: true - - '@rolldown/binding-wasm32-wasi@1.0.0-rc.15': - dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) - optional: true - - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15': - optional: true + '@react-sigma/layout-force@5.0.2(graphology-layout-force@0.2.4(graphology-types@0.24.8))(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8))': + dependencies: + '@react-sigma/layout-core': 5.0.2(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8)) + graphology-layout-force: 0.2.4(graphology-types@0.24.8) + transitivePeerDependencies: + - graphology + - react + - sigma - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.15': - optional: true + '@react-sigma/layout-forceatlas2@5.0.2(graphology-layout-forceatlas2@0.10.1(graphology-types@0.24.8))(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8))': + dependencies: + '@react-sigma/layout-core': 5.0.2(graphology@0.25.4(graphology-types@0.24.8))(react@18.3.1)(sigma@3.0.1(graphology-types@0.24.8)) + graphology-layout-forceatlas2: 0.10.1(graphology-types@0.24.8) + transitivePeerDependencies: + - graphology + - react + - sigma - '@rolldown/pluginutils@1.0.0-rc.15': {} + '@reduxjs/toolkit@1.9.3(react-redux@8.0.5(@types/react-dom@18.3.5(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)': + dependencies: + immer: 9.0.21 + redux: 4.2.1 + redux-thunk: 2.4.2(redux@4.2.1) + reselect: 4.1.8 + optionalDependencies: + react: 18.3.1 + react-redux: 8.0.5(@types/react-dom@18.3.5(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) - '@rolldown/pluginutils@1.0.0-rc.7': {} + '@remix-run/router@1.5.0': {} '@rollup/pluginutils@4.2.1': dependencies: @@ -15862,7 +15343,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)))': + '@testing-library/jest-dom@6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)))': dependencies: '@adobe/css-tools': 4.4.2 '@babel/runtime': 7.27.0 @@ -15875,7 +15356,7 @@ snapshots: optionalDependencies: '@jest/globals': 29.7.0 '@types/jest': 29.5.12 - jest: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) '@testing-library/react-hooks@8.0.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -15912,29 +15393,6 @@ snapshots: '@tsconfig/node16@1.0.4': optional: true - '@turbo/darwin-64@2.9.6': - optional: true - - '@turbo/darwin-arm64@2.9.6': - optional: true - - '@turbo/linux-64@2.9.6': - optional: true - - '@turbo/linux-arm64@2.9.6': - optional: true - - '@turbo/windows-64@2.9.6': - optional: true - - '@turbo/windows-arm64@2.9.6': - optional: true - - '@tybys/wasm-util@0.10.1': - dependencies: - tslib: 2.8.1 - optional: true - '@types/archiver@6.0.4': dependencies: '@types/readdir-glob': 1.1.5 @@ -16009,12 +15467,12 @@ snapshots: '@types/eslint@8.56.12': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.7 '@types/estree@1.0.7': {} @@ -16224,10 +15682,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@5.8.2)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@5.8.2) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@9.23.0)(typescript@5.8.2) '@typescript-eslint/utils': 5.62.0(eslint@9.23.0)(typescript@5.8.2) @@ -16243,39 +15701,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@6.0.2) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@9.23.0)(typescript@6.0.2) - '@typescript-eslint/utils': 5.62.0(eslint@9.23.0)(typescript@6.0.2) - debug: 4.4.0 - eslint: 9.23.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare-lite: 1.4.0 - semver: 7.7.3 - tsutils: 3.21.0(typescript@6.0.2) - optionalDependencies: - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2)': + '@typescript-eslint/eslint-plugin@8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.28.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/parser': 8.28.0(eslint@9.23.0)(typescript@5.8.2) '@typescript-eslint/scope-manager': 8.28.0 - '@typescript-eslint/type-utils': 8.28.0(eslint@9.23.0)(typescript@6.0.2) - '@typescript-eslint/utils': 8.28.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/type-utils': 8.28.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.28.0(eslint@9.23.0)(typescript@5.8.2) '@typescript-eslint/visitor-keys': 8.28.0 eslint: 9.23.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@6.0.2) - typescript: 6.0.2 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -16303,27 +15742,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2)': - dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.2) - debug: 4.4.0 - eslint: 9.23.0 - optionalDependencies: - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.28.0(eslint@9.23.0)(typescript@6.0.2)': + '@typescript-eslint/parser@8.28.0(eslint@9.23.0)(typescript@5.8.2)': dependencies: '@typescript-eslint/scope-manager': 8.28.0 '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/typescript-estree': 8.28.0(typescript@6.0.2) + '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2) '@typescript-eslint/visitor-keys': 8.28.0 debug: 4.4.0 eslint: 9.23.0 - typescript: 6.0.2 + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -16361,26 +15788,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@5.62.0(eslint@9.23.0)(typescript@6.0.2)': - dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.2) - '@typescript-eslint/utils': 5.62.0(eslint@9.23.0)(typescript@6.0.2) - debug: 4.4.0 - eslint: 9.23.0 - tsutils: 3.21.0(typescript@6.0.2) - optionalDependencies: - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.28.0(eslint@9.23.0)(typescript@6.0.2)': + '@typescript-eslint/type-utils@8.28.0(eslint@9.23.0)(typescript@5.8.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.28.0(typescript@6.0.2) - '@typescript-eslint/utils': 8.28.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2) + '@typescript-eslint/utils': 8.28.0(eslint@9.23.0)(typescript@5.8.2) debug: 4.4.0 eslint: 9.23.0 - ts-api-utils: 2.1.0(typescript@6.0.2) - typescript: 6.0.2 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -16416,21 +15831,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@6.0.2)': - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.0 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.7.3 - tsutils: 3.21.0(typescript@6.0.2) - optionalDependencies: - typescript: 6.0.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.28.0(typescript@6.0.2)': + '@typescript-eslint/typescript-estree@8.28.0(typescript@5.8.2)': dependencies: '@typescript-eslint/types': 8.28.0 '@typescript-eslint/visitor-keys': 8.28.0 @@ -16439,8 +15840,8 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.3 - ts-api-utils: 2.1.0(typescript@6.0.2) - typescript: 6.0.2 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -16474,29 +15875,14 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@5.62.0(eslint@9.23.0)(typescript@6.0.2)': - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.7.1 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.2) - eslint: 9.23.0 - eslint-scope: 5.1.1 - semver: 7.7.3 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.28.0(eslint@9.23.0)(typescript@6.0.2)': + '@typescript-eslint/utils@8.28.0(eslint@9.23.0)(typescript@5.8.2)': dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0) '@typescript-eslint/scope-manager': 8.28.0 '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/typescript-estree': 8.28.0(typescript@6.0.2) + '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2) eslint: 9.23.0 - typescript: 6.0.2 + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -16598,18 +15984,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@umijs/bundler-vite@4.4.6(@types/node@22.13.14)(lightningcss@1.32.0)(postcss@8.5.3)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)': + '@umijs/bundler-vite@4.4.6(@types/node@22.13.14)(lightningcss@1.22.1)(postcss@8.5.3)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)': dependencies: '@svgr/core': 6.5.1 '@umijs/bundler-utils': 4.4.6 '@umijs/utils': 4.4.6 - '@vitejs/plugin-react': 4.0.0(vite@4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.32.0)(sass@1.86.0)(terser@5.39.0)) + '@vitejs/plugin-react': 4.0.0(vite@4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)) core-js: 3.34.0 less: 4.1.3 postcss-preset-env: 7.5.0(postcss@8.5.3) rollup-plugin-visualizer: 5.9.0(rollup@3.29.5) systemjs: 6.15.1 - vite: 4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.32.0)(sass@1.86.0)(terser@5.39.0) + vite: 4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) transitivePeerDependencies: - '@types/node' - lightningcss @@ -16775,10 +16161,10 @@ snapshots: '@babel/core': 7.26.10 '@babel/eslint-parser': 7.23.3(@babel/core@7.26.10)(eslint@9.23.0) '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2(postcss-less@6.0.0(postcss@8.5.3))(postcss@8.5.3))(postcss@8.5.3) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2) '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@5.8.2) '@umijs/babel-preset-umi': 4.4.6 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(typescript@5.8.2) + eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(typescript@5.8.2) eslint-plugin-react: 7.33.2(eslint@9.23.0) eslint-plugin-react-hooks: 4.6.0(eslint@9.23.0) postcss: 8.5.3 @@ -16860,7 +16246,7 @@ snapshots: dependencies: tsx: 3.12.2 - '@umijs/preset-umi@4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.32.0)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1)))': + '@umijs/preset-umi@4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.22.1)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1)))': dependencies: '@iconify/utils': 2.1.1 '@svgr/core': 6.5.1 @@ -16869,7 +16255,7 @@ snapshots: '@umijs/bundler-esbuild': 4.4.6 '@umijs/bundler-mako': 0.11.5 '@umijs/bundler-utils': 4.4.6 - '@umijs/bundler-vite': 4.4.6(@types/node@22.13.14)(lightningcss@1.32.0)(postcss@8.5.3)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0) + '@umijs/bundler-vite': 4.4.6(@types/node@22.13.14)(lightningcss@1.22.1)(postcss@8.5.3)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0) '@umijs/bundler-webpack': 4.4.6(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) '@umijs/core': 4.4.6 '@umijs/did-you-know': 1.0.3 @@ -16918,7 +16304,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@umijs/preset-umi@4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.32.0)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1)))': + '@umijs/preset-umi@4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.22.1)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1)))': dependencies: '@iconify/utils': 2.1.1 '@svgr/core': 6.5.1 @@ -16927,7 +16313,7 @@ snapshots: '@umijs/bundler-esbuild': 4.4.6 '@umijs/bundler-mako': 0.11.5 '@umijs/bundler-utils': 4.4.6 - '@umijs/bundler-vite': 4.4.6(@types/node@22.13.14)(lightningcss@1.32.0)(postcss@8.5.3)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0) + '@umijs/bundler-vite': 4.4.6(@types/node@22.13.14)(lightningcss@1.22.1)(postcss@8.5.3)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0) '@umijs/bundler-webpack': 4.4.6(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) '@umijs/core': 4.4.6 '@umijs/did-you-know': 1.0.3 @@ -17039,20 +16425,26 @@ snapshots: '@vercel/ncc@0.33.3': {} - '@vitejs/plugin-react@4.0.0(vite@4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.32.0)(sass@1.86.0)(terser@5.39.0))': + '@vitejs/plugin-react@4.0.0(vite@4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0))': dependencies: '@babel/core': 7.26.10 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) react-refresh: 0.14.2 - vite: 4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.32.0)(sass@1.86.0)(terser@5.39.0) + vite: 4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@6.0.1(vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5))': + '@vitejs/plugin-react@4.3.4(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0))': dependencies: - '@rolldown/pluginutils': 1.0.0-rc.7 - vite: 8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5) + '@babel/core': 7.26.10 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) + transitivePeerDependencies: + - supports-color '@webassemblyjs/ast@1.14.1': dependencies: @@ -18160,6 +17552,16 @@ snapshots: concat-map@0.0.1: {} + concurrently@9.1.2: + dependencies: + chalk: 4.1.2 + lodash: 4.17.21 + rxjs: 7.8.2 + shell-quote: 1.8.2 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + confbox@0.1.8: {} connect-history-api-fallback@1.6.0: {} @@ -18241,15 +17643,6 @@ snapshots: optionalDependencies: typescript: 5.8.2 - cosmiconfig@8.3.6(typescript@6.0.2): - dependencies: - import-fresh: 3.3.1 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 6.0.2 - crc-32@1.2.2: {} crc32-stream@6.0.0: @@ -18279,13 +17672,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)): + create-jest@29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest-config: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -18698,8 +18091,6 @@ snapshots: detect-libc@1.0.3: {} - detect-libc@2.1.2: {} - detect-newline@3.1.0: {} detect-newline@4.0.1: {} @@ -18833,7 +18224,7 @@ snapshots: dumi-assets-types@2.4.14: {} - dumi@2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): + dumi@2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): dependencies: '@ant-design/icons-svg': 4.4.2 '@makotot/ghostui': 2.0.0(react@18.3.1) @@ -18898,7 +18289,7 @@ snapshots: sass: 1.86.0 sitemap: 7.1.2 sucrase: 3.35.0 - umi: 4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) + umi: 4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) unified: 10.1.2 unist-util-visit: 4.1.2 unist-util-visit-parents: 5.1.3 @@ -18936,7 +18327,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - dumi@2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): + dumi@2.4.18(@babel/core@7.26.10)(@swc/helpers@0.5.1)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): dependencies: '@ant-design/icons-svg': 4.4.2 '@makotot/ghostui': 2.0.0(react@18.3.1) @@ -19001,7 +18392,7 @@ snapshots: sass: 1.86.0 sitemap: 7.1.2 sucrase: 3.35.0 - umi: 4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) + umi: 4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) unified: 10.1.2 unist-util-visit: 4.1.2 unist-util-visit-parents: 5.1.3 @@ -19360,6 +18751,32 @@ snapshots: '@esbuild/win32-ia32': 0.21.4 '@esbuild/win32-x64': 0.21.4 + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.9: optionalDependencies: '@esbuild/aix-ppc64': 0.25.9 @@ -19417,11 +18834,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@5.8.2) eslint: 9.23.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -19433,7 +18850,7 @@ snapshots: eslint-utils: 2.1.0 regexpp: 3.2.0 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -19444,7 +18861,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.23.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -19456,7 +18873,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/parser': 5.62.0(eslint@9.23.0)(typescript@5.8.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -19473,12 +18890,12 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(typescript@5.8.2): + eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(typescript@5.8.2): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@9.23.0)(typescript@5.8.2) eslint: 9.23.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2) jest: 29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)) transitivePeerDependencies: - supports-color @@ -19628,7 +19045,7 @@ snapshots: estree-util-attach-comments@2.1.1: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.7 estree-util-is-identifier-name@2.1.0: {} @@ -19858,10 +19275,6 @@ snapshots: optionalDependencies: picomatch: 4.0.3 - fdir@6.5.0(picomatch@4.0.4): - optionalDependencies: - picomatch: 4.0.4 - fecha@4.2.3: {} fetch-blob@3.2.0: @@ -21080,16 +20493,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)): + jest-cli@29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + create-jest: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest-config: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -21139,7 +20552,7 @@ snapshots: - ts-node optional: true - jest-config@29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)): + jest-config@29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)): dependencies: '@babel/core': 7.26.10 '@jest/test-sequencer': 29.7.0 @@ -21165,7 +20578,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.19.84 - ts-node: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2) + ts-node: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -21521,11 +20934,11 @@ snapshots: leven: 3.1.0 pretty-format: 29.7.0 - jest-watch-typeahead@2.2.2(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2))): + jest-watch-typeahead@2.2.2(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2))): dependencies: ansi-escapes: 6.2.1 chalk: 5.4.1 - jest: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) jest-regex-util: 29.6.3 jest-watcher: 29.7.0 slash: 5.1.0 @@ -21563,12 +20976,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)): + jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest-cli: 29.7.0(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -21817,66 +21230,33 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lightningcss-android-arm64@1.32.0: - optional: true - lightningcss-darwin-arm64@1.22.1: optional: true - lightningcss-darwin-arm64@1.32.0: - optional: true - lightningcss-darwin-x64@1.22.1: optional: true - lightningcss-darwin-x64@1.32.0: - optional: true - lightningcss-freebsd-x64@1.22.1: optional: true - lightningcss-freebsd-x64@1.32.0: - optional: true - lightningcss-linux-arm-gnueabihf@1.22.1: optional: true - lightningcss-linux-arm-gnueabihf@1.32.0: - optional: true - lightningcss-linux-arm64-gnu@1.22.1: optional: true - lightningcss-linux-arm64-gnu@1.32.0: - optional: true - lightningcss-linux-arm64-musl@1.22.1: optional: true - lightningcss-linux-arm64-musl@1.32.0: - optional: true - lightningcss-linux-x64-gnu@1.22.1: optional: true - lightningcss-linux-x64-gnu@1.32.0: - optional: true - lightningcss-linux-x64-musl@1.22.1: optional: true - lightningcss-linux-x64-musl@1.32.0: - optional: true - - lightningcss-win32-arm64-msvc@1.32.0: - optional: true - lightningcss-win32-x64-msvc@1.22.1: optional: true - lightningcss-win32-x64-msvc@1.32.0: - optional: true - lightningcss@1.22.1: dependencies: detect-libc: 1.0.3 @@ -21891,22 +21271,6 @@ snapshots: lightningcss-linux-x64-musl: 1.22.1 lightningcss-win32-x64-msvc: 1.22.1 - lightningcss@1.32.0: - dependencies: - detect-libc: 2.1.2 - optionalDependencies: - lightningcss-android-arm64: 1.32.0 - lightningcss-darwin-arm64: 1.32.0 - lightningcss-darwin-x64: 1.32.0 - lightningcss-freebsd-x64: 1.32.0 - lightningcss-linux-arm-gnueabihf: 1.32.0 - lightningcss-linux-arm64-gnu: 1.32.0 - lightningcss-linux-arm64-musl: 1.32.0 - lightningcss-linux-x64-gnu: 1.32.0 - lightningcss-linux-x64-musl: 1.32.0 - lightningcss-win32-arm64-msvc: 1.32.0 - lightningcss-win32-x64-msvc: 1.32.0 - lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -22528,7 +21892,7 @@ snapshots: ms@2.1.3: {} - msw@0.45.0(encoding@0.1.13)(typescript@6.0.2): + msw@0.45.0(encoding@0.1.13)(typescript@5.8.2): dependencies: '@mswjs/cookies': 0.2.2 '@mswjs/interceptors': 0.17.10 @@ -22550,7 +21914,7 @@ snapshots: type-fest: 1.4.0 yargs: 17.7.2 optionalDependencies: - typescript: 6.0.2 + typescript: 5.8.2 transitivePeerDependencies: - encoding - supports-color @@ -22871,52 +22235,6 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxfmt@0.45.0: - dependencies: - tinypool: 2.1.0 - optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.45.0 - '@oxfmt/binding-android-arm64': 0.45.0 - '@oxfmt/binding-darwin-arm64': 0.45.0 - '@oxfmt/binding-darwin-x64': 0.45.0 - '@oxfmt/binding-freebsd-x64': 0.45.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.45.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.45.0 - '@oxfmt/binding-linux-arm64-gnu': 0.45.0 - '@oxfmt/binding-linux-arm64-musl': 0.45.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.45.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.45.0 - '@oxfmt/binding-linux-riscv64-musl': 0.45.0 - '@oxfmt/binding-linux-s390x-gnu': 0.45.0 - '@oxfmt/binding-linux-x64-gnu': 0.45.0 - '@oxfmt/binding-linux-x64-musl': 0.45.0 - '@oxfmt/binding-openharmony-arm64': 0.45.0 - '@oxfmt/binding-win32-arm64-msvc': 0.45.0 - '@oxfmt/binding-win32-ia32-msvc': 0.45.0 - '@oxfmt/binding-win32-x64-msvc': 0.45.0 - - oxlint@1.60.0: - optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.60.0 - '@oxlint/binding-android-arm64': 1.60.0 - '@oxlint/binding-darwin-arm64': 1.60.0 - '@oxlint/binding-darwin-x64': 1.60.0 - '@oxlint/binding-freebsd-x64': 1.60.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.60.0 - '@oxlint/binding-linux-arm-musleabihf': 1.60.0 - '@oxlint/binding-linux-arm64-gnu': 1.60.0 - '@oxlint/binding-linux-arm64-musl': 1.60.0 - '@oxlint/binding-linux-ppc64-gnu': 1.60.0 - '@oxlint/binding-linux-riscv64-gnu': 1.60.0 - '@oxlint/binding-linux-riscv64-musl': 1.60.0 - '@oxlint/binding-linux-s390x-gnu': 1.60.0 - '@oxlint/binding-linux-x64-gnu': 1.60.0 - '@oxlint/binding-linux-x64-musl': 1.60.0 - '@oxlint/binding-openharmony-arm64': 1.60.0 - '@oxlint/binding-win32-arm64-msvc': 1.60.0 - '@oxlint/binding-win32-ia32-msvc': 1.60.0 - '@oxlint/binding-win32-x64-msvc': 1.60.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -23061,8 +22379,6 @@ snapshots: picomatch@4.0.3: {} - picomatch@4.0.4: {} - pify@4.0.1: optional: true @@ -23210,11 +22526,11 @@ snapshots: dependencies: postcss: 8.5.3 - postcss-load-config@6.0.1(postcss@8.5.9)(tsx@4.20.5): + postcss-load-config@6.0.1(postcss@8.5.3)(tsx@4.20.5): dependencies: lilconfig: 3.1.3 optionalDependencies: - postcss: 8.5.9 + postcss: 8.5.3 tsx: 4.20.5 postcss-logical@5.0.4(postcss@8.5.3): @@ -23380,12 +22696,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.9: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -24533,27 +23843,6 @@ snapshots: hash-base: 3.0.5 inherits: 2.0.4 - rolldown@1.0.0-rc.15: - dependencies: - '@oxc-project/types': 0.124.0 - '@rolldown/pluginutils': 1.0.0-rc.15 - optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.15 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.15 - '@rolldown/binding-darwin-x64': 1.0.0-rc.15 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.15 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.15 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.15 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.15 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.15 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.15 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.15 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.15 - rollup-plugin-visualizer@5.9.0(rollup@3.29.5): dependencies: open: 8.4.2 @@ -24569,6 +23858,10 @@ snapshots: minimist: 1.2.8 source-map-support: 0.3.3 + rollup@2.79.2: + optionalDependencies: + fsevents: 2.3.3 + rollup@3.29.5: optionalDependencies: fsevents: 2.3.3 @@ -24778,6 +24071,8 @@ snapshots: shebang-regex@3.0.0: {} + shell-quote@1.8.2: {} + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -25134,9 +24429,9 @@ snapshots: stylis: 4.3.2 tslib: 2.6.2 - stylelint-config-prettier@9.0.5(stylelint@15.11.0(typescript@6.0.2)): + stylelint-config-prettier@9.0.5(stylelint@15.11.0(typescript@5.8.2)): dependencies: - stylelint: 15.11.0(typescript@6.0.2) + stylelint: 15.11.0(typescript@5.8.2) stylelint-config-recommended-less@1.0.4: dependencies: @@ -25146,9 +24441,9 @@ snapshots: transitivePeerDependencies: - supports-color - stylelint-config-recommended@10.0.1(stylelint@15.11.0(typescript@6.0.2)): + stylelint-config-recommended@10.0.1(stylelint@15.11.0(typescript@5.8.2)): dependencies: - stylelint: 15.11.0(typescript@6.0.2) + stylelint: 15.11.0(typescript@5.8.2) stylelint-config-recommended@6.0.0(stylelint@14.16.1): dependencies: @@ -25162,11 +24457,11 @@ snapshots: dependencies: stylelint: 15.11.0(typescript@5.8.2) - stylelint-config-standard-less@1.0.0(postcss@8.5.3)(stylelint@15.11.0(typescript@6.0.2)): + stylelint-config-standard-less@1.0.0(postcss@8.5.3)(stylelint@15.11.0(typescript@5.8.2)): dependencies: - stylelint: 15.11.0(typescript@6.0.2) + stylelint: 15.11.0(typescript@5.8.2) stylelint-config-recommended-less: 1.0.4 - stylelint-config-standard: 30.0.1(stylelint@15.11.0(typescript@6.0.2)) + stylelint-config-standard: 30.0.1(stylelint@15.11.0(typescript@5.8.2)) optionalDependencies: postcss: 8.5.3 transitivePeerDependencies: @@ -25182,10 +24477,10 @@ snapshots: stylelint: 15.11.0(typescript@5.8.2) stylelint-config-recommended: 7.0.0(stylelint@15.11.0(typescript@5.8.2)) - stylelint-config-standard@30.0.1(stylelint@15.11.0(typescript@6.0.2)): + stylelint-config-standard@30.0.1(stylelint@15.11.0(typescript@5.8.2)): dependencies: - stylelint: 15.11.0(typescript@6.0.2) - stylelint-config-recommended: 10.0.1(stylelint@15.11.0(typescript@6.0.2)) + stylelint: 15.11.0(typescript@5.8.2) + stylelint-config-recommended: 10.0.1(stylelint@15.11.0(typescript@5.8.2)) stylelint-config-styled-components@0.1.1: {} @@ -25195,11 +24490,11 @@ snapshots: postcss-value-parser: 4.2.0 stylelint: 14.16.1 - stylelint-prettier@4.1.0(prettier@2.8.8)(stylelint@15.11.0(typescript@6.0.2)): + stylelint-prettier@4.1.0(prettier@2.8.8)(stylelint@15.11.0(typescript@5.8.2)): dependencies: prettier: 2.8.8 prettier-linter-helpers: 1.0.0 - stylelint: 15.11.0(typescript@6.0.2) + stylelint: 15.11.0(typescript@5.8.2) stylelint@14.16.1: dependencies: @@ -25336,52 +24631,6 @@ snapshots: - supports-color - typescript - stylelint@15.11.0(typescript@6.0.2): - dependencies: - '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1) - '@csstools/css-tokenizer': 2.4.1 - '@csstools/media-query-list-parser': 2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1) - '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.2) - balanced-match: 2.0.0 - colord: 2.9.3 - cosmiconfig: 8.3.6(typescript@6.0.2) - css-functions-list: 3.2.3 - css-tree: 2.3.1 - debug: 4.4.0 - fast-glob: 3.3.3 - fastest-levenshtein: 1.0.16 - file-entry-cache: 7.0.2 - global-modules: 2.0.0 - globby: 11.1.0 - globjoin: 0.1.4 - html-tags: 3.3.1 - ignore: 5.3.2 - import-lazy: 4.0.0 - imurmurhash: 0.1.4 - is-plain-object: 5.0.0 - known-css-properties: 0.29.0 - mathml-tag-names: 2.1.3 - meow: 10.1.5 - micromatch: 4.0.8 - normalize-path: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.3 - postcss-resolve-nested-selector: 0.1.6 - postcss-safe-parser: 6.0.0(postcss@8.5.3) - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - resolve-from: 5.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - style-search: 0.1.0 - supports-hyperlinks: 3.2.0 - svg-tags: 1.0.0 - table: 6.9.0 - write-file-atomic: 5.0.1 - transitivePeerDependencies: - - supports-color - - typescript - stylis@4.2.0: {} stylis@4.3.2: {} @@ -25581,13 +24830,6 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinyglobby@0.2.16: - dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - - tinypool@2.1.0: {} - titleize@3.0.0: {} tmp@0.0.33: @@ -25639,30 +24881,30 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@6.0.2): + ts-api-utils@2.1.0(typescript@5.8.2): dependencies: - typescript: 6.0.2 + typescript: 5.8.2 ts-interface-checker@0.1.13: {} - ts-jest@27.1.5(@babel/core@7.26.10)(@types/jest@29.5.12)(babel-jest@29.7.0(@babel/core@7.26.10))(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)))(typescript@6.0.2): + ts-jest@27.1.5(@babel/core@7.26.10)(@types/jest@29.5.12)(babel-jest@29.7.0(@babel/core@7.26.10))(jest@29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)))(typescript@5.8.2): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2)) + jest: 29.1.2(@types/node@18.19.84)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2)) jest-util: 27.5.1 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.7.3 - typescript: 6.0.2 + typescript: 5.8.2 yargs-parser: 20.2.9 optionalDependencies: '@babel/core': 7.26.10 '@types/jest': 29.5.12 babel-jest: 29.7.0(@babel/core@7.26.10) - ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@6.0.2): + ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@18.19.84)(typescript@5.8.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -25676,7 +24918,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 6.0.2 + typescript: 5.8.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: @@ -25746,7 +24988,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.0(@microsoft/api-extractor@7.39.1(@types/node@22.13.14))(@swc/core@1.9.2(@swc/helpers@0.5.1))(postcss@8.5.9)(tsx@4.20.5)(typescript@6.0.2): + tsup@8.5.0(@microsoft/api-extractor@7.39.1(@types/node@22.13.14))(@swc/core@1.9.2(@swc/helpers@0.5.1))(postcss@8.5.3)(tsx@4.20.5)(typescript@5.8.2): dependencies: bundle-require: 5.1.0(esbuild@0.25.9) cac: 6.7.14 @@ -25757,7 +24999,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.9)(tsx@4.20.5) + postcss-load-config: 6.0.1(postcss@8.5.3)(tsx@4.20.5) resolve-from: 5.0.0 rollup: 4.38.0 source-map: 0.8.0-beta.0 @@ -25768,8 +25010,8 @@ snapshots: optionalDependencies: '@microsoft/api-extractor': 7.39.1(@types/node@22.13.14) '@swc/core': 1.9.2(@swc/helpers@0.5.1) - postcss: 8.5.9 - typescript: 6.0.2 + postcss: 8.5.3 + typescript: 5.8.2 transitivePeerDependencies: - jiti - supports-color @@ -25786,11 +25028,6 @@ snapshots: tslib: 1.14.1 typescript: 5.8.2 - tsutils@3.21.0(typescript@6.0.2): - dependencies: - tslib: 1.14.1 - typescript: 6.0.2 - tsx@3.12.2: dependencies: '@esbuild-kit/cjs-loader': 2.4.4 @@ -25808,15 +25045,6 @@ snapshots: tty-browserify@0.0.0: {} - turbo@2.9.6: - optionalDependencies: - '@turbo/darwin-64': 2.9.6 - '@turbo/darwin-arm64': 2.9.6 - '@turbo/linux-64': 2.9.6 - '@turbo/linux-arm64': 2.9.6 - '@turbo/windows-64': 2.9.6 - '@turbo/windows-arm64': 2.9.6 - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -25875,13 +25103,13 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.28.0(eslint@9.23.0)(typescript@6.0.2): + typescript-eslint@8.28.0(eslint@9.23.0)(typescript@5.8.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0)(typescript@6.0.2))(eslint@9.23.0)(typescript@6.0.2) - '@typescript-eslint/parser': 8.28.0(eslint@9.23.0)(typescript@6.0.2) - '@typescript-eslint/utils': 8.28.0(eslint@9.23.0)(typescript@6.0.2) + '@typescript-eslint/eslint-plugin': 8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0)(typescript@5.8.2))(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/parser': 8.28.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.28.0(eslint@9.23.0)(typescript@5.8.2) eslint: 9.23.0 - typescript: 6.0.2 + typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -25894,8 +25122,6 @@ snapshots: typescript@5.8.2: {} - typescript@6.0.2: {} - ufo@1.6.1: {} uglify-js@2.8.29: @@ -25908,14 +25134,14 @@ snapshots: uglify-to-browserify@1.0.2: optional: true - umi@4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): + umi@4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.3.3))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): dependencies: '@babel/runtime': 7.23.6 '@umijs/bundler-utils': 4.4.6 '@umijs/bundler-webpack': 4.4.6(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) '@umijs/core': 4.4.6 '@umijs/lint': 4.4.6(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.3.3)))(postcss-less@6.0.0(postcss@8.5.3))(stylelint@15.11.0(typescript@5.3.3))(typescript@5.3.3) - '@umijs/preset-umi': 4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.32.0)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) + '@umijs/preset-umi': 4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.22.1)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.3.3)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) '@umijs/renderer-react': 4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@umijs/server': 4.4.6 '@umijs/test': 4.4.6(@babel/core@7.26.10) @@ -25955,14 +25181,14 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - umi@4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.32.0)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): + umi@4.4.6(@babel/core@7.26.10)(@types/node@22.13.14)(@types/react@18.3.23)(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(lightningcss@1.22.1)(postcss-less@6.0.0(postcss@8.5.3))(prettier@3.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.5)(sass@1.86.0)(stylelint@15.11.0(typescript@5.8.2))(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))): dependencies: '@babel/runtime': 7.23.6 '@umijs/bundler-utils': 4.4.6 '@umijs/bundler-webpack': 4.4.6(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) '@umijs/core': 4.4.6 '@umijs/lint': 4.4.6(eslint@9.23.0)(jest@29.1.2(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.1))(@types/node@22.13.14)(typescript@5.8.2)))(postcss-less@6.0.0(postcss@8.5.3))(stylelint@15.11.0(typescript@5.8.2))(typescript@5.8.2) - '@umijs/preset-umi': 4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.32.0)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) + '@umijs/preset-umi': 4.4.6(@types/node@22.13.14)(@types/react@18.3.23)(lightningcss@1.22.1)(rollup@3.29.5)(sass@1.86.0)(terser@5.39.0)(type-fest@1.4.0)(typescript@5.8.2)(webpack@5.101.3(@swc/core@1.9.2(@swc/helpers@0.5.1))) '@umijs/renderer-react': 4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@umijs/server': 4.4.6 '@umijs/test': 4.4.6(@babel/core@7.26.10) @@ -26255,14 +25481,22 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-conditional-compile@1.4.3(vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5)): + vite-plugin-conditional-compile@1.4.3(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)): dependencies: '@babel/core': 7.26.10 - vite: 8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5) + vite: 5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) transitivePeerDependencies: - supports-color - vite-plugin-html@3.2.2(vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5)): + vite-plugin-eslint@1.8.1(eslint@9.23.0)(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)): + dependencies: + '@rollup/pluginutils': 4.2.1 + '@types/eslint': 8.56.12 + eslint: 9.23.0 + rollup: 2.79.2 + vite: 5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) + + vite-plugin-html@3.2.2(vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0)): dependencies: '@rollup/pluginutils': 4.2.1 colorette: 2.0.20 @@ -26276,9 +25510,9 @@ snapshots: html-minifier-terser: 6.1.0 node-html-parser: 5.4.2 pathe: 0.2.0 - vite: 8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5) + vite: 5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0) - vite@4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.32.0)(sass@1.86.0)(terser@5.39.0): + vite@4.5.2(@types/node@22.13.14)(less@4.1.3)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0): dependencies: esbuild: 0.18.20 postcss: 8.5.3 @@ -26287,24 +25521,22 @@ snapshots: '@types/node': 22.13.14 fsevents: 2.3.3 less: 4.1.3 - lightningcss: 1.32.0 + lightningcss: 1.22.1 sass: 1.86.0 terser: 5.39.0 - vite@8.0.8(@types/node@18.19.84)(less@4.2.2)(sass@1.86.0)(terser@5.39.0)(tsx@4.20.5): + vite@5.4.15(@types/node@18.19.84)(less@4.2.2)(lightningcss@1.22.1)(sass@1.86.0)(terser@5.39.0): dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.9 - rolldown: 1.0.0-rc.15 - tinyglobby: 0.2.16 + esbuild: 0.21.5 + postcss: 8.5.3 + rollup: 4.38.0 optionalDependencies: '@types/node': 18.19.84 fsevents: 2.3.3 less: 4.2.2 + lightningcss: 1.22.1 sass: 1.86.0 terser: 5.39.0 - tsx: 4.20.5 vm-browserify@1.1.2: {} diff --git a/scripts/cli/create-dms-page/tsconfig.json b/scripts/cli/create-dms-page/tsconfig.json index aeaf722c9..af9c7a141 100644 --- a/scripts/cli/create-dms-page/tsconfig.json +++ b/scripts/cli/create-dms-page/tsconfig.json @@ -27,7 +27,7 @@ "module": "CommonJS" /* Specify what module code is generated. */, "rootDir": "./src" /* Specify the root folder within your source files. */, "moduleResolution": "Node" /* Specify how TypeScript looks up a file from a given module specifier. */, - // "baseUrl": "./" /* removed: deprecated in TS6 */, + "baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */, // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [ // "./src", diff --git a/scripts/cli/dms-kit-publish/tsconfig.json b/scripts/cli/dms-kit-publish/tsconfig.json index aeaf722c9..af9c7a141 100644 --- a/scripts/cli/dms-kit-publish/tsconfig.json +++ b/scripts/cli/dms-kit-publish/tsconfig.json @@ -27,7 +27,7 @@ "module": "CommonJS" /* Specify what module code is generated. */, "rootDir": "./src" /* Specify the root folder within your source files. */, "moduleResolution": "Node" /* Specify how TypeScript looks up a file from a given module specifier. */, - // "baseUrl": "./" /* removed: deprecated in TS6 */, + "baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */, // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [ // "./src", diff --git a/scripts/format/oxfmt-changed.mjs b/scripts/format/oxfmt-changed.mjs deleted file mode 100644 index c4c1a4c86..000000000 --- a/scripts/format/oxfmt-changed.mjs +++ /dev/null @@ -1,57 +0,0 @@ -import { spawnSync } from 'node:child_process'; - -const allowedPrefixes = ['packages/', 'scripts/cli/']; -const allowedExtensions = new Set([ - '.js', - '.jsx', - '.ts', - '.tsx', - '.json', - '.css', - '.less', - '.scss' -]); - -function runGit(args) { - const result = spawnSync('git', args, { encoding: 'utf8' }); - if (result.status !== 0) { - throw new Error(result.stderr || `git ${args.join(' ')} failed`); - } - return result.stdout - .split('\n') - .map((line) => line.trim()) - .filter(Boolean); -} - -function isAllowedFile(file) { - if (!allowedPrefixes.some((prefix) => file.startsWith(prefix))) { - return false; - } - if ( - file.includes('/node_modules/') || - file.includes('/dist/') || - file.includes('/coverage/') - ) { - return false; - } - const dot = file.lastIndexOf('.'); - const ext = dot >= 0 ? file.slice(dot) : ''; - return allowedExtensions.has(ext); -} - -const mode = process.argv.includes('--check') ? '--check' : '--write'; - -const changedTracked = runGit(['diff', '--name-only', '--diff-filter=ACMR', 'HEAD']); -const changedUntracked = runGit(['ls-files', '--others', '--exclude-standard']); -const merged = [...new Set([...changedTracked, ...changedUntracked])].filter( - isAllowedFile -); - -if (merged.length === 0) { - console.log('No changed files matched oxfmt scope.'); - process.exit(0); -} - -const args = ['oxfmt', mode, ...merged]; -const run = spawnSync('pnpm', args, { stdio: 'inherit' }); -process.exit(run.status ?? 1); diff --git a/scripts/jest/README.md b/scripts/jest/README.md index 04434d181..3d0d3bd88 100644 --- a/scripts/jest/README.md +++ b/scripts/jest/README.md @@ -37,36 +37,40 @@ menus = genMenuItemsWithMenuStructTree(DMS_ALL_MENUS, DMS_MENU_STRUCT); ### 架构图 ``` -pnpm jest(包级别) +pnpm jest │ -├── project: dms (dms=true) → 运行 *.test.tsx / *.ee.test.tsx -├── project: sqle-ce (ce=true) → 运行 *.ce.test.tsx / *.ce.sqle.test.tsx -└── project: sqle-ee (sqle=true) → 运行 *.sqle.test.tsx +├── project: ee (dms=true) → 运行 *.test.tsx / *.ee.test.tsx +├── project: ce (ce=true) → 运行 *.ce.test.tsx / *.ce.sqle.test.tsx +└── project: sqle (dms=false) → 运行 *.sqle.test.tsx │ └── 每个 project 由 custom-transform.js 用对应条件编译源代码 ``` --- -## Project 配置(`packages/tooling-config/jest/create-jest-config.js`) +## 三个 Project 的配置 -| Project | displayName | ee | ce | sqle | provision | dms | -|---|---|---|---|---|---|---| -| EE(默认)| `dms` | ✅ | ❌ | ✅ | ✅ | ✅ | -| CE(社区版)| `sqle-ce` | ❌ | ✅ | ✅ | ❌ | ❌ | -| SQLE-only | `sqle-ee` | ✅ | ❌ | ✅ | ❌ | ❌ | -| Provision | `provision` | ✅ | ❌ | ❌ | ✅ | ❌ | +| Project | displayName | ee | ce | sqle | provision | dms | demo | +|---|---|---|---|---|---|---|---| +| EE(默认)| `ee` | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | +| CE(社区版)| `ce` | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | +| SQLE-only | `sqle` | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | -各包通过 `enabledProjects` 按需开启所需 project: +### 各 Project 的文件匹配规则 -```js -// packages/base/jest.config.mjs -export default createJestConfig({ - packageRoot, - enabledProjects: ['dms', 'sqle-ce', 'sqle-ee'], - collectCoverageFrom: [ ... ] -}); -``` +**ee project**(默认): + +- 包含:`*.test.tsx`、`*.test.ts`(所有普通测试文件) +- 排除:`*.ce.test.*`、`*.sqle.test.*`(这些由其他 project 处理) + +**ce project**: + +- 仅包含:`*.ce.test.{ts,tsx}`、`*.ce.sqle.test.{ts,tsx}` + +**sqle project**: + +- 仅包含:`*.sqle.test.{ts,tsx}` +- 排除:`*.ce.sqle.test.*`(已归属 ce project) --- @@ -92,72 +96,85 @@ babel-jest (babel-preset-react-app) ← JSX / TypeScript 转换 Jest 可执行的 JS 代码 ``` +### 缓存 key 策略 + +```javascript +getCacheKey: (sourceText, sourcePath, options) => { + const conditions = options?.config?.globals?.TEST_CONDITIONS ?? getDefaultConditions(); + const baseKey = babelJestConfig.getCacheKey(sourceText, sourcePath, options); + return crypto.createHash('md5') + .update(baseKey) + .update(JSON.stringify(conditions)) + .digest('hex'); +} +``` + +同一源文件在 `ee` 和 `sqle` project 下会生成**不同的缓存 key**,确保两套编译结果各自独立存储。 + --- ## 测试文件命名约定 | 文件名 | 归属 Project | 对应源码分支 | |---|---|---| -| `Foo.test.tsx` | dms | `#else` / 默认 EE/DMS 分支 | -| `Foo.ee.test.tsx` | dms | 同上(显式标注) | -| `Foo.ce.test.tsx` | sqle-ce | `#if [ce]` / `#if [!ee]` 分支 | -| `Foo.ce.sqle.test.tsx` | sqle-ce | `#if [ce && sqle]` 组合条件分支 | -| `Foo.sqle.test.tsx` | sqle-ee | `#if [sqle && !dms]` 分支 | +| `Foo.test.tsx` | ee | `#else` / 默认 EE/DMS 分支 | +| `Foo.ee.test.tsx` | ee | 同上(显式标注) | +| `Foo.ce.test.tsx` | ce | `#if [ce]` / `#if [!ee]` 分支 | +| `Foo.ce.sqle.test.tsx` | ce | `#if [ce && sqle]` 组合条件分支 | +| `Foo.sqle.test.tsx` | sqle | `#if [sqle && !dms]` 分支 | **实际示例**: ``` packages/base/src/page/Nav/SideMenu/MenuList/ ├── index.tsx # 源文件(含 #if [sqle && !dms] 分支) -├── index.test.tsx # dms project → dms=true,DMS 模式(空菜单) -└── index.sqle.test.tsx # sqle-ee project → dms=false,SQLE 专属菜单 +├── index.test.tsx # ee project → dms=true,DMS 模式(空菜单) +└── index.sqle.test.tsx # sqle project → dms=false,SQLE 专属菜单 ``` --- ## 本地运行命令 -### 根目录(全量,按包并行执行) +所有命令均通过 `package.json` scripts 调用: + +### 开发时监视运行 ```bash -# 运行全部包的测试(非 watch) +# 运行全部 projects(ee + ce + sqle) pnpm test -# 全部包收集覆盖率(各包独立输出 packages//coverage/) -pnpm test:c -``` - -### 单包开发(watch 模式) +# 按路径过滤(推荐:开发时只跑相关文件) +pnpm test packages/base/src/page/Nav/SideMenu/MenuList -```bash -# 进入特定包目录开启 watch -pnpm --filter base test -pnpm --filter sqle test -pnpm --filter @actiontech/shared test +# 指定 project + 路径(sqle / ce / ee) +pnpm test packages/base/src/page/Nav/SideMenu/MenuList sqle -# 单包覆盖率 -pnpm --filter base test:c +# 只跑某个 project 的全部测试 +pnpm test "" sqle ``` -### 单包直接调用 jest(路径过滤、project 选择) +### 覆盖率报告(本地) ```bash -# 指定测试文件路径 -pnpm --filter base jest -- --testPathPattern="SideMenu/MenuList" +# 全量覆盖率 +pnpm test:c -# 指定 project -pnpm --filter base jest -- --selectProjects sqle-ee +# 路径过滤 +pnpm test:c packages/base/src/page/Nav/SideMenu/MenuList -# 指定 project + 路径 -pnpm --filter base jest -- --selectProjects sqle-ee --testPathPattern="SideMenu/MenuList" +# 指定 project +pnpm test:c packages/base/src/page/Nav/SideMenu/MenuList sqle ``` ### 更新快照 ```bash -# 在对应包目录下更新快照(需取消 CI 环境变量) -CI= pnpm --filter base jest -- --updateSnapshot --testPathPattern="MenuList/index" -CI= pnpm --filter base jest -- --selectProjects sqle-ee --updateSnapshot --testPathPattern="MenuList/index" +# 更新指定文件的快照(需取消 CI 环境变量) +CI= pnpm jest --updateSnapshot --testPathPattern="MenuList/index" + +# 更新指定 project 的快照 +CI= pnpm jest --selectProjects sqle --updateSnapshot --testPathPattern="MenuList/index" ``` ### 清理缓存 @@ -170,42 +187,51 @@ pnpm test:clean ## CI 流程(GitHub Actions) -### 执行步骤(Turbo + 按包覆盖率) +### 执行步骤 ``` ┌─────────────────────────────────────────────────────────┐ -│ test job │ +│ test job (matrix: shard [1,2,3,4]) │ │ │ -│ pnpm test:ci:turbo │ +│ run-ci.sh $shard_index $shard_count │ │ │ │ -│ └── turbo run test:ci --filter='./packages/*' │ -│ ├── packages/base/test:ci │ -│ ├── packages/dms-kit/test:ci │ -│ ├── packages/shared/test:ci │ -│ └── packages/sqle/test:ci │ -│ │ -│ 每个包独立产出 coverage/report.json │ +│ ├── pnpm test:clean │ +│ ├── pnpm jest --ci --shard=$i/4 │ +│ │ ├── ee project ┐ │ +│ │ ├── ce project ├── 全部 project 的测试 │ +│ │ └── sqle project ┘ 被统一 shard │ +│ ├── coverage/report-$i.json │ +│ └── coverage/coverage-final-$i.json │ └─────────────────────────────────────────────────────────┘ - ↓ + ↓ ┌─────────────────────────────────────────────────────────┐ │ report job (needs: test) │ │ │ -│ 下载各包 coverage artifact │ -│ 对每个包分别执行 ArtiomTr/jest-coverage-report-action │ +│ 下载 4 个 shard 的 artifacts │ +│ node merge-report-json.js │ +│ ├── 合并 4 份 report-*.json(测试计数) │ +│ └── 合并 4 份 coverage-final-*.json(覆盖率) │ +│ │ +│ → coverage-merged.json(最终报告) │ └─────────────────────────────────────────────────────────┘ ``` ---- +### Shard 机制 + +Jest 的 `--shard=i/N` 将**所有 project 的测试文件总集合**平均分配到 N 个 runner 上。 + +- 添加新的 project 会自动被纳入分片,无需修改 CI 配置 +- `SHARD_COUNT` 环境变量控制 `merge-report-json.js` 的合并逻辑(默认值 4,与 matrix 一致) -## 各脚本对比 +### 关键脚本 -| 脚本 | 执行方式 | watch | 覆盖率 | 用途 | -|---|---|---|---|---| -| `pnpm test`(根目录) | pnpm 并行,按包 | ❌ | ❌ | 本地全量验证 | -| `pnpm test:c`(根目录) | pnpm 并行,按包 | ❌ | ✅ 各包独立 | 本地覆盖率报告 | -| `pnpm --filter test` | 单包 jest | ✅ | ❌ | 开发时 watch | -| `pnpm --filter test:c` | 单包 jest | ❌ | ✅ | 单包覆盖率 | -| `pnpm test:ci:turbo` | turbo 并行,按包 | ❌ | ✅ + json | CI 流水线 | +| 脚本 | 用途 | +|---|---| +| `scripts/jest/run-ci.sh` | CI 单个 shard 的完整执行流程 | +| `scripts/jest/merge-report-json.js` | 合并所有 shard 的覆盖率与测试报告 | +| `scripts/jest/custom-transform.js` | 条件编译 + Babel 的自定义 transformer | +| `scripts/jest/run.sh` | 本地开发监视模式运行入口 | +| `scripts/jest/run-coverage.sh` | 本地覆盖率报告运行入口 | --- @@ -213,44 +239,44 @@ pnpm test:clean 当出现新的条件组合(例如需要专门覆盖 `provision=true, dms=false` 的代码分支)时: -### 第一步:在 `packages/tooling-config/jest/create-jest-config.js` 中注册 project +### 第一步:在 `jest.config.js` 中添加 project ```javascript -const PROJECT_CONDITIONS = { - // ... 已有 project - 'my-new-project': { - ee: true, ce: false, sqle: false, provision: true, dms: false - } -}; +{ + ...sharedProjectConfig, + displayName: 'provision', + globals: { + TEST_CONDITIONS: { + ee: true, ce: false, sqle: true, + provision: true, dms: false, demo: false + } + }, + testMatch: ['**/*.provision.test.{ts,tsx}'], + testPathIgnorePatterns: sharedIgnorePatterns +} ``` -### 第二步:在需要的包的 `jest.config.mjs` 中启用 +### 第二步:按约定命名测试文件 -```js -export default createJestConfig({ - packageRoot, - enabledProjects: ['dms', 'sqle-ce', 'my-new-project'], - collectCoverageFrom: [ ... ] -}); +``` +Foo.provision.test.tsx ``` -### 第三步:按约定命名测试文件 +### 第三步:编写测试 -``` -Foo.my-new-project.test.tsx -``` +测试文件无需任何特殊配置,直接按普通测试文件结构编写即可。 ### 第四步:验证 ```bash -pnpm --filter base jest -- --selectProjects my-new-project +pnpm test "" provision ``` --- ## 常见问题 -### Q:为何在 dms project 下 MenuList 的菜单是空的? +### Q:为何在 ee project 下 MenuList 的菜单是空的? **A**:`dms=true` 时源码走 `#else` 分支,使用 `DMS_ALL_MENUS` 和 `DMS_MENU_STRUCT`。这两个变量在本仓库中均为空数组(DMS 菜单由 `dms-ui-ee` 仓库维护)。这是预期行为,对应的 `index.test.tsx` 已验证此空菜单状态。 @@ -259,29 +285,31 @@ pnpm --filter base jest -- --selectProjects my-new-project **A**:运行时 Jest 会在每行测试结果前显示 project 名,例如: ``` -PASS dms packages/base/src/page/Nav/SideMenu/MenuList/index.test.tsx -PASS sqle-ee packages/base/src/page/Nav/SideMenu/MenuList/index.sqle.test.tsx +PASS ee packages/base/src/page/Nav/SideMenu/MenuList/index.test.tsx +PASS sqle packages/base/src/page/Nav/SideMenu/MenuList/index.sqle.test.tsx ``` -也可以用 `--selectProjects sqle-ee` 明确指定只运行某个 project。 +也可以用 `--selectProjects sqle` 明确指定只运行 sqle project。 ### Q:更新快照时为何提示 "New snapshot was not written"? **A**:这是因为 `CI=true` 环境变量被设置。本地更新快照时需要: ```bash -CI= pnpm --filter base jest -- --updateSnapshot --testPathPattern="" +CI= pnpm jest --updateSnapshot --testPathPattern="" ``` ### Q:两个 project 能运行同一个测试文件吗? -**A**:不能,文件命名约定保证了互斥性。`dms` project 通过 `testPathIgnorePatterns` 排除了 `*.ce.test.*` 和 `*.sqle.test.*`;`sqle-ce` 和 `sqle-ee` project 通过 `testRegex` 只匹配特定命名模式。 +**A**:不能,文件命名约定保证了互斥性。`ee` project 通过 `testPathIgnorePatterns` 排除了 `*.ce.test.*` 和 `*.sqle.test.*`;`ce` 和 `sqle` project 通过 `testMatch` 只匹配特定命名模式。 --- ## 参考文件 -- [`packages/tooling-config/jest/create-jest-config.js`](../../packages/tooling-config/jest/create-jest-config.js) — Jest Projects 配置工厂函数 +- [`jest.config.js`](../../jest.config.js) — Jest Projects 完整配置 - [`scripts/jest/custom-transform.js`](./custom-transform.js) — 条件编译 transformer +- [`scripts/jest/run-ci.sh`](./run-ci.sh) — CI shard 执行脚本 +- [`scripts/jest/merge-report-json.js`](./merge-report-json.js) — 报告合并脚本 - [`.github/workflows/main.yml`](../../.github/workflows/main.yml) — GitHub Actions CI 配置 - [`.cursor/commands/unit-testing.md`](../../.cursor/commands/unit-testing.md) — 单元测试编写规范 diff --git a/scripts/jest/merge-report-json.js b/scripts/jest/merge-report-json.js new file mode 100644 index 000000000..ff05e65c9 --- /dev/null +++ b/scripts/jest/merge-report-json.js @@ -0,0 +1,86 @@ +// https://github.com/ArtiomTr/jest-coverage-report-action/issues/244 + +const path = require('path'); +const fs = require('fs'); +const istanbul = require('istanbul-lib-coverage'); + +const SHARD_COUNT = parseInt(process.env.SHARD_COUNT || '4', 10); + +const finalReportJSONFilePath = path.resolve( + process.cwd(), + 'coverage-merged.json' +); + +for (let i = 1; i <= SHARD_COUNT; i++) { + const reportPath = path.resolve( + process.cwd(), + `coverage/report-${i}.json` + ); + if (!fs.existsSync(reportPath)) { + console.error(`not found report-${i}.json: ${reportPath}`); + process.exit(1); + } +} + +const coverageJsonReport = Array.from({ length: SHARD_COUNT }, (_, i) => + require(path.resolve(process.cwd(), `coverage/report-${i + 1}.json`)) +).reduce( + (acc, cur) => ({ + numFailedTestSuites: + (acc.numFailedTestSuites ?? 0) + cur.numFailedTestSuites, + numFailedTests: (acc.numFailedTests ?? 0) + cur.numFailedTests, + numPassedTestSuites: + (acc.numPassedTestSuites ?? 0) + cur.numPassedTestSuites, + numPassedTests: (acc.numPassedTests ?? 0) + cur.numPassedTests, + numPendingTestSuites: + (acc.numPendingTestSuites ?? 0) + cur.numPendingTestSuites, + numPendingTests: (acc.numPendingTests ?? 0) + cur.numPendingTests, + numRuntimeErrorTestSuites: + (acc.numRuntimeErrorTestSuites ?? 0) + cur.numRuntimeErrorTestSuites, + numTodoTests: (acc.numTodoTests ?? 0) + cur.numTodoTests, + numTotalTestSuites: (acc.numTotalTestSuites ?? 0) + cur.numTotalTestSuites, + numTotalTests: (acc.numTotalTests ?? 0) + cur.numTotalTests, + success: (acc.success ?? true) && cur.success + }), + {} +); + +const coverageMergedDir = path.resolve(process.cwd(), 'coverage-merged'); +if (!fs.existsSync(coverageMergedDir)) { + fs.mkdirSync(coverageMergedDir); +} + +for (let i = 1; i <= SHARD_COUNT; i++) { + const src = path.resolve( + process.cwd(), + `coverage/coverage-final-${i}.json` + ); + if (fs.existsSync(src)) { + fs.renameSync( + src, + path.resolve(coverageMergedDir, `coverage-map-${i}.json`) + ); + } +} + +const mergeCoverageReport = istanbul.createCoverageMap({}); + +fs.readdirSync(coverageMergedDir).forEach((file) => { + const json = fs.readFileSync(path.resolve(coverageMergedDir, file)); + mergeCoverageReport.merge(JSON.parse(json)); +}); + +coverageJsonReport.coverageMap = mergeCoverageReport; + +fs.writeFile( + finalReportJSONFilePath, + JSON.stringify(coverageJsonReport), + (err) => { + if (err) { + console.error(err); + process.exit(1); + } + + console.log('Coverage report merged to ' + finalReportJSONFilePath); + } +); diff --git a/scripts/jest/run-ci.sh b/scripts/jest/run-ci.sh new file mode 100644 index 000000000..0d04ad862 --- /dev/null +++ b/scripts/jest/run-ci.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +shard_index=${1:-1} +shard_count=${2:-1} + +pnpm test:clean +pnpm jest --ci --maxWorkers=50% --silent --watchAll=false --coverage --coverageDirectory=coverage --json --testLocationInResults --outputFile=coverage/report.json --shard=$shard_index/$shard_count +if [ $? -ne 0 ]; then + echo "Jest test failed." + exit 1 +fi + +mv coverage/report.json coverage/report-$shard_index.json +if [ $? -ne 0 ]; then + echo "Move report.json failed." + exit 1 +fi + +mv coverage/coverage-final.json coverage/coverage-final-$shard_index.json +if [ $? -ne 0 ]; then + echo "Move coverage-final.json failed." + exit 1 +fi + +rm -rf coverage/lcov-report coverage/clover.xml coverage/lcov.info +if [ $? -ne 0 ]; then + echo "Jest test failed." + exit 1 +fi diff --git a/scripts/jest/run-coverage.sh b/scripts/jest/run-coverage.sh new file mode 100644 index 000000000..0bb8bb629 --- /dev/null +++ b/scripts/jest/run-coverage.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# Usage: pnpm test:c [path] [project] +# +# Arguments: +# path - (optional) test path pattern, e.g. packages/sqle/src/components/Foo +# project - (optional) project name: ee | ce (default: runs both) + +test_path="${1:-}" +test_project="${2:-}" + +echo "project: ${test_project:-all} | path: ${test_path:-all}" + +pnpm test:clean + +base_args="--watchAll=false --coverage --coverageDirectory=coverage --logHeapUsage" + +if [ -n "$test_project" ]; then + base_args="$base_args --selectProjects $test_project" +fi + +if [ -n "$test_path" ]; then + pnpm jest $base_args --testPathPattern="$test_path" +else + pnpm jest $base_args +fi diff --git a/scripts/jest/run.sh b/scripts/jest/run.sh new file mode 100644 index 000000000..5044549cc --- /dev/null +++ b/scripts/jest/run.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +# Usage: pnpm test [path] [project] +# +# Arguments: +# path - (optional) test path pattern, e.g. packages/sqle/src/components/Foo +# project - (optional) project name: ee | ce (default: runs both) +# +# Examples: +# pnpm test → all projects, all tests +# pnpm test "" ee → ee project, all tests +# pnpm test packages/sqle/src/components/Foo → all projects, filtered path +# pnpm test packages/sqle/src/components/Foo ee → ee project, filtered path + +test_path="${1:-}" +test_project="${2:-}" + +base_args="--maxWorkers=50% --watchAll=true" + +if [ -n "$test_project" ]; then + base_args="$base_args --selectProjects $test_project" +fi + +if [ -n "$test_path" ]; then + # Use --testPathPattern explicitly; positional args are ignored in --watchAll mode + pnpm jest $base_args --testPathPattern="$test_path" +else + pnpm jest $base_args +fi diff --git a/tsconfig.json b/tsconfig.json index 16410eab3..7cb34100a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,26 @@ { - "extends": "./packages/tooling-config/tsconfig/base.json", "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", "paths": { "~/*": ["./src/*"] } }, - "exclude": ["**/demo/**", "**/demos/**"] + "exclude": [ + "**/demo/**", + "**/demos/**" + ] } diff --git a/turbo.json b/turbo.json deleted file mode 100644 index 8cb6060de..000000000 --- a/turbo.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "$schema": "https://turbo.build/schema.json", - "tasks": { - "build": { - "dependsOn": ["^build"], - "cache": false, - "outputs": ["dist/**", "lib/**", "es/**", "build/**"] - }, - "test:ci": { - "dependsOn": [], - "cache": false, - "outputs": ["coverage/**"] - }, - "oxlint": { - "dependsOn": [], - "cache": false, - "outputs": [] - }, - "typecheck": { - "dependsOn": [], - "cache": false, - "outputs": [] - }, - "stylelint": { - "dependsOn": [], - "cache": false, - "outputs": [] - }, - "check": { - "dependsOn": ["oxlint", "typecheck", "stylelint"], - "cache": false, - "outputs": [] - }, - "start": { - "dependsOn": [], - "cache": false, - "persistent": true - }, - "start:ee": { - "dependsOn": [], - "cache": false, - "persistent": true - }, - "start:demo": { - "dependsOn": [], - "cache": false, - "persistent": true - } - } -}