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 b54c167ddc2..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": { @@ -63,17 +68,15 @@ "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", @@ -115,5 +118,8 @@ }, "useInferencePlugins": false, "defaultBase": "main", - "nxCloudAccessToken": "NTVlZTRhOWItMGRjYy00YmJjLTllNzAtNDFkNzRhNzdjZDkwfHJlYWQtd3JpdGU=" + "nxCloudAccessToken": "NTVlZTRhOWItMGRjYy00YmJjLTllNzAtNDFkNzRhNzdjZDkwfHJlYWQtd3JpdGU=", + "cli": { + "tui": false + } } diff --git a/package.json b/package.json index a96ef6377a9..63e4099f71c 100644 --- a/package.json +++ b/package.json @@ -128,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", 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 c173d1f168f..eaeb375d2e8 100644 --- a/packages/error-codes/project.json +++ b/packages/error-codes/project.json @@ -68,7 +68,7 @@ } }, "echo": { - "executor": "rslib: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 2b76122fa66..ae6784a7ef9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -182,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) @@ -1892,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 @@ -1913,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: @@ -3040,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: @@ -3246,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'} @@ -3255,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'} @@ -3264,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'} @@ -3273,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'} @@ -3282,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'} @@ -3291,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'} @@ -3300,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'} @@ -3309,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'} @@ -3318,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'} @@ -3333,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 @@ -5304,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==} @@ -12040,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 @@ -12265,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: @@ -12292,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: @@ -12338,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: @@ -12375,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==} @@ -12440,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: @@ -12659,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==} @@ -13115,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==} @@ -14359,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: @@ -16449,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'} @@ -16510,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: @@ -16723,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 @@ -16901,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 @@ -16909,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 @@ -17048,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 @@ -17061,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==} @@ -17125,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] @@ -17164,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] @@ -17203,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] @@ -17242,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] @@ -17281,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] @@ -17320,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] @@ -17359,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] @@ -17398,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] @@ -17437,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] @@ -17476,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] @@ -17515,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] @@ -17554,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] @@ -17593,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] @@ -17632,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] @@ -17671,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] @@ -17710,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] @@ -17749,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] @@ -17788,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: @@ -17857,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: @@ -17926,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'} @@ -18042,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'} @@ -18143,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'} @@ -20800,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==} @@ -24097,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): @@ -26892,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 @@ -26911,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==} @@ -30694,7 +30820,6 @@ packages: optional: true dependencies: picomatch: 4.0.2 - dev: true /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} @@ -43437,9 +43562,9 @@ packages: 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 @@ -43450,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==} @@ -43473,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 @@ -43485,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 @@ -45043,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: @@ -45055,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 @@ -45071,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 @@ -45084,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 @@ -45097,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 @@ -45107,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 @@ -45121,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 @@ -45134,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: @@ -45148,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 @@ -45159,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: @@ -46622,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'} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d00bb1aa98a..9ab9bfba542 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,7 +1,6 @@ packages: - '!**/dist/**' - 'packages/*' - - 'tools/rslib' - 'packages/bridge/*' - 'packages/enhance' - 'apps/runtime-demo/*' @@ -14,3 +13,4 @@ packages: - 'webpack' - 'assemble-release-plan' - 'packages/runtime-plugins/*' + - 'tools/*' 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/rslib/.eslintrc.json b/tools/rslib/.eslintrc.json deleted file mode 100644 index 084dd1b7583..00000000000 --- a/tools/rslib/.eslintrc.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "extends": ["../../.eslintrc.json"], - "ignorePatterns": [ - "!**/*", - "**/vite.config.*.timestamp*", - "**/vitest.config.*.timestamp*" - ], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.json"], - "parser": "jsonc-eslint-parser", - "rules": { - "@nx/dependency-checks": [ - "error", - { - "ignoredFiles": [ - "{projectRoot}/eslint.config.{js,cjs,mjs}", - "{projectRoot}/vite.config.{js,ts,mjs,mts}" - ] - } - ] - } - }, - { - "files": ["./package.json", "./executors.json"], - "parser": "jsonc-eslint-parser", - "rules": { - "@nx/nx-plugin-checks": "error" - } - } - ] -} diff --git a/tools/rslib/README.md b/tools/rslib/README.md deleted file mode 100644 index 97429a1c1df..00000000000 --- a/tools/rslib/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# rslib - -This library was generated with [Nx](https://nx.dev). - -## Building - -Run `nx build rslib` to build the library. - -## Running unit tests - -Run `nx test rslib` to execute the unit tests via [Vitest](https://vitest.dev/). diff --git a/tools/rslib/executors.json b/tools/rslib/executors.json deleted file mode 100644 index c6ba887045c..00000000000 --- a/tools/rslib/executors.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "executors": { - "echo": { - "implementation": "./src/executors/echo", - "schema": "./src/executors/schema.json", - "description": "echo executor" - } - } -} diff --git a/tools/rslib/package.json b/tools/rslib/package.json deleted file mode 100644 index 50e634e3e6b..00000000000 --- a/tools/rslib/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "rslib", - "version": "0.0.1", - "private": true, - "type": "commonjs", - "main": "./src/index.js", - "types": "./src/index.d.ts", - "dependencies": { - "@nx/devkit": "21.0.3", - "tslib": "^2.3.0" - }, - "executors": "./executors.json" -} diff --git a/tools/rslib/project.json b/tools/rslib/project.json deleted file mode 100644 index 981b568fff4..00000000000 --- a/tools/rslib/project.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "rslib", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "tools/rslib/src", - "projectType": "library", - "tags": [], - "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/tools/rslib", - "main": "tools/rslib/src/index.ts", - "tsConfig": "tools/rslib/tsconfig.lib.json", - "assets": [ - "tools/rslib/*.md", - { - "input": "./tools/rslib/src", - "glob": "**/!(*.ts)", - "output": "./src" - }, - { - "input": "./tools/rslib/src", - "glob": "**/*.d.ts", - "output": "./src" - }, - { - "input": "./tools/rslib", - "glob": "generators.json", - "output": "." - }, - { - "input": "./tools/rslib", - "glob": "executors.json", - "output": "." - } - ] - } - }, - "lint": { - "executor": "@nx/eslint:lint" - }, - "test": { - "executor": "@nx/vite:test", - "outputs": ["{options.reportsDirectory}"], - "options": { - "reportsDirectory": "../../coverage/tools/rslib" - } - } - } -} diff --git a/tools/rslib/src/executors/echo.spec.ts b/tools/rslib/src/executors/echo.spec.ts deleted file mode 100644 index bc49cf9533e..00000000000 --- a/tools/rslib/src/executors/echo.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ExecutorContext } from '@nx/devkit'; - -import { EchoExecutorSchema } from './schema'; -import executor from './echo'; - -const options: EchoExecutorSchema = {}; -const context: ExecutorContext = { - root: '', - cwd: process.cwd(), - isVerbose: false, - projectGraph: { - nodes: {}, - dependencies: {}, - }, - projectsConfigurations: { - projects: {}, - version: 2, - }, - nxJsonConfiguration: {}, -}; - -describe('Echo Executor', () => { - it('can run', async () => { - const output = await executor(options, context); - expect(output.success).toBe(true); - }); -}); diff --git a/tools/rslib/src/executors/echo.ts b/tools/rslib/src/executors/echo.ts deleted file mode 100644 index 15ef7dc1d99..00000000000 --- a/tools/rslib/src/executors/echo.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { PromiseExecutor } from '@nx/devkit'; -import { EchoExecutorSchema } from './schema'; - -const runExecutor: PromiseExecutor = async (options) => { - console.log('Executor ran for Echo', options); - return { - success: true, - }; -}; - -export default runExecutor; diff --git a/tools/rslib/src/executors/schema.d.ts b/tools/rslib/src/executors/schema.d.ts deleted file mode 100644 index b845654ea8b..00000000000 --- a/tools/rslib/src/executors/schema.d.ts +++ /dev/null @@ -1 +0,0 @@ -export interface EchoExecutorSchema {} // eslint-disable-line diff --git a/tools/rslib/src/executors/schema.json b/tools/rslib/src/executors/schema.json deleted file mode 100644 index 7f53ae39f94..00000000000 --- a/tools/rslib/src/executors/schema.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "https://json-schema.org/schema", - "version": 2, - "title": "Echo executor", - "description": "", - "type": "object", - "properties": {}, - "required": [] -} diff --git a/tools/rslib/src/index.ts b/tools/rslib/src/index.ts deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tools/rslib/tsconfig.json b/tools/rslib/tsconfig.json deleted file mode 100644 index 19b9eece4df..00000000000 --- a/tools/rslib/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "commonjs" - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ] -} diff --git a/tools/rslib/tsconfig.lib.json b/tools/rslib/tsconfig.lib.json deleted file mode 100644 index 54b671b603c..00000000000 --- a/tools/rslib/tsconfig.lib.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": ["node"] - }, - "include": ["src/**/*.ts"], - "exclude": [ - "vite.config.ts", - "vite.config.mts", - "vitest.config.ts", - "vitest.config.mts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx" - ] -} diff --git a/tools/rslib/tsconfig.spec.json b/tools/rslib/tsconfig.spec.json deleted file mode 100644 index 56b74888796..00000000000 --- a/tools/rslib/tsconfig.spec.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": [ - "vitest/globals", - "vitest/importMeta", - "vite/client", - "node", - "vitest" - ] - }, - "include": [ - "vite.config.ts", - "vite.config.mts", - "vitest.config.ts", - "vitest.config.mts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -} diff --git a/tools/rslib/vite.config.ts b/tools/rslib/vite.config.ts deleted file mode 100644 index f3b55c3e9b4..00000000000 --- a/tools/rslib/vite.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { defineConfig } from 'vite'; -import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; -import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin'; - -export default defineConfig(() => ({ - root: __dirname, - cacheDir: '../../node_modules/.vite/tools/rslib', - plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])], - // Uncomment this if you are using workers. - // worker: { - // plugins: [ nxViteTsPaths() ], - // }, - test: { - watch: false, - globals: true, - environment: 'jsdom', - include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], - reporters: ['default'], - coverage: { - reportsDirectory: '../../coverage/tools/rslib', - provider: 'v8' as const, - }, - }, -})); 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 0c1593293fc..b65ce736f12 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -16,9 +16,7 @@ "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", - "paths": { - "rslib": ["tools/rslib/src/index.ts"] - } + "paths": {} }, "exclude": [ "node_modules/**",