From a170482f8f6829977cf68bfc25e7f1b2bf805415 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 14:44:11 +0800 Subject: [PATCH 01/15] fix: core package prebundle problem --- packages/core/package.json | 6 ++--- packages/core/prebundle.config.mjs | 35 +++++++++++++++++++++++++++++ packages/core/rslib.config.ts | 36 ++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 packages/core/prebundle.config.mjs diff --git a/packages/core/package.json b/packages/core/package.json index 3f289863..2c9a0038 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -61,7 +61,7 @@ }, "scripts": { "dev": "npm run start", - "build": "rslib build", + "build": "npm run prebundle && rslib build", "start": "rslib build -w", "test": "rstest run", "prebundle": "prebundle" @@ -72,6 +72,7 @@ "@rsdoctor/types": "workspace:*", "@rsdoctor/utils": "workspace:*", "browserslist-load-config": "^1.0.1", + "filesize": "^10.1.6", "fs-extra": "^11.1.1", "lodash-es": "^4.17.21", "semver": "^7.7.2", @@ -80,16 +81,13 @@ "devDependencies": { "@rsbuild/plugin-check-syntax": "1.4.0", "axios": "^1.12.0", - "path-browserify": "1.0.1", "enhanced-resolve": "5.12.0", - "filesize": "^10.1.6", "@rspack/core": "1.5.2", "@scripts/test-helper": "workspace:*", "@types/fs-extra": "^11.0.4", "@types/lodash-es": "^4.17.12", "@types/node": "^22.8.1", "@types/node-fetch": "^2.6.12", - "@types/path-browserify": "1.0.3", "@types/semver": "^7.7.0", "@types/tapable": "2.2.7", "babel-loader": "10.0.0", diff --git a/packages/core/prebundle.config.mjs b/packages/core/prebundle.config.mjs new file mode 100644 index 00000000..57704b30 --- /dev/null +++ b/packages/core/prebundle.config.mjs @@ -0,0 +1,35 @@ +export default { + dependencies: ['axios'], + exclude: [ + '@rsdoctor/client', + '@rsdoctor/graph', + '@rsdoctor/types', + '@rsdoctor/utils', + 'safer-buffer', + ], + + build: { + platform: 'node', + target: 'node16', + format: 'cjs', + minify: false, + sourcemap: false, + metafile: false, + write: true, + output: { + chunkFormat: 'commonjs', + }, + environment: { + node: true, + }, + }, + + output: { + dir: './compiled', + filename: '[name].cjs', + }, + + resolve: { + extensions: ['.js', '.json', '.ts', '.tsx'], + }, +}; diff --git a/packages/core/rslib.config.ts b/packages/core/rslib.config.ts index f2882c6a..f0307f1a 100644 --- a/packages/core/rslib.config.ts +++ b/packages/core/rslib.config.ts @@ -1,5 +1,37 @@ import { defineConfig, rspack } from '@rslib/core'; import { dualPackageBundleless } from '../../scripts/rslib.base.config'; +import { join } from 'path'; + +const prebundleConfigPath = join(__dirname, './prebundle.config.mjs'); +const prebundleConfigModule = await import(prebundleConfigPath); +const prebundleConfig = prebundleConfigModule.default; +const regexpMap: Record = {}; + +for (const item of prebundleConfig.dependencies) { + const depName = typeof item === 'string' ? item : item.name; + if (typeof item !== 'string' && item.dtsOnly) { + continue; + } + + regexpMap[depName] = new RegExp(`compiled[\\/]${depName}(?:[\\/]|$)`); +} + +const externalsPrebundle = [ + ({ request }: { request?: string }, callback: any) => { + if (request) { + if (prebundleConfig.dependencies.includes(request)) { + return callback(undefined, `../../../compiled/${request}/index.js`); + } + const entries = Object.entries(regexpMap); + for (const [name, test] of entries) { + if (test.test(request)) { + return callback(undefined, `../compiled/${name}/index.js`); + } + } + } + callback(); + }, +]; const externals = [ // Externalize workspace packages @@ -7,6 +39,10 @@ const externals = [ '@rsdoctor/sdk', '@rsdoctor/types', '@rsdoctor/utils', + 'lodash-es', + 'semver', + 'source-map', + ...externalsPrebundle, ]; export default defineConfig({ From 085f0b3d6bf43ca496c99da6c3262ab11067b782 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 14:55:27 +0800 Subject: [PATCH 02/15] release v1.2.4-beta.2 --- packages/cli/package.json | 2 +- packages/client/package.json | 2 +- packages/components/package.json | 2 +- packages/core/package.json | 2 +- packages/document/package.json | 2 +- packages/graph/package.json | 2 +- packages/rspack-plugin/package.json | 2 +- packages/sdk/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/webpack-plugin/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index da13ab44..eedc3d5d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/cli", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/client/package.json b/packages/client/package.json index d46b089c..04349734 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/client", - "version": "1.2.3", + "version": "1.2.4-beta.2", "main": "dist/index.html", "repository": { "type": "git", diff --git a/packages/components/package.json b/packages/components/package.json index a1fb0cca..bedb11f8 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/components", - "version": "1.2.3", + "version": "1.2.4-beta.2", "license": "MIT", "types": "dist/index.d.ts", "repository": { diff --git a/packages/core/package.json b/packages/core/package.json index 2c9a0038..622714e5 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/core", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/document/package.json b/packages/document/package.json index b67b38da..d8834f5f 100644 --- a/packages/document/package.json +++ b/packages/document/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/docs", - "version": "1.2.3", + "version": "1.2.4-beta.2", "scripts": { "dev": "cross-env RSPRESS_PERSIST_CACHE=false rspress dev", "build": "cross-env RSPRESS_PERSIST_CACHE=false rspress build && sh build.sh", diff --git a/packages/graph/package.json b/packages/graph/package.json index 9a70a17c..889da651 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/graph", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/rspack-plugin/package.json b/packages/rspack-plugin/package.json index ebc57543..f7c21431 100644 --- a/packages/rspack-plugin/package.json +++ b/packages/rspack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/rspack-plugin", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 8c466d0f..4650d794 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/sdk", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/types/package.json b/packages/types/package.json index 9570612d..edccdbfe 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/types", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/utils/package.json b/packages/utils/package.json index 5f70ac0d..174ff1d9 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/utils", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 7c50c282..1673019b 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/webpack-plugin", - "version": "1.2.3", + "version": "1.2.4-beta.2", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f022e757..ff4f10bc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -734,6 +734,9 @@ importers: browserslist-load-config: specifier: ^1.0.1 version: 1.0.1 + filesize: + specifier: ^10.1.6 + version: 10.1.6 fs-extra: specifier: ^11.1.1 version: 11.3.0 @@ -768,9 +771,6 @@ importers: '@types/node-fetch': specifier: ^2.6.12 version: 2.6.12 - '@types/path-browserify': - specifier: 1.0.3 - version: 1.0.3 '@types/semver': specifier: ^7.7.0 version: 7.7.0 @@ -786,12 +786,6 @@ importers: enhanced-resolve: specifier: 5.12.0 version: 5.12.0 - filesize: - specifier: ^10.1.6 - version: 10.1.6 - path-browserify: - specifier: 1.0.1 - version: 1.0.1 prebundle: specifier: 1.4.2 version: 1.4.2(typescript@5.9.2) @@ -811,6 +805,8 @@ importers: specifier: ^5.97.1 version: 5.97.1(webpack-cli@5.1.4) + packages/core/compiled/axios: {} + packages/document: dependencies: '@rspress/core': @@ -1048,6 +1044,10 @@ importers: packages/sdk/compiled/json-cycle: {} + packages/sdk/compiled/sirv: {} + + packages/sdk/compiled/socket.io: {} + packages/types: dependencies: '@types/connect': From a1e1ac7d64a64f18548d6463e0beecbae4ac9c01 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 15:02:26 +0800 Subject: [PATCH 03/15] fix: core package prebundle problem --- packages/core/prebundle.config.mjs | 1 + packages/core/rslib.config.ts | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/core/prebundle.config.mjs b/packages/core/prebundle.config.mjs index 57704b30..06044ea1 100644 --- a/packages/core/prebundle.config.mjs +++ b/packages/core/prebundle.config.mjs @@ -1,3 +1,4 @@ +/** @type {import('prebundle').Config} */ export default { dependencies: ['axios'], exclude: [ diff --git a/packages/core/rslib.config.ts b/packages/core/rslib.config.ts index f0307f1a..12683fee 100644 --- a/packages/core/rslib.config.ts +++ b/packages/core/rslib.config.ts @@ -1,10 +1,7 @@ import { defineConfig, rspack } from '@rslib/core'; import { dualPackageBundleless } from '../../scripts/rslib.base.config'; -import { join } from 'path'; +import prebundleConfig from './prebundle.config.mjs'; -const prebundleConfigPath = join(__dirname, './prebundle.config.mjs'); -const prebundleConfigModule = await import(prebundleConfigPath); -const prebundleConfig = prebundleConfigModule.default; const regexpMap: Record = {}; for (const item of prebundleConfig.dependencies) { From 1149e7b88da63a9328ad1aec75cbea6b62be8ba9 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 15:14:37 +0800 Subject: [PATCH 04/15] fix: core package prebundle problem --- packages/core/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 622714e5..7cd56dc3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -10,7 +10,8 @@ "main": "dist/index.cjs", "types": "dist/index.d.ts", "files": [ - "dist" + "dist", + "compiled" ], "type": "module", "exports": { From d2ab7b3442d8c573d2bc903d4cdc5af6eca66dd3 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 15:15:10 +0800 Subject: [PATCH 05/15] release v1.2.4-beta.3 --- packages/cli/package.json | 2 +- packages/client/package.json | 2 +- packages/components/package.json | 2 +- packages/core/package.json | 2 +- packages/document/package.json | 2 +- packages/graph/package.json | 2 +- packages/rspack-plugin/package.json | 2 +- packages/sdk/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/webpack-plugin/package.json | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index eedc3d5d..fbf8c6c7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/cli", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/client/package.json b/packages/client/package.json index 04349734..3a82bf02 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/client", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "main": "dist/index.html", "repository": { "type": "git", diff --git a/packages/components/package.json b/packages/components/package.json index bedb11f8..41505cde 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/components", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "license": "MIT", "types": "dist/index.d.ts", "repository": { diff --git a/packages/core/package.json b/packages/core/package.json index 7cd56dc3..5995937c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/core", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/document/package.json b/packages/document/package.json index d8834f5f..c994599b 100644 --- a/packages/document/package.json +++ b/packages/document/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/docs", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "scripts": { "dev": "cross-env RSPRESS_PERSIST_CACHE=false rspress dev", "build": "cross-env RSPRESS_PERSIST_CACHE=false rspress build && sh build.sh", diff --git a/packages/graph/package.json b/packages/graph/package.json index 889da651..79b6fe76 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/graph", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/rspack-plugin/package.json b/packages/rspack-plugin/package.json index f7c21431..333e46d6 100644 --- a/packages/rspack-plugin/package.json +++ b/packages/rspack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/rspack-plugin", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 4650d794..489abc9a 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/sdk", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/types/package.json b/packages/types/package.json index edccdbfe..72c825c0 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/types", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/utils/package.json b/packages/utils/package.json index 174ff1d9..59b30054 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/utils", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 1673019b..6a15a405 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/webpack-plugin", - "version": "1.2.4-beta.2", + "version": "1.2.4-beta.3", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", From de0139073f95bfa994b947576f3bb0d4de3a0869 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 14:44:11 +0800 Subject: [PATCH 06/15] fix: core package prebundle problem --- packages/core/package.json | 6 ++--- packages/core/prebundle.config.mjs | 35 +++++++++++++++++++++++++++++ packages/core/rslib.config.ts | 36 ++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 packages/core/prebundle.config.mjs diff --git a/packages/core/package.json b/packages/core/package.json index 3f289863..2c9a0038 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -61,7 +61,7 @@ }, "scripts": { "dev": "npm run start", - "build": "rslib build", + "build": "npm run prebundle && rslib build", "start": "rslib build -w", "test": "rstest run", "prebundle": "prebundle" @@ -72,6 +72,7 @@ "@rsdoctor/types": "workspace:*", "@rsdoctor/utils": "workspace:*", "browserslist-load-config": "^1.0.1", + "filesize": "^10.1.6", "fs-extra": "^11.1.1", "lodash-es": "^4.17.21", "semver": "^7.7.2", @@ -80,16 +81,13 @@ "devDependencies": { "@rsbuild/plugin-check-syntax": "1.4.0", "axios": "^1.12.0", - "path-browserify": "1.0.1", "enhanced-resolve": "5.12.0", - "filesize": "^10.1.6", "@rspack/core": "1.5.2", "@scripts/test-helper": "workspace:*", "@types/fs-extra": "^11.0.4", "@types/lodash-es": "^4.17.12", "@types/node": "^22.8.1", "@types/node-fetch": "^2.6.12", - "@types/path-browserify": "1.0.3", "@types/semver": "^7.7.0", "@types/tapable": "2.2.7", "babel-loader": "10.0.0", diff --git a/packages/core/prebundle.config.mjs b/packages/core/prebundle.config.mjs new file mode 100644 index 00000000..57704b30 --- /dev/null +++ b/packages/core/prebundle.config.mjs @@ -0,0 +1,35 @@ +export default { + dependencies: ['axios'], + exclude: [ + '@rsdoctor/client', + '@rsdoctor/graph', + '@rsdoctor/types', + '@rsdoctor/utils', + 'safer-buffer', + ], + + build: { + platform: 'node', + target: 'node16', + format: 'cjs', + minify: false, + sourcemap: false, + metafile: false, + write: true, + output: { + chunkFormat: 'commonjs', + }, + environment: { + node: true, + }, + }, + + output: { + dir: './compiled', + filename: '[name].cjs', + }, + + resolve: { + extensions: ['.js', '.json', '.ts', '.tsx'], + }, +}; diff --git a/packages/core/rslib.config.ts b/packages/core/rslib.config.ts index f2882c6a..f0307f1a 100644 --- a/packages/core/rslib.config.ts +++ b/packages/core/rslib.config.ts @@ -1,5 +1,37 @@ import { defineConfig, rspack } from '@rslib/core'; import { dualPackageBundleless } from '../../scripts/rslib.base.config'; +import { join } from 'path'; + +const prebundleConfigPath = join(__dirname, './prebundle.config.mjs'); +const prebundleConfigModule = await import(prebundleConfigPath); +const prebundleConfig = prebundleConfigModule.default; +const regexpMap: Record = {}; + +for (const item of prebundleConfig.dependencies) { + const depName = typeof item === 'string' ? item : item.name; + if (typeof item !== 'string' && item.dtsOnly) { + continue; + } + + regexpMap[depName] = new RegExp(`compiled[\\/]${depName}(?:[\\/]|$)`); +} + +const externalsPrebundle = [ + ({ request }: { request?: string }, callback: any) => { + if (request) { + if (prebundleConfig.dependencies.includes(request)) { + return callback(undefined, `../../../compiled/${request}/index.js`); + } + const entries = Object.entries(regexpMap); + for (const [name, test] of entries) { + if (test.test(request)) { + return callback(undefined, `../compiled/${name}/index.js`); + } + } + } + callback(); + }, +]; const externals = [ // Externalize workspace packages @@ -7,6 +39,10 @@ const externals = [ '@rsdoctor/sdk', '@rsdoctor/types', '@rsdoctor/utils', + 'lodash-es', + 'semver', + 'source-map', + ...externalsPrebundle, ]; export default defineConfig({ From d1b3230cddf4144699a78c6e314d0a0b23da9fa7 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 15:02:26 +0800 Subject: [PATCH 07/15] fix: core package prebundle problem --- packages/core/prebundle.config.mjs | 1 + packages/core/rslib.config.ts | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/core/prebundle.config.mjs b/packages/core/prebundle.config.mjs index 57704b30..06044ea1 100644 --- a/packages/core/prebundle.config.mjs +++ b/packages/core/prebundle.config.mjs @@ -1,3 +1,4 @@ +/** @type {import('prebundle').Config} */ export default { dependencies: ['axios'], exclude: [ diff --git a/packages/core/rslib.config.ts b/packages/core/rslib.config.ts index f0307f1a..12683fee 100644 --- a/packages/core/rslib.config.ts +++ b/packages/core/rslib.config.ts @@ -1,10 +1,7 @@ import { defineConfig, rspack } from '@rslib/core'; import { dualPackageBundleless } from '../../scripts/rslib.base.config'; -import { join } from 'path'; +import prebundleConfig from './prebundle.config.mjs'; -const prebundleConfigPath = join(__dirname, './prebundle.config.mjs'); -const prebundleConfigModule = await import(prebundleConfigPath); -const prebundleConfig = prebundleConfigModule.default; const regexpMap: Record = {}; for (const item of prebundleConfig.dependencies) { From 683e28a8a237872056eb099715c78bab13a1e568 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 15:14:37 +0800 Subject: [PATCH 08/15] fix: core package prebundle problem --- packages/core/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 2c9a0038..d54230f7 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -10,7 +10,8 @@ "main": "dist/index.cjs", "types": "dist/index.d.ts", "files": [ - "dist" + "dist", + "compiled" ], "type": "module", "exports": { From 209ae143f93c9d585f653cdcff87dded83685239 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 17:01:07 +0800 Subject: [PATCH 09/15] fix: core package prebundle problem --- packages/sdk/package.json | 1 - packages/sdk/src/sdk/sdk/core.ts | 4 +- packages/sdk/src/sdk/sdk/index.ts | 25 +++++++++--- packages/utils/src/common/decycle.ts | 59 ++++++++++++++++++++++++++++ packages/utils/src/common/index.ts | 1 + 5 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 packages/utils/src/common/decycle.ts diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 8c466d0f..ce24efdd 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -48,7 +48,6 @@ "cors": "2.8.5", "dayjs": "1.11.18", "fs-extra": "^11.1.1", - "json-cycle": "^1.5.0", "open": "^10.2.0", "sirv": "2.0.4", "source-map": "^0.7.6", diff --git a/packages/sdk/src/sdk/sdk/core.ts b/packages/sdk/src/sdk/sdk/core.ts index 7e2287d3..6181acb8 100644 --- a/packages/sdk/src/sdk/sdk/core.ts +++ b/packages/sdk/src/sdk/sdk/core.ts @@ -4,7 +4,7 @@ import path from 'path'; import { createHash } from 'crypto'; import process from 'process'; import { AsyncSeriesHook } from 'tapable'; -const jc = require('json-cycle'); +import { decycle } from '@rsdoctor/utils/common'; import { logger } from '@rsdoctor/utils/logger'; import { transformDataUrls } from '../utils'; import { RsdoctorSDKOptions, DataWithUrl } from './types'; @@ -143,7 +143,7 @@ export abstract class SDKCore const jsonStr: string | string[] = await (async () => { try { if (key === 'configs') { - return JSON.stringify(jc.decycle(data)); + return JSON.stringify(decycle(data)); } return JSON.stringify(data); } catch (error) { diff --git a/packages/sdk/src/sdk/sdk/index.ts b/packages/sdk/src/sdk/sdk/index.ts index 4421ce09..4ea5fb22 100644 --- a/packages/sdk/src/sdk/sdk/index.ts +++ b/packages/sdk/src/sdk/sdk/index.ts @@ -1,6 +1,5 @@ import fs from 'node:fs'; import path from 'path'; -import { createRequire } from 'module'; import { DevToolError } from '@rsdoctor/utils/error'; import { Common, Constants, Manifest, SDK } from '@rsdoctor/types'; import { File } from '@rsdoctor/utils/build'; @@ -15,8 +14,24 @@ import { Algorithm } from '@rsdoctor/utils/common'; import { Lodash } from '@rsdoctor/utils/common'; import { findRoot } from '../utils'; -const require = createRequire(import.meta.url); -const jc = require('json-cycle'); +import { decycle } from '@rsdoctor/utils/common'; + +async function resolveModule(moduleName: string): Promise { + try { + if ( + typeof globalThis.require !== 'undefined' && + globalThis.require.resolve + ) { + return globalThis.require.resolve(moduleName); + } + } catch { + // Fallback for ESM environments + } + + const { createRequire } = await import('module'); + const requireFn = createRequire(import.meta.url); + return requireFn.resolve(moduleName); +} export * from '../utils/openBrowser'; export * from '../utils/base'; @@ -384,7 +399,7 @@ export class RsdoctorSDK< if (this.extraConfig?.mode === SDK.IMode[SDK.IMode.brief]) { const clientHtmlPath = this.extraConfig.innerClientPath ? this.extraConfig.innerClientPath - : require.resolve('@rsdoctor/client'); + : await resolveModule('@rsdoctor/client'); if (this.extraConfig?.brief?.type?.includes('json')) { const data = this.getStoreData(); @@ -556,7 +571,7 @@ export class RsdoctorSDK< const jsonStrFn = () => { try { if (key === 'configs') { - return JSON.stringify(jc.decycle(data)); + return JSON.stringify(decycle(data)); } return JSON.stringify(data); } catch (error) { diff --git a/packages/utils/src/common/decycle.ts b/packages/utils/src/common/decycle.ts new file mode 100644 index 00000000..b82ba811 --- /dev/null +++ b/packages/utils/src/common/decycle.ts @@ -0,0 +1,59 @@ +/** + * The following code is based on + * https://github.com/valery-barysok/json-cycle/blob/master/cycle.js + * + * + * MIT Licensed + * Author juliyvchirkov + * https://github.com/valery-barysok/json-cycle?tab=MIT-1-ov-file + */ +export function decycle(object: T): T { + const objects: any[] = []; + const paths: string[] = []; + + function derez(value: any, path: string): any { + let _value = value; + + try { + _value = value.toJSON(); + } catch { + // Ignore toJSON errors + } + + if (typeof _value === 'object' && _value) { + for (let i = 0; i < objects.length; i += 1) { + if (objects[i] === _value) { + return { $ref: paths[i] }; + } + } + + objects.push(_value); + paths.push(path); + + let nu: any; + + if (Object.prototype.toString.apply(_value) === '[object Array]') { + nu = []; + for (let i = 0; i < _value.length; i += 1) { + nu[i] = derez(_value[i], path + '[' + i + ']'); + } + } else { + nu = {}; + for (const name in _value) { + if (Object.hasOwn(_value, name)) { + nu[name] = derez( + _value[name], + path + '[' + JSON.stringify(name) + ']', + ); + } + } + } + + return nu; + } + + return _value; + } + + return derez(object, '$'); +} diff --git a/packages/utils/src/common/index.ts b/packages/utils/src/common/index.ts index cc19aa57..68310a5d 100644 --- a/packages/utils/src/common/index.ts +++ b/packages/utils/src/common/index.ts @@ -16,3 +16,4 @@ export * as Package from './package'; export * as Lodash from './lodash'; export * as GlobalConfig from './global-config'; export * as File from './file'; +export * from './decycle'; From fb85005b3091efd9a7a16a12d6d0bfcfae71594c Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 17:02:18 +0800 Subject: [PATCH 10/15] release v1.2.4-beta.4 --- packages/cli/package.json | 2 +- packages/client/package.json | 2 +- packages/components/package.json | 2 +- packages/core/package.json | 2 +- packages/document/package.json | 2 +- packages/graph/package.json | 2 +- packages/rspack-plugin/package.json | 2 +- packages/sdk/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/webpack-plugin/package.json | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index fbf8c6c7..b77ac974 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/cli", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/client/package.json b/packages/client/package.json index 3a82bf02..8c7647ca 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/client", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "main": "dist/index.html", "repository": { "type": "git", diff --git a/packages/components/package.json b/packages/components/package.json index 41505cde..aaed7b22 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/components", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "license": "MIT", "types": "dist/index.d.ts", "repository": { diff --git a/packages/core/package.json b/packages/core/package.json index 5995937c..3b815ee9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/core", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/document/package.json b/packages/document/package.json index c994599b..232c057e 100644 --- a/packages/document/package.json +++ b/packages/document/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/docs", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "scripts": { "dev": "cross-env RSPRESS_PERSIST_CACHE=false rspress dev", "build": "cross-env RSPRESS_PERSIST_CACHE=false rspress build && sh build.sh", diff --git a/packages/graph/package.json b/packages/graph/package.json index 79b6fe76..d9a7f91c 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/graph", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/rspack-plugin/package.json b/packages/rspack-plugin/package.json index 333e46d6..528abd61 100644 --- a/packages/rspack-plugin/package.json +++ b/packages/rspack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/rspack-plugin", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 8665a9fc..64f50497 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/sdk", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/types/package.json b/packages/types/package.json index 72c825c0..f8f08bca 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/types", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/utils/package.json b/packages/utils/package.json index 59b30054..f45f6968 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/utils", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 6a15a405..c2dab2d9 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/webpack-plugin", - "version": "1.2.4-beta.3", + "version": "1.2.4-beta.4", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", From ddf857c58ac55e6635b70e9b524d463d64416b3b Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 17:09:21 +0800 Subject: [PATCH 11/15] release v1.2.4-beta.4 --- pnpm-lock.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff4f10bc..d8d49279 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1012,9 +1012,6 @@ importers: fs-extra: specifier: ^11.1.1 version: 11.3.0 - json-cycle: - specifier: ^1.5.0 - version: 1.5.0 open: specifier: ^10.2.0 version: 10.2.0 From e7776012a9bd8e9d05a663ddf79734facd4f37e3 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 17:13:04 +0800 Subject: [PATCH 12/15] fix: some prebundle problem --- pnpm-lock.yaml | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f022e757..d8d49279 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -734,6 +734,9 @@ importers: browserslist-load-config: specifier: ^1.0.1 version: 1.0.1 + filesize: + specifier: ^10.1.6 + version: 10.1.6 fs-extra: specifier: ^11.1.1 version: 11.3.0 @@ -768,9 +771,6 @@ importers: '@types/node-fetch': specifier: ^2.6.12 version: 2.6.12 - '@types/path-browserify': - specifier: 1.0.3 - version: 1.0.3 '@types/semver': specifier: ^7.7.0 version: 7.7.0 @@ -786,12 +786,6 @@ importers: enhanced-resolve: specifier: 5.12.0 version: 5.12.0 - filesize: - specifier: ^10.1.6 - version: 10.1.6 - path-browserify: - specifier: 1.0.1 - version: 1.0.1 prebundle: specifier: 1.4.2 version: 1.4.2(typescript@5.9.2) @@ -811,6 +805,8 @@ importers: specifier: ^5.97.1 version: 5.97.1(webpack-cli@5.1.4) + packages/core/compiled/axios: {} + packages/document: dependencies: '@rspress/core': @@ -1016,9 +1012,6 @@ importers: fs-extra: specifier: ^11.1.1 version: 11.3.0 - json-cycle: - specifier: ^1.5.0 - version: 1.5.0 open: specifier: ^10.2.0 version: 10.2.0 @@ -1048,6 +1041,10 @@ importers: packages/sdk/compiled/json-cycle: {} + packages/sdk/compiled/sirv: {} + + packages/sdk/compiled/socket.io: {} + packages/types: dependencies: '@types/connect': From 858527ce37fa4b578c348f86f1c121175c45a052 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 17:20:21 +0800 Subject: [PATCH 13/15] fix: some prebundle problem --- packages/sdk/src/sdk/sdk/index.ts | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/packages/sdk/src/sdk/sdk/index.ts b/packages/sdk/src/sdk/sdk/index.ts index 4ea5fb22..5961930d 100644 --- a/packages/sdk/src/sdk/sdk/index.ts +++ b/packages/sdk/src/sdk/sdk/index.ts @@ -1,5 +1,6 @@ import fs from 'node:fs'; import path from 'path'; +import { createRequire } from 'module'; import { DevToolError } from '@rsdoctor/utils/error'; import { Common, Constants, Manifest, SDK } from '@rsdoctor/types'; import { File } from '@rsdoctor/utils/build'; @@ -13,29 +14,12 @@ import { SDKCore } from './core'; import { Algorithm } from '@rsdoctor/utils/common'; import { Lodash } from '@rsdoctor/utils/common'; import { findRoot } from '../utils'; - import { decycle } from '@rsdoctor/utils/common'; -async function resolveModule(moduleName: string): Promise { - try { - if ( - typeof globalThis.require !== 'undefined' && - globalThis.require.resolve - ) { - return globalThis.require.resolve(moduleName); - } - } catch { - // Fallback for ESM environments - } - - const { createRequire } = await import('module'); - const requireFn = createRequire(import.meta.url); - return requireFn.resolve(moduleName); -} - export * from '../utils/openBrowser'; export * from '../utils/base'; +const require = createRequire(import.meta.url); export class RsdoctorSDK< T extends RsdoctorWebpackSDKOptions = RsdoctorWebpackSDKOptions, > @@ -399,7 +383,7 @@ export class RsdoctorSDK< if (this.extraConfig?.mode === SDK.IMode[SDK.IMode.brief]) { const clientHtmlPath = this.extraConfig.innerClientPath ? this.extraConfig.innerClientPath - : await resolveModule('@rsdoctor/client'); + : require.resolve('@rsdoctor/client'); if (this.extraConfig?.brief?.type?.includes('json')) { const data = this.getStoreData(); From 17c57905ea9700c25bd4242e407207f128d3d417 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 18:53:05 +0800 Subject: [PATCH 14/15] fix: some prebundle problem --- packages/core/prebundle.config.mjs | 2 +- packages/core/rslib.config.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/prebundle.config.mjs b/packages/core/prebundle.config.mjs index 06044ea1..a3d58e7d 100644 --- a/packages/core/prebundle.config.mjs +++ b/packages/core/prebundle.config.mjs @@ -1,6 +1,6 @@ /** @type {import('prebundle').Config} */ export default { - dependencies: ['axios'], + dependencies: ['axios', '@rsbuild/plugin-check-syntax'], exclude: [ '@rsdoctor/client', '@rsdoctor/graph', diff --git a/packages/core/rslib.config.ts b/packages/core/rslib.config.ts index 12683fee..aa2bc3af 100644 --- a/packages/core/rslib.config.ts +++ b/packages/core/rslib.config.ts @@ -16,8 +16,13 @@ for (const item of prebundleConfig.dependencies) { const externalsPrebundle = [ ({ request }: { request?: string }, callback: any) => { if (request) { - if (prebundleConfig.dependencies.includes(request)) { + if ( + prebundleConfig.dependencies.includes(request) && + request !== '@rsbuild/plugin-check-syntax' + ) { return callback(undefined, `../../../compiled/${request}/index.js`); + } else if (request === '@rsbuild/plugin-check-syntax') { + return callback(undefined, `../../../../compiled/${request}/index.js`); } const entries = Object.entries(regexpMap); for (const [name, test] of entries) { From b6e1f8e78e30649b4ccb8293cf617df758deeaa6 Mon Sep 17 00:00:00 2001 From: easy1090 Date: Tue, 23 Sep 2025 19:03:45 +0800 Subject: [PATCH 15/15] release v1.2.4-beta.5 --- packages/cli/package.json | 2 +- packages/client/package.json | 2 +- packages/components/package.json | 2 +- packages/core/package.json | 2 +- packages/document/package.json | 2 +- packages/graph/package.json | 2 +- packages/rspack-plugin/package.json | 2 +- packages/sdk/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/webpack-plugin/package.json | 2 +- pnpm-lock.yaml | 2 ++ 12 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index b77ac974..aadaa4a0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/cli", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/client/package.json b/packages/client/package.json index 8c7647ca..79efb19d 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/client", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "main": "dist/index.html", "repository": { "type": "git", diff --git a/packages/components/package.json b/packages/components/package.json index aaed7b22..f037b455 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/components", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "license": "MIT", "types": "dist/index.d.ts", "repository": { diff --git a/packages/core/package.json b/packages/core/package.json index 3b815ee9..63d57052 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/core", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/document/package.json b/packages/document/package.json index 232c057e..235c9b6b 100644 --- a/packages/document/package.json +++ b/packages/document/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/docs", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "scripts": { "dev": "cross-env RSPRESS_PERSIST_CACHE=false rspress dev", "build": "cross-env RSPRESS_PERSIST_CACHE=false rspress build && sh build.sh", diff --git a/packages/graph/package.json b/packages/graph/package.json index d9a7f91c..9cbf1793 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/graph", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/rspack-plugin/package.json b/packages/rspack-plugin/package.json index 528abd61..239f3599 100644 --- a/packages/rspack-plugin/package.json +++ b/packages/rspack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/rspack-plugin", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 64f50497..9edd4f73 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/sdk", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/types/package.json b/packages/types/package.json index f8f08bca..348aaeb4 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/types", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/utils/package.json b/packages/utils/package.json index f45f6968..012066f0 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/utils", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index c2dab2d9..5415e587 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rsdoctor/webpack-plugin", - "version": "1.2.4-beta.4", + "version": "1.2.4-beta.5", "repository": { "type": "git", "url": "https://github.com/web-infra-dev/rsdoctor", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8d49279..d01bd9e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -805,6 +805,8 @@ importers: specifier: ^5.97.1 version: 5.97.1(webpack-cli@5.1.4) + packages/core/compiled/@rsbuild/plugin-check-syntax: {} + packages/core/compiled/axios: {} packages/document: