From 4d4f1382bba29d51ad9c1eeb22fbeae2cdb757bb Mon Sep 17 00:00:00 2001 From: wangyiming Date: Mon, 8 Dec 2025 15:15:00 +0800 Subject: [PATCH 1/3] chore: remove node-bundle-require --- packages/solutions/app-tools/package.json | 1 - .../solutions/app-tools/src/commands/dev.ts | 1 - .../solutions/app-tools/src/exports/server.ts | 2 - .../solutions/app-tools/src/utils/config.ts | 63 - .../toolkit/node-bundle-require/.npmignore | 31 - .../toolkit/node-bundle-require/CHANGELOG.md | 1540 ----------------- packages/toolkit/node-bundle-require/LICENSE | 21 - .../toolkit/node-bundle-require/README.md | 26 - .../node-bundle-require/jest.config.js | 7 - .../node-bundle-require/rslib.config.mts | 38 - .../toolkit/node-bundle-require/src/bundle.ts | 219 --- .../toolkit/node-bundle-require/src/index.ts | 28 - .../src/modern-app-env.d.ts | 1 - .../node-bundle-require/tests/fixture/a.ts | 2 - .../tests/fixture/input.ts | 5 - .../tests/fixture/inputImportEsm.ts | 5 - .../tests/fixture/inputImportEsmWithCjs.ts | 5 - .../tests/fixture/inputImportTs.ts | 5 - .../test-package-esm-with-cjs/index.cjs | 1 - .../test-package-esm-with-cjs/index.mjs | 1 - .../test-package-esm-with-cjs/package.json | 6 - .../tests/fixture/test-package-esm/index.js | 1 - .../fixture/test-package-esm/package.json | 5 - .../tests/fixture/test-package-ts/index.ts | 3 - .../fixture/test-package-ts/package.json | 4 - .../node-bundle-require/tests/index.test.ts | 78 - .../tests/modern-app-env.d.ts | 1 - .../node-bundle-require/tests/tsconfig.json | 10 - .../toolkit/node-bundle-require/tsconfig.json | 11 - 29 files changed, 2121 deletions(-) delete mode 100644 packages/toolkit/node-bundle-require/.npmignore delete mode 100644 packages/toolkit/node-bundle-require/CHANGELOG.md delete mode 100644 packages/toolkit/node-bundle-require/LICENSE delete mode 100644 packages/toolkit/node-bundle-require/README.md delete mode 100644 packages/toolkit/node-bundle-require/jest.config.js delete mode 100644 packages/toolkit/node-bundle-require/rslib.config.mts delete mode 100644 packages/toolkit/node-bundle-require/src/bundle.ts delete mode 100644 packages/toolkit/node-bundle-require/src/index.ts delete mode 100644 packages/toolkit/node-bundle-require/src/modern-app-env.d.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/a.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/input.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/inputImportEsm.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/inputImportEsmWithCjs.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/inputImportTs.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.cjs delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.mjs delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/package.json delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/index.js delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/package.json delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/index.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/package.json delete mode 100644 packages/toolkit/node-bundle-require/tests/index.test.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/modern-app-env.d.ts delete mode 100644 packages/toolkit/node-bundle-require/tests/tsconfig.json delete mode 100644 packages/toolkit/node-bundle-require/tsconfig.json diff --git a/packages/solutions/app-tools/package.json b/packages/solutions/app-tools/package.json index b65a3b4ca9ea..38950a4d4d05 100644 --- a/packages/solutions/app-tools/package.json +++ b/packages/solutions/app-tools/package.json @@ -111,7 +111,6 @@ "@babel/parser": "^7.28.5", "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5", - "@modern-js/node-bundle-require": "workspace:*", "@modern-js/plugin-data-loader": "workspace:*", "@modern-js/i18n-utils": "workspace:*", "@modern-js/plugin": "workspace:*", diff --git a/packages/solutions/app-tools/src/commands/dev.ts b/packages/solutions/app-tools/src/commands/dev.ts index 2badf3afeabf..4a585794db51 100644 --- a/packages/solutions/app-tools/src/commands/dev.ts +++ b/packages/solutions/app-tools/src/commands/dev.ts @@ -15,7 +15,6 @@ import { } from '@modern-js/utils'; import type { ConfigChain } from '@rsbuild/core'; import type { AppNormalizedConfig, AppTools } from '../types'; -import { buildServerConfig } from '../utils/config'; import { setServer } from '../utils/createServer'; import { loadServerPlugins } from '../utils/loadPlugins'; import { printInstructions } from '../utils/printInstructions'; diff --git a/packages/solutions/app-tools/src/exports/server.ts b/packages/solutions/app-tools/src/exports/server.ts index 83e551c9a091..62d751dc689e 100644 --- a/packages/solutions/app-tools/src/exports/server.ts +++ b/packages/solutions/app-tools/src/exports/server.ts @@ -1,3 +1 @@ export type { ServerPlugin } from '@modern-js/server-core'; - -export { defineServerConfig as defineConfig } from '../utils/config'; diff --git a/packages/solutions/app-tools/src/utils/config.ts b/packages/solutions/app-tools/src/utils/config.ts index 11cdf9f1d289..99b6f4fe0449 100644 --- a/packages/solutions/app-tools/src/utils/config.ts +++ b/packages/solutions/app-tools/src/utils/config.ts @@ -1,5 +1,4 @@ import * as path from 'path'; -import { bundle } from '@modern-js/node-bundle-require'; import type { ServerConfig } from '@modern-js/server-core'; import { fs, @@ -11,68 +10,6 @@ import { import { stringify } from 'flatted'; import type { AppNormalizedConfig } from '../types'; -export const defineServerConfig = (config: ServerConfig): ServerConfig => - config; - -export const buildServerConfig = async ({ - appDirectory, - distDirectory, - configFile, - options, - watch, -}: { - appDirectory: string; - distDirectory: string; - configFile: string; - options?: Parameters[1]; - watch?: boolean; -}) => { - const configFilePath = await getServerConfig(appDirectory, configFile); - - const getOutputFile = async (filepath: string) => - path.resolve( - distDirectory, - `${filepath.replace( - new RegExp(CONFIG_FILE_EXTENSIONS.join('|')), - '', - )}.cjs`, - ); - - if (configFilePath) { - const configHelperFilePath = path.normalize( - path.join(distDirectory, './config-helper.js'), - ); - const helperCode = ` - export const defineConfig = (config) => config; - `; - - await fs.ensureDir(distDirectory); - await fs.writeFile(configHelperFilePath, helperCode); - await bundle(configFilePath, { - ...options, - watch, - getOutputFile, - esbuildPlugins: [ - { - name: 'native-build-config', - setup(ctx) { - ctx.onResolve( - { - filter: /app-tools\/server/, - }, - () => { - return { - path: configHelperFilePath, - }; - }, - ); - }, - }, - ], - }); - } -}; - export const emitResolvedConfig = async ( appDirectory: string, resolvedConfig: AppNormalizedConfig, diff --git a/packages/toolkit/node-bundle-require/.npmignore b/packages/toolkit/node-bundle-require/.npmignore deleted file mode 100644 index 353fddf17262..000000000000 --- a/packages/toolkit/node-bundle-require/.npmignore +++ /dev/null @@ -1,31 +0,0 @@ -.DS_Store - -.pnp -.pnp.js -.env.local -.env.*.local -*.log* - -node_modules/ -*.tsbuildinfo -.eslintcache - -coverage/ -output/ -output_resource/ -tests/ - -.vscode/**/* -!.vscode/settings.json -!.vscode/extensions.json -.idea/ - -src/ - -modern.config.* -jest.config.js -.eslintrc.js -.eslintrc -tsconfig.json -CHANGELOG.md - diff --git a/packages/toolkit/node-bundle-require/CHANGELOG.md b/packages/toolkit/node-bundle-require/CHANGELOG.md deleted file mode 100644 index 23eeb4070949..000000000000 --- a/packages/toolkit/node-bundle-require/CHANGELOG.md +++ /dev/null @@ -1,1540 +0,0 @@ -# @modern-js/node-bundle-require - -## 2.68.1 - -### Patch Changes - -- @modern-js/utils@2.68.1 - -## 2.68.0 - -### Minor Changes - -- 292d91c: feat: update esbuild version to 0.25.5 - - feat: 更新 esbuild 版本到 0.25.5 - -### Patch Changes - -- @modern-js/utils@2.68.0 - -## 2.67.11 - -### Patch Changes - -- @modern-js/utils@2.67.11 - -## 2.67.10 - -### Patch Changes - -- @modern-js/utils@2.67.10 - -## 2.67.9 - -### Patch Changes - -- @modern-js/utils@2.67.9 - -## 2.67.8 - -### Patch Changes - -- Updated dependencies [23c8201] - - @modern-js/utils@2.67.8 - -## 2.67.7 - -### Patch Changes - -- @modern-js/utils@2.67.7 - -## 2.67.6 - -### Patch Changes - -- @modern-js/utils@2.67.6 - -## 2.67.5 - -### Patch Changes - -- @modern-js/utils@2.67.5 - -## 2.67.4 - -### Patch Changes - -- @modern-js/utils@2.67.4 - -## 2.67.3 - -### Patch Changes - -- @modern-js/utils@2.67.3 - -## 2.67.2 - -### Patch Changes - -- @modern-js/utils@2.67.2 - -## 2.67.1 - -### Patch Changes - -- Updated dependencies [1d96265] - - @modern-js/utils@2.67.1 - -## 2.67.0 - -### Patch Changes - -- @modern-js/utils@2.67.0 - -## 2.66.0 - -### Patch Changes - -- @modern-js/utils@2.66.0 - -## 2.65.5 - -### Patch Changes - -- @modern-js/utils@2.65.5 - -## 2.65.4 - -### Patch Changes - -- Updated dependencies [0d47cb8] - - @modern-js/utils@2.65.4 - -## 2.65.3 - -### Patch Changes - -- @modern-js/utils@2.65.3 - -## 2.65.2 - -### Patch Changes - -- Updated dependencies [1f83d96] - - @modern-js/utils@2.65.2 - -## 2.65.1 - -### Patch Changes - -- @modern-js/utils@2.65.1 - -## 2.65.0 - -### Patch Changes - -- @modern-js/utils@2.65.0 - -## 2.64.3 - -### Patch Changes - -- @modern-js/utils@2.64.3 - -## 2.64.2 - -### Patch Changes - -- @modern-js/utils@2.64.2 - -## 2.64.1 - -### Patch Changes - -- @modern-js/utils@2.64.1 - -## 2.64.0 - -### Patch Changes - -- @modern-js/utils@2.64.0 - -## 2.63.7 - -### Patch Changes - -- @modern-js/utils@2.63.7 - -## 2.63.6 - -### Patch Changes - -- @modern-js/utils@2.63.6 - -## 2.63.5 - -### Patch Changes - -- @modern-js/utils@2.63.5 - -## 2.63.4 - -### Patch Changes - -- @modern-js/utils@2.63.4 - -## 2.63.3 - -### Patch Changes - -- @modern-js/utils@2.63.3 - -## 2.63.2 - -### Patch Changes - -- Updated dependencies [5fc95f7] -- Updated dependencies [53e3ae0] - - @modern-js/utils@2.63.2 - -## 2.63.1 - -### Patch Changes - -- @modern-js/utils@2.63.1 - -## 2.63.0 - -### Patch Changes - -- @modern-js/utils@2.63.0 - -## 2.62.1 - -### Patch Changes - -- @modern-js/utils@2.62.1 - -## 2.62.0 - -### Patch Changes - -- @modern-js/utils@2.62.0 - -## 2.61.0 - -### Patch Changes - -- Updated dependencies [45230e2] - - @modern-js/utils@2.61.0 - -## 2.60.6 - -### Patch Changes - -- @modern-js/utils@2.60.6 - -## 2.60.5 - -### Patch Changes - -- @modern-js/utils@2.60.5 - -## 2.60.4 - -### Patch Changes - -- @modern-js/utils@2.60.4 - -## 2.60.3 - -### Patch Changes - -- Updated dependencies [303331c] - - @modern-js/utils@2.60.3 - -## 2.60.2 - -### Patch Changes - -- Updated dependencies [8a709bc] - - @modern-js/utils@2.60.2 - -## 2.60.1 - -### Patch Changes - -- @modern-js/utils@2.60.1 - -## 2.60.0 - -### Patch Changes - -- @modern-js/utils@2.60.0 - -## 2.59.0 - -### Patch Changes - -- @modern-js/utils@2.59.0 - -## 2.58.3 - -### Patch Changes - -- @modern-js/utils@2.58.3 - -## 2.58.2 - -### Patch Changes - -- Updated dependencies [a1a9373] - - @modern-js/utils@2.58.2 - -## 2.58.1 - -### Patch Changes - -- @modern-js/utils@2.58.1 - -## 2.58.0 - -### Patch Changes - -- @modern-js/utils@2.58.0 - -## 2.57.1 - -### Patch Changes - -- @modern-js/utils@2.57.1 - -## 2.57.0 - -### Patch Changes - -- Updated dependencies [2515b00] - - @modern-js/utils@2.57.0 - -## 2.56.2 - -### Patch Changes - -- @modern-js/utils@2.56.2 - -## 2.56.1 - -### Patch Changes - -- @modern-js/utils@2.56.1 - -## 2.56.0 - -### Patch Changes - -- @modern-js/utils@2.56.0 - -## 2.55.0 - -### Patch Changes - -- Updated dependencies [bbcf55a] - - @modern-js/utils@2.55.0 - -## 2.54.6 - -### Patch Changes - -- @modern-js/utils@2.54.6 - -## 2.54.5 - -### Patch Changes - -- @modern-js/utils@2.54.5 - -## 2.54.4 - -### Patch Changes - -- @modern-js/utils@2.54.4 - -## 2.54.3 - -### Patch Changes - -- @modern-js/utils@2.54.3 - -## 2.54.2 - -### Patch Changes - -- @modern-js/utils@2.54.2 - -## 2.54.1 - -### Patch Changes - -- @modern-js/utils@2.54.1 - -## 2.54.0 - -### Patch Changes - -- Updated dependencies [15a090c] -- Updated dependencies [a8d8f0c] -- Updated dependencies [09798ac] - - @modern-js/utils@2.54.0 - -## 2.53.0 - -### Patch Changes - -- @modern-js/utils@2.53.0 - -## 2.52.0 - -### Patch Changes - -- @modern-js/utils@2.52.0 - -## 2.51.0 - -### Patch Changes - -- @modern-js/utils@2.51.0 - -## 2.50.0 - -### Patch Changes - -- @modern-js/utils@2.50.0 - -## 2.49.4 - -### Patch Changes - -- @modern-js/utils@2.49.4 - -## 2.49.3 - -### Patch Changes - -- @modern-js/utils@2.49.3 - -## 2.49.2 - -### Patch Changes - -- @modern-js/utils@2.49.2 - -## 2.49.1 - -### Patch Changes - -- @modern-js/utils@2.49.1 - -## 2.49.0 - -### Patch Changes - -- Updated dependencies [e8c8c5d] - - @modern-js/utils@2.49.0 - -## 2.48.6 - -### Patch Changes - -- @modern-js/utils@2.48.6 - -## 2.48.5 - -### Patch Changes - -- Updated dependencies [4ca9f4c] - - @modern-js/utils@2.48.5 - -## 2.48.4 - -### Patch Changes - -- Updated dependencies [7d2d433] - - @modern-js/utils@2.48.4 - -## 2.48.3 - -### Patch Changes - -- @modern-js/utils@2.48.3 - -## 2.48.2 - -### Patch Changes - -- @modern-js/utils@2.48.2 - -## 2.48.1 - -### Patch Changes - -- Updated dependencies [8942b90] -- Updated dependencies [ce426f7] - - @modern-js/utils@2.48.1 - -## 2.48.0 - -### Patch Changes - -- Updated dependencies [c323a23] - - @modern-js/utils@2.48.0 - -## 2.47.1 - -### Patch Changes - -- @modern-js/utils@2.47.1 - -## 2.47.0 - -### Patch Changes - -- Updated dependencies [a5386ab] - - @modern-js/utils@2.47.0 - -## 2.46.1 - -### Patch Changes - -- @modern-js/utils@2.46.1 - -## 2.46.0 - -### Patch Changes - -- @modern-js/utils@2.46.0 - -## 2.45.0 - -### Patch Changes - -- @modern-js/utils@2.45.0 - -## 2.44.0 - -### Patch Changes - -- @modern-js/utils@2.44.0 - -## 2.43.0 - -### Patch Changes - -- @modern-js/utils@2.43.0 - -## 2.42.2 - -### Patch Changes - -- @modern-js/utils@2.42.2 - -## 2.42.1 - -### Patch Changes - -- @modern-js/utils@2.42.1 - -## 2.42.0 - -### Patch Changes - -- @modern-js/utils@2.42.0 - -## 2.41.0 - -### Patch Changes - -- c4d396a: chore(swc): bump swc and helpers - chore(swc): 升级 swc 以及 helpers -- Updated dependencies [c4d396a] - - @modern-js/utils@2.41.0 - -## 2.40.0 - -### Patch Changes - -- Updated dependencies [95f15d2] - - @modern-js/utils@2.40.0 - -## 2.39.2 - -### Patch Changes - -- @modern-js/utils@2.39.2 - -## 2.39.1 - -### Patch Changes - -- @modern-js/utils@2.39.1 - -## 2.39.0 - -### Patch Changes - -- @modern-js/utils@2.39.0 - -## 2.38.0 - -### Patch Changes - -- @modern-js/utils@2.38.0 - -## 2.37.2 - -### Patch Changes - -- @modern-js/utils@2.37.2 - -## 2.37.1 - -### Patch Changes - -- @modern-js/utils@2.37.1 - -## 2.37.0 - -### Patch Changes - -- Updated dependencies [383b636] -- Updated dependencies [ce0a14e] -- Updated dependencies [708f248] - - @modern-js/utils@2.37.0 - -## 2.36.0 - -### Patch Changes - -- Updated dependencies [3473bee] -- Updated dependencies [b98f8aa] -- Updated dependencies [eb602d2] - - @modern-js/utils@2.36.0 - -## 2.35.1 - -### Patch Changes - -- Updated dependencies [ea3fe18] -- Updated dependencies [9dd3151] -- Updated dependencies [4980480] -- Updated dependencies [6a1d46e] - - @modern-js/utils@2.35.1 - -## 2.35.0 - -### Patch Changes - -- Updated dependencies [15b834f] - - @modern-js/utils@2.35.0 - -## 2.34.0 - -### Patch Changes - -- Updated dependencies [a77b82a] -- Updated dependencies [c8b448b] - - @modern-js/utils@2.34.0 - -## 2.33.1 - -### Patch Changes - -- @modern-js/utils@2.33.1 - -## 2.33.0 - -### Patch Changes - -- Updated dependencies [fd82137] -- Updated dependencies [bc1f8da] - - @modern-js/utils@2.33.0 - -## 2.32.1 - -### Patch Changes - -- @modern-js/utils@2.32.1 - -## 2.32.0 - -### Patch Changes - -- 6076166: fix: packaging errors found by publint - - fix: 修复 publint 检测到的 packaging 问题 - -- Updated dependencies [e5a3fb4] -- Updated dependencies [6076166] -- Updated dependencies [a030aff] -- Updated dependencies [3c91100] -- Updated dependencies [5255eba] - - @modern-js/utils@2.32.0 - -## 2.31.2 - -### Patch Changes - -- Updated dependencies [15d30abdc66] - - @modern-js/utils@2.31.2 - -## 2.31.1 - -### Patch Changes - -- @modern-js/utils@2.31.1 - -## 2.31.0 - -### Patch Changes - -- Updated dependencies [1882366] - - @modern-js/utils@2.31.0 - -## 2.30.0 - -### Patch Changes - -- @modern-js/utils@2.30.0 - -## 2.29.0 - -### Patch Changes - -- 99052ea: feat(builder): improve error stacks if dev compilation failed - - feat(builder): 优化 dev 编译失败时的错误堆栈格式 - -- Updated dependencies [e6b5355] -- Updated dependencies [93db783] -- Updated dependencies [cba7675] -- Updated dependencies [99052ea] -- Updated dependencies [1d71d2e] - - @modern-js/utils@2.29.0 - -## 2.28.0 - -### Patch Changes - -- Updated dependencies [00b58a7] - - @modern-js/utils@2.28.0 - -## 2.27.0 - -### Patch Changes - -- Updated dependencies [91d14b8] -- Updated dependencies [6d7104d] - - @modern-js/utils@2.27.0 - -## 2.26.0 - -### Patch Changes - -- @modern-js/utils@2.26.0 - -## 2.25.2 - -### Patch Changes - -- Updated dependencies [63d8247] -- Updated dependencies [6651684] -- Updated dependencies [272646c] -- Updated dependencies [358ed24] - - @modern-js/utils@2.25.2 - -## 2.25.1 - -### Patch Changes - -- 85366bc: chore(deps): bump esbuild from v15/v16 to v17 - - chore(deps): 将 esbuild 从 v15/v16 升级到 v17 - -- Updated dependencies [9f78d0c] - - @modern-js/utils@2.25.1 - -## 2.25.0 - -### Patch Changes - -- dc81210: fix(bundle-require): bundle esm package with cjs modules - - fix(bundle-require): 支持打包 esm package 包含 cjs 模块的情况 - -- Updated dependencies [5732c6a] - - @modern-js/utils@2.25.0 - -## 2.24.0 - -### Patch Changes - -- Updated dependencies [c882fbd] -- Updated dependencies [4a82c3b] - - @modern-js/utils@2.24.0 - -## 2.23.1 - -### Patch Changes - -- Updated dependencies [f08bbfc] -- Updated dependencies [a6b313a] -- Updated dependencies [8f2cab0] - - @modern-js/utils@2.23.1 - -## 2.23.0 - -### Patch Changes - -- 7e6fb5f: chore: publishConfig add provenance config - - chore: publishConfig 增加 provenance 配置 - -- Updated dependencies [7e6fb5f] -- Updated dependencies [a7a7ad7] -- Updated dependencies [6dec7c2] -- Updated dependencies [c3216b5] - - @modern-js/utils@2.23.0 - -## 2.22.1 - -### Patch Changes - -- Updated dependencies [e2848a2] -- Updated dependencies [d4045ed] - - @modern-js/utils@2.22.1 - -## 2.22.0 - -### Patch Changes - -- Updated dependencies [3d48836] -- Updated dependencies [5050e8e] - - @modern-js/utils@2.22.0 - -## 2.21.1 - -### Patch Changes - -- @modern-js/utils@2.21.1 - -## 2.21.0 - -### Patch Changes - -- 26dcf3a: chore: bump typescript to v5 in devDependencies - - chore: 升级 devDependencies 中的 typescript 版本到 v5 - -- Updated dependencies [e81eeaf] -- Updated dependencies [26dcf3a] -- Updated dependencies [056627f] -- Updated dependencies [0fc15ca] -- Updated dependencies [43b4e83] -- Updated dependencies [ad78387] - - @modern-js/utils@2.21.0 - -## 2.20.0 - -### Patch Changes - -- 6b9d90a: chore: remove @babel/runtime. add @swc/helper and enable `externalHelper` config. - chore: 移除 @babel/runtime 依赖. 增加 @swc/helpers 依赖并且开启 `externalHelpers` 配置 -- Updated dependencies [3c4e0a5] -- Updated dependencies [6b9d90a] - - @modern-js/utils@2.20.0 - -## 2.19.1 - -### Patch Changes - -- @modern-js/utils@2.19.1 - -## 2.19.0 - -### Patch Changes - -- Updated dependencies [1134fe2] - - @modern-js/utils@2.19.0 - -## 2.18.1 - -### Patch Changes - -- @modern-js/utils@2.18.1 - -## 2.18.0 - -### Patch Changes - -- @modern-js/utils@2.18.0 - -## 2.17.1 - -### Patch Changes - -- @modern-js/utils@2.17.1 - -## 2.17.0 - -### Patch Changes - -- @modern-js/utils@2.17.0 - -## 2.16.0 - -### Patch Changes - -- 4e876ab: chore: package.json include the monorepo-relative directory - - chore: 在 package.json 中声明 monorepo 的子路径 - -- Updated dependencies [5954330] -- Updated dependencies [7596520] -- Updated dependencies [4e876ab] - - @modern-js/utils@2.16.0 - -## 2.15.0 - -### Patch Changes - -- @modern-js/utils@2.15.0 - -## 2.14.0 - -### Patch Changes - -- Updated dependencies [4779152] -- Updated dependencies [9321bef] -- Updated dependencies [9b45c58] -- Updated dependencies [52d0cb1] -- Updated dependencies [60a81d0] -- Updated dependencies [dacef96] -- Updated dependencies [16399fd] - - @modern-js/utils@2.14.0 - -## 2.13.4 - -### Patch Changes - -- @modern-js/utils@2.13.4 - -## 2.13.3 - -### Patch Changes - -- @modern-js/utils@2.13.3 - -## 2.13.2 - -### Patch Changes - -- @modern-js/utils@2.13.2 - -## 2.13.1 - -### Patch Changes - -- @modern-js/utils@2.13.1 - -## 2.13.0 - -### Patch Changes - -- @modern-js/utils@2.13.0 - -## 2.12.0 - -### Patch Changes - -- Updated dependencies [c2ca6c8] -- Updated dependencies [6d86e34] - - @modern-js/utils@2.12.0 - -## 2.11.0 - -### Patch Changes - -- Updated dependencies [cfb058f] -- Updated dependencies [0bd018b] -- Updated dependencies [5d624fd] -- Updated dependencies [e2466a1] -- Updated dependencies [02bb383] -- Updated dependencies [381a3b9] -- Updated dependencies [7a60f10] -- Updated dependencies [274b2e5] -- Updated dependencies [b9e1c54] - - @modern-js/utils@2.11.0 - -## 2.10.0 - -### Patch Changes - -- 0da32d0: chore: upgrade jest and puppeteer - chore: 升级 jest 和 puppeteer 到 latest -- 0d9962b: fix: add types field in package.json - fix: 添加 package.json 中的 types 字段 -- Updated dependencies [0da32d0] -- Updated dependencies [fbefa7e] -- Updated dependencies [4d54233] -- Updated dependencies [6db4864] - - @modern-js/utils@2.10.0 - -## 2.9.0 - -### Patch Changes - -- @modern-js/utils@2.9.0 - -## 2.8.0 - -### Patch Changes - -- Updated dependencies [1104a9f18b] -- Updated dependencies [1f6ca2c7fb] - - @modern-js/utils@2.8.0 - -## 2.7.0 - -### Patch Changes - -- 1eea234fdd: chore: make test files naming consistent - - chore: 统一测试文件命名为小驼峰格式 - -- Updated dependencies [0f15fc597c] -- Updated dependencies [dcad887024] -- Updated dependencies [a4672f7c16] -- Updated dependencies [7fff9020e1] -- Updated dependencies [84bfb439b8] - - @modern-js/utils@2.7.0 - -## 2.6.0 - -### Patch Changes - -- Updated dependencies [e1f799e] -- Updated dependencies [7915ab3] -- Updated dependencies [0fe658a] - - @modern-js/utils@2.6.0 - -## 2.5.0 - -### Patch Changes - -- 89ca6cc: refactor: merge build-config into scripts/build - - refactor: 把 build-config 合并进 scripts/build - -- 30614fa: chore: modify package.json entry fields and build config - chore: 更改 package.json entry 字段以及构建配置 -- Updated dependencies [30614fa] -- Updated dependencies [1b0ce87] -- Updated dependencies [11c053b] - - @modern-js/utils@2.5.0 - -## 2.4.0 - -### Patch Changes - -- 98a2733: fix(tailwind): fix webpack cache not work when using twin.macro - - fix(tailwind): 修复使用 twin.macro 时 webpack 缓存不生效的问题 - -- Updated dependencies [98a2733] -- Updated dependencies [8c2db5f] - - @modern-js/utils@2.4.0 - -## 2.3.0 - -### Patch Changes - -- Updated dependencies [fd5a3ed] -- Updated dependencies [6ca1c0b] -- Updated dependencies [89b6739] - - @modern-js/utils@2.3.0 - -## 2.2.0 - -### Patch Changes - -- Updated dependencies [49eff0c] - - @modern-js/utils@2.2.0 - -## 2.1.0 - -### Patch Changes - -- Updated dependencies [837620c] -- Updated dependencies [8a9482c] - - @modern-js/utils@2.1.0 - -## 2.0.2 - -### Patch Changes - -- @modern-js/utils@2.0.2 - -## 2.0.1 - -### Patch Changes - -- @modern-js/utils@2.0.1 - -## 2.0.0 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [edd1cfb1af] -- Updated dependencies [dda38c9c3e] -- Updated dependencies [ffb2ed4] -- Updated dependencies [bbe4c4ab64] - - @modern-js/utils@2.0.0 - -## 2.0.0-beta.7 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [edd1cfb1af] -- Updated dependencies [dda38c9c3e] -- Updated dependencies [bbe4c4ab64] - - @modern-js/utils@2.0.0-beta.7 - -## 2.0.0-beta.6 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- a2509bfbdb: feat: bump esbuild from 0.14.38 to 0.15.7 - - feat: 将 esbuild 从 0.14.38 版本升级至 0.15.7 版本 - -- Updated dependencies [7879e8f711] -- Updated dependencies [6aca875011] -- Updated dependencies [2e6031955e] -- Updated dependencies [7b7d12cf8f] -- Updated dependencies [7efeed4] -- Updated dependencies [92f0eade39] -- Updated dependencies [edd1cfb1af] -- Updated dependencies [cc971eabfc] -- Updated dependencies [5b9049f2e9] -- Updated dependencies [92004d1906] -- Updated dependencies [b8bbe036c7] -- Updated dependencies [d5a31df781] -- Updated dependencies [dda38c9c3e] -- Updated dependencies [3bbea92b2a] -- Updated dependencies [b710adb843] -- Updated dependencies [ea7cf06257] -- Updated dependencies [bbe4c4ab64] -- Updated dependencies [e4558a0bc4] -- Updated dependencies [abf3421a75] -- Updated dependencies [543be9558e] -- Updated dependencies [14b712da84] - - @modern-js/utils@2.0.0-beta.6 - -## 2.0.0-beta.4 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- a2509bfbdb: feat: bump esbuild from 0.14.38 to 0.15.7 - - feat: 将 esbuild 从 0.14.38 版本升级至 0.15.7 版本 - -- Updated dependencies [7879e8f] -- Updated dependencies [6aca875] -- Updated dependencies [2e6031955e] -- Updated dependencies [7b7d12c] -- Updated dependencies [92f0eade39] -- Updated dependencies [edd1cfb1af] -- Updated dependencies [cc971eabfc] -- Updated dependencies [5b9049f2e9] -- Updated dependencies [92004d1906] -- Updated dependencies [b8bbe036c7] -- Updated dependencies [d5a31df781] -- Updated dependencies [dda38c9c3e] -- Updated dependencies [3bbea92b2a] -- Updated dependencies [b710adb843] -- Updated dependencies [ea7cf06] -- Updated dependencies [bbe4c4a] -- Updated dependencies [e4558a0] -- Updated dependencies [abf3421a75] -- Updated dependencies [543be9558e] -- Updated dependencies [14b712da84] - - @modern-js/utils@2.0.0-beta.4 - -## 2.0.0-beta.3 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- a2509bfbdb: feat: bump esbuild from 0.14.38 to 0.15.7 - - feat: 将 esbuild 从 0.14.38 版本升级至 0.15.7 版本 - -- Updated dependencies [6aca875] -- Updated dependencies [2e60319] -- Updated dependencies [92f0eade39] -- Updated dependencies [edd1cfb1af] -- Updated dependencies [cc971eabfc] -- Updated dependencies [5b9049f2e9] -- Updated dependencies [92004d1906] -- Updated dependencies [b8bbe036c7] -- Updated dependencies [d5a31df781] -- Updated dependencies [dda38c9c3e] -- Updated dependencies [3bbea92b2a] -- Updated dependencies [b710adb] -- Updated dependencies [ea7cf06] -- Updated dependencies [bbe4c4a] -- Updated dependencies [e4558a0] -- Updated dependencies [abf3421a75] -- Updated dependencies [543be9558e] -- Updated dependencies [14b712da84] - - @modern-js/utils@2.0.0-beta.3 - -## 2.0.0-beta.2 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- a2509bfbdb: feat: bump esbuild from 0.14.38 to 0.15.7 - - feat: 将 esbuild 从 0.14.38 版本升级至 0.15.7 版本 - -- Updated dependencies [92f0ead] -- Updated dependencies [edd1cfb1af] -- Updated dependencies [cc971eabfc] -- Updated dependencies [5b9049f2e9] -- Updated dependencies [92004d1] -- Updated dependencies [b8bbe036c7] -- Updated dependencies [d5a31df781] -- Updated dependencies [dda38c9c3e] -- Updated dependencies [3bbea92b2a] -- Updated dependencies [abf3421a75] -- Updated dependencies [543be9558e] -- Updated dependencies [14b712da84] - - @modern-js/utils@2.0.0-beta.2 - -## 2.0.0-beta.1 - -### Major Changes - -- dda38c9: chore: v2 - -### Patch Changes - -- a2509bfbdb: feat: bump esbuild from 0.14.38 to 0.15.7 - - feat: 将 esbuild 从 0.14.38 版本升级至 0.15.7 版本 - -- Updated dependencies [92f0ead] -- Updated dependencies [edd1cfb1af] -- Updated dependencies [cc971eabfc] -- Updated dependencies [5b9049f] -- Updated dependencies [92004d1] -- Updated dependencies [b8bbe036c7] -- Updated dependencies [d5a31df781] -- Updated dependencies [dda38c9] -- Updated dependencies [3bbea92b2a] -- Updated dependencies [abf3421] -- Updated dependencies [543be9558e] -- Updated dependencies [14b712d] - - @modern-js/utils@2.0.0-beta.1 - -## 2.0.0-beta.0 - -### Major Changes - -- dda38c9: chore: v2 - -### Patch Changes - -- a2509bf: feat: bump esbuild from 0.14.38 to 0.15.7 - - feat: 将 esbuild 从 0.14.38 版本升级至 0.15.7 版本 - -- Updated dependencies [edd1cfb1a] -- Updated dependencies [cc971eabf] -- Updated dependencies [5b9049f] -- Updated dependencies [b8bbe036c] -- Updated dependencies [d5a31df78] -- Updated dependencies [dda38c9] -- Updated dependencies [3bbea92b2] -- Updated dependencies [abf3421] -- Updated dependencies [543be95] -- Updated dependencies [14b712d] - - @modern-js/utils@2.0.0-beta.0 - -## 1.21.2 - -### Patch Changes - -- @modern-js/utils@1.21.2 - -## 1.21.1 - -### Patch Changes - -- @modern-js/utils@1.21.1 - -## 1.21.0 - -### Patch Changes - -- 7b3a482: fix(bundle-require): should bundle ts or esm files inside node_modules - - fix(bundle-require): 修复无法打包 node_modules 下的 ts 和 esm 文件的问题 - - - @modern-js/utils@1.21.0 - -## 1.20.1 - -### Patch Changes - -- Updated dependencies [49515c5] - - @modern-js/utils@1.20.1 - -## 1.20.0 - -### Patch Changes - -- Updated dependencies [d5d570b] -- Updated dependencies [4ddc185] -- Updated dependencies [df8ee7e] -- Updated dependencies [8c05089] - - @modern-js/utils@1.20.0 - -## 1.19.0 - -### Patch Changes - -- @modern-js/utils@1.19.0 - -## 1.18.1 - -### Patch Changes - -- Updated dependencies [9fcfbd4] -- Updated dependencies [6c2c745] - - @modern-js/utils@1.18.1 - -## 1.18.0 - -### Patch Changes - -- Updated dependencies [8280920] -- Updated dependencies [5227370] -- Updated dependencies [7928bae] - - @modern-js/utils@1.18.0 - -## 1.17.0 - -### Patch Changes - -- Updated dependencies [1b9176f] -- Updated dependencies [77d3a38] -- Updated dependencies [151329d] -- Updated dependencies [5af9472] -- Updated dependencies [6b6a534] -- Updated dependencies [6b43a2b] -- Updated dependencies [a7be124] -- Updated dependencies [31547b4] - - @modern-js/utils@1.17.0 - -## 1.16.0 - -### Patch Changes - -- Updated dependencies [641592f52] -- Updated dependencies [3904b30a5] -- Updated dependencies [1100dd58c] -- Updated dependencies [e04e6e76a] -- Updated dependencies [81c66e4a4] -- Updated dependencies [2c305b6f5] - - @modern-js/utils@1.16.0 - -## 1.15.0 - -### Patch Changes - -- Updated dependencies [8658a78] -- Updated dependencies [05d4a4f] -- Updated dependencies [ad05af9] -- Updated dependencies [5d53d1c] -- Updated dependencies [37cd159] - - @modern-js/utils@1.15.0 - -## 1.3.8 - -### Patch Changes - -- 3c20a5e: fix: `@modern-js/node-bundle-require` export fields - - fix: 修复 `@modern-js/node-bundle-require` 导出字段路径 - -- Updated dependencies [79e83ef] -- Updated dependencies [22f4dca] -- Updated dependencies [7b9067f] - - @modern-js/utils@1.9.0 - -## 1.3.7 - -### Patch Changes - -- 3050acc: change load config logic -- Updated dependencies [a90bc96] - - @modern-js/utils@1.7.9 - -## 1.3.6 - -### Patch Changes - -- 8d0eb81f5: change load config logic - -## 1.3.5 - -### Patch Changes - -- a1198d509: feat: bump babel 7.18.0 - -## 1.3.4 - -### Patch Changes - -- b8cfc42cd: feat: prebundle tsconfig-paths and nanoid -- Updated dependencies [b8cfc42cd] -- Updated dependencies [804a5bb8a] - - @modern-js/utils@1.7.4 - -## 1.3.3 - -### Patch Changes - -- d32f35134: chore: add modern/jest/eslint/ts config files to .npmignore - -## 1.3.2 - -### Patch Changes - -- 6c1438d2: fix: missing peer deps warnings -- 895fa0ff: chore: using "workspace:\*" in devDependencies - -## 1.3.1 - -### Patch Changes - -- b8599d09: fix: failed to generate webpack cache -- 6cffe99d: chore: - remove react eslint rules for `modern-js` rule set. - add .eslintrc for each package to speed up linting -- 04ae5262: chore: bump @modern-js/utils to v1.4.1 in dependencies -- 60f7d8bf: feat: add tests dir to npmignore - -## 1.3.0 - -### Minor Changes - -- d2d1d6b2: feat: support server config - -## 1.2.4 - -### Patch Changes - -- 8491b6dd: fix: optimise "types" exports from plugin - -## 1.2.3 - -### Patch Changes - -- 0f4b9b05: fix: release @modern-js/node-bundle-require for change randomUUID to nanoid - -## 1.2.1 - -### Patch Changes - -- 83166714: change .npmignore - -## 1.2.0 - -### Minor Changes - -- cfe11628: Make Modern.js self bootstraping - -### Patch Changes - -- 59cbcb77: fix esbuild error when project's tsconfig.json sets "target:es5" - -## 1.1.1 - -### Patch Changes - -- 0fa83663: support more .env files - -## 1.1.0 - -### Minor Changes - -- 96119db2: Relese v1.1.0 - -## 1.0.1 - -### Patch Changes - -- fix(require): external regexp - -## 1.0.0 - -### Patch Changes - -- 0fd196e: feat: fix bugs - -## 1.0.0-rc.28 - -### Patch Changes - -- 0fd196e: feat: fix bugs - -## 1.0.0-rc.27 - -### Patch Changes - -- 0fd196e: feat: fix bugs - -## 1.0.0-rc.26 - -### Patch Changes - -- 0fd196e: feat: fix bugs - -## 1.0.0-rc.19 - -- publish diff --git a/packages/toolkit/node-bundle-require/LICENSE b/packages/toolkit/node-bundle-require/LICENSE deleted file mode 100644 index 39e3c5971226..000000000000 --- a/packages/toolkit/node-bundle-require/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021-present Modern.js - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/toolkit/node-bundle-require/README.md b/packages/toolkit/node-bundle-require/README.md deleted file mode 100644 index f3d407c43230..000000000000 --- a/packages/toolkit/node-bundle-require/README.md +++ /dev/null @@ -1,26 +0,0 @@ -

- Modern.js Logo -

- -

Modern.js

- -

- A Progressive React Framework for modern web development. -

- -## Getting Started - -Please follow [Quick Start](https://modernjs.dev/en/guides/get-started/quick-start) to get started with Modern.js. - -## Documentation - -- [English Documentation](https://modernjs.dev/en/) -- [中文文档](https://modernjs.dev) - -## Contributing - -Please read the [Contributing Guide](https://github.com/web-infra-dev/modern.js/blob/main/CONTRIBUTING.md). - -## License - -Modern.js is [MIT licensed](https://github.com/web-infra-dev/modern.js/blob/main/LICENSE). diff --git a/packages/toolkit/node-bundle-require/jest.config.js b/packages/toolkit/node-bundle-require/jest.config.js deleted file mode 100644 index 5fcd3e5b28bd..000000000000 --- a/packages/toolkit/node-bundle-require/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const sharedConfig = require('@scripts/jest-config'); - -/** @type {import('@jest/types').Config.InitialOptions} */ -module.exports = { - ...sharedConfig, - rootDir: __dirname, -}; diff --git a/packages/toolkit/node-bundle-require/rslib.config.mts b/packages/toolkit/node-bundle-require/rslib.config.mts deleted file mode 100644 index 89db2ee1a8c8..000000000000 --- a/packages/toolkit/node-bundle-require/rslib.config.mts +++ /dev/null @@ -1,38 +0,0 @@ -import { defineConfig } from '@rslib/core'; - -export default defineConfig({ - lib: [ - { - format: 'cjs', - syntax: 'es2021', - bundle: false, - outBase: './src', - output: { - distPath: { - root: './dist/cjs', - }, - target: 'node', - }, - dts: { - distPath: 'dist/types', - }, - autoExtension: true, - }, - { - format: 'esm', - syntax: 'es2021', - bundle: false, - outBase: './src', - autoExtension: true, - output: { - distPath: { - root: './dist/esm', - }, - target: 'node', - }, - dts: { - distPath: 'dist/types', - }, - }, - ], -}); diff --git a/packages/toolkit/node-bundle-require/src/bundle.ts b/packages/toolkit/node-bundle-require/src/bundle.ts deleted file mode 100644 index 964c315e3edd..000000000000 --- a/packages/toolkit/node-bundle-require/src/bundle.ts +++ /dev/null @@ -1,219 +0,0 @@ -import path from 'path'; -import { - fs, - CONFIG_CACHE_DIR, - createDebugger, - nanoid, - pkgUp, -} from '@modern-js/utils'; -import { - type BuildOptions, - type Loader, - type Plugin, - build, - context, -} from 'esbuild'; - -const debug = createDebugger('node-bundle'); - -const JS_EXT_RE = /\.(mjs|cjs|ts|js|tsx|jsx)$/; - -const BUNDLED_EXT_RE = /\.(ts|mts|cts|tsx|mjs)$/; - -// Must not start with "/" or "./" or "../" -// "/test/node_modules/foo" -// "c:/node_modules/foo" -export const EXTERNAL_REGEXP = /^[^./]|^\.[^./]|^\.\.[^/]/; - -function inferLoader(ext: string): Loader { - if (ext === '.mjs' || ext === '.cjs') { - return 'js'; - } - return ext.slice(1) as Loader; -} - -// If the package.json contains `type="module"`, and the filepath is -// not using `.cjs` ext, we will treat the package as a pure esm pkg -async function isTypeModulePkg(cwd: string) { - const pkgJsonPath = await pkgUp({ cwd }); - if (pkgJsonPath) { - const pkgJson = await fs.readJSON(pkgJsonPath); - const ext = path.extname(cwd); - return ( - pkgJson.type === 'module' && - ext !== '.cjs' && - !pkgJson.main?.endsWith('.cjs') - ); - } - return false; -} - -export interface Options { - /** - * The `require` function that is used to load the output file - * Default to the global `require` function - * This function can be asynchronous, i.e. returns a Promise - */ - require?: (outfile: string) => any; - /** - * esbuild options - */ - esbuildOptions?: BuildOptions; - /** - * esbuild plugin - */ - esbuildPlugins?: Plugin[]; - /** - * Get the path to the output file - * By default we simply replace the extension with `.bundled.cjs` - */ - getOutputFile?: (filepath: string) => Promise; - - /** - * auto clear bundle file - */ - autoClear?: boolean; - - /** - * Whether to enable watch mode - */ - watch?: boolean; -} - -export const defaultGetOutputFile = async (filepath: string) => - path.resolve( - CONFIG_CACHE_DIR, - `${filepath.replace(/\.(js|ts)/, '')}.${nanoid(8)}.cjs`, - ); - -export async function bundle(filepath: string, options?: Options) { - if (!JS_EXT_RE.test(filepath)) { - throw new Error(`${filepath} is not a valid JS file`); - } - - debug('bundle', filepath, options); - - const getOutputFile = options?.getOutputFile || defaultGetOutputFile; - const outfile = await getOutputFile(path.basename(filepath)); - - const esbuildOptions: BuildOptions = { - entryPoints: [filepath], - outfile, - format: 'cjs', - platform: 'node', - bundle: true, - // fix transforming error when the project's tsconfig.json - // sets `target: "es5"` - // reference: https://github.com/evanw/esbuild/releases/tag/v0.12.6 - target: 'esnext', - ...options?.esbuildOptions, - plugins: [ - ...(options?.esbuildPlugins || []), - // https://github.com/evanw/esbuild/issues/1051#issuecomment-806325487 - { - name: 'native-node-modules', - setup(build) { - // If a ".node" file is imported within a module in the "file" namespace, resolve - // it to an absolute path and put it into the "node-file" virtual namespace. - build.onResolve({ filter: /\.node$/, namespace: 'file' }, args => ({ - path: require.resolve(args.path, { paths: [args.resolveDir] }), - namespace: 'node-file', - })); - - // Files in the "node-file" virtual namespace call "require()" on the - // path from esbuild of the ".node" file in the output directory. - build.onLoad({ filter: /.*/, namespace: 'node-file' }, args => ({ - contents: ` - import path from ${JSON.stringify(args.path)} - try { module.exports = require(path) } - catch {} - `, - })); - - // If a ".node" file is imported within a module in the "node-file" namespace, put - // it in the "file" namespace where esbuild's default loading behavior will handle - // it. It is already an absolute path since we resolved it to one above. - build.onResolve( - { filter: /\.node$/, namespace: 'node-file' }, - args => ({ - path: args.path, - namespace: 'file', - }), - ); - - // Tell esbuild's default loading behavior to use the "file" loader for - // these ".node" files. - const opts = build.initialOptions; - opts.loader = opts.loader || {}; - opts.loader['.node'] = 'file'; - }, - }, - { - name: 'replace-path', - setup(ctx) { - ctx.onLoad({ filter: JS_EXT_RE }, async args => { - const contents = fs.readFileSync(args.path, 'utf-8'); - return { - contents: contents - .replace(/\b__filename\b/g, JSON.stringify(args.path)) - .replace( - /\b__dirname\b/g, - JSON.stringify(path.dirname(args.path)), - ) - .replace( - /\bimport\.meta\.url\b/g, - JSON.stringify(`file://${args.path}`), - ), - loader: inferLoader(path.extname(args.path)), - }; - }); - }, - }, - // https://github.com/evanw/esbuild/issues/619#issuecomment-751995294 - { - name: 'make-all-packages-external', - setup(_build) { - _build.onResolve({ filter: EXTERNAL_REGEXP }, async args => { - let external = true; - // FIXME: windows external entrypoint - if (args.kind === 'entry-point') { - external = false; - } - - try { - const resolvedPath = require.resolve(args.path, { - paths: [args.resolveDir], - }); - // If it is a typescript or esm package, we should bundle it. - if ( - BUNDLED_EXT_RE.test(resolvedPath) || - (await isTypeModulePkg(resolvedPath)) - ) { - return { - external: false, - }; - } - } catch (err) { - // If the package can not be resolved, do nothing. - } - - return { - path: args.path, - external, - }; - }); - }, - }, - ], - }; - - if (options?.watch) { - const ctx = await context(esbuildOptions); - await ctx.rebuild(); - await ctx.watch(); - } else { - await build(esbuildOptions); - } - - return outfile; -} diff --git a/packages/toolkit/node-bundle-require/src/index.ts b/packages/toolkit/node-bundle-require/src/index.ts deleted file mode 100644 index bb23990ff303..000000000000 --- a/packages/toolkit/node-bundle-require/src/index.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { fs, deleteRequireCache } from '@modern-js/utils'; -import type { Options } from './bundle'; -import { bundle, defaultGetOutputFile } from './bundle'; - -export { bundle, defaultGetOutputFile }; -export type { Options }; - -export async function bundleRequire(filepath: string, options?: Options) { - const configFile = await bundle(filepath, options); - - let mod; - const req = options?.require || require; - try { - mod = await req(configFile); - - // Webpack will check require history for persistent cache. - // If webpack can not resolve the file, the previous cache pack will become invalid. - // The bundled file is temporary, so we should clear the require history to avoid breaking the webpack cache. - deleteRequireCache(configFile); - } finally { - // default auto clear configFile - if (options?.autoClear === undefined || options.autoClear) { - fs.unlinkSync(configFile); - } - } - - return mod; -} diff --git a/packages/toolkit/node-bundle-require/src/modern-app-env.d.ts b/packages/toolkit/node-bundle-require/src/modern-app-env.d.ts deleted file mode 100644 index ce008419c2d1..000000000000 --- a/packages/toolkit/node-bundle-require/src/modern-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/toolkit/node-bundle-require/tests/fixture/a.ts b/packages/toolkit/node-bundle-require/tests/fixture/a.ts deleted file mode 100644 index 4705b528e9e9..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/a.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const filename: string = __filename; -export const showFileName = () => filename; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/input.ts b/packages/toolkit/node-bundle-require/tests/fixture/input.ts deleted file mode 100644 index de57d235504c..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/input.ts +++ /dev/null @@ -1,5 +0,0 @@ -import * as a from './a'; - -export default { - a, -}; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/inputImportEsm.ts b/packages/toolkit/node-bundle-require/tests/fixture/inputImportEsm.ts deleted file mode 100644 index 04c0dec55544..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/inputImportEsm.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { bar } from 'test-package-esm'; - -export default { - bar, -}; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/inputImportEsmWithCjs.ts b/packages/toolkit/node-bundle-require/tests/fixture/inputImportEsmWithCjs.ts deleted file mode 100644 index a5d8e1155c09..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/inputImportEsmWithCjs.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { bar } from 'test-package-esm-with-cjs'; - -export default { - bar, -}; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/inputImportTs.ts b/packages/toolkit/node-bundle-require/tests/fixture/inputImportTs.ts deleted file mode 100644 index b63219ac9d2a..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/inputImportTs.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { bar } from 'test-package-ts'; - -export default { - bar, -}; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.cjs b/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.cjs deleted file mode 100644 index f556f542b510..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.cjs +++ /dev/null @@ -1 +0,0 @@ -module.exports.bar = 1; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.mjs b/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.mjs deleted file mode 100644 index 41d366782960..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/index.mjs +++ /dev/null @@ -1 +0,0 @@ -export const bar = 1; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/package.json b/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/package.json deleted file mode 100644 index cd5b573d6c93..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm-with-cjs/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "test-package-esm-with-cjs", - "type": "module", - "main": "index.cjs", - "module": "index.mjs" -} diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/index.js b/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/index.js deleted file mode 100644 index 41d366782960..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/index.js +++ /dev/null @@ -1 +0,0 @@ -export const bar = 1; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/package.json b/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/package.json deleted file mode 100644 index 2baca7ecf1b1..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-esm/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "test-package-esm", - "type": "module", - "main": "index.js" -} diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/index.ts b/packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/index.ts deleted file mode 100644 index ebfdfa7b683a..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -type Bar = number; - -export const bar: Bar = 1; diff --git a/packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/package.json b/packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/package.json deleted file mode 100644 index 598afab5baf4..000000000000 --- a/packages/toolkit/node-bundle-require/tests/fixture/test-package-ts/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test-package-ts", - "main": "index.ts" -} diff --git a/packages/toolkit/node-bundle-require/tests/index.test.ts b/packages/toolkit/node-bundle-require/tests/index.test.ts deleted file mode 100644 index 48c7f22cc3e2..000000000000 --- a/packages/toolkit/node-bundle-require/tests/index.test.ts +++ /dev/null @@ -1,78 +0,0 @@ -import path, { dirname } from 'path'; -import { fs } from '@modern-js/utils'; -import { bundleRequire } from '../src'; -import { EXTERNAL_REGEXP } from '../src/bundle'; - -describe('bundleRequire', () => { - const symlinkPackages = [ - 'test-package-ts', - 'test-package-esm', - 'test-package-esm-with-cjs', - ]; - - beforeAll(() => { - symlinkPackages.forEach(pkg => { - const symlinkFrom = path.join(__dirname, `./fixture/${pkg}`); - const symlinkTo = path.join(__dirname, `../node_modules/${pkg}`); - - if (!fs.existsSync(symlinkTo)) { - fs.ensureDirSync(dirname(symlinkTo)); - fs.copySync(symlinkFrom, symlinkTo); - } - }); - }); - - afterAll(() => { - symlinkPackages.forEach(pkg => { - const symlinkTo = path.join(__dirname, `../node_modules/${pkg}`); - fs.removeSync(symlinkTo); - }); - }); - - test('should bundle file with `__filename` correctly', async () => { - const result = await bundleRequire( - path.join(__dirname, './fixture/input.ts'), - ); - // when tsconfig.json sets `compilerOptions.target` to `es5` - // normally it will met error - // So we need to manually set esbuild's target to esnext to avoid that - // These two cases above use ES6+ ability, to test whether esbuild successfully - // works on non-ES5 files - // reference: https://github.com/evanw/esbuild/releases/tag/v0.12.6 - expect(result.default.a.filename.endsWith('a.ts')).toEqual(true); - expect(result.default.a.showFileName().endsWith('a.ts')).toEqual(true); - }); - - test('should bundle ts files inside node_modules correctly', async () => { - const result = await bundleRequire( - path.join(__dirname, './fixture/inputImportTs.ts'), - ); - expect(result.default).toEqual({ bar: 1 }); - }); - - test('should bundle esm package correctly', async () => { - const result = await bundleRequire( - path.join(__dirname, './fixture/inputImportEsm.ts'), - ); - - expect(result.default).toEqual({ bar: 1 }); - }); - - test('should bundle esm with cjs package correctly', async () => { - const result = await bundleRequire( - path.join(__dirname, './fixture/inputImportEsmWithCjs.ts'), - ); - - expect(result.default).toEqual({ bar: 1 }); - }); -}); - -describe('external regexp', () => { - expect(EXTERNAL_REGEXP.test('./test')).toBeFalsy(); - expect(EXTERNAL_REGEXP.test('/test')).toBeFalsy(); - expect(EXTERNAL_REGEXP.test('c:/foo')).toBeTruthy(); - expect(EXTERNAL_REGEXP.test('C:/foo')).toBeTruthy(); - expect(EXTERNAL_REGEXP.test('c:/node_modules/foo')).toBeTruthy(); - expect(EXTERNAL_REGEXP.test('foo')).toBeTruthy(); - expect(EXTERNAL_REGEXP.test('/test/node_modules')).toBeFalsy(); -}); diff --git a/packages/toolkit/node-bundle-require/tests/modern-app-env.d.ts b/packages/toolkit/node-bundle-require/tests/modern-app-env.d.ts deleted file mode 100644 index 316ea593b527..000000000000 --- a/packages/toolkit/node-bundle-require/tests/modern-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/toolkit/node-bundle-require/tests/tsconfig.json b/packages/toolkit/node-bundle-require/tests/tsconfig.json deleted file mode 100644 index a883f6b99c6a..000000000000 --- a/packages/toolkit/node-bundle-require/tests/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@modern-js/tsconfig/base", - "compilerOptions": { - "declaration": false, - "target": "es5", - "jsx": "preserve", - "baseUrl": "./", - "paths": {} - } -} diff --git a/packages/toolkit/node-bundle-require/tsconfig.json b/packages/toolkit/node-bundle-require/tsconfig.json deleted file mode 100644 index e02117a9771c..000000000000 --- a/packages/toolkit/node-bundle-require/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "@modern-js/tsconfig/base", - "compilerOptions": { - "declaration": false, - "jsx": "preserve", - "baseUrl": "./", - "isolatedModules": true, - "paths": {} - }, - "include": ["src"] -} From 585488f536c4f12b5e37e0315feca2d3dcfaab20 Mon Sep 17 00:00:00 2001 From: wangyiming Date: Mon, 8 Dec 2025 15:18:05 +0800 Subject: [PATCH 2/3] chore: update lock --- pnpm-lock.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1cba01fd44ed..69a8f7be9c8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1411,9 +1411,6 @@ importers: '@modern-js/i18n-utils': specifier: workspace:* version: link:../../toolkit/i18n-utils - '@modern-js/node-bundle-require': - specifier: workspace:* - version: link:../../toolkit/node-bundle-require '@modern-js/plugin': specifier: workspace:* version: link:../../toolkit/plugin From 541c4fa5572c5fd09079f1467b5ddbd715c127f9 Mon Sep 17 00:00:00 2001 From: wangyiming Date: Mon, 8 Dec 2025 15:40:36 +0800 Subject: [PATCH 3/3] chore: update lock --- .../toolkit/node-bundle-require/package.json | 78 ------------------- 1 file changed, 78 deletions(-) delete mode 100644 packages/toolkit/node-bundle-require/package.json diff --git a/packages/toolkit/node-bundle-require/package.json b/packages/toolkit/node-bundle-require/package.json deleted file mode 100644 index 8947201e2aa2..000000000000 --- a/packages/toolkit/node-bundle-require/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "@modern-js/node-bundle-require", - "version": "2.68.1", - "description": "A Progressive React Framework for modern web development.", - "homepage": "https://modernjs.dev", - "bugs": "https://github.com/web-infra-dev/modern.js/issues", - "repository": { - "type": "git", - "url": "https://github.com/web-infra-dev/modern.js", - "directory": "packages/toolkit/node-bundle-require" - }, - "license": "MIT", - "keywords": [ - "react", - "framework", - "modern", - "modern.js" - ], - "jsnext:source": "./src/index.ts", - "types": "./src/index.ts", - "main": "./dist/cjs/index.js", - "exports": { - ".": { - "types": "./dist/types/index.d.ts", - "modern:source": "./src/index.ts", - "jsnext:source": "./src/index.ts", - "node": { - "import": "./dist/esm-node/index.mjs", - "require": "./dist/cjs/index.js" - }, - "default": "./dist/cjs/index.js" - }, - "./bundle": { - "types": "./dist/types/bundle.d.ts", - "node": { - "import": "./dist/esm/bundle.mjs", - "require": "./dist/cjs/bundle.js" - }, - "default": "./dist/cjs/bundle.js" - } - }, - "typesVersions": { - "*": { - ".": [ - "./dist/types/index.d.ts" - ], - "bundle": [ - "./dist/types/bundle.d.ts" - ] - } - }, - "scripts": { - "prepublishOnly": "only-allow-pnpm", - "dev": "rslib build --watch", - "build": "rslib build", - "test": "jest --passWithNoTests" - }, - "dependencies": { - "@modern-js/utils": "workspace:*", - "@swc/helpers": "^0.5.17", - "esbuild": "0.25.5" - }, - "devDependencies": { - "@scripts/jest-config": "workspace:*", - "@rslib/core": "0.18.3", - "@modern-js/rslib": "workspace:*", - "@types/jest": "^29.5.14", - "@types/node": "^20", - "jest": "^29.7.0", - "typescript": "^5" - }, - "sideEffects": false, - "publishConfig": { - "registry": "https://registry.npmjs.org/", - "access": "public", - "types": "./dist/types/index.d.ts" - } -}