diff --git a/.vscode/settings.json b/.vscode/settings.json index 0e44f1cb9cb..67c80d44453 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "diffEditor.wordWrap": "on", "editor.rename.enablePreview": false, - "nxConsole.generateAiAgentRules": true + "nxConsole.generateAiAgentRules": true, + "eslint.validate": ["json"] } diff --git a/apps/rslib-module/package.json b/apps/rslib-module/package.json index b17a32e469d..e8c751decf6 100644 --- a/apps/rslib-module/package.json +++ b/apps/rslib-module/package.json @@ -23,7 +23,7 @@ "@module-federation/rsbuild-plugin": "workspace:*", "@module-federation/storybook-addon": "workspace:*", "@rsbuild/plugin-react": "^1.0.6", - "@rslib/core": "0.2.0", + "@rslib/core": "0.10.4", "@types/react": "^18.3.11", "http-server": "^14.1.1", "react": "^18.3.1", diff --git a/apps/rslib-module/project.json b/apps/rslib-module/project.json index 33767a5b36e..534b0563d1e 100644 --- a/apps/rslib-module/project.json +++ b/apps/rslib-module/project.json @@ -1,16 +1,41 @@ { "name": "rslib-module", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/rslib-module/src", + "sourceRoot": "apps/rslib-module/src", "projectType": "library", "tags": ["type:app"], "targets": { "build": { - "executor": "nx:run-commands", + "executor": "../../tools/rslib-plugin:build", + "outputs": ["{projectRoot}/dist"], "options": { - "commands": ["npm run build --prefix apps/rslib-module"] + "configFile": "rslib.config.ts", + "mode": "production" + }, + "configurations": { + "development": { + "mode": "development" + }, + "watch": { + "watch": true + } } }, + "dev": { + "executor": "../../tools/rslib-plugin:dev", + "options": { + "configFile": "rslib.config.ts", + "mode": "mf-dev", + "port": 3001, + "open": false + }, + "dependsOn": [ + { + "target": "build", + "dependencies": true + } + ] + }, "serve": { "executor": "nx:run-commands", "options": { @@ -23,10 +48,11 @@ } ] }, - "dev": { - "executor": "nx:run-commands", + "build-watch": { + "executor": "../../tools/rslib-plugin:dev", "options": { - "commands": ["npm run dev --prefix apps/rslib-module"] + "configFile": "rslib.config.ts", + "mode": "watch" }, "dependsOn": [ { @@ -35,6 +61,22 @@ } ] }, + "test": { + "executor": "../../tools/rslib-plugin:build", + "options": { + "configFile": "rslib.config.ts", + "mode": "development", + "verbose": true + } + }, + "test:watch": { + "executor": "../../tools/rslib-plugin:build", + "options": { + "configFile": "rslib.config.ts", + "mode": "development", + "watch": true + } + }, "storybook": { "executor": "nx:run-commands", "options": { diff --git a/nx.json b/nx.json index 4d62dbd7190..1af8129cddf 100644 --- a/nx.json +++ b/nx.json @@ -7,7 +7,12 @@ "cache": true }, "lint": { - "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], + "inputs": [ + "default", + "{workspaceRoot}/.eslintrc.json", + "{workspaceRoot}/.eslintignore", + "{workspaceRoot}/eslint.config.js" + ], "cache": true }, "test": { @@ -48,23 +53,30 @@ }, "@module-federation/3002-checkout:build:production": { "cache": false + }, + "@nx/js:tsc": { + "cache": true, + "dependsOn": ["^build"], + "inputs": ["production", "^production"] + }, + "@nx/vite:test": { + "cache": true, + "inputs": ["default", "^production"] } }, "namedInputs": { "default": ["{projectRoot}/**/*", "sharedGlobals"], "production": [ "default", - "!{projectRoot}/.eslintrc.json", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", "!{projectRoot}/tsconfig.spec.json", "!{projectRoot}/jest.config.[jt]s", - "!{projectRoot}/vitest.config.[jt]s", - "!{projectRoot}/.storybook/**/*", - "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)", "!{projectRoot}/src/test-setup.[jt]s", - "!{projectRoot}/tsconfig.storybook.json" + "!{projectRoot}/test-setup.[jt]s", + "!{projectRoot}/.eslintrc.json", + "!{projectRoot}/eslint.config.js" ], - "sharedGlobals": ["{workspaceRoot}/babel.config.json"] + "sharedGlobals": [] }, "workspaceLayout": { "appsDir": "apps", @@ -106,5 +118,8 @@ }, "useInferencePlugins": false, "defaultBase": "main", - "nxCloudAccessToken": "NTVlZTRhOWItMGRjYy00YmJjLTllNzAtNDFkNzRhNzdjZDkwfHJlYWQtd3JpdGU=" + "nxCloudAccessToken": "NTVlZTRhOWItMGRjYy00YmJjLTllNzAtNDFkNzRhNzdjZDkwfHJlYWQtd3JpdGU=", + "cli": { + "tui": false + } } diff --git a/package.json b/package.json index d0110b108a9..63e4099f71c 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,7 @@ "@nx/module-federation": "21.0.3", "@nx/next": "21.0.3", "@nx/node": "21.0.3", + "@nx/plugin": "21.0.3", "@nx/react": "21.0.3", "@nx/rollup": "21.0.3", "@nx/rspack": "21.0.3", @@ -127,6 +128,7 @@ "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", "@rollup/plugin-alias": "5.1.1", "@rollup/plugin-replace": "6.0.1", + "@rslib/core": "^0.10.4", "@rspack/core": "1.3.9", "@rspack/dev-server": "1.1.1", "@semantic-release/changelog": "^6.0.3", @@ -198,6 +200,8 @@ "jest-environment-node": "29.7.0", "jiti": "2.4.2", "js-yaml": "4.1.0", + "jsdom": "~22.1.0", + "jsonc-eslint-parser": "^2.1.0", "kill-port": "^2.0.1", "mime-types": "2.1.35", "msw": "^1.2.1", diff --git a/packages/bridge/vue3-bridge/tsconfig.json b/packages/bridge/vue3-bridge/tsconfig.json index d3f8fdd8f2a..f2e68e05e02 100644 --- a/packages/bridge/vue3-bridge/tsconfig.json +++ b/packages/bridge/vue3-bridge/tsconfig.json @@ -37,5 +37,6 @@ "src/remoteApp.tsx", "src/create.ts" ], + "exclude": ["../../runtime-core/dist/**/*"], "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/chrome-devtools/tsconfig.json b/packages/chrome-devtools/tsconfig.json index 6d37c19e9ef..9dc277ceba0 100644 --- a/packages/chrome-devtools/tsconfig.json +++ b/packages/chrome-devtools/tsconfig.json @@ -3,5 +3,6 @@ "compilerOptions": { "types": ["chrome"] }, - "include": ["src", "shared", "modern.config.ts"] + "include": ["src", "shared", "modern.config.ts"], + "exclude": ["../runtime-core/dist/**/*"] } diff --git a/packages/chrome-devtools/tsconfig.lib.json b/packages/chrome-devtools/tsconfig.lib.json index b0ea9d8ab66..209579d3e69 100644 --- a/packages/chrome-devtools/tsconfig.lib.json +++ b/packages/chrome-devtools/tsconfig.lib.json @@ -1,4 +1,5 @@ { "extends": "./tsconfig.base.json", - "include": ["src", "stories"] + "include": ["src", "stories"], + "exclude": ["../runtime-core/dist/**/*"] } diff --git a/packages/enhanced/tsconfig.lib.json b/packages/enhanced/tsconfig.lib.json index e81b9104e63..32d914acd77 100644 --- a/packages/enhanced/tsconfig.lib.json +++ b/packages/enhanced/tsconfig.lib.json @@ -11,6 +11,8 @@ "src/**/*.spec.ts", "src/**/*.test.ts", "dist/**", - "node_modules/**" + "node_modules/**", + "../runtime-core/src/**", + "../runtime-core/global.d.ts" ] } diff --git a/packages/error-codes/project.json b/packages/error-codes/project.json index 322be8e8734..eaeb375d2e8 100644 --- a/packages/error-codes/project.json +++ b/packages/error-codes/project.json @@ -66,6 +66,12 @@ } ] } + }, + "echo": { + "executor": "../../tools/rslib-plugin:echo", + "options": { + "textToEcho": "Hello World" + } } } } diff --git a/packages/runtime-core/global.d.ts b/packages/runtime-core/global.d.ts deleted file mode 100644 index a74d2d87a02..00000000000 --- a/packages/runtime-core/global.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare const __VERSION__: string; -declare const FEDERATION_DEBUG: string; -declare const FEDERATION_BUILD_IDENTIFIER: string | undefined; -declare const __RELEASE_NUMBER__: number; -declare const FEDERATION_ALLOW_NEW_FUNCTION: string | undefined; diff --git a/packages/runtime-core/package.json b/packages/runtime-core/package.json index 10252325b74..569e1b76894 100644 --- a/packages/runtime-core/package.json +++ b/packages/runtime-core/package.json @@ -1,11 +1,11 @@ { "name": "@module-federation/runtime-core", - "version": "0.14.0", + "version": "0.16.0", "type": "module", "author": "zhouxiao ", - "main": "./dist/index.cjs.cjs", - "module": "./dist/index.esm.js", - "types": "./dist/index.cjs.d.ts", + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "license": "MIT", "publishConfig": { "access": "public" @@ -19,40 +19,76 @@ "dist/", "README.md" ], + "scripts": { + "build": "rslib build" + }, "exports": { ".": { "import": { - "types": "./dist/index.esm.d.ts", - "default": "./dist/index.esm.js" + "types": "./dist/index.d.ts", + "default": "./dist/index.js" }, "require": { - "types": "./dist/index.cjs.d.ts", - "default": "./dist/index.cjs.cjs" + "types": "./dist/index.d.ts", + "default": "./dist/index.cjs" } }, "./types": { "import": { - "types": "./dist/types.esm.d.ts", - "default": "./dist/types.esm.js" + "types": "./dist/types.d.ts", + "default": "./dist/types.js" }, "require": { - "types": "./dist/types.cjs.d.ts", - "default": "./dist/types.cjs.cjs" + "types": "./dist/types.d.ts", + "default": "./dist/types.cjs" + } + }, + "./helpers": { + "import": { + "types": "./dist/helpers.d.ts", + "default": "./dist/helpers.js" + }, + "require": { + "types": "./dist/helpers.d.ts", + "default": "./dist/helpers.cjs" + } + }, + "./core": { + "import": { + "types": "./dist/core.d.ts", + "default": "./dist/core.js" + }, + "require": { + "types": "./dist/core.d.ts", + "default": "./dist/core.cjs" + } + }, + "./global": { + "import": { + "types": "./dist/global.d.ts", + "default": "./dist/global.js" + }, + "require": { + "types": "./dist/global.d.ts", + "default": "./dist/global.cjs" } } }, "typesVersions": { "*": { ".": [ - "./dist/index.cjs.d.ts" + "./dist/index.d.ts" ], "types": [ - "./dist/types.cjs.d.ts" + "./dist/types.d.ts" ] } }, "dependencies": { - "@module-federation/sdk": "workspace:*", - "@module-federation/error-codes": "workspace:*" + "@module-federation/error-codes": "workspace:*", + "@module-federation/sdk": "workspace:*" + }, + "devDependencies": { + "@rslib/core": "^0.10.4" } } diff --git a/packages/runtime-core/project.json b/packages/runtime-core/project.json index 497a680659b..8f1b2b40499 100644 --- a/packages/runtime-core/project.json +++ b/packages/runtime-core/project.json @@ -6,21 +6,13 @@ "tags": ["type:pkg"], "targets": { "build": { - "executor": "@nx/rollup:rollup", + "executor": "../../tools/rslib-plugin:build", "outputs": ["{workspaceRoot}/packages/runtime-core/dist"], "options": { - "parallel": false, + "configFile": "rslib.config.ts", "outputPath": "packages/runtime-core/dist", - "main": "packages/runtime-core/src/index.ts", - "additionalEntryPoints": ["packages/runtime-core/src/types.ts"], - "tsConfig": "packages/runtime-core/tsconfig.lib.json", - "assets": [], - "external": ["@module-federation/*"], - "project": "packages/runtime-core/package.json", - "compiler": "swc", - "rollupConfig": "packages/runtime-core/rollup.config.cjs", - "format": ["cjs", "esm"], - "generatePackageJson": false + "mode": "production", + "verbose": true }, "dependsOn": [ { diff --git a/packages/runtime-core/rslib.config.ts b/packages/runtime-core/rslib.config.ts new file mode 100644 index 00000000000..adb95820b92 --- /dev/null +++ b/packages/runtime-core/rslib.config.ts @@ -0,0 +1,44 @@ +import { defineConfig } from '@rslib/core'; +import pkg from './package.json'; +const FEDERATION_DEBUG = process.env.FEDERATION_DEBUG || ''; + +export default defineConfig({ + source: { + entry: { + index: './src/index.ts', + types: './src/types.ts', + helpers: './src/helpers.ts', + core: './src/core.ts', + global: './src/global.ts', + }, + define: { + __VERSION__: JSON.stringify(pkg.version), + FEDERATION_DEBUG: JSON.stringify(FEDERATION_DEBUG), + FEDERATION_ALLOW_NEW_FUNCTION: JSON.stringify( + process.env.FEDERATION_ALLOW_NEW_FUNCTION || false, + ), + }, + tsconfigPath: './tsconfig.lib.json', + }, + output: { + target: 'node', + format: ['esm', 'cjs'], + distPath: { + root: './dist', + }, + }, + lib: [ + { + format: 'esm', + dts: { + bundle: false, + distPath: './dist', + }, + }, + { + format: 'cjs', + }, + ], + bundle: false, + external: ['@module-federation/sdk', '@module-federation/error-codes'], +}); diff --git a/packages/runtime-core/src/env.d.ts b/packages/runtime-core/src/env.d.ts new file mode 100644 index 00000000000..6228b2a367b --- /dev/null +++ b/packages/runtime-core/src/env.d.ts @@ -0,0 +1,5 @@ +/// + +declare const __VERSION__: string; +declare const FEDERATION_DEBUG: string; +declare const FEDERATION_ALLOW_NEW_FUNCTION: boolean | string; diff --git a/packages/runtime-core/src/global-types.d.ts b/packages/runtime-core/src/global-types.d.ts new file mode 100644 index 00000000000..5e1762888b5 --- /dev/null +++ b/packages/runtime-core/src/global-types.d.ts @@ -0,0 +1,13 @@ +import { Federation } from './global'; +import { RemoteEntryExports } from './type'; + +declare global { + // eslint-disable-next-line no-var + var __FEDERATION__: Federation, + __VMOK__: Federation, + // eslint-disable-next-line no-var + __GLOBAL_LOADING_REMOTE_ENTRY__: Record< + string, + undefined | Promise + >; +} diff --git a/packages/runtime-core/src/global.ts b/packages/runtime-core/src/global.ts index 85f3d9a9dbd..e8707ee2e44 100644 --- a/packages/runtime-core/src/global.ts +++ b/packages/runtime-core/src/global.ts @@ -38,16 +38,8 @@ export const nativeGlobal: typeof global = (() => { export const Global = nativeGlobal; -declare global { - // eslint-disable-next-line no-var - var __FEDERATION__: Federation, - __VMOK__: Federation, - // eslint-disable-next-line no-var - __GLOBAL_LOADING_REMOTE_ENTRY__: Record< - string, - undefined | Promise - >; -} +// Move global declarations to a separate ambient declaration file +// to avoid conflicts with generated .d.ts files function definePropertyGlobalVal( target: typeof CurrentGlobal, diff --git a/packages/runtime-core/src/index.ts b/packages/runtime-core/src/index.ts index 400f85d47cc..3b96dd90716 100644 --- a/packages/runtime-core/src/index.ts +++ b/packages/runtime-core/src/index.ts @@ -12,7 +12,14 @@ export { getGlobalSnapshot, getInfoWithoutType, } from './global'; -export type { UserOptions, FederationRuntimePlugin } from './type'; +export type { + UserOptions, + FederationRuntimePlugin, + Shared, + Remote, + RemoteEntryInitOptions, + SharedConfig, +} from './type'; export { assert } from './utils/logger'; export { registerGlobalPlugins } from './global'; export { diff --git a/packages/runtime-core/src/plugins/generate-preload-assets.ts b/packages/runtime-core/src/plugins/generate-preload-assets.ts index 22f15509f8d..eec5ad92a27 100644 --- a/packages/runtime-core/src/plugins/generate-preload-assets.ts +++ b/packages/runtime-core/src/plugins/generate-preload-assets.ts @@ -6,6 +6,7 @@ import { getResourceUrl, isBrowserEnv, } from '@module-federation/sdk'; + import { EntryAssets, FederationRuntimePlugin, diff --git a/packages/runtime-core/tsconfig.json b/packages/runtime-core/tsconfig.json index ea7082763db..28e732c4785 100644 --- a/packages/runtime-core/tsconfig.json +++ b/packages/runtime-core/tsconfig.json @@ -11,7 +11,12 @@ }, "files": [], "include": [], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "exclude": [ + "jest.config.ts", + "src/**/*.spec.ts", + "src/**/*.test.ts", + "dist/**/*" + ], "references": [ { "path": "./tsconfig.lib.json" diff --git a/packages/runtime-core/tsconfig.lib.json b/packages/runtime-core/tsconfig.lib.json index a51e17924d1..899c7c54588 100644 --- a/packages/runtime-core/tsconfig.lib.json +++ b/packages/runtime-core/tsconfig.lib.json @@ -1,10 +1,20 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", + "outDir": "./dist", + "declarationDir": "./dist", "declaration": true, - "types": ["node"] + "declarationMap": true, + "isolatedModules": true, + "emitDeclarationOnly": false, + "types": ["node"], + "rootDir": "./src" }, - "include": ["src/**/*.ts", "global.d.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] + "include": ["src/**/*.ts", "src/env.d.ts"], + "exclude": [ + "jest.config.ts", + "src/**/*.spec.ts", + "src/**/*.test.ts", + "dist/**/*" + ] } diff --git a/packages/runtime/src/core.ts b/packages/runtime/src/core.ts index e4dad252725..35a3764b371 100644 --- a/packages/runtime/src/core.ts +++ b/packages/runtime/src/core.ts @@ -1,4 +1,4 @@ -import runtimeCore from '@module-federation/runtime-core'; +import * as runtimeCore from '@module-federation/runtime-core'; export * from '@module-federation/runtime-core'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 090cac6322d..ae6784a7ef9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -149,6 +149,9 @@ importers: '@nx/node': specifier: 21.0.3 version: 21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.0.3)(typescript@5.7.3)(verdaccio@6.1.2) + '@nx/plugin': + specifier: 21.0.3 + version: 21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.0.3)(typescript@5.7.3)(verdaccio@6.1.2) '@nx/react': specifier: 21.0.3 version: 21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(esbuild@0.25.0)(eslint@8.57.1)(next@14.2.16)(nx@21.0.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.7.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack-cli@5.1.4)(webpack@5.98.0) @@ -179,6 +182,9 @@ importers: '@rollup/plugin-replace': specifier: 6.0.1 version: 6.0.1(rollup@4.40.0) + '@rslib/core': + specifier: ^0.10.4 + version: 0.10.4(typescript@5.7.3) '@rspack/core': specifier: 1.3.9 version: 1.3.9(@swc/helpers@0.5.13) @@ -392,6 +398,12 @@ importers: js-yaml: specifier: 4.1.0 version: 4.1.0 + jsdom: + specifier: ~22.1.0 + version: 22.1.0 + jsonc-eslint-parser: + specifier: ^2.1.0 + version: 2.4.0 kill-port: specifier: ^2.0.1 version: 2.0.1 @@ -481,7 +493,7 @@ importers: version: 4.2.3(typescript@5.7.3)(vite@6.3.5) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + version: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) vitest-fetch-mock: specifier: ^0.2.2 version: 0.2.2(encoding@0.1.13)(vitest@1.6.0) @@ -1883,10 +1895,10 @@ importers: version: link:../../packages/storybook-addon '@rsbuild/plugin-react': specifier: ^1.0.6 - version: 1.0.6(@rsbuild/core@1.3.17) + version: 1.0.6(@rsbuild/core@1.4.3) '@rslib/core': - specifier: 0.2.0 - version: 0.2.0(typescript@5.7.3) + specifier: 0.10.4 + version: 0.10.4(typescript@5.7.3) '@types/react': specifier: ^18.3.11 version: 18.3.11 @@ -1904,10 +1916,10 @@ importers: version: 8.4.2(prettier@3.3.3) storybook-addon-rslib: specifier: ^0.1.4 - version: 0.1.4(@rsbuild/core@1.3.17)(@rslib/core@0.2.0)(storybook-builder-rsbuild@1.0.1)(typescript@5.7.3) + version: 0.1.4(@rsbuild/core@1.4.3)(@rslib/core@0.10.4)(storybook-builder-rsbuild@1.0.1)(typescript@5.7.3) storybook-react-rsbuild: specifier: ^0.1.5 - version: 0.1.5(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1)(rollup@4.40.0)(storybook@8.4.2)(typescript@5.7.3)(webpack@5.98.0) + version: 0.1.5(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1)(rollup@4.40.0)(storybook@8.4.2)(typescript@5.7.3)(webpack@5.98.0) apps/runtime-demo/3005-runtime-host: dependencies: @@ -2291,7 +2303,7 @@ importers: version: 5.0.4 vitest: specifier: 1.2.2 - version: 1.2.2(@types/node@20.12.14)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + version: 1.2.2(@types/node@20.12.14)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) packages/cli: dependencies: @@ -3031,6 +3043,19 @@ importers: specifier: workspace:* version: link:../sdk + tools/rslib-plugin: + dependencies: + '@nx/devkit': + specifier: ^21.0.0 + version: 21.0.3(nx@21.0.3) + '@rslib/core': + specifier: ^0.10.4 + version: 0.10.4(typescript@5.7.3) + devDependencies: + '@types/node': + specifier: ^20.0.0 + version: 20.12.14 + webpack: dependencies: enhanced-resolve: @@ -3237,6 +3262,14 @@ packages: dev: true optional: true + /@ast-grep/napi-darwin-arm64@0.37.0: + resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@ast-grep/napi-darwin-x64@0.34.4: resolution: {integrity: sha512-OqLjev/+IUW7lpLirDx7wb3iAhQkinMx9El8NWV0AipcJsbfJhQmUy2ppDqkglJVcdlh0NIaoTgWOXWya8yXzQ==} engines: {node: '>= 10'} @@ -3246,6 +3279,14 @@ packages: dev: true optional: true + /@ast-grep/napi-darwin-x64@0.37.0: + resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@ast-grep/napi-linux-arm64-gnu@0.34.4: resolution: {integrity: sha512-PtdV6ll45O4iLKsChDLtAdyvG5R+Y/sCsatxT5T4JTptQ5rsbOeA4ZDTU8ZJJ6qBlVkhlpKM6aBBdP3HUU8HLQ==} engines: {node: '>= 10'} @@ -3255,6 +3296,14 @@ packages: dev: true optional: true + /@ast-grep/napi-linux-arm64-gnu@0.37.0: + resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@ast-grep/napi-linux-arm64-musl@0.34.4: resolution: {integrity: sha512-Vm+xWUUWkGmv22ov9/D9i0JLds6+46Wj9G6tdByLhlB/R3jJEcWfg2qxnLihEFwJXuk+ic3PdtR0XmLRIx66Rw==} engines: {node: '>= 10'} @@ -3264,6 +3313,14 @@ packages: dev: true optional: true + /@ast-grep/napi-linux-arm64-musl@0.37.0: + resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@ast-grep/napi-linux-x64-gnu@0.34.4: resolution: {integrity: sha512-O6NMaYIzVFq5uSmo/wPIAZkTqfOERr9biECjoMpMVWbPP1T9NfSoWeuYQu+W/zF/ucZDEDWGjsE/ZDNAG5SZgQ==} engines: {node: '>= 10'} @@ -3273,6 +3330,14 @@ packages: dev: true optional: true + /@ast-grep/napi-linux-x64-gnu@0.37.0: + resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@ast-grep/napi-linux-x64-musl@0.34.4: resolution: {integrity: sha512-QAwcB716F84fPXcVjYjKL8sQ0iQONOZ9CkdoEmmY5YW/yxR8uEA6s0bLwWPqHl6QeUuDIlA3+hgHwarWoUrPrA==} engines: {node: '>= 10'} @@ -3282,6 +3347,14 @@ packages: dev: true optional: true + /@ast-grep/napi-linux-x64-musl@0.37.0: + resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@ast-grep/napi-win32-arm64-msvc@0.34.4: resolution: {integrity: sha512-dYvmAPo+p/jH6hBIxKd+T2u0STHp02cz4O6cuFFwQG13cIysXYRb4BnF1/wtKM0gFxeSsVZCE/ANoin1O3TJTQ==} engines: {node: '>= 10'} @@ -3291,6 +3364,14 @@ packages: dev: true optional: true + /@ast-grep/napi-win32-arm64-msvc@0.37.0: + resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@ast-grep/napi-win32-ia32-msvc@0.34.4: resolution: {integrity: sha512-iYk6L8Jxfk/AlUi2Ups2PHkKDwFP3Cl1DrScu9dL+nePNBIZVmyjN122PHdFtgmRFWjff6hGHWINHsESCGwsXg==} engines: {node: '>= 10'} @@ -3300,6 +3381,14 @@ packages: dev: true optional: true + /@ast-grep/napi-win32-ia32-msvc@0.37.0: + resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@ast-grep/napi-win32-x64-msvc@0.34.4: resolution: {integrity: sha512-Filq6uuYVHJPPpoNeGgYtbpzt1ElmQvK3CP7OoEoICX3zN3mff6s9fLhMIsO8wm4+PZpT8FrOQTB9XWPLjU4zw==} engines: {node: '>= 10'} @@ -3309,6 +3398,14 @@ packages: dev: true optional: true + /@ast-grep/napi-win32-x64-msvc@0.37.0: + resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@ast-grep/napi@0.34.4: resolution: {integrity: sha512-QesKWYy+DXiRQll5Wi2hDRPQ1fOWp2gdF1TFyvuZQZoPu2kVVTOOGX0ajpMm4D2mS9N5n0NB4fsG14ukGOnAlg==} engines: {node: '>= 10'} @@ -3324,6 +3421,20 @@ packages: '@ast-grep/napi-win32-x64-msvc': 0.34.4 dev: true + /@ast-grep/napi@0.37.0: + resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} + engines: {node: '>= 10'} + optionalDependencies: + '@ast-grep/napi-darwin-arm64': 0.37.0 + '@ast-grep/napi-darwin-x64': 0.37.0 + '@ast-grep/napi-linux-arm64-gnu': 0.37.0 + '@ast-grep/napi-linux-arm64-musl': 0.37.0 + '@ast-grep/napi-linux-x64-gnu': 0.37.0 + '@ast-grep/napi-linux-x64-musl': 0.37.0 + '@ast-grep/napi-win32-arm64-msvc': 0.37.0 + '@ast-grep/napi-win32-ia32-msvc': 0.37.0 + '@ast-grep/napi-win32-x64-msvc': 0.37.0 + /@aw-web-design/x-default-browser@1.4.126: resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} hasBin: true @@ -3378,7 +3489,7 @@ packages: '@babel/traverse': 7.27.0 '@babel/types': 7.27.0 convert-source-map: 1.9.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 @@ -3423,10 +3534,10 @@ packages: '@babel/helpers': 7.26.0 '@babel/parser': 7.27.0 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3449,7 +3560,7 @@ packages: '@babel/traverse': 7.25.9 '@babel/types': 7.26.0 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3469,10 +3580,10 @@ packages: '@babel/helpers': 7.26.0 '@babel/parser': 7.26.9 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3494,7 +3605,7 @@ packages: '@babel/traverse': 7.27.0 '@babel/types': 7.27.0 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3513,10 +3624,10 @@ packages: '@babel/helpers': 7.26.9 '@babel/parser': 7.27.0 '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3634,7 +3745,7 @@ packages: resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -3691,7 +3802,7 @@ packages: '@babel/helper-optimise-call-expression': 7.25.7 '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -3709,7 +3820,7 @@ packages: '@babel/helper-optimise-call-expression': 7.25.7 '@babel/helper-replace-supers': 7.25.7(@babel/core@7.26.9) '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -3727,7 +3838,7 @@ packages: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -3745,7 +3856,7 @@ packages: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.10) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -3763,7 +3874,7 @@ packages: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.9) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -3822,7 +3933,7 @@ packages: '@babel/core': 7.26.10 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -3837,7 +3948,7 @@ packages: '@babel/core': 7.26.9 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -3870,6 +3981,15 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helper-module-imports@7.25.9: + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + transitivePeerDependencies: + - supports-color + /@babel/helper-module-imports@7.25.9(supports-color@5.5.0): resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} @@ -3889,7 +4009,7 @@ packages: '@babel/helper-module-imports': 7.25.7 '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 transitivePeerDependencies: - supports-color @@ -3900,7 +4020,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 transitivePeerDependencies: @@ -3914,7 +4034,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.7 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 transitivePeerDependencies: @@ -3928,7 +4048,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 transitivePeerDependencies: @@ -3942,7 +4062,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 transitivePeerDependencies: @@ -3955,7 +4075,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.26.10 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 transitivePeerDependencies: @@ -3968,7 +4088,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 transitivePeerDependencies: @@ -4094,7 +4214,7 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -4103,7 +4223,7 @@ packages: resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -4113,7 +4233,7 @@ packages: resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -4131,7 +4251,7 @@ packages: resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -4169,7 +4289,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 transitivePeerDependencies: - supports-color @@ -5126,7 +5246,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.10 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10) transitivePeerDependencies: @@ -5140,7 +5260,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) transitivePeerDependencies: @@ -5286,7 +5406,7 @@ packages: dependencies: '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.25.9 - '@babel/template': 7.27.0 + '@babel/template': 7.25.9 /@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.10): resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} @@ -6105,7 +6225,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.2) '@babel/types': 7.26.0 @@ -6121,7 +6241,7 @@ packages: dependencies: '@babel/core': 7.25.8 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.8) '@babel/types': 7.26.0 @@ -6137,7 +6257,7 @@ packages: dependencies: '@babel/core': 7.26.10 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) '@babel/types': 7.26.0 @@ -6153,7 +6273,7 @@ packages: dependencies: '@babel/core': 7.26.9 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9) '@babel/types': 7.26.0 @@ -6282,7 +6402,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.10 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.10) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.10) @@ -6299,7 +6419,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.9) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.9) @@ -6941,7 +7061,7 @@ packages: '@babel/parser': 7.26.9 '@babel/template': 7.25.9 '@babel/types': 7.26.9 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6955,7 +7075,7 @@ packages: '@babel/parser': 7.27.0 '@babel/template': 7.25.9 '@babel/types': 7.26.9 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6969,7 +7089,21 @@ packages: '@babel/parser': 7.27.0 '@babel/template': 7.26.9 '@babel/types': 7.26.10 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/traverse@7.26.9: + resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6997,7 +7131,7 @@ packages: '@babel/parser': 7.27.0 '@babel/template': 7.27.0 '@babel/types': 7.27.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -7725,7 +7859,7 @@ packages: /@emotion/babel-plugin@11.12.0: resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} dependencies: - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/runtime': 7.26.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 @@ -9320,7 +9454,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -9337,7 +9471,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -9426,7 +9560,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -9437,7 +9571,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10388,7 +10522,7 @@ packages: optional: true dependencies: '@babel/parser': 7.26.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 '@modern-js/core': 2.65.1 '@modern-js/node-bundle-require': 2.65.1 @@ -10458,7 +10592,7 @@ packages: optional: true dependencies: '@babel/parser': 7.26.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 '@modern-js/core': 2.65.1 '@modern-js/node-bundle-require': 2.65.1 @@ -12008,6 +12142,9 @@ packages: /@module-federation/error-codes@0.13.1: resolution: {integrity: sha512-azgGDBnFRfqlivHOl96ZjlFUFlukESz2Rnnz/pINiSqoBBNjUE0fcAZP4X6jgrVITuEg90YkruZa7pW9I3m7Uw==} + /@module-federation/error-codes@0.15.0: + resolution: {integrity: sha512-CFJSF+XKwTcy0PFZ2l/fSUpR4z247+Uwzp1sXVkdIfJ/ATsnqf0Q01f51qqSEA6MYdQi6FKos9FIcu3dCpQNdg==} + /@module-federation/error-codes@0.8.4: resolution: {integrity: sha512-55LYmrDdKb4jt+qr8qE8U3al62ZANp3FhfVaNPOaAmdTh0jHdD8M3yf5HKFlr5xVkVO4eV/F/J2NCfpbh+pEXQ==} dev: true @@ -12233,6 +12370,12 @@ packages: '@module-federation/error-codes': 0.13.1 '@module-federation/sdk': 0.13.1 + /@module-federation/runtime-core@0.15.0: + resolution: {integrity: sha512-RYzI61fRDrhyhaEOXH3AgIGlHiot0wPFXu7F43cr+ZnTi+VlSYWLdlZ4NBuT9uV6JSmH54/c+tEZm5SXgKR2sQ==} + dependencies: + '@module-federation/error-codes': 0.15.0 + '@module-federation/sdk': 0.15.0 + /@module-federation/runtime-core@0.9.1: resolution: {integrity: sha512-r61ufhKt5pjl81v7TkmhzeIoSPOaNtLynW6+aCy3KZMa3RfRevFxmygJqv4Nug1L0NhqUeWtdLejh4VIglNy5Q==} dependencies: @@ -12260,6 +12403,12 @@ packages: '@module-federation/runtime': 0.13.1 '@module-federation/webpack-bundler-runtime': 0.13.1 + /@module-federation/runtime-tools@0.15.0: + resolution: {integrity: sha512-kzFn3ObUeBp5vaEtN1WMxhTYBuYEErxugu1RzFUERD21X3BZ+b4cWwdFJuBDlsmVjctIg/QSOoZoPXRKAO0foA==} + dependencies: + '@module-federation/runtime': 0.15.0 + '@module-federation/webpack-bundler-runtime': 0.15.0 + /@module-federation/runtime-tools@0.5.1: resolution: {integrity: sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg==} dependencies: @@ -12306,6 +12455,13 @@ packages: '@module-federation/runtime-core': 0.13.1 '@module-federation/sdk': 0.13.1 + /@module-federation/runtime@0.15.0: + resolution: {integrity: sha512-dTPsCNum9Bhu3yPOcrPYq0YnM9eCMMMNB1wuiqf1+sFbQlNApF0vfZxooqz3ln0/MpgE0jerVvFsLVGfqvC9Ug==} + dependencies: + '@module-federation/error-codes': 0.15.0 + '@module-federation/runtime-core': 0.15.0 + '@module-federation/sdk': 0.15.0 + /@module-federation/runtime@0.5.1: resolution: {integrity: sha512-xgiMUWwGLWDrvZc9JibuEbXIbhXg6z2oUkemogSvQ4LKvrl/n0kbqP1Blk669mXzyWbqtSp6PpvNdwaE1aN5xQ==} dependencies: @@ -12343,6 +12499,9 @@ packages: /@module-federation/sdk@0.13.1: resolution: {integrity: sha512-bmf2FGQ0ymZuxYnw9bIUfhV3y6zDhaqgydEjbl4msObKMLGXZqhse2pTIIxBFpIxR1oONKX/y2FAolDCTlWKiw==} + /@module-federation/sdk@0.15.0: + resolution: {integrity: sha512-PWiYbGcJrKUD6JZiEPihrXhV3bgXdll4bV7rU+opV7tHaun+Z0CdcawjZ82Xnpb8MCPGmqHwa1MPFeUs66zksw==} + /@module-federation/sdk@0.5.1: resolution: {integrity: sha512-exvchtjNURJJkpqjQ3/opdbfeT2wPKvrbnGnyRkrwW5o3FH1LaST1tkiNviT6OXTexGaVc2DahbdniQHVtQ7pA==} @@ -12408,6 +12567,12 @@ packages: '@module-federation/runtime': 0.13.1 '@module-federation/sdk': 0.13.1 + /@module-federation/webpack-bundler-runtime@0.15.0: + resolution: {integrity: sha512-i+3wu2Ljh2TmuUpsnjwZVupOVqV50jP0ndA8PSP4gwMKlgdGeaZ4VH5KkHAXGr2eiYUxYLMrJXz1+eILJqeGDg==} + dependencies: + '@module-federation/runtime': 0.15.0 + '@module-federation/sdk': 0.15.0 + /@module-federation/webpack-bundler-runtime@0.5.1: resolution: {integrity: sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA==} dependencies: @@ -12450,7 +12615,7 @@ packages: '@open-draft/until': 1.0.3 '@types/debug': 4.1.12 '@xmldom/xmldom': 0.8.10 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) headers-polyfill: 3.2.5 outvariant: 1.4.3 strict-event-emitter: 0.2.8 @@ -12627,21 +12792,21 @@ packages: dev: true optional: true - /@napi-rs/wasm-runtime@0.2.4: - resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + /@napi-rs/wasm-runtime@0.2.11: + resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} + requiresBuild: true dependencies: '@emnapi/core': 1.4.3 '@emnapi/runtime': 1.4.3 '@tybys/wasm-util': 0.9.0 + optional: true - /@napi-rs/wasm-runtime@0.2.9: - resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} - requiresBuild: true + /@napi-rs/wasm-runtime@0.2.4: + resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} dependencies: '@emnapi/core': 1.4.3 '@emnapi/runtime': 1.4.3 '@tybys/wasm-util': 0.9.0 - optional: true /@ndelangen/get-tarball@3.0.9: resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==} @@ -13083,7 +13248,6 @@ packages: tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - dev: true /@nx/esbuild@21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(esbuild@0.25.0)(nx@21.0.3)(verdaccio@6.1.2): resolution: {integrity: sha512-C6kAXwzPH3YDfkMnyMDrTcinUJIXkoAL6ErO0nyGP3EWe8AiSpoxQB2NcLzxXXIHHiqEMjHmSz+LP8HWmHCrTg==} @@ -13684,6 +13848,31 @@ packages: requiresBuild: true optional: true + /@nx/plugin@21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.0.3)(typescript@5.7.3)(verdaccio@6.1.2): + resolution: {integrity: sha512-lyAlWFSufnAeN7J4Nc1nNIPWPtvLaTrt6NVhRAH9vE220gWkmoPg+aSHlLRPEZmPTNpwCqqUGXk86s6HWB5zbg==} + dependencies: + '@nx/devkit': 21.0.3(nx@21.0.3) + '@nx/eslint': 21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(eslint@8.57.1)(nx@21.0.3)(verdaccio@6.1.2) + '@nx/jest': 21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.0.3)(typescript@5.7.3)(verdaccio@6.1.2) + '@nx/js': 21.0.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.0.3)(verdaccio@6.1.2) + tslib: 2.8.1 + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@types/node' + - '@zkochan/js-yaml' + - babel-plugin-macros + - debug + - eslint + - node-notifier + - nx + - supports-color + - ts-node + - typescript + - verdaccio + dev: true + /@nx/react@20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@9.0.0)(nx@21.0.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.7.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack@5.94.0): resolution: {integrity: sha512-1oXMAgedERHn8LV5FQ4IE3PxmqZLq0fkJXiDjUmL6Lv0alJVDtUWPa+Fr/KIfx9OOw1oGu3ZPPWYGipcSwGeIQ==} dependencies: @@ -13899,7 +14088,7 @@ packages: semver: 7.6.3 tsconfig-paths: 4.2.0 vite: 6.3.5(@types/node@18.16.9)(jiti@2.4.2)(less@4.3.0)(stylus@0.64.0) - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -14302,7 +14491,7 @@ packages: cpu: [wasm32] requiresBuild: true dependencies: - '@napi-rs/wasm-runtime': 0.2.9 + '@napi-rs/wasm-runtime': 0.2.11 optional: true /@oxc-resolver/binding-win32-arm64-msvc@5.2.0: @@ -15752,7 +15941,7 @@ packages: optional: true dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@rollup/pluginutils': 5.1.3(rollup@4.40.0) rollup: 4.40.0 transitivePeerDependencies: @@ -16392,17 +16581,6 @@ packages: optionalDependencies: fsevents: 2.3.3 - /@rsbuild/core@1.1.12: - resolution: {integrity: sha512-9f+E47fMf51Cg4W7CF2Q4f7BRSslVV/+TRvs5ScclYanqXEFtAGV9nuecJEL6Qc9jJV61lES0esPTFdPPnWPGw==} - engines: {node: '>=16.7.0'} - hasBin: true - dependencies: - '@rspack/core': 1.1.8(@swc/helpers@0.5.15) - '@rspack/lite-tapable': 1.0.1 - '@swc/helpers': 0.5.15 - core-js: 3.39.0 - dev: true - /@rsbuild/core@1.2.0-beta.1: resolution: {integrity: sha512-+TzwALD2xEpgc2FQgjn1CtNtE2CTS1FELuWXpjI4AABjytYDGdaOHvHyCLXHiJpuvDdnyJumoN/T8i8zhbTkPg==} engines: {node: '>=16.7.0'} @@ -16453,6 +16631,17 @@ packages: jiti: 2.4.2 dev: true + /@rsbuild/core@1.4.3: + resolution: {integrity: sha512-97vmVaOXUxID85cVSDFHLFmDfeJTR4SoOHbn7kknkEeZFg3wHlDYhx+lbQPOZf+toHOm8d1w1LlunxVkCAdHLg==} + engines: {node: '>=16.10.0'} + hasBin: true + dependencies: + '@rspack/core': 1.4.2(@swc/helpers@0.5.17) + '@rspack/lite-tapable': 1.0.1 + '@swc/helpers': 0.5.17 + core-js: 3.43.0 + jiti: 2.4.2 + /@rsbuild/plugin-assets-retry@1.1.0(@rsbuild/core@1.2.8): resolution: {integrity: sha512-YrE89SQAT9F/vuqHaSHEgXt7B+MddrboDiMPnBxSPNw8qekmeVrb/1cF8mwepwUiskESaU84OYtmhBdJovzrOw==} peerDependencies: @@ -16666,12 +16855,12 @@ packages: '@rspack/plugin-react-refresh': 1.0.0(react-refresh@0.14.2) react-refresh: 0.14.2 - /@rsbuild/plugin-react@1.0.6(@rsbuild/core@1.3.17): + /@rsbuild/plugin-react@1.0.6(@rsbuild/core@1.4.3): resolution: {integrity: sha512-k2VS7nvNm74DlVQROK+w+Ua1j60n3qSnVFva8zjmj6uakLCxxp85aRwfEHzaVP/YdDLffweypROuQPYvTZ57ew==} peerDependencies: '@rsbuild/core': 1.x dependencies: - '@rsbuild/core': 1.3.17 + '@rsbuild/core': 1.4.3 '@rspack/plugin-react-refresh': 1.0.0(react-refresh@0.14.2) react-refresh: 0.14.2 dev: true @@ -16844,7 +17033,7 @@ packages: - typescript dev: true - /@rsbuild/plugin-type-check@1.2.1(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(typescript@5.7.3): + /@rsbuild/plugin-type-check@1.2.1(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(typescript@5.7.3): resolution: {integrity: sha512-PtbjeMqDQy8IiPDTuaj8ZmvR42b0AsRq6RUF6wxa8dDsOzD0Dl1GcvemVGCto+/Dh8frLUmnlWF+T8riBw5rtA==} peerDependencies: '@rsbuild/core': 1.x @@ -16852,7 +17041,7 @@ packages: '@rsbuild/core': optional: true dependencies: - '@rsbuild/core': 1.3.17 + '@rsbuild/core': 1.4.3 deepmerge: 4.3.1 json5: 2.2.3 reduce-configs: 1.1.0 @@ -16991,9 +17180,9 @@ packages: - webpack-cli dev: true - /@rslib/core@0.2.0(typescript@5.7.3): - resolution: {integrity: sha512-SuqdKdHdXrdN2FgVzrb+RShl6op608FZ1mOd8NX4H8lGp6E+CAAL9gnH/H4n7ahBQvM1920w1WTmaYZPyhhLUg==} - engines: {node: '>=16.0.0'} + /@rslib/core@0.10.4(typescript@5.7.3): + resolution: {integrity: sha512-/+cVo+orheZZyyALwyrOvYIRmd7dPKOrP4kfKQrr8VHwJlHS1975iW7/pSesmKT44Jv+wjmTWc5JZbjzCS5K0w==} + engines: {node: '>=16.7.0'} hasBin: true peerDependencies: '@microsoft/api-extractor': ^7 @@ -17004,11 +17193,10 @@ packages: typescript: optional: true dependencies: - '@rsbuild/core': 1.1.12 - rsbuild-plugin-dts: 0.2.0(@rsbuild/core@1.1.12)(typescript@5.7.3) - tinyglobby: 0.2.10 + '@rsbuild/core': 1.4.3 + rsbuild-plugin-dts: 0.10.4(@rsbuild/core@1.4.3)(typescript@5.7.3) + tinyglobby: 0.2.14 typescript: 5.7.3 - dev: true /@rslib/core@0.3.2(typescript@5.7.3): resolution: {integrity: sha512-BdR/1kjR+Jk614je0ijjEwGoY44fLtPg6PoWHoKfzMkqNMtFg40AwMaBS04SylvR4BuUt1Q+9k6NQ/IWdE5HWg==} @@ -17068,14 +17256,6 @@ packages: dev: true optional: true - /@rspack/binding-darwin-arm64@1.1.8: - resolution: {integrity: sha512-I7avr471ghQ3LAqKm2fuXuJPLgQ9gffn5Q4nHi8rsukuZUtiLDPfYzK1QuupEp2JXRWM1gG5lIbSUOht3cD6Ug==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-darwin-arm64@1.2.0-beta.0: resolution: {integrity: sha512-g8NgY4OIjZf5LabAKOHNr2rs/WzVaxXpOSVsdHztQL6ETdeEpIPUul4p/5zivFNcrvJxVVeHzKJHyB5lqxDcTA==} cpu: [arm64] @@ -17107,6 +17287,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-darwin-arm64@1.4.2: + resolution: {integrity: sha512-0fPOew7D0l/x6qFZYdyUqutbw15K98VLvES2/7x2LPssTgypE4rVmnQSmVBnge3Nr8Qs/9qASPRpMWXBaqMfOA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@rspack/binding-darwin-x64@0.5.0: resolution: {integrity: sha512-d6SvBURfKow3WcKxTrjJPBkp+NLsuCPoIMaS8/bM4gHwgjVs2zuOsTQ9+l36dypOkjnu6QLkOIykTdiUKJ0eQg==} cpu: [x64] @@ -17146,14 +17333,6 @@ packages: dev: true optional: true - /@rspack/binding-darwin-x64@1.1.8: - resolution: {integrity: sha512-vfqf/c+mcx8rr1M8LnqKmzDdnrgguflZnjGerBLjNerAc+dcUp3lCvNxRIvZ2TkSZZBW8BpCMgjj3n70CZ4VLQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-darwin-x64@1.2.0-beta.0: resolution: {integrity: sha512-+BH/1UpG96exJc6KhDOiSHAb05bUwxbYCd37HAJwcLxQgB7IEmPtBYvV5CtHysteM5NBtbNeeAcyXK+dIYvUew==} cpu: [x64] @@ -17185,6 +17364,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-darwin-x64@1.4.2: + resolution: {integrity: sha512-0Dh6ssGgwnd9G+IO8SwQaJ0RJ8NkQbk4hwoJH/u52Mnfl0EvhmNvuhkbSEoKn1U3kElOA2cxH/3gbYzuYExn3g==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@rspack/binding-linux-arm64-gnu@0.5.0: resolution: {integrity: sha512-97xFbF7RjJc2VvX+0Hvb7Jzsk+eEE8oEUcc5Dnb7OIwGZulWKk6cLNcRkNfmL/F9kk1QEKlUTNC/VQI7ljf2tA==} cpu: [arm64] @@ -17224,14 +17410,6 @@ packages: dev: true optional: true - /@rspack/binding-linux-arm64-gnu@1.1.8: - resolution: {integrity: sha512-lZlO/rAJSeozi+qtVLkGSXfe+riPawCwM4FsrflELfNlvvEXpANwtrdJ+LsaNVXcgvhh50ZX2KicTdmx9G2b6Q==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-linux-arm64-gnu@1.2.0-beta.0: resolution: {integrity: sha512-LdIBNy5WAXJ1J9nB3bEyvqz7mJrMN/7cCtPHMmFBR1aTFbh1NAjYZl24fc+f59aSV5jAU9wfTrOtqtSwnXg4tQ==} cpu: [arm64] @@ -17263,6 +17441,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-linux-arm64-gnu@1.4.2: + resolution: {integrity: sha512-UHAzggS8Mc7b3Xguhj82HwujLqBZquCeo8qJj5XreNaMKGb6YRw/91dJOVmkNiLCB0bj71CRE1Cocd+Peq3N9A==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@rspack/binding-linux-arm64-musl@0.5.0: resolution: {integrity: sha512-lk0IomCy276EoynmksoBwg0IcHvvVXuZPMeq7OgRPTvs33mdTExSzSTPtrGzx/D00bX1ybUqLQwJhcgGt6erPQ==} cpu: [arm64] @@ -17302,14 +17487,6 @@ packages: dev: true optional: true - /@rspack/binding-linux-arm64-musl@1.1.8: - resolution: {integrity: sha512-bX7exULSZwy8xtDh6Z65b6sRC4uSxGuyvSLCEKyhmG6AnJkg0gQMxk3hoO0hWnyGEZgdJEn+jEhk0fjl+6ZRAQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-linux-arm64-musl@1.2.0-beta.0: resolution: {integrity: sha512-4tRi87UyEWV25X6Ul68kJJ/de/cwmASmrIUrCYmdWEdtWMN46UOz0OvxCYvcHTf0DCP8M1CZf0cSiRuG/hsxGA==} cpu: [arm64] @@ -17341,6 +17518,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-linux-arm64-musl@1.4.2: + resolution: {integrity: sha512-QybZ0VxlFih+upLoE7Le5cN3LpxJwk6EnEQTigmzpfc4c4SOC889ftBoIAO3IeBk+mF3H2C9xD+/NolTdwoeiw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@rspack/binding-linux-x64-gnu@0.5.0: resolution: {integrity: sha512-r15ddpse0S/8wHtfL85uJrVotvPVIMnQX06KlXyGUSw1jWrjxV+NXFDJ4xXnHCvk/YV6lCFTotAssk4wJEE0Fw==} cpu: [x64] @@ -17380,14 +17564,6 @@ packages: dev: true optional: true - /@rspack/binding-linux-x64-gnu@1.1.8: - resolution: {integrity: sha512-2Prw2USgTJ3aLdLExfik8pAwAHbX4MZrACBGEmR7Vbb56kLjC+++fXkciRc50pUDK4JFr1VQ7eNZrJuDR6GG6Q==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-linux-x64-gnu@1.2.0-beta.0: resolution: {integrity: sha512-rWWrPwUH3V4yG46acZDIlqr7H/yCxbu+WdPhdIRBvgT7bisQkZa2HYx6MXmUXxx94U2iFy5bh+un0ho5FZOeCg==} cpu: [x64] @@ -17419,6 +17595,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-linux-x64-gnu@1.4.2: + resolution: {integrity: sha512-ucCCWdtH1tekZadrsYj6GNJ8EP21BM2uSE7MootbwLw8aBtgVTKUuRDQEps1h/rtrdthzd9XBX6Lc2N926gM+g==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@rspack/binding-linux-x64-musl@0.5.0: resolution: {integrity: sha512-lB9Dn1bi4xyzEe6Bf/GQ7Ktlrq4Kmt1LHwN+t0m6iVYH3Vb/3g8uQGDSkwnjP8NmlAtldK1cmvRMhR7flUrgZA==} cpu: [x64] @@ -17458,14 +17641,6 @@ packages: dev: true optional: true - /@rspack/binding-linux-x64-musl@1.1.8: - resolution: {integrity: sha512-bnVGB/mQBKEdzOU/CPmcOE3qEXxGOGGW7/i6iLl2MamVOykJq8fYjL9j86yi6L0r009ja16OgWckykQGc4UqGw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-linux-x64-musl@1.2.0-beta.0: resolution: {integrity: sha512-9pgL17Bk8aSrTBx6VfQbb313RInDjlY9DfgV5ybbSsWaFs/oAs4oPy+kepWWixfb9Y2q/74bSBPrBNTBYQpknw==} cpu: [x64] @@ -17497,6 +17672,21 @@ packages: requiresBuild: true optional: true + /@rspack/binding-linux-x64-musl@1.4.2: + resolution: {integrity: sha512-+Y2LS6Qyk2AZor8DqlA8yKCqElYr0Urjc3M66O4ZzlxDT5xXX0J2vp04AtFp0g81q/+UgV3cbC//dqDvO0SiBA==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@rspack/binding-wasm32-wasi@1.4.2: + resolution: {integrity: sha512-3WvfHY7NvzORek3FcQWLI/B8wQ7NZe0e0Bub9GyLNVxe5Bi+dxnSzEg6E7VsjbUzKnYufJA0hDKbEJ2qCMvpdw==} + cpu: [wasm32] + requiresBuild: true + dependencies: + '@napi-rs/wasm-runtime': 0.2.11 + optional: true + /@rspack/binding-win32-arm64-msvc@0.5.0: resolution: {integrity: sha512-aDoF13puU8LxST/qKZndtXzlJbnbnxY2Bxyj0fu7UDh8nHJD4A2HQfWRN6BZFHaVSqM6Bnli410dJrIWeTNhZQ==} cpu: [arm64] @@ -17536,14 +17726,6 @@ packages: dev: true optional: true - /@rspack/binding-win32-arm64-msvc@1.1.8: - resolution: {integrity: sha512-u+na3gxhzeksm4xZyAzn1+XWo5a5j7hgWA/KcFPDQ8qQNkRknx4jnQMxVtcZ9pLskAYV4AcOV/AIximx7zvv8A==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-win32-arm64-msvc@1.2.0-beta.0: resolution: {integrity: sha512-JQ06Q3uTclIk4AvKUqx0Royx2PqVcUuumEUFVWERbd01fntkQqI3RFrPazBYAIvk5JmXk40+CKA1CsFef4RKOA==} cpu: [arm64] @@ -17575,6 +17757,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-win32-arm64-msvc@1.4.2: + resolution: {integrity: sha512-Y6L9DrLFRW6qBBCY3xBt7townStN5mlcbBTuG1zeXl0KcORPv1G1Cq6HXP6f1em+YsHE1iwnNqLvv4svg5KsnQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@rspack/binding-win32-ia32-msvc@0.5.0: resolution: {integrity: sha512-EYGeH4YKX5v4gtTL8mBAWnsKSkF+clsKu0z1hgWgSV/vnntNlqJQZUCb5CMdg5VqadNm+lUNDYYHeHNa3+Jp3w==} cpu: [ia32] @@ -17614,14 +17803,6 @@ packages: dev: true optional: true - /@rspack/binding-win32-ia32-msvc@1.1.8: - resolution: {integrity: sha512-FijUxym1INd5fFHwVCLuVP8XEAb4Sk1sMwEEQUlugiDra9ZsLaPw4OgPGxbxkD6SB0DeUz9Zq46Xbcf6d3OgfA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-win32-ia32-msvc@1.2.0-beta.0: resolution: {integrity: sha512-rNz/sXjXLAqCZkDuTumqm9Aa47Hiu45+vkJ0XvbirJ0A+dzuyGjdtlinwLyZtCY+dVAlS+AcX5znJLlpTSnjjA==} cpu: [ia32] @@ -17653,6 +17834,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-win32-ia32-msvc@1.4.2: + resolution: {integrity: sha512-FyTJrL7GcYXPWKUB9Oj2X29kfma6MUgM9PyXGy8gDMti21kMMhpHp/bGVqfurRbazDyklDuLLtbHuawpa6toeA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@rspack/binding-win32-x64-msvc@0.5.0: resolution: {integrity: sha512-RCECFW6otUrFiPbWQyOvLZOMNV/OL6AyAKMDbX9ejjk0TjLMrHjnhmI5X8EoA/SUc1/vEbgsJzDVLKTfn138cg==} cpu: [x64] @@ -17692,14 +17880,6 @@ packages: dev: true optional: true - /@rspack/binding-win32-x64-msvc@1.1.8: - resolution: {integrity: sha512-SBzIcND4qpDt71jlu1MCDxt335tqInT3YID9V4DoQ4t8wgM/uad7EgKOWKTK6vc2RRaOIShfS2XzqjNUxPXh4w==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rspack/binding-win32-x64-msvc@1.2.0-beta.0: resolution: {integrity: sha512-LKFcgaeEo7G6YLE5aKIbeWzXUpVZc02u0q4as0TjTTRBHd8r21GeaGJVh1Xm9YBkHpIX8Ho1DMftYVd+F6gHzw==} cpu: [x64] @@ -17731,6 +17911,13 @@ packages: requiresBuild: true optional: true + /@rspack/binding-win32-x64-msvc@1.4.2: + resolution: {integrity: sha512-ODSU26tmG8MfMFDHCaMLCORB64EVdEtDvPP5zJs0Mgh7vQaqweJtqgG0ukZCQy4ApUatOrMaZrLk557jp9Biyw==} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@rspack/binding@0.5.0: resolution: {integrity: sha512-+v1elZMn6lKBqbXQzhcfeCaPzztFNGEkNDEcQ7weako6yQPsBihGCRzveMMzZkja4RyB9GRHjWRE+THm8V8+3w==} optionalDependencies: @@ -17800,20 +17987,6 @@ packages: '@rspack/binding-win32-x64-msvc': 1.0.8 dev: true - /@rspack/binding@1.1.8: - resolution: {integrity: sha512-+/JzXx1HctfgPj+XtsCTbRkxiaOfAXGZZLEvs7jgp04WgWRSZ5u97WRCePNPvy+sCfOEH/2zw2ZK36Z7oQRGhQ==} - optionalDependencies: - '@rspack/binding-darwin-arm64': 1.1.8 - '@rspack/binding-darwin-x64': 1.1.8 - '@rspack/binding-linux-arm64-gnu': 1.1.8 - '@rspack/binding-linux-arm64-musl': 1.1.8 - '@rspack/binding-linux-x64-gnu': 1.1.8 - '@rspack/binding-linux-x64-musl': 1.1.8 - '@rspack/binding-win32-arm64-msvc': 1.1.8 - '@rspack/binding-win32-ia32-msvc': 1.1.8 - '@rspack/binding-win32-x64-msvc': 1.1.8 - dev: true - /@rspack/binding@1.2.0-beta.0: resolution: {integrity: sha512-ZUBWVKCVC3uunZhjH7FAVLP83r/6QvPmYViA6n0JF3ycBmcJLkHJb26v42j6d5EfYfTtNvfRUlzHckIkFDQeDQ==} optionalDependencies: @@ -17869,6 +18042,20 @@ packages: '@rspack/binding-win32-ia32-msvc': 1.3.9 '@rspack/binding-win32-x64-msvc': 1.3.9 + /@rspack/binding@1.4.2: + resolution: {integrity: sha512-NdTLlA20ufD0thFvDIwwPk+bX9yo3TDE4XjfvZYbwFyYvBgqJOWQflnbwLgvSTck0MSTiOqWIqpR88ymAvWTqg==} + optionalDependencies: + '@rspack/binding-darwin-arm64': 1.4.2 + '@rspack/binding-darwin-x64': 1.4.2 + '@rspack/binding-linux-arm64-gnu': 1.4.2 + '@rspack/binding-linux-arm64-musl': 1.4.2 + '@rspack/binding-linux-x64-gnu': 1.4.2 + '@rspack/binding-linux-x64-musl': 1.4.2 + '@rspack/binding-wasm32-wasi': 1.4.2 + '@rspack/binding-win32-arm64-msvc': 1.4.2 + '@rspack/binding-win32-ia32-msvc': 1.4.2 + '@rspack/binding-win32-x64-msvc': 1.4.2 + /@rspack/core@0.5.0(@swc/helpers@0.5.3): resolution: {integrity: sha512-/Bpujdtx28qYir7AK9VVSbY35GBFEcZ1NTJZBx/WIzZGZWLCxhlVYfjH8cj44y4RvXa0Y26tnj/q7VJ4U3sHug==} engines: {node: '>=16.0.0'} @@ -17985,22 +18172,6 @@ packages: caniuse-lite: 1.0.30001667 dev: true - /@rspack/core@1.1.8(@swc/helpers@0.5.15): - resolution: {integrity: sha512-pcZtcj5iXLCuw9oElTYC47bp/RQADm/MMEb3djHdwJuSlFWfWPQi5QFgJ/lJAxIW9UNHnTFrYtytycfjpuoEcA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@swc/helpers': '>=0.5.1' - peerDependenciesMeta: - '@swc/helpers': - optional: true - dependencies: - '@module-federation/runtime-tools': 0.5.1 - '@rspack/binding': 1.1.8 - '@rspack/lite-tapable': 1.0.1 - '@swc/helpers': 0.5.15 - caniuse-lite: 1.0.30001717 - dev: true - /@rspack/core@1.2.0-beta.0(@swc/helpers@0.5.15): resolution: {integrity: sha512-0o0EYNeCwbRrh1l+P6HEKGS3Y+SVE/+J6SqDGGBsOixt/YzFeYNeaePWUnFfQ8a27jp9s//Ix6iuxMYGjWmitA==} engines: {node: '>=16.0.0'} @@ -18086,6 +18257,20 @@ packages: caniuse-lite: 1.0.30001717 dev: true + /@rspack/core@1.4.2(@swc/helpers@0.5.17): + resolution: {integrity: sha512-Mmk3X3fbOLtRq4jX8Ebp3rfjr75YgupvNksQb0WbaGEVr5l1b6woPH/LaXF2v9U9DP83wmpZJXJ8vclB5JfL/w==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@swc/helpers': + optional: true + dependencies: + '@module-federation/runtime-tools': 0.15.0 + '@rspack/binding': 1.4.2 + '@rspack/lite-tapable': 1.0.1 + '@swc/helpers': 0.5.17 + /@rspack/dev-server@1.1.1(@rspack/core@1.3.9)(@types/express@4.17.21)(webpack-cli@5.1.4)(webpack@5.98.0): resolution: {integrity: sha512-9r7vOml2SrFA8cvbcJdSan9wHEo1TPXezF22+s5jvdyAAywg8w7HqDol6TPVv64NUonP1DOdyLxZ+6UW6WZiwg==} engines: {node: '>= 18.12.0'} @@ -18508,7 +18693,7 @@ packages: conventional-changelog-writer: 8.0.1 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.1.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) import-from-esm: 2.0.0 lodash-es: 4.17.21 micromatch: 4.0.8 @@ -18575,7 +18760,7 @@ packages: '@octokit/plugin-throttling': 9.4.0(@octokit/core@6.1.4) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) dir-glob: 3.0.1 globby: 14.1.0 http-proxy-agent: 7.0.2 @@ -18644,7 +18829,7 @@ packages: conventional-changelog-writer: 8.0.1 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.1.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) get-stream: 7.0.1 import-from-esm: 2.0.0 into-stream: 7.0.0 @@ -19847,7 +20032,7 @@ packages: typescript: '>= 3.x' webpack: '>= 4' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -19866,7 +20051,7 @@ packages: typescript: '>= 4.x' webpack: '>= 4' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -19885,7 +20070,7 @@ packages: typescript: '>= 4.x' webpack: '>= 4' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -20461,7 +20646,7 @@ packages: '@swc-node/sourcemap-support': 0.5.1 '@swc/core': 1.7.26(@swc/helpers@0.5.13) colorette: 2.0.20 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) oxc-resolver: 5.2.0 pirates: 4.0.7 tslib: 2.8.1 @@ -20743,7 +20928,6 @@ packages: resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} dependencies: tslib: 2.8.1 - dev: true /@swc/helpers@0.5.3: resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} @@ -21884,7 +22068,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@5.0.4) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.0.4) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 @@ -21936,7 +22120,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 typescript: 5.0.4 transitivePeerDependencies: @@ -21957,7 +22141,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 typescript: 5.7.3 transitivePeerDependencies: @@ -21978,7 +22162,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 9.0.0 typescript: 5.4.5 transitivePeerDependencies: @@ -22058,7 +22242,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.0.4) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 tsutils: 3.21.0(typescript@5.0.4) typescript: 5.0.4 @@ -22078,7 +22262,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.3) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.7.3) typescript: 5.7.3 @@ -22097,7 +22281,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.7.3) '@typescript-eslint/utils': 8.8.0(eslint@8.57.1)(typescript@5.7.3) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) ts-api-utils: 1.3.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: @@ -22141,7 +22325,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -22162,7 +22346,7 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -22184,7 +22368,7 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -22206,7 +22390,7 @@ packages: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -22228,7 +22412,7 @@ packages: dependencies: '@typescript-eslint/types': 8.14.0 '@typescript-eslint/visitor-keys': 8.14.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -22250,7 +22434,7 @@ packages: dependencies: '@typescript-eslint/types': 8.8.0 '@typescript-eslint/visitor-keys': 8.8.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -22591,7 +22775,7 @@ packages: '@verdaccio/loaders': 8.0.0-next-8.6 '@verdaccio/signature': 8.0.0-next-8.7 '@verdaccio/utils': 8.1.0-next-8.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) lodash: 4.17.21 verdaccio-htpasswd: 13.0.0-next-8.15 transitivePeerDependencies: @@ -22610,7 +22794,7 @@ packages: dependencies: '@verdaccio/core': 8.0.0-next-8.15 '@verdaccio/utils': 8.1.0-next-8.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) js-yaml: 4.1.0 lodash: 4.17.21 minimatch: 7.4.6 @@ -22644,7 +22828,7 @@ packages: resolution: {integrity: sha512-yuqD8uAZJcgzuNHjV6C438UNT5r2Ai9+SnUlO34AHZdWSYcluO3Zj5R3p5uf+C7YPCE31pUD27wBU74xVbUoBw==} engines: {node: '>=18'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) lodash: 4.17.21 transitivePeerDependencies: - supports-color @@ -22671,7 +22855,7 @@ packages: '@verdaccio/core': 8.0.0-next-8.15 '@verdaccio/logger-prettify': 8.0.0-next-8.2 colorette: 2.0.20 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -22702,7 +22886,7 @@ packages: '@verdaccio/core': 8.0.0-next-8.15 '@verdaccio/url': 13.0.0-next-8.15 '@verdaccio/utils': 8.1.0-next-8.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) express: 4.21.2 express-rate-limit: 5.5.1 lodash: 4.17.21 @@ -22720,7 +22904,7 @@ packages: engines: {node: '>=18'} dependencies: '@verdaccio/config': 8.0.0-next-8.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) jsonwebtoken: 9.0.2 transitivePeerDependencies: - supports-color @@ -22736,7 +22920,7 @@ packages: '@verdaccio/core': 8.0.0-next-8.15 '@verdaccio/url': 13.0.0-next-8.15 '@verdaccio/utils': 8.1.0-next-8.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) gunzip-maybe: 1.4.2 lodash: 4.17.21 tar-stream: 3.1.7 @@ -22751,7 +22935,7 @@ packages: engines: {node: '>=18'} dependencies: '@verdaccio/core': 8.0.0-next-8.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) lodash: 4.17.21 validator: 13.12.0 transitivePeerDependencies: @@ -22850,7 +23034,7 @@ packages: magicast: 0.3.5 picocolors: 1.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) transitivePeerDependencies: - supports-color dev: true @@ -22873,7 +23057,7 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) transitivePeerDependencies: - supports-color dev: true @@ -22973,7 +23157,7 @@ packages: pathe: 1.1.2 picocolors: 1.1.0 sirv: 2.0.4 - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) dev: true /@vitest/utils@1.2.2: @@ -23071,11 +23255,11 @@ packages: optional: true dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.2) '@babel/template': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 '@vue/babel-helper-vue-transform-on': 1.2.5 '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.2) @@ -23092,7 +23276,7 @@ packages: dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/parser': 7.27.0 '@vue/compiler-sfc': 3.5.13 @@ -23984,7 +24168,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -23992,7 +24176,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -24040,7 +24224,7 @@ packages: react-fast-compare: 3.2.2 resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 - tslib: 2.6.3 + tslib: 2.8.1 dev: false /ajv-draft-04@1.0.0(ajv@8.13.0): @@ -25051,7 +25235,7 @@ packages: /babel-plugin-import@1.13.5: resolution: {integrity: sha512-IkqnoV+ov1hdJVofly9pXRJmeDm9EtROfrc5i6eII0Hix2xMs5FEm8FG3ExMvazbnZBbgHIt6qdO8And6lCloQ==} dependencies: - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 transitivePeerDependencies: - supports-color dev: true @@ -25059,7 +25243,7 @@ packages: /babel-plugin-import@1.13.8: resolution: {integrity: sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==} dependencies: - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 transitivePeerDependencies: - supports-color dev: true @@ -25178,7 +25362,7 @@ packages: styled-components: '>= 2' dependencies: '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 babel-plugin-syntax-jsx: 6.18.0 lodash: 4.17.21 styled-components: 6.1.8(react-dom@18.3.1)(react@18.3.1) @@ -25233,7 +25417,7 @@ packages: dependencies: '@babel/core': 7.26.9 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 /babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} @@ -26835,11 +27019,6 @@ packages: resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} requiresBuild: true - /core-js@3.39.0: - resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} - requiresBuild: true - dev: true - /core-js@3.40.0: resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==} requiresBuild: true @@ -26854,6 +27033,10 @@ packages: requiresBuild: true dev: true + /core-js@3.43.0: + resolution: {integrity: sha512-N6wEbTTZSYOY2rYAn85CuvWWkCK6QweMn7/4Nr3w+gDBeBhk/x4EJeY6FPo4QzDoJZxVTv8U7CMvgWk6pOHHqA==} + requiresBuild: true + /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -27605,6 +27788,13 @@ packages: cssom: 0.3.8 dev: true + /cssstyle@3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} + dependencies: + rrweb-cssom: 0.6.0 + dev: true + /cssstyle@4.1.0: resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} engines: {node: '>=18'} @@ -27809,6 +27999,15 @@ packages: whatwg-url: 11.0.0 dev: true + /data-urls@4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + dev: true + /data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -27959,7 +28158,6 @@ packages: dependencies: ms: 2.1.3 supports-color: 8.1.1 - dev: true /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -28204,7 +28402,7 @@ packages: hasBin: true dependencies: address: 1.2.2 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -28938,7 +29136,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.17.19 transitivePeerDependencies: - supports-color @@ -28949,7 +29147,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -28960,7 +29158,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.23.0 transitivePeerDependencies: - supports-color @@ -28970,7 +29168,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.24.0 transitivePeerDependencies: - supports-color @@ -28981,7 +29179,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.25.0 transitivePeerDependencies: - supports-color @@ -29369,7 +29567,7 @@ packages: optional: true dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) enhanced-resolve: 5.17.1 eslint: 9.0.0 eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.0.0) @@ -29938,7 +30136,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -29984,7 +30182,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 @@ -30622,7 +30820,6 @@ packages: optional: true dependencies: picomatch: 4.0.2 - dev: true /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} @@ -30971,7 +31168,7 @@ packages: debug: optional: true dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -32642,7 +32839,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -32652,7 +32849,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -32680,7 +32877,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/http-proxy': 1.17.15 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) http-proxy: 1.18.1(debug@4.4.0) is-glob: 4.0.3 is-plain-object: 5.0.0 @@ -32751,7 +32948,7 @@ packages: engines: {node: '>= 6.0.0'} dependencies: agent-base: 5.1.1 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -32761,7 +32958,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -32770,7 +32967,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -32780,7 +32977,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.3 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -32944,7 +33141,7 @@ packages: resolution: {integrity: sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==} engines: {node: '>=18.20'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) import-meta-resolve: 4.1.0 transitivePeerDependencies: - supports-color @@ -33799,7 +33996,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -33811,7 +34008,7 @@ packages: engines: {node: '>=10'} dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -34612,6 +34809,44 @@ packages: - utf-8-validate dev: true + /jsdom@22.1.0: + resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} + engines: {node: '>=16'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + cssstyle: 3.0.0 + data-urls: 4.0.0 + decimal.js: 10.4.3 + domexception: 4.0.0 + form-data: 4.0.2 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.13 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + ws: 8.18.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /jsdom@24.1.3: resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==} engines: {node: '>=18'} @@ -34889,7 +35124,7 @@ packages: content-disposition: 0.5.4 content-type: 1.0.5 cookies: 0.9.1 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) delegates: 1.0.0 depd: 2.0.0 destroy: 1.2.0 @@ -34920,7 +35155,7 @@ packages: content-disposition: 0.5.4 content-type: 1.0.5 cookies: 0.9.1 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) delegates: 1.0.0 depd: 2.0.0 destroy: 1.2.0 @@ -34951,7 +35186,7 @@ packages: content-disposition: 0.5.4 content-type: 1.0.5 cookies: 0.9.1 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) delegates: 1.0.0 depd: 2.0.0 destroy: 1.2.0 @@ -36360,7 +36595,7 @@ packages: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} dependencies: '@types/debug': 4.1.12 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -36857,7 +37092,7 @@ packages: resolution: {integrity: sha512-E2Rxk6ADpyaGeuFJQ/x9HHW+pS8Vn/0KLbXpiDkoZXcOSToW+/dz1WPHFaZFUnyoe+JRbj8PvxAhcfKbQOw7UQ==} dependencies: '@vercel/nft': 0.27.3(encoding@0.1.13) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) fs-extra: 11.3.0 mlly: 1.6.1 pkg-types: 1.2.1 @@ -40292,7 +40527,7 @@ packages: engines: {node: '>=8.16.0'} dependencies: '@types/mime-types': 2.1.4 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -41990,7 +42225,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@babel/core': 7.26.9 - '@babel/traverse': 7.26.9(supports-color@5.5.0) + '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -43319,13 +43554,17 @@ packages: fsevents: 2.3.3 dev: true + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true + /rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} dev: true - /rsbuild-plugin-dts@0.2.0(@rsbuild/core@1.1.12)(typescript@5.7.3): - resolution: {integrity: sha512-62ioO9WoBeSzaE81Vq+MLJm0ZPdP8osyYnQLdy49pFHw8avhyR58NJdMevrwVC54k4ziaTQrTa4mAJwXN0Z62A==} - engines: {node: '>=16.0.0'} + /rsbuild-plugin-dts@0.10.4(@rsbuild/core@1.4.3)(typescript@5.7.3): + resolution: {integrity: sha512-/Zl9hgo1L2cpeKnMvAi0ws57Heo6X9wE07dUwdgb5NMEQSXQaHRv1eeRDKpzNYedaWl+yAIvL2IYK4GcCR0y4w==} + engines: {node: '>=16.7.0'} peerDependencies: '@microsoft/api-extractor': ^7 '@rsbuild/core': 1.x @@ -43336,12 +43575,13 @@ packages: typescript: optional: true dependencies: - '@rsbuild/core': 1.1.12 + '@ast-grep/napi': 0.37.0 + '@rsbuild/core': 1.4.3 magic-string: 0.30.17 picocolors: 1.1.1 - tinyglobby: 0.2.10 + tinyglobby: 0.2.14 + tsconfig-paths: 4.2.0 typescript: 5.7.3 - dev: true /rsbuild-plugin-dts@0.3.2(@rsbuild/core@1.2.0-beta.1)(typescript@5.7.3): resolution: {integrity: sha512-Gjaf5ANA6R9t92Va6utNG1iyRxCE0QLoswKvR5UkOkX5GUpNyWveze+k/6L/qrkgqGRuJqUuYX3lrwatrOUZ3A==} @@ -43359,11 +43599,11 @@ packages: '@rsbuild/core': 1.2.0-beta.1 magic-string: 0.30.17 picocolors: 1.1.1 - tinyglobby: 0.2.10 + tinyglobby: 0.2.14 typescript: 5.7.3 dev: true - /rsbuild-plugin-html-minifier-terser@1.1.1(@rsbuild/core@1.3.17): + /rsbuild-plugin-html-minifier-terser@1.1.1(@rsbuild/core@1.4.3): resolution: {integrity: sha512-rbDLv+XmGeSQo9JWKSwBst3Qwx1opLqtQCnQ3t9Z0F0ZTxKOC1S/ypPv5tSn/S3GMHct5Yb76mMgh6p80hjOAQ==} peerDependencies: '@rsbuild/core': 1.x || ^1.0.1-beta.0 @@ -43371,7 +43611,7 @@ packages: '@rsbuild/core': optional: true dependencies: - '@rsbuild/core': 1.3.17 + '@rsbuild/core': 1.4.3 '@types/html-minifier-terser': 7.0.2 html-minifier-terser: 7.2.0 dev: true @@ -44166,7 +44406,7 @@ packages: '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.3) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.7.3) - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) env-ci: 11.1.0 execa: 9.5.2 figures: 6.1.0 @@ -44277,7 +44517,7 @@ packages: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -44815,7 +45055,7 @@ packages: /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -44828,7 +45068,7 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -44929,7 +45169,7 @@ packages: dependencies: graceful-fs: 4.2.11 - /storybook-addon-rslib@0.1.4(@rsbuild/core@1.3.17)(@rslib/core@0.2.0)(storybook-builder-rsbuild@1.0.1)(typescript@5.7.3): + /storybook-addon-rslib@0.1.4(@rsbuild/core@1.4.3)(@rslib/core@0.10.4)(storybook-builder-rsbuild@1.0.1)(typescript@5.7.3): resolution: {integrity: sha512-JXF2OZb3NXE7iYztLxiOTMP1j2BGHSNhREu+5LCjsOXxXFXiJrh4T8OeVLKsg7FlBSfnTkALSra0vHHnerFlfA==} engines: {node: '>=18.0.0'} peerDependencies: @@ -44941,13 +45181,13 @@ packages: typescript: optional: true dependencies: - '@rsbuild/core': 1.3.17 - '@rslib/core': 0.2.0(typescript@5.7.3) - storybook-builder-rsbuild: 1.0.1(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3) + '@rsbuild/core': 1.4.3 + '@rslib/core': 0.10.4(typescript@5.7.3) + storybook-builder-rsbuild: 1.0.1(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3) typescript: 5.7.3 dev: true - /storybook-builder-rsbuild@0.1.5(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3): + /storybook-builder-rsbuild@0.1.5(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3): resolution: {integrity: sha512-g8/pVX+2YixHpWt/Q8dQWtkuKpWKxm1i9h+ihTFPO5LQWc3HvlF6PAXccPvedicLizGR2xTaI/RcJkE+2bYXqA==} peerDependencies: '@rsbuild/core': ^1.0.1 @@ -44957,8 +45197,8 @@ packages: typescript: optional: true dependencies: - '@rsbuild/core': 1.3.17 - '@rsbuild/plugin-type-check': 1.2.1(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(typescript@5.7.3) + '@rsbuild/core': 1.4.3 + '@rsbuild/plugin-type-check': 1.2.1(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(typescript@5.7.3) '@storybook/addon-docs': 8.6.4(@types/react@18.3.11)(storybook@8.4.2) '@storybook/core-webpack': 8.6.4(storybook@8.4.2) browser-assert: 1.2.1 @@ -44970,7 +45210,7 @@ packages: magic-string: 0.30.17 path-browserify: 1.0.1 process: 0.11.10 - rsbuild-plugin-html-minifier-terser: 1.1.1(@rsbuild/core@1.3.17) + rsbuild-plugin-html-minifier-terser: 1.1.1(@rsbuild/core@1.4.3) sirv: 2.0.4 storybook: 8.4.2(prettier@3.3.3) ts-dedent: 2.2.0 @@ -44983,7 +45223,7 @@ packages: - '@types/react' dev: true - /storybook-builder-rsbuild@1.0.1(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3): + /storybook-builder-rsbuild@1.0.1(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3): resolution: {integrity: sha512-sfr0qg3r76A9qlQRXE3ekAiJQM8v31skfuC+qc3m1GPoUeerfiBAWUOFBMdpNqUimt0eGSM5HUiY/vs3VRd3LQ==} peerDependencies: '@rsbuild/core': ^1.0.1 @@ -44993,8 +45233,8 @@ packages: typescript: optional: true dependencies: - '@rsbuild/core': 1.3.17 - '@rsbuild/plugin-type-check': 1.2.1(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(typescript@5.7.3) + '@rsbuild/core': 1.4.3 + '@rsbuild/plugin-type-check': 1.2.1(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(typescript@5.7.3) '@storybook/addon-docs': 8.6.12(@types/react@18.3.11)(storybook@8.4.2) '@storybook/core-webpack': 8.6.12(storybook@8.4.2) browser-assert: 1.2.1 @@ -45007,7 +45247,7 @@ packages: magic-string: 0.30.17 path-browserify: 1.0.1 process: 0.11.10 - rsbuild-plugin-html-minifier-terser: 1.1.1(@rsbuild/core@1.3.17) + rsbuild-plugin-html-minifier-terser: 1.1.1(@rsbuild/core@1.4.3) sirv: 2.0.4 storybook: 8.4.2(prettier@3.3.3) ts-dedent: 2.2.0 @@ -45020,7 +45260,7 @@ packages: - '@types/react' dev: true - /storybook-react-rsbuild@0.1.5(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1)(rollup@4.40.0)(storybook@8.4.2)(typescript@5.7.3)(webpack@5.98.0): + /storybook-react-rsbuild@0.1.5(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(@types/react@18.3.11)(react-dom@18.3.1)(react@18.3.1)(rollup@4.40.0)(storybook@8.4.2)(typescript@5.7.3)(webpack@5.98.0): resolution: {integrity: sha512-Cy7Ms5COLR1FTelGRxS5pE9LVlDSvaJeBsTH2MVi/29ZK8UEE0VH+Mnve2MboB93GbC3fhZFtIcNSF2dy9pjTw==} engines: {node: '>=18.0.0'} peerDependencies: @@ -45034,7 +45274,7 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.1.3(rollup@4.40.0) - '@rsbuild/core': 1.3.17 + '@rsbuild/core': 1.4.3 '@storybook/react': 8.3.5(react-dom@18.3.1)(react@18.3.1)(storybook@8.4.2)(typescript@5.7.3) '@storybook/react-docgen-typescript-plugin': 1.0.1(typescript@5.7.3)(webpack@5.98.0) '@types/node': 18.16.9 @@ -45045,7 +45285,7 @@ packages: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 storybook: 8.4.2(prettier@3.3.3) - storybook-builder-rsbuild: 0.1.5(@rsbuild/core@1.3.17)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3) + storybook-builder-rsbuild: 0.1.5(@rsbuild/core@1.4.3)(@rspack/core@1.3.9)(@types/react@18.3.11)(storybook@8.4.2)(typescript@5.7.3) tsconfig-paths: 4.2.0 typescript: 5.7.3 transitivePeerDependencies: @@ -45164,7 +45404,7 @@ packages: engines: {node: '>=8.0'} dependencies: date-format: 4.0.14 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -45663,7 +45903,7 @@ packages: hasBin: true dependencies: '@adobe/css-tools': 4.3.3 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) glob: 10.4.5 sax: 1.4.1 source-map: 0.7.4 @@ -46508,6 +46748,13 @@ packages: picomatch: 4.0.2 dev: true + /tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + /tinypool@0.8.4: resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} @@ -46650,6 +46897,13 @@ packages: punycode: 2.3.1 dev: true + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + dependencies: + punycode: 2.3.1 + dev: true + /tr46@5.0.0: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} @@ -47135,7 +47389,7 @@ packages: bundle-require: 4.2.1(esbuild@0.19.2) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.19.2 execa: 5.1.1 globby: 11.1.0 @@ -47177,7 +47431,7 @@ packages: cac: 6.7.14 chokidar: 4.0.1 consola: 3.2.3 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.24.0 joycon: 3.1.1 picocolors: 1.1.1 @@ -48056,7 +48310,7 @@ packages: apache-md5: 1.1.8 bcryptjs: 2.4.3 core-js: 3.40.0 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) http-errors: 2.0.0 unix-crypt-td-js: 1.1.4 transitivePeerDependencies: @@ -48087,7 +48341,7 @@ packages: clipanion: 4.0.0-rc.4(typanion@3.14.0) compression: 1.8.0 cors: 2.8.5 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) envinfo: 7.14.0 express: 4.21.2 handlebars: 4.7.8 @@ -48195,7 +48449,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.1 vite: 5.4.18(@types/node@20.12.14)(less@4.3.0)(stylus@0.64.0) @@ -48217,7 +48471,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.1 vite: 5.4.18(@types/node@18.16.9)(less@4.3.0)(stylus@0.64.0) @@ -48488,12 +48742,12 @@ packages: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.8(encoding@0.1.13) - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0) transitivePeerDependencies: - encoding dev: true - /vitest@1.2.2(@types/node@20.12.14)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0): + /vitest@1.2.2(@types/node@20.12.14)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0): resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -48530,6 +48784,7 @@ packages: chai: 4.5.0 debug: 4.3.7(supports-color@9.3.1) execa: 8.0.1 + jsdom: 22.1.0 local-pkg: 0.5.0 magic-string: 0.30.11 pathe: 1.1.2 @@ -48552,7 +48807,7 @@ packages: - terser dev: true - /vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(less@4.3.0)(stylus@0.64.0): + /vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.3.0)(stylus@0.64.0): resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -48588,6 +48843,7 @@ packages: chai: 4.5.0 debug: 4.3.7(supports-color@9.3.1) execa: 8.0.1 + jsdom: 22.1.0 local-pkg: 0.5.0 magic-string: 0.30.11 pathe: 1.1.2 @@ -48636,7 +48892,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.4.0(supports-color@5.5.0) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -49660,6 +49916,14 @@ packages: webidl-conversions: 7.0.0 dev: true + /whatwg-url@12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: true + /whatwg-url@14.0.0: resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} engines: {node: '>=18'} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2eff72e239b..9ab9bfba542 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -13,3 +13,4 @@ packages: - 'webpack' - 'assemble-release-plan' - 'packages/runtime-plugins/*' + - 'tools/*' diff --git a/rslib-project/.gitignore b/rslib-project/.gitignore new file mode 100644 index 00000000000..38d7344c8ca --- /dev/null +++ b/rslib-project/.gitignore @@ -0,0 +1,13 @@ +# Local +.DS_Store +*.local +*.log* + +# Dist +node_modules +dist/ + +# IDE +.vscode/* +!.vscode/extensions.json +.idea diff --git a/rslib-project/README.md b/rslib-project/README.md new file mode 100644 index 00000000000..ae4f5bbed5f --- /dev/null +++ b/rslib-project/README.md @@ -0,0 +1,23 @@ +# Rslib project + +## Setup + +Install the dependencies: + +```bash +pnpm install +``` + +## Get started + +Build the library: + +```bash +pnpm build +``` + +Build the library in watch mode: + +```bash +pnpm dev +``` diff --git a/rslib-project/eslint.config.mjs b/rslib-project/eslint.config.mjs new file mode 100644 index 00000000000..84a10c6e2b0 --- /dev/null +++ b/rslib-project/eslint.config.mjs @@ -0,0 +1,10 @@ +import js from '@eslint/js'; +import globals from 'globals'; +import ts from 'typescript-eslint'; + +export default [ + { languageOptions: { globals: globals.browser } }, + js.configs.recommended, + ...ts.configs.recommended, + { ignores: ['dist/'] }, +]; diff --git a/rslib-project/package.json b/rslib-project/package.json new file mode 100644 index 00000000000..5f8a92130e2 --- /dev/null +++ b/rslib-project/package.json @@ -0,0 +1,34 @@ +{ + "name": "rslib-project", + "version": "1.0.0", + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "rslib build", + "dev": "rslib build --watch", + "lint": "eslint .", + "test": "vitest run" + }, + "devDependencies": { + "@eslint/js": "^9.25.1", + "@rslib/core": "^0.7.1", + "@types/node": "^22.8.1", + "eslint": "^9.25.1", + "globals": "^16.0.0", + "typescript": "^5.8.3", + "typescript-eslint": "^8.31.1", + "vitest": "^3.1.3" + }, + "private": true +} diff --git a/rslib-project/rslib.config.ts b/rslib-project/rslib.config.ts new file mode 100644 index 00000000000..922f44d976d --- /dev/null +++ b/rslib-project/rslib.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from '@rslib/core'; + +export default defineConfig({ + lib: [ + { + format: 'esm', + syntax: ['node 18'], + dts: true, + }, + { + format: 'cjs', + syntax: ['node 18'], + }, + ], +}); diff --git a/rslib-project/src/index.ts b/rslib-project/src/index.ts new file mode 100644 index 00000000000..fdf0e11640f --- /dev/null +++ b/rslib-project/src/index.ts @@ -0,0 +1 @@ +export const squared = (n: number): number => n * n; diff --git a/rslib-project/tests/index.test.ts b/rslib-project/tests/index.test.ts new file mode 100644 index 00000000000..9d50ebb6443 --- /dev/null +++ b/rslib-project/tests/index.test.ts @@ -0,0 +1,7 @@ +import { expect, test } from 'vitest'; +import { squared } from '../src/index'; + +test('squared', () => { + expect(squared(2)).toBe(4); + expect(squared(12)).toBe(144); +}); diff --git a/rslib-project/tests/tsconfig.json b/rslib-project/tests/tsconfig.json new file mode 100644 index 00000000000..64654a13580 --- /dev/null +++ b/rslib-project/tests/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.json", + "include": [".", "../vitest.setup.ts"] +} diff --git a/rslib-project/tsconfig.json b/rslib-project/tsconfig.json new file mode 100644 index 00000000000..8c5c4d6d02b --- /dev/null +++ b/rslib-project/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "lib": ["ES2021"], + "module": "ESNext", + "noEmit": true, + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "useDefineForClassFields": true, + "allowImportingTsExtensions": true + }, + "include": ["src"] +} diff --git a/rslib-project/vitest.config.ts b/rslib-project/vitest.config.ts new file mode 100644 index 00000000000..e83eaf4c5da --- /dev/null +++ b/rslib-project/vitest.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + // Configure Vitest (https://vitest.dev/config/) + test: {}, +}); diff --git a/tools/rslib-plugin/README.md b/tools/rslib-plugin/README.md new file mode 100644 index 00000000000..32a2d9e1970 --- /dev/null +++ b/tools/rslib-plugin/README.md @@ -0,0 +1,161 @@ +# Rslib Nx Plugin + +An Nx plugin that provides executors for building and developing with [Rslib](https://lib.rsbuild.dev/), a framework-agnostic library building solution. + +## Executors + +### Build (`rslib:build`) + +Builds your library using Rslib. + +**Options:** +- `configFile` (string): Path to the rslib config file (default: `rslib.config.ts`) +- `outputPath` (string): Output directory for build artifacts +- `watch` (boolean): Enable watch mode (default: `false`) +- `mode` (string): Build mode - `development` or `production` (default: `production`) +- `verbose` (boolean): Enable verbose logging (default: `false`) + +**Example usage in `project.json`:** + +```json +{ + "targets": { + "build": { + "executor": "rslib:build", + "options": { + "configFile": "rslib.config.ts", + "mode": "production" + } + } + } +} +``` + +### Dev (`rslib:dev`) + +Runs Rslib in development mode with hot reloading. + +**Options:** +- `configFile` (string): Path to the rslib config file (default: `rslib.config.ts`) +- `port` (number): Port to serve on (default: `3001`) +- `host` (string): Host to serve on (default: `localhost`) +- `open` (boolean): Open browser after starting (default: `false`) +- `mode` (string): Development mode - `watch` or `mf-dev` (default: `mf-dev`) +- `verbose` (boolean): Enable verbose logging (default: `false`) + +**Example usage in `project.json`:** + +```json +{ + "targets": { + "dev": { + "executor": "rslib:dev", + "options": { + "port": 3001, + "mode": "mf-dev", + "open": true + } + } + } +} +``` + +### Echo (`rslib:echo`) + +Simple echo executor for testing the plugin. + +**Options:** +- `message` (string): Message to echo (default: `"Hello from rslib executor!"`) + +## Usage + +To use this plugin in your Nx workspace: + +1. Install the required dependencies: + ```bash + npm install @rslib/core + ``` + +2. Register the plugin in your `nx.json`: + ```json + { + "plugins": ["tools/rslib-plugin"] + } + ``` + +3. Configure your project's `project.json` to use the rslib executors: + ```json + { + "targets": { + "build": { + "executor": "rslib:build" + }, + "dev": { + "executor": "rslib:dev" + } + } + } + ``` + +4. Create an `rslib.config.ts` file in your project root: + ```typescript + import { defineConfig } from '@rslib/core'; + + export default defineConfig({ + lib: [ + { + format: 'esm', + dts: true, + }, + { + format: 'cjs', + } + ], + }); + ``` + +## Examples + +### Building a library +```bash +nx run my-lib:build +``` + +### Running in development mode +```bash +nx run my-lib:dev +``` + +### Building with custom config +```bash +nx run my-lib:build --configFile=custom.rslib.config.ts +``` + +### Running in watch mode +```bash +nx run my-lib:dev --mode=watch +``` + +## Module Federation Support + +This plugin supports Rslib's Module Federation capabilities. Use the `mf-dev` mode to run your federated modules: + +```json +{ + "targets": { + "mf-dev": { + "executor": "rslib:dev", + "options": { + "mode": "mf-dev", + "port": 3001 + } + } + } +} +``` + +## Requirements + +- Nx >= 21.0.0 +- @rslib/core >= 0.5.0 +- Node.js >= 18.0.0 \ No newline at end of file diff --git a/tools/rslib-plugin/dist/executors.json b/tools/rslib-plugin/dist/executors.json new file mode 100644 index 00000000000..652b70223e4 --- /dev/null +++ b/tools/rslib-plugin/dist/executors.json @@ -0,0 +1,19 @@ +{ + "executors": { + "build": { + "implementation": "./src/executors/build/executor", + "schema": "./src/executors/build/schema.json", + "description": "Build with Rslib" + }, + "dev": { + "implementation": "./src/executors/dev/executor", + "schema": "./src/executors/dev/schema.json", + "description": "Run Rslib in development mode" + }, + "echo": { + "implementation": "./src/executors/echo/executor", + "schema": "./src/executors/echo/schema.json", + "description": "Echo command for testing" + } + } +} diff --git a/tools/rslib-plugin/dist/package.json b/tools/rslib-plugin/dist/package.json new file mode 100644 index 00000000000..6a4fb99905b --- /dev/null +++ b/tools/rslib-plugin/dist/package.json @@ -0,0 +1,26 @@ +{ + "name": "@workspace/rslib-plugin", + "version": "0.1.0", + "description": "Nx plugin for Rslib", + "main": "./src/index.js", + "generators": "./generators.json", + "executors": "./executors.json", + "type": "commonjs", + "exports": { + "./package.json": "./package.json", + "./generators.json": "./generators.json", + "./executors.json": "./executors.json", + ".": "./src/index.js" + }, + "dependencies": { + "@nx/devkit": "^21.0.0", + "@rslib/core": "^0.7.1" + }, + "devDependencies": { + "@types/node": "^20.0.0" + }, + "peerDependencies": { + "@rslib/core": ">=0.5.0" + }, + "types": "./src/index.d.ts" +} \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/build/executor.d.ts b/tools/rslib-plugin/dist/src/executors/build/executor.d.ts new file mode 100644 index 00000000000..34838ff2635 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/build/executor.d.ts @@ -0,0 +1,11 @@ +import type { ExecutorContext } from '@nx/devkit'; +export interface RslibBuildExecutorOptions { + configFile?: string; + outputPath?: string; + watch?: boolean; + mode?: 'development' | 'production'; + verbose?: boolean; +} +export default function rslibBuildExecutor(options: RslibBuildExecutorOptions, context: ExecutorContext): Promise<{ + success: boolean; +}>; diff --git a/tools/rslib-plugin/dist/src/executors/build/executor.js b/tools/rslib-plugin/dist/src/executors/build/executor.js new file mode 100644 index 00000000000..a4106aee451 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/build/executor.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = rslibBuildExecutor; +const child_process_1 = require("child_process"); +const util_1 = require("util"); +const path_1 = require("path"); +async function rslibBuildExecutor(options, context) { + const projectRoot = context.projectGraph?.nodes[context.projectName]?.data?.root; + if (!projectRoot) { + throw new Error(`Could not find project root for ${context.projectName}`); + } + console.info(`Executing rslib build for ${context.projectName}...`); + if (options.verbose) { + console.info(`Options: ${JSON.stringify(options, null, 2)}`); + console.info(`Project root: ${projectRoot}`); + console.info(`Workspace root: ${context.root}`); + } + // Construct the rslib command + const args = ['rslib', 'build']; + if (options.configFile && options.configFile !== 'rslib.config.ts') { + args.push('--config', options.configFile); + } + if (options.watch) { + args.push('--watch'); + } + // Note: --mode option not supported in current rslib version + // Environment will be set via NODE_ENV instead + const command = args.join(' '); + try { + console.info(`Running: ${command}`); + console.info(`Working directory: ${(0, path_1.join)(context.root, projectRoot)}`); + const { stdout, stderr } = await (0, util_1.promisify)(child_process_1.exec)(command, { + cwd: (0, path_1.join)(context.root, projectRoot), + env: { + ...process.env, + NODE_ENV: options.mode || 'production', + }, + }); + if (stdout) { + console.log(stdout); + } + if (stderr) { + console.error(stderr); + } + console.info('✅ Rslib build completed successfully'); + return { success: !stderr }; + } + catch (error) { + console.error('❌ Rslib build failed:', error); + return { success: false }; + } +} +//# sourceMappingURL=executor.js.map \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/build/executor.js.map b/tools/rslib-plugin/dist/src/executors/build/executor.js.map new file mode 100644 index 00000000000..8d6aa7e0948 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/build/executor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/build/executor.ts"],"names":[],"mappings":";;AAaA,qCA6DC;AAzED,iDAAqC;AACrC,+BAAiC;AACjC,+BAA4B;AAUb,KAAK,UAAU,kBAAkB,CAC9C,OAAkC,EAClC,OAAwB;IAExB,MAAM,WAAW,GACf,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,WAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAEhE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC;IAEpE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,8BAA8B;IAC9B,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,iBAAiB,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,6DAA6D;IAC7D,+CAA+C;IAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAEtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC,OAAO,EAAE;YACxD,GAAG,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;YACpC,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,YAAY;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/build/schema.json b/tools/rslib-plugin/dist/src/executors/build/schema.json new file mode 100644 index 00000000000..4d5f9ddb821 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/build/schema.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "Rslib Build Executor", + "description": "Build with Rslib", + "type": "object", + "properties": { + "configFile": { + "type": "string", + "description": "Path to the rslib config file", + "default": "rslib.config.ts" + }, + "outputPath": { + "type": "string", + "description": "Output directory for build artifacts" + }, + "watch": { + "type": "boolean", + "description": "Enable watch mode", + "default": false + }, + "mode": { + "type": "string", + "description": "Build mode", + "enum": ["development", "production"], + "default": "production" + }, + "verbose": { + "type": "boolean", + "description": "Enable verbose logging", + "default": false + } + }, + "required": [] +} diff --git a/tools/rslib-plugin/dist/src/executors/dev/executor.d.ts b/tools/rslib-plugin/dist/src/executors/dev/executor.d.ts new file mode 100644 index 00000000000..45a436981b4 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/dev/executor.d.ts @@ -0,0 +1,12 @@ +import type { ExecutorContext } from '@nx/devkit'; +export interface RslibDevExecutorOptions { + configFile?: string; + port?: number; + host?: string; + open?: boolean; + mode?: 'watch' | 'mf-dev'; + verbose?: boolean; +} +export default function rslibDevExecutor(options: RslibDevExecutorOptions, context: ExecutorContext): Promise<{ + success: boolean; +}>; diff --git a/tools/rslib-plugin/dist/src/executors/dev/executor.js b/tools/rslib-plugin/dist/src/executors/dev/executor.js new file mode 100644 index 00000000000..c1e2d5a0f26 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/dev/executor.js @@ -0,0 +1,75 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = rslibDevExecutor; +const child_process_1 = require("child_process"); +const path_1 = require("path"); +async function rslibDevExecutor(options, context) { + const projectRoot = context.projectGraph?.nodes[context.projectName]?.data?.root; + if (!projectRoot) { + throw new Error(`Could not find project root for ${context.projectName}`); + } + console.info(`Starting rslib dev server for ${context.projectName}...`); + if (options.verbose) { + console.info(`Options: ${JSON.stringify(options, null, 2)}`); + console.info(`Project root: ${projectRoot}`); + console.info(`Workspace root: ${context.root}`); + } + return new Promise((resolve) => { + // Construct the rslib command based on mode + const args = ['rslib']; + if (options.mode === 'watch') { + args.push('build', '--watch'); + } + else { + args.push('mf-dev'); // Default to mf-dev for Module Federation development + } + if (options.configFile && options.configFile !== 'rslib.config.ts') { + args.push('--config', options.configFile); + } + if (options.port && options.mode === 'mf-dev') { + args.push('--port', options.port.toString()); + } + if (options.host && options.mode === 'mf-dev') { + args.push('--host', options.host); + } + if (options.open && options.mode === 'mf-dev') { + args.push('--open'); + } + const command = args[0]; + const commandArgs = args.slice(1); + console.info(`Running: ${args.join(' ')}`); + console.info(`Working directory: ${(0, path_1.join)(context.root, projectRoot)}`); + const child = (0, child_process_1.spawn)(command, commandArgs, { + cwd: (0, path_1.join)(context.root, projectRoot), + stdio: 'inherit', + env: { + ...process.env, + NODE_ENV: 'development', + }, + }); + child.on('error', (error) => { + console.error('❌ Rslib dev server failed to start:', error); + resolve({ success: false }); + }); + child.on('exit', (code) => { + if (code === 0) { + console.info('✅ Rslib dev server stopped'); + resolve({ success: true }); + } + else { + console.error(`❌ Rslib dev server exited with code ${code}`); + resolve({ success: false }); + } + }); + // Handle termination signals + process.on('SIGTERM', () => { + console.info('Received SIGTERM, stopping rslib dev server...'); + child.kill('SIGTERM'); + }); + process.on('SIGINT', () => { + console.info('Received SIGINT, stopping rslib dev server...'); + child.kill('SIGINT'); + }); + }); +} +//# sourceMappingURL=executor.js.map \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/dev/executor.js.map b/tools/rslib-plugin/dist/src/executors/dev/executor.js.map new file mode 100644 index 00000000000..92ecc619b78 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/dev/executor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/dev/executor.ts"],"names":[],"mappings":";;AAaA,mCAsFC;AAlGD,iDAAsC;AACtC,+BAA4B;AAWb,KAAK,UAAU,gBAAgB,CAC5C,OAAgC,EAChC,OAAwB;IAExB,MAAM,WAAW,GACf,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,WAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAEhE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,iCAAiC,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC;IAExE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,EAAE;QACnD,4CAA4C;QAC5C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,sDAAsD;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,iBAAiB,EAAE,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,WAAW,EAAE;YACxC,GAAG,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;YACpC,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,QAAQ,EAAE,aAAa;aACxB;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/dev/schema.json b/tools/rslib-plugin/dist/src/executors/dev/schema.json new file mode 100644 index 00000000000..2024dcaf94c --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/dev/schema.json @@ -0,0 +1,41 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "Rslib Dev Executor", + "description": "Run Rslib in development mode", + "type": "object", + "properties": { + "configFile": { + "type": "string", + "description": "Path to the rslib config file", + "default": "rslib.config.ts" + }, + "port": { + "type": "number", + "description": "Port to serve on", + "default": 3001 + }, + "host": { + "type": "string", + "description": "Host to serve on", + "default": "localhost" + }, + "open": { + "type": "boolean", + "description": "Open browser after starting", + "default": false + }, + "mode": { + "type": "string", + "description": "Development mode type", + "enum": ["watch", "mf-dev"], + "default": "mf-dev" + }, + "verbose": { + "type": "boolean", + "description": "Enable verbose logging", + "default": false + } + }, + "required": [] +} diff --git a/tools/rslib-plugin/dist/src/executors/echo/executor.d.ts b/tools/rslib-plugin/dist/src/executors/echo/executor.d.ts new file mode 100644 index 00000000000..4cc31112d84 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/echo/executor.d.ts @@ -0,0 +1,7 @@ +import type { ExecutorContext } from '@nx/devkit'; +export interface EchoExecutorOptions { + message?: string; +} +export default function echoExecutor(options: EchoExecutorOptions, context: ExecutorContext): Promise<{ + success: boolean; +}>; diff --git a/tools/rslib-plugin/dist/src/executors/echo/executor.js b/tools/rslib-plugin/dist/src/executors/echo/executor.js new file mode 100644 index 00000000000..b0fc9ffd4c0 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/echo/executor.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = echoExecutor; +async function echoExecutor(options, context) { + console.info(`Executing echo for ${context.projectName}...`); + console.info(`Message: ${options.message || 'Hello from rslib executor!'}`); + return { success: true }; +} +//# sourceMappingURL=executor.js.map \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/echo/executor.js.map b/tools/rslib-plugin/dist/src/executors/echo/executor.js.map new file mode 100644 index 00000000000..a6f79739f01 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/echo/executor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/echo/executor.ts"],"names":[],"mappings":";;AAMA,+BAQC;AARc,KAAK,UAAU,YAAY,CACxC,OAA4B,EAC5B,OAAwB;IAExB,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,IAAI,4BAA4B,EAAE,CAAC,CAAC;IAE5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"} \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/executors/echo/schema.json b/tools/rslib-plugin/dist/src/executors/echo/schema.json new file mode 100644 index 00000000000..ee4dfaecb84 --- /dev/null +++ b/tools/rslib-plugin/dist/src/executors/echo/schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "Echo Executor", + "description": "Simple echo executor for testing", + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message to echo", + "default": "Hello from rslib executor!" + } + }, + "required": [] +} diff --git a/tools/rslib-plugin/dist/src/index.d.ts b/tools/rslib-plugin/dist/src/index.d.ts new file mode 100644 index 00000000000..75ae9da5823 --- /dev/null +++ b/tools/rslib-plugin/dist/src/index.d.ts @@ -0,0 +1,6 @@ +export { default as buildExecutor } from './executors/build/executor'; +export { default as devExecutor } from './executors/dev/executor'; +export { default as echoExecutor } from './executors/echo/executor'; +export type { RslibBuildExecutorOptions } from './executors/build/executor'; +export type { RslibDevExecutorOptions } from './executors/dev/executor'; +export type { EchoExecutorOptions } from './executors/echo/executor'; diff --git a/tools/rslib-plugin/dist/src/index.js b/tools/rslib-plugin/dist/src/index.js new file mode 100644 index 00000000000..fbb556fa9a7 --- /dev/null +++ b/tools/rslib-plugin/dist/src/index.js @@ -0,0 +1,14 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.echoExecutor = exports.devExecutor = exports.buildExecutor = void 0; +// Export executors +var executor_1 = require("./executors/build/executor"); +Object.defineProperty(exports, "buildExecutor", { enumerable: true, get: function () { return __importDefault(executor_1).default; } }); +var executor_2 = require("./executors/dev/executor"); +Object.defineProperty(exports, "devExecutor", { enumerable: true, get: function () { return __importDefault(executor_2).default; } }); +var executor_3 = require("./executors/echo/executor"); +Object.defineProperty(exports, "echoExecutor", { enumerable: true, get: function () { return __importDefault(executor_3).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/tools/rslib-plugin/dist/src/index.js.map b/tools/rslib-plugin/dist/src/index.js.map new file mode 100644 index 00000000000..9b1bde487a1 --- /dev/null +++ b/tools/rslib-plugin/dist/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mBAAmB;AACnB,uDAAsE;AAA7D,0HAAA,OAAO,OAAiB;AACjC,qDAAkE;AAAzD,wHAAA,OAAO,OAAe;AAC/B,sDAAoE;AAA3D,yHAAA,OAAO,OAAgB"} \ No newline at end of file diff --git a/tools/rslib-plugin/executors.json b/tools/rslib-plugin/executors.json new file mode 100644 index 00000000000..652b70223e4 --- /dev/null +++ b/tools/rslib-plugin/executors.json @@ -0,0 +1,19 @@ +{ + "executors": { + "build": { + "implementation": "./src/executors/build/executor", + "schema": "./src/executors/build/schema.json", + "description": "Build with Rslib" + }, + "dev": { + "implementation": "./src/executors/dev/executor", + "schema": "./src/executors/dev/schema.json", + "description": "Run Rslib in development mode" + }, + "echo": { + "implementation": "./src/executors/echo/executor", + "schema": "./src/executors/echo/schema.json", + "description": "Echo command for testing" + } + } +} diff --git a/tools/rslib-plugin/jest.config.ts b/tools/rslib-plugin/jest.config.ts new file mode 100644 index 00000000000..194b61be540 --- /dev/null +++ b/tools/rslib-plugin/jest.config.ts @@ -0,0 +1,12 @@ +/* eslint-disable */ +export default { + displayName: 'rslib-plugin', + preset: '../../jest.preset.js', + transform: { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/tools/rslib-plugin', + testEnvironment: 'node', + collectCoverageFrom: ['src/**/*.ts', '!src/**/*.spec.ts', '!src/**/*.d.ts'], +}; diff --git a/tools/rslib-plugin/package.json b/tools/rslib-plugin/package.json new file mode 100644 index 00000000000..102fe744334 --- /dev/null +++ b/tools/rslib-plugin/package.json @@ -0,0 +1,25 @@ +{ + "name": "@workspace/rslib-plugin", + "version": "0.1.0", + "description": "Nx plugin for Rslib", + "main": "./src/index.js", + "generators": "./generators.json", + "executors": "./executors.json", + "type": "commonjs", + "exports": { + "./package.json": "./package.json", + "./generators.json": "./generators.json", + "./executors.json": "./executors.json", + ".": "./src/index.js" + }, + "dependencies": { + "@nx/devkit": "^21.0.0", + "@rslib/core": "^0.10.4" + }, + "devDependencies": { + "@types/node": "^20.0.0" + }, + "peerDependencies": { + "@rslib/core": ">=0.10.0" + } +} diff --git a/tools/rslib-plugin/project.json b/tools/rslib-plugin/project.json new file mode 100644 index 00000000000..69693f81b64 --- /dev/null +++ b/tools/rslib-plugin/project.json @@ -0,0 +1,46 @@ +{ + "name": "rslib-plugin", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "tools/rslib-plugin/src", + "projectType": "library", + "tags": ["type:plugin"], + "targets": { + "build": { + "executor": "@nx/js:tsc", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "tools/rslib-plugin/dist", + "main": "tools/rslib-plugin/src/index.ts", + "tsConfig": "tools/rslib-plugin/tsconfig.json", + "assets": [ + "tools/rslib-plugin/*.md", + "tools/rslib-plugin/package.json", + "tools/rslib-plugin/executors.json", + { + "input": "tools/rslib-plugin/src", + "glob": "**/schema.json", + "output": "src" + } + ] + } + }, + "lint": { + "executor": "@nx/eslint:lint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": [ + "tools/rslib-plugin/**/*.ts", + "tools/rslib-plugin/package.json" + ] + } + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": ["{workspaceRoot}/coverage/tools/rslib-plugin"], + "options": { + "jestConfig": "tools/rslib-plugin/jest.config.ts", + "passWithNoTests": true + } + } + } +} diff --git a/tools/rslib-plugin/src/executors/build/executor.ts b/tools/rslib-plugin/src/executors/build/executor.ts new file mode 100644 index 00000000000..54cb7ed2449 --- /dev/null +++ b/tools/rslib-plugin/src/executors/build/executor.ts @@ -0,0 +1,75 @@ +import type { ExecutorContext } from '@nx/devkit'; +import { exec } from 'child_process'; +import { promisify } from 'util'; +import { join } from 'path'; + +export interface RslibBuildExecutorOptions { + configFile?: string; + outputPath?: string; + watch?: boolean; + mode?: 'development' | 'production'; + verbose?: boolean; +} + +export default async function rslibBuildExecutor( + options: RslibBuildExecutorOptions, + context: ExecutorContext, +): Promise<{ success: boolean }> { + const projectRoot = + context.projectGraph?.nodes[context.projectName!]?.data?.root; + + if (!projectRoot) { + throw new Error(`Could not find project root for ${context.projectName}`); + } + + console.info(`Executing rslib build for ${context.projectName}...`); + + if (options.verbose) { + console.info(`Options: ${JSON.stringify(options, null, 2)}`); + console.info(`Project root: ${projectRoot}`); + console.info(`Workspace root: ${context.root}`); + } + + // Construct the rslib command + const args = ['rslib', 'build']; + + if (options.configFile && options.configFile !== 'rslib.config.ts') { + args.push('--config', options.configFile); + } + + if (options.watch) { + args.push('--watch'); + } + + // Note: --mode option not supported in current rslib version + // Environment will be set via NODE_ENV instead + + const command = args.join(' '); + + try { + console.info(`Running: ${command}`); + console.info(`Working directory: ${join(context.root, projectRoot)}`); + + const { stdout, stderr } = await promisify(exec)(command, { + cwd: join(context.root, projectRoot), + env: { + ...process.env, + NODE_ENV: options.mode || 'production', + }, + }); + + if (stdout) { + console.log(stdout); + } + + if (stderr) { + console.error(stderr); + } + + console.info('✅ Rslib build completed successfully'); + return { success: !stderr }; + } catch (error) { + console.error('❌ Rslib build failed:', error); + return { success: false }; + } +} diff --git a/tools/rslib-plugin/src/executors/build/schema.json b/tools/rslib-plugin/src/executors/build/schema.json new file mode 100644 index 00000000000..4d5f9ddb821 --- /dev/null +++ b/tools/rslib-plugin/src/executors/build/schema.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "Rslib Build Executor", + "description": "Build with Rslib", + "type": "object", + "properties": { + "configFile": { + "type": "string", + "description": "Path to the rslib config file", + "default": "rslib.config.ts" + }, + "outputPath": { + "type": "string", + "description": "Output directory for build artifacts" + }, + "watch": { + "type": "boolean", + "description": "Enable watch mode", + "default": false + }, + "mode": { + "type": "string", + "description": "Build mode", + "enum": ["development", "production"], + "default": "production" + }, + "verbose": { + "type": "boolean", + "description": "Enable verbose logging", + "default": false + } + }, + "required": [] +} diff --git a/tools/rslib-plugin/src/executors/dev/executor.ts b/tools/rslib-plugin/src/executors/dev/executor.ts new file mode 100644 index 00000000000..9a7251bd45c --- /dev/null +++ b/tools/rslib-plugin/src/executors/dev/executor.ts @@ -0,0 +1,100 @@ +import type { ExecutorContext } from '@nx/devkit'; +import { spawn } from 'child_process'; +import { join } from 'path'; + +export interface RslibDevExecutorOptions { + configFile?: string; + port?: number; + host?: string; + open?: boolean; + mode?: 'watch' | 'mf-dev'; + verbose?: boolean; +} + +export default async function rslibDevExecutor( + options: RslibDevExecutorOptions, + context: ExecutorContext, +): Promise<{ success: boolean }> { + const projectRoot = + context.projectGraph?.nodes[context.projectName!]?.data?.root; + + if (!projectRoot) { + throw new Error(`Could not find project root for ${context.projectName}`); + } + + console.info(`Starting rslib dev server for ${context.projectName}...`); + + if (options.verbose) { + console.info(`Options: ${JSON.stringify(options, null, 2)}`); + console.info(`Project root: ${projectRoot}`); + console.info(`Workspace root: ${context.root}`); + } + + return new Promise<{ success: boolean }>((resolve) => { + // Construct the rslib command based on mode + const args = ['rslib']; + + if (options.mode === 'watch') { + args.push('build', '--watch'); + } else { + args.push('mf-dev'); // Default to mf-dev for Module Federation development + } + + if (options.configFile && options.configFile !== 'rslib.config.ts') { + args.push('--config', options.configFile); + } + + if (options.port && options.mode === 'mf-dev') { + args.push('--port', options.port.toString()); + } + + if (options.host && options.mode === 'mf-dev') { + args.push('--host', options.host); + } + + if (options.open && options.mode === 'mf-dev') { + args.push('--open'); + } + + const command = args[0]; + const commandArgs = args.slice(1); + + console.info(`Running: ${args.join(' ')}`); + console.info(`Working directory: ${join(context.root, projectRoot)}`); + + const child = spawn(command, commandArgs, { + cwd: join(context.root, projectRoot), + stdio: 'inherit', + env: { + ...process.env, + NODE_ENV: 'development', + }, + }); + + child.on('error', (error) => { + console.error('❌ Rslib dev server failed to start:', error); + resolve({ success: false }); + }); + + child.on('exit', (code) => { + if (code === 0) { + console.info('✅ Rslib dev server stopped'); + resolve({ success: true }); + } else { + console.error(`❌ Rslib dev server exited with code ${code}`); + resolve({ success: false }); + } + }); + + // Handle termination signals + process.on('SIGTERM', () => { + console.info('Received SIGTERM, stopping rslib dev server...'); + child.kill('SIGTERM'); + }); + + process.on('SIGINT', () => { + console.info('Received SIGINT, stopping rslib dev server...'); + child.kill('SIGINT'); + }); + }); +} diff --git a/tools/rslib-plugin/src/executors/dev/schema.json b/tools/rslib-plugin/src/executors/dev/schema.json new file mode 100644 index 00000000000..2024dcaf94c --- /dev/null +++ b/tools/rslib-plugin/src/executors/dev/schema.json @@ -0,0 +1,41 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "Rslib Dev Executor", + "description": "Run Rslib in development mode", + "type": "object", + "properties": { + "configFile": { + "type": "string", + "description": "Path to the rslib config file", + "default": "rslib.config.ts" + }, + "port": { + "type": "number", + "description": "Port to serve on", + "default": 3001 + }, + "host": { + "type": "string", + "description": "Host to serve on", + "default": "localhost" + }, + "open": { + "type": "boolean", + "description": "Open browser after starting", + "default": false + }, + "mode": { + "type": "string", + "description": "Development mode type", + "enum": ["watch", "mf-dev"], + "default": "mf-dev" + }, + "verbose": { + "type": "boolean", + "description": "Enable verbose logging", + "default": false + } + }, + "required": [] +} diff --git a/tools/rslib-plugin/src/executors/echo/executor.ts b/tools/rslib-plugin/src/executors/echo/executor.ts new file mode 100644 index 00000000000..f6ef66be706 --- /dev/null +++ b/tools/rslib-plugin/src/executors/echo/executor.ts @@ -0,0 +1,15 @@ +import type { ExecutorContext } from '@nx/devkit'; + +export interface EchoExecutorOptions { + message?: string; +} + +export default async function echoExecutor( + options: EchoExecutorOptions, + context: ExecutorContext, +): Promise<{ success: boolean }> { + console.info(`Executing echo for ${context.projectName}...`); + console.info(`Message: ${options.message || 'Hello from rslib executor!'}`); + + return { success: true }; +} diff --git a/tools/rslib-plugin/src/executors/echo/schema.json b/tools/rslib-plugin/src/executors/echo/schema.json new file mode 100644 index 00000000000..ee4dfaecb84 --- /dev/null +++ b/tools/rslib-plugin/src/executors/echo/schema.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "Echo Executor", + "description": "Simple echo executor for testing", + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message to echo", + "default": "Hello from rslib executor!" + } + }, + "required": [] +} diff --git a/tools/rslib-plugin/src/index.ts b/tools/rslib-plugin/src/index.ts new file mode 100644 index 00000000000..93e8f40e3c4 --- /dev/null +++ b/tools/rslib-plugin/src/index.ts @@ -0,0 +1,9 @@ +// Export executors +export { default as buildExecutor } from './executors/build/executor'; +export { default as devExecutor } from './executors/dev/executor'; +export { default as echoExecutor } from './executors/echo/executor'; + +// Export types +export type { RslibBuildExecutorOptions } from './executors/build/executor'; +export type { RslibDevExecutorOptions } from './executors/dev/executor'; +export type { EchoExecutorOptions } from './executors/echo/executor'; diff --git a/tools/rslib-plugin/tsconfig.json b/tools/rslib-plugin/tsconfig.json new file mode 100644 index 00000000000..0165b36c574 --- /dev/null +++ b/tools/rslib-plugin/tsconfig.json @@ -0,0 +1,32 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "target": "ES2020", + "lib": ["ES2020"], + "types": ["node"], + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "declaration": true, + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src/**/*"], + "exclude": [ + "node_modules", + "dist", + "**/*.spec.ts", + "**/*.test.ts", + "jest.config.ts" + ] +} diff --git a/tools/rslib-plugin/tsconfig.spec.json b/tools/rslib-plugin/tsconfig.spec.json new file mode 100644 index 00000000000..9b2a121d114 --- /dev/null +++ b/tools/rslib-plugin/tsconfig.spec.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/tools/scripts/publish.mjs b/tools/scripts/publish.mjs deleted file mode 100644 index c0f9a38c607..00000000000 --- a/tools/scripts/publish.mjs +++ /dev/null @@ -1,63 +0,0 @@ -/** - * This is a minimal script to publish your package to "npm". - * This is meant to be used as-is or customize as you see fit. - * - * This script is executed on "dist/path/to/library" as "cwd" by default. - * - * You might need to authenticate with NPM before running this script. - */ - -import { readCachedProjectGraph } from '@nx/devkit'; -import { execSync } from 'node:child_process'; -import { readFileSync, writeFileSync } from 'node:fs'; -import chalk from 'chalk'; - -function invariant(condition, message) { - if (!condition) { - console.error(chalk.bold.red(message)); - process.exit(1); - } -} - -// Executing publish script: node path/to/publish.mjs {name} --version {version} --tag {tag} -// Default "tag" to "next" so we won't publish the "latest" tag by accident. -const [, , name, version, tag = 'next'] = process.argv; - -// A simple SemVer validation to validate the version -const validVersion = /^\d+\.\d+\.\d+(-\w+\.\d+)?/; -invariant( - version && validVersion.test(version), - `No version provided or version did not match Semantic Versioning, expected: #.#.#-tag.# or #.#.#, got ${version}.`, -); - -const graph = readCachedProjectGraph(); -const project = graph.nodes[name]; - -invariant( - project, - `Could not find project "${name}" in the workspace. Is the project.json configured correctly?`, -); - -const outputPath = project.data?.targets?.build?.options?.outputPath; -invariant( - outputPath, - `Could not find "build.options.outputPath" of project "${name}". Is project.json configured correctly?`, -); - -process.chdir(outputPath); - -// Updating the version in "package.json" before publishing -try { - const json = JSON.parse(readFileSync(`package.json`).toString()); - json.version = version; - writeFileSync(`package.json`, JSON.stringify(json, null, 2)); -} catch (e) { - console.error( - chalk.bold.red( - `Error reading package.json file from library build output.`, - ), - ); -} - -// Execute "npm publish" to publish -execSync(`npm publish --access public --tag ${tag}`); diff --git a/tsconfig.base.json b/tsconfig.base.json index ee9bafae480..b65ce736f12 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -15,7 +15,8 @@ "lib": ["es2021", "dom"], "skipLibCheck": true, "skipDefaultLibCheck": true, - "baseUrl": "." + "baseUrl": ".", + "paths": {} }, "exclude": [ "node_modules/**", diff --git a/vitest.workspace.ts b/vitest.workspace.ts new file mode 100644 index 00000000000..883c608f133 --- /dev/null +++ b/vitest.workspace.ts @@ -0,0 +1,4 @@ +export default [ + '**/vite.config.{mjs,js,ts,mts}', + '**/vitest.config.{mjs,js,ts,mts}', +];