From 706b9e198471196be6368958e6e3666321b8f207 Mon Sep 17 00:00:00 2001 From: caohuilin Date: Tue, 23 Sep 2025 10:56:38 +0800 Subject: [PATCH 1/2] feat: simple generator code --- .../docs/en/components/package-manager.mdx | 11 - .../docs/zh/components/package-manager.mdx | 11 - packages/generator/generator-cases/.npmignore | 31 - .../generator/generator-cases/CHANGELOG.md | 1553 ----------------- packages/generator/generator-cases/LICENSE | 21 - packages/generator/generator-cases/README.md | 26 - .../generator/generator-cases/jest.config.js | 7 - .../generator-cases/modern.config.js | 5 - .../generator/generator-cases/package.json | 58 - .../generator/generator-cases/src/index.ts | 72 - .../tests/__snapshots__/index.test.ts.snap | 36 - .../generator-cases/tests/index.test.ts | 12 - .../generator-cases/tests/tsconfig.json | 9 - .../generator/generator-cases/tsconfig.json | 10 - .../generator-common/src/base/index.ts | 1 - .../generator-common/src/base/project.ts | 14 - .../generator-common/src/common/index.ts | 2 - .../generator-common/src/common/language.ts | 23 - .../src/common/packageManager.ts | 43 - .../generator-common/src/common/solution.ts | 3 - .../generator-common/src/expand/generator.ts | 32 - .../generator-common/src/expand/index.ts | 1 - .../generator/generator-common/src/index.ts | 2 - .../generator-common/src/locale/en.ts | 13 - .../generator-common/src/locale/zh.ts | 13 - .../generator-common/src/mwa/project.ts | 8 - .../src/newAction/common/index.ts | 17 - .../src/newAction/mwa/index.ts | 41 +- .../generator-common/tests/newAction.test.ts | 7 - .../tests/packageManager.test.ts | 45 - .../generator/generator-utils/src/index.ts | 15 +- .../generators/base-generator/src/index.ts | 42 +- .../generators/bff-generator/src/index.ts | 63 +- .../generators/mwa-generator/package.json | 1 - .../generators/mwa-generator/src/index.ts | 58 +- .../generators/mwa-generator/src/locale/en.ts | 10 +- .../generators/mwa-generator/src/locale/zh.ts | 10 +- .../base-template/README.md.handlebars | 10 +- .../js-template/modern.config.js.handlebars | 13 - .../src/modern.runtime.js.handlebars | 3 - .../generators/packages-generator/.npmignore | 31 - .../packages-generator/CHANGELOG.md | 616 ------- .../generators/packages-generator/README.md | 26 - .../packages-generator/modern.config.js | 5 - .../packages-generator/package.json | 52 - .../packages-generator/src/index.ts | 104 -- .../src/modern-app-env.d.ts | 1 - .../packages-generator/tsconfig.json | 10 - .../router-v5-generator/package.json | 53 - .../generators/server-generator/src/index.ts | 34 +- .../js/server/modern.server.js.handlebars | 33 - .../tailwindcss-generator/src/index.ts | 46 +- .../templates/js-template/tailwind.config.js | 4 - .../generators/upgrade-generator/src/index.ts | 24 +- .../generator/new-action/src/utils/index.ts | 3 +- .../generator/new-action/tests/utils.test.ts | 19 - pnpm-lock.yaml | 130 -- tests/generator/index.ts | 48 + tests/generator/mwa.ts | 200 --- tests/generator/utils/command.ts | 35 +- tests/generator/utils/prepare.ts | 42 +- tests/generator/utils/tools.ts | 12 - tests/package.json | 3 +- 63 files changed, 169 insertions(+), 3714 deletions(-) delete mode 100644 packages/document/main-doc/docs/en/components/package-manager.mdx delete mode 100644 packages/document/main-doc/docs/zh/components/package-manager.mdx delete mode 100644 packages/generator/generator-cases/.npmignore delete mode 100644 packages/generator/generator-cases/CHANGELOG.md delete mode 100644 packages/generator/generator-cases/LICENSE delete mode 100644 packages/generator/generator-cases/README.md delete mode 100644 packages/generator/generator-cases/jest.config.js delete mode 100644 packages/generator/generator-cases/modern.config.js delete mode 100644 packages/generator/generator-cases/package.json delete mode 100644 packages/generator/generator-cases/src/index.ts delete mode 100644 packages/generator/generator-cases/tests/__snapshots__/index.test.ts.snap delete mode 100644 packages/generator/generator-cases/tests/index.test.ts delete mode 100644 packages/generator/generator-cases/tests/tsconfig.json delete mode 100644 packages/generator/generator-cases/tsconfig.json delete mode 100644 packages/generator/generator-common/src/base/index.ts delete mode 100644 packages/generator/generator-common/src/base/project.ts delete mode 100644 packages/generator/generator-common/src/common/language.ts delete mode 100644 packages/generator/generator-common/src/common/packageManager.ts delete mode 100644 packages/generator/generator-common/src/expand/generator.ts delete mode 100644 packages/generator/generator-common/src/expand/index.ts delete mode 100644 packages/generator/generator-common/tests/newAction.test.ts delete mode 100644 packages/generator/generator-common/tests/packageManager.test.ts delete mode 100644 packages/generator/generators/mwa-generator/templates/js-template/modern.config.js.handlebars delete mode 100644 packages/generator/generators/mwa-generator/templates/js-template/src/modern.runtime.js.handlebars delete mode 100644 packages/generator/generators/packages-generator/.npmignore delete mode 100644 packages/generator/generators/packages-generator/CHANGELOG.md delete mode 100644 packages/generator/generators/packages-generator/README.md delete mode 100644 packages/generator/generators/packages-generator/modern.config.js delete mode 100644 packages/generator/generators/packages-generator/package.json delete mode 100644 packages/generator/generators/packages-generator/src/index.ts delete mode 100644 packages/generator/generators/packages-generator/src/modern-app-env.d.ts delete mode 100644 packages/generator/generators/packages-generator/tsconfig.json delete mode 100644 packages/generator/generators/router-v5-generator/package.json delete mode 100644 packages/generator/generators/server-generator/templates/base-template/js/server/modern.server.js.handlebars delete mode 100644 packages/generator/generators/tailwindcss-generator/templates/js-template/tailwind.config.js delete mode 100644 packages/generator/new-action/tests/utils.test.ts create mode 100644 tests/generator/index.ts delete mode 100644 tests/generator/mwa.ts diff --git a/packages/document/main-doc/docs/en/components/package-manager.mdx b/packages/document/main-doc/docs/en/components/package-manager.mdx deleted file mode 100644 index c47e25bcf7da..000000000000 --- a/packages/document/main-doc/docs/en/components/package-manager.mdx +++ /dev/null @@ -1,11 +0,0 @@ -### packageManager - -Question: Please select the package manager. - -Options: - -- pnpm -- pnpm - -- Yarn -- yarn - -- npm -- npm diff --git a/packages/document/main-doc/docs/zh/components/package-manager.mdx b/packages/document/main-doc/docs/zh/components/package-manager.mdx deleted file mode 100644 index ae3812d16e03..000000000000 --- a/packages/document/main-doc/docs/zh/components/package-manager.mdx +++ /dev/null @@ -1,11 +0,0 @@ -### packageManager - -问题:请选择包管理工具 - -选项: - -- pnpm -- pnpm - -- Yarn -- yarn - -- npm -- npm diff --git a/packages/generator/generator-cases/.npmignore b/packages/generator/generator-cases/.npmignore deleted file mode 100644 index 353fddf17262..000000000000 --- a/packages/generator/generator-cases/.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/generator/generator-cases/CHANGELOG.md b/packages/generator/generator-cases/CHANGELOG.md deleted file mode 100644 index 03128e24f7ff..000000000000 --- a/packages/generator/generator-cases/CHANGELOG.md +++ /dev/null @@ -1,1553 +0,0 @@ -# @modern-js/generator-cases - -## 3.7.38 - -### Patch Changes - -- @modern-js/generator-common@3.7.38 - -## 3.7.37 - -### Patch Changes - -- @modern-js/generator-common@3.7.37 - -## 3.7.36 - -### Patch Changes - -- @modern-js/generator-common@3.7.36 - -## 3.7.35 - -### Patch Changes - -- @modern-js/generator-common@3.7.35 - -## 3.7.34 - -### Patch Changes - -- @modern-js/generator-common@3.7.34 - -## 3.7.33 - -### Patch Changes - -- @modern-js/generator-common@3.7.33 - -## 3.7.32 - -### Patch Changes - -- Updated dependencies [aa40bda] - - @modern-js/generator-common@3.7.32 - -## 3.7.31 - -### Patch Changes - -- @modern-js/generator-common@3.7.31 - -## 3.7.30 - -### Patch Changes - -- @modern-js/generator-common@3.7.30 - -## 3.7.29 - -### Patch Changes - -- @modern-js/generator-common@3.7.29 - -## 3.7.28 - -### Patch Changes - -- @modern-js/generator-common@3.7.28 - -## 3.7.27 - -### Patch Changes - -- @modern-js/generator-common@3.7.27 - -## 3.7.26 - -### Patch Changes - -- @modern-js/generator-common@3.7.26 - -## 3.7.25 - -### Patch Changes - -- @modern-js/generator-common@3.7.25 - -## 3.7.24 - -### Patch Changes - -- @modern-js/generator-common@3.7.24 - -## 3.7.23 - -### Patch Changes - -- @modern-js/generator-common@3.7.23 - -## 3.7.22 - -### Patch Changes - -- @modern-js/generator-common@3.7.22 - -## 3.7.21 - -### Patch Changes - -- @modern-js/generator-common@3.7.21 - -## 3.7.20 - -### Patch Changes - -- @modern-js/generator-common@3.7.20 - -## 3.7.19 - -### Patch Changes - -- @modern-js/generator-common@3.7.19 - -## 3.7.18 - -### Patch Changes - -- @modern-js/generator-common@3.7.18 - -## 3.7.17 - -### Patch Changes - -- @modern-js/generator-common@3.7.17 - -## 3.7.16 - -### Patch Changes - -- @modern-js/generator-common@3.7.16 - -## 3.7.15 - -### Patch Changes - -- @modern-js/generator-common@3.7.15 - -## 3.7.14 - -### Patch Changes - -- @modern-js/generator-common@3.7.14 - -## 3.7.13 - -### Patch Changes - -- @modern-js/generator-common@3.7.13 - -## 3.7.12 - -### Patch Changes - -- @modern-js/generator-common@3.7.12 - -## 3.7.11 - -### Patch Changes - -- @modern-js/generator-common@3.7.11 - -## 3.7.10 - -### Patch Changes - -- @modern-js/generator-common@3.7.10 - -## 3.7.9 - -### Patch Changes - -- @modern-js/generator-common@3.7.9 - -## 3.7.8 - -### Patch Changes - -- @modern-js/generator-common@3.7.8 - -## 3.7.7 - -### Patch Changes - -- @modern-js/generator-common@3.7.7 - -## 3.7.6 - -### Patch Changes - -- @modern-js/generator-common@3.7.6 - -## 3.7.5 - -### Patch Changes - -- @modern-js/generator-common@3.7.5 - -## 3.7.4 - -### Patch Changes - -- @modern-js/generator-common@3.7.4 - -## 3.7.3 - -### Patch Changes - -- @modern-js/generator-common@3.7.3 - -## 3.7.2 - -### Patch Changes - -- @modern-js/generator-common@3.7.2 - -## 3.7.1 - -### Patch Changes - -- @modern-js/generator-common@3.7.1 - -## 3.7.0 - -### Patch Changes - -- Updated dependencies [d6986c5] - - @modern-js/generator-common@3.7.0 - -## 3.6.3 - -### Patch Changes - -- @modern-js/generator-common@3.6.3 - -## 3.6.2 - -### Patch Changes - -- Updated dependencies [0b6d335] - - @modern-js/generator-common@3.6.2 - -## 3.6.1 - -### Patch Changes - -- @modern-js/generator-common@3.6.1 - -## 3.6.0 - -### Patch Changes - -- Updated dependencies [65b2922] - - @modern-js/generator-common@3.6.0 - -## 3.5.0 - -### Patch Changes - -- Updated dependencies [2f6d4e9] - - @modern-js/generator-common@3.5.0 - -## 3.4.17 - -### Patch Changes - -- @modern-js/generator-common@3.4.17 - -## 3.4.16 - -### Patch Changes - -- Updated dependencies [7715b6d] - - @modern-js/generator-common@3.4.16 - -## 3.4.15 - -### Patch Changes - -- @modern-js/generator-common@3.4.15 - -## 3.4.14 - -### Patch Changes - -- @modern-js/generator-common@3.4.14 - -## 3.4.13 - -### Patch Changes - -- @modern-js/generator-common@3.4.13 - -## 3.4.12 - -### Patch Changes - -- @modern-js/generator-common@3.4.12 - -## 3.4.11 - -### Patch Changes - -- @modern-js/generator-common@3.4.11 - -## 3.4.10 - -### Patch Changes - -- @modern-js/generator-common@3.4.10 - -## 3.4.9 - -### Patch Changes - -- @modern-js/generator-common@3.4.9 - -## 3.4.8 - -### Patch Changes - -- @modern-js/generator-common@3.4.8 - -## 3.4.7 - -### Patch Changes - -- @modern-js/generator-common@3.4.7 - -## 3.4.6 - -### Patch Changes - -- @modern-js/generator-common@3.4.6 - -## 3.4.5 - -### Patch Changes - -- @modern-js/generator-common@3.4.5 - -## 3.4.4 - -### Patch Changes - -- @modern-js/generator-common@3.4.4 - -## 3.4.3 - -### Patch Changes - -- @modern-js/generator-common@3.4.3 - -## 3.4.2 - -### Patch Changes - -- @modern-js/generator-common@3.4.2 - -## 3.4.1 - -### Patch Changes - -- @modern-js/generator-common@3.4.1 - -## 3.4.0 - -### Minor Changes - -- f0aa3d3: feat: @modern-js/create not support create Monorepo Project - - feat: @modern-js/create 移除创建 Monorepo 项目 - -### Patch Changes - -- f0aa3d3: feat: new command not support enable testing function - - feat: new 命令不在支持开启测试功能 - -- Updated dependencies [f0aa3d3] -- Updated dependencies [5e442c1] -- Updated dependencies [f0aa3d3] - - @modern-js/generator-common@3.4.0 - -## 3.3.25 - -### Patch Changes - -- @modern-js/generator-common@3.3.25 - -## 3.3.24 - -### Patch Changes - -- @modern-js/generator-common@3.3.24 - -## 3.3.23 - -### Patch Changes - -- Updated dependencies [e759876] - - @modern-js/generator-common@3.3.23 - -## 3.3.22 - -### Patch Changes - -- @modern-js/generator-common@3.3.22 - -## 3.3.21 - -### Patch Changes - -- @modern-js/generator-common@3.3.21 - -## 3.3.20 - -### Patch Changes - -- @modern-js/generator-common@3.3.20 - -## 3.3.19 - -### Patch Changes - -- @modern-js/generator-common@3.3.19 - -## 3.3.18 - -### Patch Changes - -- @modern-js/generator-common@3.3.18 - -## 3.3.17 - -### Patch Changes - -- @modern-js/generator-common@3.3.17 - -## 3.3.16 - -### Patch Changes - -- @modern-js/generator-common@3.3.16 - -## 3.3.15 - -### Patch Changes - -- @modern-js/generator-common@3.3.15 - -## 3.3.14 - -### Patch Changes - -- @modern-js/generator-common@3.3.14 - -## 3.3.13 - -### Patch Changes - -- @modern-js/generator-common@3.3.13 - -## 3.3.12 - -### Patch Changes - -- Updated dependencies [a873989] - - @modern-js/generator-common@3.3.12 - -## 3.3.11 - -### Patch Changes - -- @modern-js/generator-common@3.3.11 - -## 3.3.10 - -### Patch Changes - -- @modern-js/generator-common@3.3.10 - -## 3.3.9 - -### Patch Changes - -- Updated dependencies [104ceab] -- Updated dependencies [987d33e] - - @modern-js/generator-common@3.3.9 - -## 3.3.8 - -### Patch Changes - -- @modern-js/generator-common@3.3.8 - -## 3.3.7 - -### Patch Changes - -- @modern-js/generator-common@3.3.7 - -## 3.3.6 - -### Patch Changes - -- @modern-js/generator-common@3.3.6 - -## 3.3.5 - -### Patch Changes - -- @modern-js/generator-common@3.3.5 - -## 3.3.4 - -### Patch Changes - -- @modern-js/generator-common@3.3.4 - -## 3.3.3 - -### Patch Changes - -- Updated dependencies [ad2862b] -- Updated dependencies [fa731a7] - - @modern-js/generator-common@3.3.3 - -## 3.3.2 - -### Patch Changes - -- @modern-js/generator-common@3.3.2 - -## 3.3.1 - -### Patch Changes - -- Updated dependencies [b182eb2] - - @modern-js/generator-common@3.3.1 - -## 3.3.0 - -### Patch Changes - -- c4d396a: chore(swc): bump swc and helpers - chore(swc): 升级 swc 以及 helpers -- Updated dependencies [11b99a2] -- Updated dependencies [c4d396a] -- Updated dependencies [39c1df8] - - @modern-js/generator-common@3.3.0 - -## 3.2.11 - -### Patch Changes - -- @modern-js/generator-common@3.2.11 - -## 3.2.10 - -### Patch Changes - -- @modern-js/generator-common@3.2.10 - -## 3.2.9 - -### Patch Changes - -- Updated dependencies [17d34c6] - - @modern-js/generator-common@3.2.9 - -## 3.2.8 - -### Patch Changes - -- @modern-js/generator-common@3.2.8 - -## 3.2.7 - -### Patch Changes - -- Updated dependencies [8f43163] - - @modern-js/generator-common@3.2.7 - -## 3.2.6 - -### Patch Changes - -- @modern-js/generator-common@3.2.6 - -## 3.2.5 - -### Patch Changes - -- @modern-js/generator-common@3.2.5 - -## 3.2.4 - -### Patch Changes - -- @modern-js/generator-common@3.2.4 - -## 3.2.3 - -### Patch Changes - -- @modern-js/generator-common@3.2.3 - -## 3.2.2 - -### Patch Changes - -- @modern-js/generator-common@3.2.2 - -## 3.2.1 - -### Patch Changes - -- @modern-js/generator-common@3.2.1 - -## 3.2.0 - -### Patch Changes - -- @modern-js/generator-common@3.2.0 - -## 3.1.39 - -### Patch Changes - -- @modern-js/generator-common@3.1.39 - -## 3.1.38 - -### Patch Changes - -- Updated dependencies [6727586] - - @modern-js/generator-common@3.1.38 - -## 3.1.37 - -### Patch Changes - -- @modern-js/generator-common@3.1.37 - -## 3.1.36 - -### Patch Changes - -- @modern-js/generator-common@3.1.36 - -## 3.1.35 - -### Patch Changes - -- @modern-js/generator-common@3.1.35 - -## 3.1.34 - -### Patch Changes - -- @modern-js/generator-common@3.1.34 - -## 3.1.33 - -### Patch Changes - -- @modern-js/generator-common@3.1.33 - -## 3.1.32 - -### Patch Changes - -- @modern-js/generator-common@3.1.32 - -## 3.1.31 - -### Patch Changes - -- @modern-js/generator-common@3.1.31 - -## 3.1.30 - -### Patch Changes - -- @modern-js/generator-common@3.1.30 - -## 3.1.29 - -### Patch Changes - -- Updated dependencies [8322a51] - - @modern-js/generator-common@3.1.29 - -## 3.1.28 - -### Patch Changes - -- Updated dependencies [cd601f6] - - @modern-js/generator-common@3.1.28 - -## 3.1.27 - -### Patch Changes - -- @modern-js/generator-common@3.1.27 - -## 3.1.26 - -### Patch Changes - -- @modern-js/generator-common@3.1.26 - -## 3.1.25 - -### Patch Changes - -- @modern-js/generator-common@3.1.25 - -## 3.1.24 - -### Patch Changes - -- @modern-js/generator-common@3.1.24 - -## 3.1.23 - -### Patch Changes - -- @modern-js/generator-common@3.1.23 - -## 3.1.22 - -### Patch Changes - -- 7e6fb5f: chore: publishConfig add provenance config - - chore: publishConfig 增加 provenance 配置 - -- Updated dependencies [7e6fb5f] -- Updated dependencies [8433b4f] - - @modern-js/generator-common@3.1.22 - -## 3.1.21 - -### Patch Changes - -- @modern-js/generator-common@3.1.21 - -## 3.1.20 - -### Patch Changes - -- Updated dependencies [b647c68] -- Updated dependencies [3c3d1e2] - - @modern-js/generator-common@3.1.20 - -## 3.1.19 - -### Patch Changes - -- @modern-js/generator-common@3.1.19 - -## 3.1.18 - -### Patch Changes - -- 26dcf3a: chore: bump typescript to v5 in devDependencies - - chore: 升级 devDependencies 中的 typescript 版本到 v5 - -- Updated dependencies [26dcf3a] -- Updated dependencies [de8f73f] - - @modern-js/generator-common@3.1.18 - -## 3.1.17 - -### Patch Changes - -- 6b9d90a: chore: remove @babel/runtime. add @swc/helper and enable `externalHelper` config. - chore: 移除 @babel/runtime 依赖. 增加 @swc/helpers 依赖并且开启 `externalHelpers` 配置 -- Updated dependencies [6b9d90a] - - @modern-js/generator-common@3.1.17 - -## 3.1.16 - -### Patch Changes - -- @modern-js/generator-common@3.1.16 - -## 3.1.15 - -### Patch Changes - -- @modern-js/generator-common@3.1.15 - -## 3.1.14 - -### Patch Changes - -- Updated dependencies [21c87bf] -- Updated dependencies [bc61dab] - - @modern-js/generator-common@3.1.14 - -## 3.1.13 - -### Patch Changes - -- @modern-js/generator-common@3.1.13 - -## 3.1.12 - -### Patch Changes - -- @modern-js/generator-common@3.1.12 - -## 3.1.11 - -### Patch Changes - -- @modern-js/generator-common@3.1.11 - -## 3.1.10 - -### Patch Changes - -- 4e876ab: chore: package.json include the monorepo-relative directory - - chore: 在 package.json 中声明 monorepo 的子路径 - -- Updated dependencies [84a8008] -- Updated dependencies [4e876ab] - - @modern-js/generator-common@3.1.10 - -## 3.1.9 - -### Patch Changes - -- @modern-js/generator-common@3.1.9 - -## 3.1.8 - -### Patch Changes - -- Updated dependencies [bfb15e2] - - @modern-js/generator-common@3.1.8 - -## 3.1.7 - -### Patch Changes - -- @modern-js/generator-common@3.1.7 - -## 3.1.6 - -### Patch Changes - -- @modern-js/generator-common@3.1.6 - -## 3.1.5 - -### Patch Changes - -- @modern-js/generator-common@3.1.5 - -## 3.1.4 - -### Patch Changes - -- @modern-js/generator-common@3.1.4 - -## 3.1.3 - -### Patch Changes - -- Updated dependencies [034f36b] - - @modern-js/generator-common@3.1.3 - -## 3.1.2 - -### Patch Changes - -- @modern-js/generator-common@3.1.2 - -## 3.1.1 - -### Patch Changes - -- @modern-js/generator-common@3.1.1 - -## 3.1.0 - -### Patch Changes - -- 0da32d0: chore: upgrade jest and puppeteer - chore: 升级 jest 和 puppeteer 到 latest -- Updated dependencies [0da32d0] -- Updated dependencies [03d0eb5] - - @modern-js/generator-common@3.1.0 - -## 3.0.11 - -### Patch Changes - -- Updated dependencies [ce636b8f62] - - @modern-js/generator-common@3.0.11 - -## 3.0.10 - -### Patch Changes - -- Updated dependencies [2a3f7af59e] - - @modern-js/generator-common@3.0.10 - -## 3.0.9 - -### Patch Changes - -- Updated dependencies [7fff9020e1] -- Updated dependencies [1eea234fdd] - - @modern-js/generator-common@3.0.9 - -## 3.0.8 - -### Patch Changes - -- Updated dependencies [b2ea17b] - - @modern-js/generator-common@3.0.8 - -## 3.0.7 - -### 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 [89ca6cc] -- Updated dependencies [30614fa] -- Updated dependencies [577084d] - - @modern-js/generator-common@3.0.7 - -## 3.0.6 - -### Patch Changes - -- Updated dependencies [b4e01e7] - - @modern-js/generator-common@3.0.6 - -## 3.0.5 - -### Patch Changes - -- Updated dependencies [61c1ce5] - - @modern-js/generator-common@3.0.5 - -## 3.0.4 - -### Patch Changes - -- @modern-js/generator-common@3.0.4 - -## 3.0.3 - -### Patch Changes - -- Updated dependencies [4181b2d] - - @modern-js/generator-common@3.0.3 - -## 3.0.2 - -### Patch Changes - -- Updated dependencies [4568607] - - @modern-js/generator-common@3.0.2 - -## 3.0.1 - -### Patch Changes - -- @modern-js/generator-common@3.0.1 - -## 3.0.0 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9c3e] - - @modern-js/generator-common@3.0.0 - -## 3.0.0-beta.6 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9c3e] - - @modern-js/generator-common@3.0.0-beta.6 - -## 3.0.0-beta.5 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9c3e] - - @modern-js/generator-common@3.0.0-beta.5 - -## 3.0.0-beta.4 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9c3e] - - @modern-js/generator-common@3.0.0-beta.4 - -## 3.0.0-beta.3 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9c3e] - - @modern-js/generator-common@3.0.0-beta.3 - -## 3.0.0-beta.2 - -### Major Changes - -- dda38c9c3e: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9c3e] - - @modern-js/generator-common@3.0.0-beta.2 - -## 3.0.0-beta.1 - -### Major Changes - -- dda38c9: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9] - - @modern-js/generator-common@3.0.0-beta.1 - -## 3.0.0-beta.0 - -### Major Changes - -- dda38c9: chore: v2 - -### Patch Changes - -- Updated dependencies [dda38c9] - - @modern-js/generator-common@3.0.0-beta.0 - -## 2.4.7 - -### Patch Changes - -- Updated dependencies [7c89bd6] - - @modern-js/generator-common@2.4.7 - -## 2.4.6 - -### Patch Changes - -- @modern-js/generator-common@2.4.6 - -## 2.4.5 - -### Patch Changes - -- Updated dependencies [cf1a2b1] -- Updated dependencies [cfd8557] - - @modern-js/generator-common@2.4.5 - -## 2.4.4 - -### Patch Changes - -- @modern-js/generator-common@2.4.4 - -## 2.4.3 - -### Patch Changes - -- @modern-js/generator-common@2.4.3 - -## 2.4.0 - -### Patch Changes - -- Updated dependencies [cf1edd1] - - @modern-js/generator-common@2.4.0 - -## 2.3.4 - -### Patch Changes - -- @modern-js/generator-common@2.3.4 - -## 2.3.3 - -### Patch Changes - -- Updated dependencies [4f77eb4] - - @modern-js/generator-common@2.3.3 - -## 2.3.1 - -### Patch Changes - -- Updated dependencies [fb30bca] - - @modern-js/generator-common@2.3.1 - -## 2.3.0 - -### Patch Changes - -- 2c305b6f5: chore: remove all deploy logic and package - chore: 删除所有部署相关的逻辑和包 -- Updated dependencies [94222750f] -- Updated dependencies [2c305b6f5] -- Updated dependencies [9d9bbfd05] - - @modern-js/generator-common@2.3.0 - -## 2.2.1 - -### Patch Changes - -- Updated dependencies [8658a78] -- Updated dependencies [9e6a0aa] - - @modern-js/generator-common@2.2.1 - -## 1.2.6 - -### Patch Changes - -- a1198d509: feat: bump babel 7.18.0 -- Updated dependencies [a1198d509] -- Updated dependencies [c7e38b4e6] - - @modern-js/generator-common@1.4.12 - -## 1.2.5 - -### Patch Changes - -- d32f35134: chore: add modern/jest/eslint/ts config files to .npmignore -- Updated dependencies [d32f35134] - - @modern-js/generator-common@1.4.11 - -## 1.2.4 - -### Patch Changes - -- 6cffe99d: chore: - remove react eslint rules for `modern-js` rule set. - add .eslintrc for each package to speed up linting -- 60f7d8bf: feat: add tests dir to npmignore -- Updated dependencies [6cffe99d] -- Updated dependencies [04ae5262] -- Updated dependencies [60f7d8bf] - - @modern-js/generator-common@1.4.9 - -## 1.2.3 - -### Patch Changes - -- 55e18278: chore: remove unused dependencies and devDependencies -- Updated dependencies [c29451a5] -- Updated dependencies [83059b93] -- Updated dependencies [83059b93] -- Updated dependencies [83059b93] - - @modern-js/generator-common@1.4.4 - -## 1.2.2 - -### Patch Changes - -- 6668a1bf: feat: package manager options support npm -- Updated dependencies [6668a1bf] -- Updated dependencies [6668a1bf] - - @modern-js/generator-common@1.4.3 - -## 1.2.1 - -### Patch Changes - -- 83166714: change .npmignore -- Updated dependencies [83166714] - - @modern-js/generator-common@1.3.1 - -## 1.2.0 - -### Minor Changes - -- cfe11628: Make Modern.js self bootstraping - -### Patch Changes - -- 2c049918: feat: polyfill function support enable using new command -- Updated dependencies [2c049918] -- Updated dependencies [cfe11628] - - @modern-js/generator-common@1.3.0 - -## 1.1.3 - -### Patch Changes - -- 4819a3c7: feat: update generator version -- Updated dependencies [4819a3c7] - - @modern-js/generator-common@1.2.3 - -## 1.1.2 - -### Patch Changes - -- 0fa83663: support more .env files -- 2debc5eb: feat: update mwa new cases -- Updated dependencies [0fa83663] -- Updated dependencies [429aab90] - - @modern-js/generator-common@1.1.2 - -## 1.1.1 - -### Patch Changes - -- c0fc0700: feat: support deploy plugin -- Updated dependencies [687c92c7] -- Updated dependencies [c0fc0700] - - @modern-js/generator-common@1.1.1 - -## 1.1.0 - -### Minor Changes - -- 96119db2: Relese v1.1.0 - -### Patch Changes - -- Updated dependencies [96119db2] - - @modern-js/generator-common@1.1.0 - -## 1.0.4 - -### Patch Changes - -- feat: change isTypical to length - -## 1.0.2 - -### Patch Changes - -- d3ec510c: feat: generator cases function support isTypical params -- fix: entry generator router config - -## 1.0.1 - -### Patch Changes - -- feat: update generator template -- Updated dependencies [undefined] - - @modern-js/generator-common@1.0.1 - -## 1.0.0 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 0fd196e: feat: fix bugs -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [0fd196e] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0 - -## 1.0.0-rc.23 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 0fd196e: feat: fix bugs -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [0fd196e] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0-rc.24 - -## 1.0.0-rc.22 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 0fd196e: feat: fix bugs -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [0fd196e] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0-rc.23 - -## 1.0.0-rc.21 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 0fd196e: feat: fix bugs -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [0fd196e] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0-rc.22 - -## 1.0.0-rc.20 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- feat: fix bugs -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [undefined] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0-rc.21 - -## 1.0.0-rc.19 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0-rc.20 - -## 1.0.0-rc.18 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 204c626: feat: initial -- 63be0a5: fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [204c626] -- Updated dependencies [63be0a5] - - @modern-js/generator-common@1.0.0-rc.19 - -## 1.0.0-rc.17 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 204c626: feat: initial -- fix: #118 #104 -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [204c626] -- Updated dependencies [undefined] - - @modern-js/generator-common@1.0.0-rc.18 - -## 1.0.0-rc.16 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.17 - -## 1.0.0-rc.15 - -### Patch Changes - -- 224f7fe: fix server route match -- 30ac27c: feat: add generator package description -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [30ac27c] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.16 - -## 1.0.0-rc.14 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.15 - -## 1.0.0-rc.13 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.14 - -## 1.0.0-rc.12 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.13 - -## 1.0.0-rc.11 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.12 - -## 1.0.0-rc.10 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.11 - -## 1.0.0-rc.9 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.10 - -## 1.0.0-rc.8 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.9 - -## 1.0.0-rc.7 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.8 - -## 1.0.0-rc.6 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.7 - -## 1.0.0-rc.5 - -### Patch Changes - -- 224f7fe: fix server route match -- 204c626: feat: initial -- Updated dependencies [224f7fe] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.6 - -## 1.0.0-rc.4 - -### Patch Changes - -- fix server route match -- 204c626: feat: initial -- Updated dependencies [undefined] -- Updated dependencies [204c626] - - @modern-js/generator-common@1.0.0-rc.5 - -## 1.0.0-rc.3 - -### Patch Changes - -- feat: initial -- Updated dependencies [undefined] - - @modern-js/generator-common@1.0.0-rc.4 diff --git a/packages/generator/generator-cases/LICENSE b/packages/generator/generator-cases/LICENSE deleted file mode 100644 index 39e3c5971226..000000000000 --- a/packages/generator/generator-cases/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/generator/generator-cases/README.md b/packages/generator/generator-cases/README.md deleted file mode 100644 index f3d407c43230..000000000000 --- a/packages/generator/generator-cases/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/generator/generator-cases/jest.config.js b/packages/generator/generator-cases/jest.config.js deleted file mode 100644 index 5fcd3e5b28bd..000000000000 --- a/packages/generator/generator-cases/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/generator/generator-cases/modern.config.js b/packages/generator/generator-cases/modern.config.js deleted file mode 100644 index 5c0331ad0c29..000000000000 --- a/packages/generator/generator-cases/modern.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const { universalBuildConfig } = require('@scripts/build'); - -module.exports = { - buildConfig: universalBuildConfig, -}; diff --git a/packages/generator/generator-cases/package.json b/packages/generator/generator-cases/package.json deleted file mode 100644 index 5e9d34c496ae..000000000000 --- a/packages/generator/generator-cases/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "@modern-js/generator-cases", - "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/generator/generator-cases" - }, - "license": "MIT", - "keywords": [ - "react", - "framework", - "modern", - "modern.js" - ], - "version": "3.7.38", - "jsnext:source": "./src/index.ts", - "types": "./src/index.ts", - "main": "./dist/cjs/index.js", - "module": "./dist/esm/index.js", - "exports": { - ".": { - "node": { - "jsnext:source": "./src/index.ts", - "import": "./dist/esm-node/index.js", - "require": "./dist/cjs/index.js" - }, - "default": "./dist/esm/index.js" - } - }, - "scripts": { - "prepublishOnly": "only-allow-pnpm", - "new": "modern-lib new", - "build": "modern-lib build", - "test": "jest --passWithNoTests" - }, - "dependencies": { - "@modern-js/generator-common": "workspace:*", - "@swc/helpers": "^0.5.17", - "covertable": "^2.5.2" - }, - "devDependencies": { - "@scripts/build": "workspace:*", - "@scripts/jest-config": "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" - } -} diff --git a/packages/generator/generator-cases/src/index.ts b/packages/generator/generator-cases/src/index.ts deleted file mode 100644 index ed22a6169f98..000000000000 --- a/packages/generator/generator-cases/src/index.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { - ActionElement, - ActionFunction, - BooleanConfig, - Language, - MWAActionTypes, - MWAActionTypesMap, - PackageManager, - Solution, -} from '@modern-js/generator-common'; -import make from 'covertable'; - -export const LanguageValues = Object.values(Language); -export const PackageManagerValues = Object.values(PackageManager); -export const BooleanConfigValues = Object.values(BooleanConfig); - -export const MWAValueMap: Record = { - language: LanguageValues, - packageManager: PackageManagerValues, -}; - -export const getMWACases = (length?: number) => { - const cases = make(MWAValueMap, { - length: length || Object.keys(MWAValueMap).length, - }); - return cases.map(item => ({ - ...item, - solution: Solution.MWA, - })); -}; - -const getMWAEntryCases = (_length?: number) => { - return [ - { - name: 'test', - }, - ]; -}; - -export const getMWANewCases = (length?: number) => { - const cases: Array> = []; - MWAActionTypes.forEach(action => { - const config: Record = { actionType: action }; - MWAActionTypesMap[action].forEach(option => { - config[action] = option; - const currentConfig = { ...config, [action]: option }; - if (option === ActionElement.Entry) { - const entryCases = getMWAEntryCases(length); - entryCases.forEach(c => { - cases.push({ ...currentConfig, ...c }); - }); - } else if (option === ActionElement.Server) { - // server only can enable once - cases.push({ - ...currentConfig, - }); - } else if (option === ActionFunction.BFF) { - // bff only can enable once - cases.push({ - ...currentConfig, - }); - } else { - cases.push(currentConfig); - } - }); - }); - return cases; -}; - -export const MWASubProjectValueMap: Record = { - language: LanguageValues, -}; diff --git a/packages/generator/generator-cases/tests/__snapshots__/index.test.ts.snap b/packages/generator/generator-cases/tests/__snapshots__/index.test.ts.snap deleted file mode 100644 index 35e00694e1b3..000000000000 --- a/packages/generator/generator-cases/tests/__snapshots__/index.test.ts.snap +++ /dev/null @@ -1,36 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`test generator cases test getMWACases 1`] = ` -[ - { - "language": "js", - "packageManager": "yarn", - "solution": "mwa", - }, - { - "language": "js", - "packageManager": "npm", - "solution": "mwa", - }, - { - "language": "ts", - "packageManager": "yarn", - "solution": "mwa", - }, - { - "language": "ts", - "packageManager": "pnpm", - "solution": "mwa", - }, - { - "language": "js", - "packageManager": "pnpm", - "solution": "mwa", - }, - { - "language": "ts", - "packageManager": "npm", - "solution": "mwa", - }, -] -`; diff --git a/packages/generator/generator-cases/tests/index.test.ts b/packages/generator/generator-cases/tests/index.test.ts deleted file mode 100644 index 59971aa67505..000000000000 --- a/packages/generator/generator-cases/tests/index.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { getMWACases, getMWANewCases } from '../src'; - -describe('test generator cases', () => { - test('test getMWACases', async () => { - const mwaCases = getMWACases(); - expect(mwaCases).toMatchSnapshot(); - }); - test('test getMWANewCases', async () => { - const mwaNewCases = getMWANewCases(); - expect(mwaNewCases.length).toBe(7); - }); -}); diff --git a/packages/generator/generator-cases/tests/tsconfig.json b/packages/generator/generator-cases/tests/tsconfig.json deleted file mode 100644 index b94f14342bb7..000000000000 --- a/packages/generator/generator-cases/tests/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "@modern-js/tsconfig/base", - "compilerOptions": { - "declaration": false, - "jsx": "preserve", - "baseUrl": "./", - "paths": {} - } -} diff --git a/packages/generator/generator-cases/tsconfig.json b/packages/generator/generator-cases/tsconfig.json deleted file mode 100644 index 32a7aee84b06..000000000000 --- a/packages/generator/generator-cases/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@modern-js/tsconfig/base", - "compilerOptions": { - "declaration": false, - "jsx": "preserve", - "baseUrl": "./", - "paths": {} - }, - "include": ["src"] -} diff --git a/packages/generator/generator-common/src/base/index.ts b/packages/generator/generator-common/src/base/index.ts deleted file mode 100644 index e984fc51b1e7..000000000000 --- a/packages/generator/generator-common/src/base/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './project'; diff --git a/packages/generator/generator-common/src/base/project.ts b/packages/generator/generator-common/src/base/project.ts deleted file mode 100644 index a575d38f4078..000000000000 --- a/packages/generator/generator-common/src/base/project.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { Schema } from '@modern-js/codesmith-formily'; -import { PackageManager, getPackageManagerSchema } from '../common'; - -export const getBaseSchema = (extra: Record = {}): Schema => { - return { - type: 'object', - properties: { - packageManager: getPackageManagerSchema(extra), - }, - }; -}; -export const BaseDefaultConfig = { - packageManager: PackageManager.Pnpm, -}; diff --git a/packages/generator/generator-common/src/common/index.ts b/packages/generator/generator-common/src/common/index.ts index 7afdf1698064..ebdaba0f7024 100644 --- a/packages/generator/generator-common/src/common/index.ts +++ b/packages/generator/generator-common/src/common/index.ts @@ -1,6 +1,4 @@ export * from './boolean'; export * from './solution'; -export * from './language'; -export * from './packageManager'; export * from './packageName'; export * from './packagePath'; diff --git a/packages/generator/generator-common/src/common/language.ts b/packages/generator/generator-common/src/common/language.ts deleted file mode 100644 index b0ffe1c6e15f..000000000000 --- a/packages/generator/generator-common/src/common/language.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { Schema } from '@modern-js/codesmith-formily'; -import { i18n, localeKeys } from '../locale'; - -export enum Language { - TS = 'ts', - JS = 'js', -} - -const LanguageName: Record = { - [Language.TS]: 'TS', - [Language.JS]: 'ES6+', -}; - -export const getLanguageSchema = (_extra: Record = {}): Schema => { - return { - type: 'string', - title: i18n.t(localeKeys.language.self), - enum: Object.values(Language).map(language => ({ - value: language, - label: LanguageName[language], - })), - }; -}; diff --git a/packages/generator/generator-common/src/common/packageManager.ts b/packages/generator/generator-common/src/common/packageManager.ts deleted file mode 100644 index 5a42317a1ed7..000000000000 --- a/packages/generator/generator-common/src/common/packageManager.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { Schema } from '@modern-js/codesmith-formily'; -import { i18n, localeKeys } from '../locale'; - -export enum PackageManager { - Pnpm = 'pnpm', - Yarn = 'yarn', - Npm = 'npm', -} - -export const PackageManagerName: Record = { - [PackageManager.Pnpm]: 'pnpm', - [PackageManager.Yarn]: 'Yarn', - [PackageManager.Npm]: 'npm', -}; - -export const getPackageManagerSchema = ( - extra: Record = {}, -): Schema => { - return { - type: 'string', - title: i18n.t(localeKeys.packageManager.self), - enum: Object.values(PackageManager) - .filter(packageManager => - extra?.solution === 'monorepo' - ? packageManager !== PackageManager.Npm - : true, - ) - .map(packageManager => ({ - value: packageManager, - label: PackageManagerName[packageManager], - })), - 'x-reactions': [ - { - dependencies: [], - fulfill: { - state: { - visible: !extra?.isMonorepoSubProject && !extra?.isSubProject, - }, - }, - }, - ], - }; -}; diff --git a/packages/generator/generator-common/src/common/solution.ts b/packages/generator/generator-common/src/common/solution.ts index 4cd1b327af35..2143f3aa5a9c 100644 --- a/packages/generator/generator-common/src/common/solution.ts +++ b/packages/generator/generator-common/src/common/solution.ts @@ -3,16 +3,13 @@ import { i18n, localeKeys } from '../locale'; export enum Solution { MWA = 'mwa', - Module = 'module', } export const SolutionToolsMap: Record = { [Solution.MWA]: '@modern-js/app-tools', - [Solution.Module]: '@modern-js/module-tools', }; export const BaseGenerator = '@modern-js/base-generator'; -export const PackagesGenerator = '@modern-js/packages-generator'; export const DependenceGenerator = '@modern-js/dependence-generator'; export const EntryGenerator = '@modern-js/entry-generator'; diff --git a/packages/generator/generator-common/src/expand/generator.ts b/packages/generator/generator-common/src/expand/generator.ts deleted file mode 100644 index b8682b3dfc37..000000000000 --- a/packages/generator/generator-common/src/expand/generator.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { Schema } from '@modern-js/codesmith-formily'; -import { - Language, - PackageManager, - getLanguageSchema, - getPackageManagerSchema, - getPackageNameSchema, - getPackagePathSchema, -} from '../common'; - -export const getGeneratorSchemaProperties = ( - extra: Record = {}, -): Schema['properties'] => { - return { - packageName: getPackageNameSchema(extra), - packagePath: getPackagePathSchema(extra), - packageManager: getPackageManagerSchema(extra), - language: getLanguageSchema(extra), - }; -}; - -export const getGeneratorSchema = (extra: Record = {}): Schema => { - return { - type: 'object', - properties: getGeneratorSchemaProperties(extra), - }; -}; - -export const GeneratorDefaultConfig = { - packageManager: PackageManager.Pnpm, - language: Language.TS, -}; diff --git a/packages/generator/generator-common/src/expand/index.ts b/packages/generator/generator-common/src/expand/index.ts deleted file mode 100644 index 95bc5ff2479e..000000000000 --- a/packages/generator/generator-common/src/expand/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './generator'; diff --git a/packages/generator/generator-common/src/index.ts b/packages/generator/generator-common/src/index.ts index 543a399d69fc..26832043da7e 100644 --- a/packages/generator/generator-common/src/index.ts +++ b/packages/generator/generator-common/src/index.ts @@ -2,5 +2,3 @@ export * from './locale'; export * from './common'; export * from './newAction'; export * from './mwa'; -export * from './expand'; -export * from './base'; diff --git a/packages/generator/generator-common/src/locale/en.ts b/packages/generator/generator-common/src/locale/en.ts index 74982a7dad5f..1dc008f29a69 100644 --- a/packages/generator/generator-common/src/locale/en.ts +++ b/packages/generator/generator-common/src/locale/en.ts @@ -6,12 +6,9 @@ export const EN_LOCALE = { question: 'Please select the feature name:', tailwindcss: 'Enable Tailwind CSS', bff: 'Enable BFF', - micro_frontend: 'Enable Micro Frontend', i18n: 'Enable Internationalization (i18n)', - runtime_api: 'Enable Runtime API', ssg: 'Enable SSG', polyfill: 'Enable UA-based Polyfill Feature', - module_doc: 'Enable Module Doc', }, element: { self: 'Create Element', @@ -19,21 +16,11 @@ export const EN_LOCALE = { entry: 'New "entry"', server: 'New "Custom Web Server" source code directory', }, - refactor: { - self: 'Automatic Refactor', - question: 'Please select the type of refactoring:', - }, }, boolean: { yes: 'Yes', no: 'No', }, - language: { - self: 'Please select the programming language:', - }, - packageManager: { - self: 'Please select the package manager:', - }, entry: { name: 'Please fill in the entry name:', no_empty: 'The entry name cannot be empty!', diff --git a/packages/generator/generator-common/src/locale/zh.ts b/packages/generator/generator-common/src/locale/zh.ts index 6b12dab41b13..f15305f1ce28 100644 --- a/packages/generator/generator-common/src/locale/zh.ts +++ b/packages/generator/generator-common/src/locale/zh.ts @@ -6,12 +6,9 @@ export const ZH_LOCALE = { question: '请选择功能名称', tailwindcss: '启用「Tailwind CSS」 支持', bff: '启用「BFF」功能', - micro_frontend: '启用「微前端」模式', i18n: '启用「国际化(i18n)」功能', - runtime_api: '启用「Runtime API」', ssg: '启用「SSG」功能', polyfill: '启用「基于 UA 的 Polyfill」功能', - module_doc: '启动「模块文档」功能', }, element: { self: '创建工程元素', @@ -19,21 +16,11 @@ export const ZH_LOCALE = { entry: '新建「应用入口」', server: '新建「自定义 Web Server」源码目录', }, - refactor: { - self: '自动重构', - question: '请选择重构类型', - }, }, boolean: { yes: '是', no: '否', }, - language: { - self: '请选择开发语言', - }, - packageManager: { - self: '请选择包管理工具', - }, entry: { name: '请填写入口名称', no_empty: '入口名称不能为空!', diff --git a/packages/generator/generator-common/src/mwa/project.ts b/packages/generator/generator-common/src/mwa/project.ts index de1737c90e6a..144218b8e87c 100644 --- a/packages/generator/generator-common/src/mwa/project.ts +++ b/packages/generator/generator-common/src/mwa/project.ts @@ -1,10 +1,6 @@ import type { Schema } from '@modern-js/codesmith-formily'; import { BooleanConfig, - Language, - PackageManager, - getLanguageSchema, - getPackageManagerSchema, getPackageNameSchema, getPackagePathSchema, } from '../common'; @@ -15,8 +11,6 @@ export const getMWASchemaProperties = ( return { packageName: getPackageNameSchema(extra), packagePath: getPackagePathSchema(extra), - language: getLanguageSchema(extra), - packageManager: getPackageManagerSchema(extra), }; }; @@ -28,7 +22,5 @@ export const getMWASchema = (extra: Record = {}): Schema => { }; export const MWADefaultConfig = { - language: Language.TS, - packageManager: PackageManager.Pnpm, needModifyMWAConfig: BooleanConfig.NO, }; diff --git a/packages/generator/generator-common/src/newAction/common/index.ts b/packages/generator/generator-common/src/newAction/common/index.ts index 4f1d678c0c9f..b7f3b020a219 100644 --- a/packages/generator/generator-common/src/newAction/common/index.ts +++ b/packages/generator/generator-common/src/newAction/common/index.ts @@ -3,7 +3,6 @@ import { i18n, localeKeys } from '../../locale'; export enum ActionType { Function = 'function', Element = 'element', - Refactor = 'refactor', } export enum ActionElement { @@ -14,26 +13,19 @@ export enum ActionElement { export enum ActionFunction { TailwindCSS = 'tailwindcss', BFF = 'bff', - MicroFrontend = 'micro_frontend', I18n = 'i18n', - RuntimeApi = 'runtimeApi', SSG = 'ssg', Polyfill = 'polyfill', - ModuleDoc = 'module_doc', } -export enum ActionRefactor {} - export const ActionTypeText: Record string> = { [ActionType.Function]: () => i18n.t(localeKeys.action.function.self), [ActionType.Element]: () => i18n.t(localeKeys.action.element.self), - [ActionType.Refactor]: () => i18n.t(localeKeys.action.refactor.self), }; export const ActionTypeQuestionText: Record string> = { [ActionType.Function]: () => i18n.t(localeKeys.action.function.question), [ActionType.Element]: () => i18n.t(localeKeys.action.element.question), - [ActionType.Refactor]: () => i18n.t(localeKeys.action.refactor.question), }; export const ActionElementText: Record string> = { @@ -45,24 +37,15 @@ export const ActionFunctionText: Record string> = { [ActionFunction.TailwindCSS]: () => i18n.t(localeKeys.action.function.tailwindcss), [ActionFunction.BFF]: () => i18n.t(localeKeys.action.function.bff), - [ActionFunction.MicroFrontend]: () => - i18n.t(localeKeys.action.function.micro_frontend), [ActionFunction.I18n]: () => i18n.t(localeKeys.action.function.i18n), - [ActionFunction.RuntimeApi]: () => - i18n.t(localeKeys.action.function.runtime_api), [ActionFunction.SSG]: () => i18n.t(localeKeys.action.function.ssg), [ActionFunction.Polyfill]: () => i18n.t(localeKeys.action.function.polyfill), - [ActionFunction.ModuleDoc]: () => - i18n.t(localeKeys.action.function.module_doc), }; -export const ActionRefactorText: Record string> = {}; - export const ActionTypeTextMap: Record< ActionType, Record string> > = { [ActionType.Element]: ActionElementText, [ActionType.Function]: ActionFunctionText, - [ActionType.Refactor]: ActionRefactorText, }; diff --git a/packages/generator/generator-common/src/newAction/mwa/index.ts b/packages/generator/generator-common/src/newAction/mwa/index.ts index f81a96d97846..81fd9de99bf5 100644 --- a/packages/generator/generator-common/src/newAction/mwa/index.ts +++ b/packages/generator/generator-common/src/newAction/mwa/index.ts @@ -5,34 +5,25 @@ import { ActionElementText, ActionFunction, ActionFunctionText, - type ActionRefactor, - ActionRefactorText, ActionType, ActionTypeQuestionText, ActionTypeText, } from '../common'; -export const MWAActionTypes = [ - ActionType.Element, - ActionType.Function, - ActionType.Refactor, -]; +export const MWAActionTypes = [ActionType.Element, ActionType.Function]; export const MWAActionFunctions = [ ActionFunction.TailwindCSS, ActionFunction.BFF, ActionFunction.SSG, - ActionFunction.MicroFrontend, ActionFunction.Polyfill, ]; export const MWAActionElements = [ActionElement.Entry, ActionElement.Server]; -export const MWAActionReactors = []; export const MWAActionTypesMap: Record = { [ActionType.Element]: MWAActionElements, [ActionType.Function]: MWAActionFunctions, - [ActionType.Refactor]: MWAActionReactors, }; export const getMWANewActionSchema = (): Schema => { @@ -84,24 +75,6 @@ export const getMWANewActionSchema = (): Schema => { }, ], }, - [ActionType.Refactor]: { - type: 'string', - title: ActionTypeQuestionText[ActionType.Refactor](), - enum: MWAActionReactors.map(refactor => ({ - value: refactor, - label: ActionRefactorText[refactor](), - })), - 'x-reactions': [ - { - dependencies: ['actionType'], - fulfill: { - state: { - visible: '{{$deps[0] === "refactor"}}', - }, - }, - }, - ], - }, }, }; }; @@ -125,14 +98,6 @@ export const MWAActionFunctionsAppendTypeContent: Partial< Record > = {}; -export const MWAActionRefactorDependencies: Partial< - Record -> = {}; - -export const MWAActionReactorAppendTypeContent: Partial< - Record -> = {}; - export const MWANewActionGenerators: Record< ActionType, Record @@ -144,11 +109,9 @@ export const MWANewActionGenerators: Record< [ActionType.Function]: { [ActionFunction.TailwindCSS]: '@modern-js/tailwindcss-generator', [ActionFunction.BFF]: '@modern-js/bff-generator', - [ActionFunction.MicroFrontend]: '@modern-js/dependence-generator', [ActionFunction.SSG]: '@modern-js/ssg-generator', [ActionFunction.Polyfill]: '@modern-js/dependence-generator', }, - [ActionType.Refactor]: {}, }; export const MWANewActionPluginName: Record< @@ -164,7 +127,6 @@ export const MWANewActionPluginName: Record< [ActionFunction.SSG]: 'ssgPlugin', [ActionFunction.Polyfill]: 'polyfillPlugin', }, - [ActionType.Refactor]: {}, }; export const MWANewActionPluginDependence: Record< @@ -180,5 +142,4 @@ export const MWANewActionPluginDependence: Record< [ActionFunction.SSG]: '@modern-js/plugin-ssg', [ActionFunction.Polyfill]: '@modern-js/plugin-polyfill', }, - [ActionType.Refactor]: {}, }; diff --git a/packages/generator/generator-common/tests/newAction.test.ts b/packages/generator/generator-common/tests/newAction.test.ts deleted file mode 100644 index 17286febeaaf..000000000000 --- a/packages/generator/generator-common/tests/newAction.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { MWAActionFunctions } from '../src/newAction/mwa'; - -describe('new action test', () => { - it('mwa', () => { - expect(MWAActionFunctions.length).toBe(5); - }); -}); diff --git a/packages/generator/generator-common/tests/packageManager.test.ts b/packages/generator/generator-common/tests/packageManager.test.ts deleted file mode 100644 index 3f7776b195d8..000000000000 --- a/packages/generator/generator-common/tests/packageManager.test.ts +++ /dev/null @@ -1,45 +0,0 @@ -import os from 'os'; -import path from 'path'; -import { - CodeSmith, - FsMaterial, - GeneratorCore, - MaterialsManager, -} from '@modern-js/codesmith'; -import { AppAPI } from '@modern-js/codesmith-api-app'; -import { fs } from '@modern-js/codesmith-utils/fs-extra'; -import { getPackageManagerSchema } from '../src/common/packageManager'; - -describe('test package manager schema', () => { - it('get input', async () => { - const projectDir = path.join(os.tmpdir(), 'modern-js-test', 'common'); - fs.removeSync(projectDir); - const smith = new CodeSmith({}); - const mockGeneratorCore = new GeneratorCore({ - logger: smith.logger, - materialsManager: new MaterialsManager(), - outputPath: projectDir, - }); - mockGeneratorCore.addMaterial('default', new FsMaterial(projectDir)); - mockGeneratorCore._context.current = { - material: new FsMaterial(path.join(__dirname, '..')), - }; - const appApi = new AppAPI(mockGeneratorCore._context, mockGeneratorCore); - const ans = await appApi.getInputBySchemaFunc( - () => ({ - type: 'object', - properties: { - packageManager: getPackageManagerSchema({ - packageManager: 'pnpm', - isMonorepo: true, - }), - }, - }), - { - packageManager: 'pnpm', - isMonorepo: true, - }, - ); - expect(ans).toEqual({ packageManager: 'pnpm', isMonorepo: true }); - }); -}); diff --git a/packages/generator/generator-utils/src/index.ts b/packages/generator/generator-utils/src/index.ts index 438035fd4435..368a6d2eb519 100644 --- a/packages/generator/generator-utils/src/index.ts +++ b/packages/generator/generator-utils/src/index.ts @@ -3,7 +3,7 @@ import type { GeneratorContext } from '@modern-js/codesmith'; import { getNpmVersion, getPackageInfo } from '@modern-js/codesmith'; import { fs } from '@modern-js/codesmith-utils/fs-extra'; import { ora } from '@modern-js/codesmith-utils/ora'; -import { Solution, SolutionToolsMap } from '@modern-js/generator-common'; +import { type Solution, SolutionToolsMap } from '@modern-js/generator-common'; import { i18n, localeKeys } from './locale'; import { fileExist } from './utils/fsExist'; import { getMonorepoPackages } from './utils/monorepo'; @@ -77,18 +77,11 @@ export async function getModernPluginVersion( return getLatetPluginVersion('latest'); } // get project solution version - let pkgPath = path.join( + const pkgPath = path.join( require.resolve(SolutionToolsMap[solution], { paths: [cwd] }), '../../..', 'package.json', ); - if (solution === Solution.Module) { - pkgPath = path.join( - require.resolve(SolutionToolsMap[solution], { paths: [cwd] }), - '../..', - 'package.json', - ); - } if (fs.existsSync(pkgPath)) { const pkgInfo = fs.readJSONSync(pkgPath); @@ -110,10 +103,6 @@ export async function getModernPluginVersion( return getLatetPluginVersion(); } -export function getPackageManagerText(packageManager: 'pnpm' | 'yarn' | 'npm') { - return packageManager === 'yarn' ? 'yarn' : `${packageManager} run`; -} - export function isTsProject(appDir: string) { return fs.existsSync(path.join(appDir, 'tsconfig.json')); } diff --git a/packages/generator/generators/base-generator/src/index.ts b/packages/generator/generators/base-generator/src/index.ts index fb61a34abdf0..aec6ceb69b77 100644 --- a/packages/generator/generators/base-generator/src/index.ts +++ b/packages/generator/generators/base-generator/src/index.ts @@ -1,35 +1,11 @@ import type { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; -import { PackageManager, getBaseSchema } from '@modern-js/generator-common'; const handleTemplateFile = async ( context: GeneratorContext, _generator: GeneratorCore, appApi: AppAPI, ) => { - const { hasPlugin, generatorPlugin, ...extra } = context.config; - let ans: Record = {}; - if (hasPlugin) { - await generatorPlugin.installPlugins('custom', extra); - const schema = generatorPlugin.getInputSchema(); - const inputValue = generatorPlugin.getInputValue(); - const defaultConfig = generatorPlugin.getDefaultConfig(); - ans = await appApi.getInputBySchema( - schema, - 'formily', - { - ...context.config, - ...defaultConfig, - }, - {}, - { ...inputValue }, - ); - } else { - ans = await appApi.getInputBySchemaFunc(getBaseSchema, context.config); - } - - const { packageManager } = ans; - await appApi.forgeTemplate( 'templates/base-template/**/*', undefined, @@ -39,16 +15,14 @@ const handleTemplateFile = async ( .replace('.handlebars', ''), ); - if (packageManager === PackageManager.Pnpm) { - await appApi.forgeTemplate( - 'templates/pnpm-template/**/*', - undefined, - resourceKey => - resourceKey - .replace('templates/pnpm-template/npmrc', '.npmrc') - .replace('.handlebars', ''), - ); - } + await appApi.forgeTemplate( + 'templates/pnpm-template/**/*', + undefined, + resourceKey => + resourceKey + .replace('templates/pnpm-template/npmrc', '.npmrc') + .replace('.handlebars', ''), + ); }; export default async (context: GeneratorContext, generator: GeneratorCore) => { diff --git a/packages/generator/generators/bff-generator/src/index.ts b/packages/generator/generators/bff-generator/src/index.ts index 643eed4c8fee..e21c6db5583a 100644 --- a/packages/generator/generators/bff-generator/src/index.ts +++ b/packages/generator/generators/bff-generator/src/index.ts @@ -2,17 +2,12 @@ import path from 'path'; import type { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; import { JsonAPI } from '@modern-js/codesmith-api-json'; -import { - Language, - Solution, - i18n as commonI18n, -} from '@modern-js/generator-common'; +import { Solution, i18n as commonI18n } from '@modern-js/generator-common'; import { fs, chalk, getModernConfigFile, getModernPluginVersion, - isTsProject, readTsConfigByFile, } from '@modern-js/generator-utils'; import { i18n, localeKeys } from './locale'; @@ -49,8 +44,6 @@ export const handleTemplateFile = async ( } } - const language = isTsProject(appDir) ? Language.TS : Language.JS; - const getBffPluginVersion = (packageName: string) => { return getModernPluginVersion(Solution.MWA, packageName, { registry: context.config.registry, @@ -76,48 +69,44 @@ export const handleTemplateFile = async ( true, ); - if (language === Language.TS) { - const tsconfigJSON = readTsConfigByFile(path.join(appDir, 'tsconfig.json')); - - if (!(tsconfigJSON.include || []).includes('api')) { - await jsonAPI.update( - context.materials.default.get(path.join(appDir, 'tsconfig.json')), - { - query: {}, - update: { - $set: { - include: [...(tsconfigJSON.include || []), 'api'], - }, - }, - }, - true, - ); - } - } + const tsconfigJSON = readTsConfigByFile(path.join(appDir, 'tsconfig.json')); - if (language === Language.TS) { + if (!(tsconfigJSON.include || []).includes('api')) { await jsonAPI.update( context.materials.default.get(path.join(appDir, 'tsconfig.json')), { query: {}, update: { $set: { - 'compilerOptions.paths.@api/*': ['./api/lambda/*'], + include: [...(tsconfigJSON.include || []), 'api'], }, }, }, true, ); - - await appApi.forgeTemplate( - `templates/framework/lambda/*`, - undefined, - resourceKey => - resourceKey - .replace(`templates/framework/`, 'api/') - .replace('.handlebars', `.${language}`), - ); } + + await jsonAPI.update( + context.materials.default.get(path.join(appDir, 'tsconfig.json')), + { + query: {}, + update: { + $set: { + 'compilerOptions.paths.@api/*': ['./api/lambda/*'], + }, + }, + }, + true, + ); + + await appApi.forgeTemplate( + `templates/framework/lambda/*`, + undefined, + resourceKey => + resourceKey + .replace(`templates/framework/`, 'api/') + .replace('.handlebars', `.ts`), + ); }; export default async (context: GeneratorContext, generator: GeneratorCore) => { diff --git a/packages/generator/generators/mwa-generator/package.json b/packages/generator/generators/mwa-generator/package.json index fca55ef6ebbd..4fe6372c7fe7 100644 --- a/packages/generator/generators/mwa-generator/package.json +++ b/packages/generator/generators/mwa-generator/package.json @@ -37,7 +37,6 @@ "@modern-js/entry-generator": "workspace:*", "@modern-js/generator-common": "workspace:*", "@modern-js/generator-utils": "workspace:*", - "@modern-js/packages-generator": "workspace:*", "@modern-js/plugin-i18n": "workspace:*", "@scripts/build": "workspace:*", "@scripts/jest-config": "workspace:*", diff --git a/packages/generator/generators/mwa-generator/src/index.ts b/packages/generator/generators/mwa-generator/src/index.ts index 59f064068290..39f2b0cd77f3 100644 --- a/packages/generator/generators/mwa-generator/src/index.ts +++ b/packages/generator/generators/mwa-generator/src/index.ts @@ -5,9 +5,7 @@ import { merge } from '@modern-js/codesmith-utils/lodash'; import { BaseGenerator, EntryGenerator, - Language, MWADefaultConfig, - PackagesGenerator, Solution, i18n as commonI18n, getMWASchema, @@ -17,7 +15,6 @@ import { getGeneratorPath, getMWAProjectPath, getModernVersion, - getPackageManagerText, i18n as utilsI18n, validatePackageName, validatePackagePath, @@ -87,8 +84,7 @@ export const handleTemplateFile = async ( generator.logger.debug(`💡 [Input Answer]: ${JSON.stringify(ans)}`); - const { packageName, packagePath, language, packageManager } = ans; - const { packagesInfo } = context.config; + const { packageName, packagePath, packageManager } = ans; const bundler = `'rspack',`; @@ -117,35 +113,21 @@ export const handleTemplateFile = async ( isMonorepoSubProject, modernVersion, packageManager, - isTs: language === Language.TS, + isTs: true, }, ); - if (language === Language.TS) { - await appApi.forgeTemplate( - 'templates/ts-template/**/*', - undefined, - resourceKey => - resourceKey - .replace('templates/ts-template/', projectPath) - .replace('.handlebars', ''), - { - bundler, - }, - ); - } else { - await appApi.forgeTemplate( - 'templates/js-template/**/*', - undefined, - resourceKey => - resourceKey - .replace('templates/js-template/', projectPath) - .replace('.handlebars', ''), - { - bundler, - }, - ); - } + await appApi.forgeTemplate( + 'templates/ts-template/**/*', + undefined, + resourceKey => + resourceKey + .replace('templates/ts-template/', projectPath) + .replace('.handlebars', ''), + { + bundler, + }, + ); await appApi.runSubGenerator( getGeneratorPath(EntryGenerator, context.config.distTag, [__dirname]), @@ -163,14 +145,6 @@ export const handleTemplateFile = async ( }); } - if (packagesInfo && Object.keys(packagesInfo).length > 0) { - await appApi.runSubGenerator( - getGeneratorPath(PackagesGenerator, context.config.distTag, [__dirname]), - undefined, - context.config, - ); - } - return { projectPath }; }; @@ -213,11 +187,7 @@ export default async (context: GeneratorContext, generator: GeneratorCore) => { if (successInfo) { appApi.showSuccessInfo(successInfo); } else { - appApi.showSuccessInfo( - i18n.t(localeKeys.success, { - packageManager: getPackageManagerText(packageManager), - }), - ); + appApi.showSuccessInfo(i18n.t(localeKeys.success)); } generator.logger.debug(`🌟 [End Run MWA Generator]`); diff --git a/packages/generator/generators/mwa-generator/src/locale/en.ts b/packages/generator/generators/mwa-generator/src/locale/en.ts index a724e8520273..59fdf86c637b 100644 --- a/packages/generator/generators/mwa-generator/src/locale/en.ts +++ b/packages/generator/generators/mwa-generator/src/locale/en.ts @@ -3,9 +3,9 @@ export const EN_LOCALE = { 'get all packages failed,please check this environment and try again', success: `Success! You can run the following command in the directory of the new project: -{packageManager} dev # Starting the dev server -{packageManager} build # Build the app for production -{packageManager} serve # Preview the production build locally -{packageManager} lint # Run ESLint and automatically fix problems -{packageManager} new # Enable optional features or add a new entry`, +pnpm dev # Starting the dev server +pnpm build # Build the app for production +pnpm serve # Preview the production build locally +pnpm lint # Run ESLint and automatically fix problems +pnpm new # Enable optional features or add a new entry`, }; diff --git a/packages/generator/generators/mwa-generator/src/locale/zh.ts b/packages/generator/generators/mwa-generator/src/locale/zh.ts index fdb0745ad202..b56ef635d5cf 100644 --- a/packages/generator/generators/mwa-generator/src/locale/zh.ts +++ b/packages/generator/generators/mwa-generator/src/locale/zh.ts @@ -2,9 +2,9 @@ export const ZH_LOCALE = { get_packages_error: '获取包列表失败,请检查环境后重试', success: `创建成功! 可在新项目的目录下运行以下命令: -{packageManager} dev # 启动开发服务器 -{packageManager} build # 构建生产环境产物 -{packageManager} serve # 启动生产环境服务 -{packageManager} lint # 运行 ESLint 并自动修复问题 -{packageManager} new # 启用可选功能或创建项目要素`, +pnpm dev # 启动开发服务器 +pnpm build # 构建生产环境产物 +pnpm serve # 启动生产环境服务 +pnpm lint # 运行 ESLint 并自动修复问题 +pnpm new # 启用可选功能或创建项目要素`, }; diff --git a/packages/generator/generators/mwa-generator/templates/base-template/README.md.handlebars b/packages/generator/generators/mwa-generator/templates/base-template/README.md.handlebars index 545e2131be3c..d53abe5fd13b 100644 --- a/packages/generator/generators/mwa-generator/templates/base-template/README.md.handlebars +++ b/packages/generator/generators/mwa-generator/templates/base-template/README.md.handlebars @@ -6,7 +6,7 @@ Install the dependencies: ```bash -{{packageManager}} install +pnpm install ``` {{/unless}} @@ -15,25 +15,25 @@ Install the dependencies: Start the dev server: ```bash -{{packageManager}} dev +pnpm dev ``` Enable optional features or add a new entry: ```bash -{{packageManager}} new +pnpm new ``` Build the app for production: ```bash -{{packageManager}} build +pnpm build ``` Preview the production build locally: ```bash -{{packageManager}} serve +pnpm serve ``` For more information, see the [Modern.js documentation](https://modernjs.dev/en). diff --git a/packages/generator/generators/mwa-generator/templates/js-template/modern.config.js.handlebars b/packages/generator/generators/mwa-generator/templates/js-template/modern.config.js.handlebars deleted file mode 100644 index df8045c55d4f..000000000000 --- a/packages/generator/generators/mwa-generator/templates/js-template/modern.config.js.handlebars +++ /dev/null @@ -1,13 +0,0 @@ -import { appTools } from '@modern-js/app-tools'; - -// https://modernjs.dev/en/configure/app/usage -module.exports = { - runtime: { - router: true, - }, - plugins: [ - appTools({ - bundler: {{{ bundler }}} - }), - ], -}; diff --git a/packages/generator/generators/mwa-generator/templates/js-template/src/modern.runtime.js.handlebars b/packages/generator/generators/mwa-generator/templates/js-template/src/modern.runtime.js.handlebars deleted file mode 100644 index 7437c8314e58..000000000000 --- a/packages/generator/generators/mwa-generator/templates/js-template/src/modern.runtime.js.handlebars +++ /dev/null @@ -1,3 +0,0 @@ -import { defineRuntimeConfig } from '@modern-js/runtime'; - -export default defineRuntimeConfig({}); diff --git a/packages/generator/generators/packages-generator/.npmignore b/packages/generator/generators/packages-generator/.npmignore deleted file mode 100644 index 353fddf17262..000000000000 --- a/packages/generator/generators/packages-generator/.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/generator/generators/packages-generator/CHANGELOG.md b/packages/generator/generators/packages-generator/CHANGELOG.md deleted file mode 100644 index 57be80570afa..000000000000 --- a/packages/generator/generators/packages-generator/CHANGELOG.md +++ /dev/null @@ -1,616 +0,0 @@ -# @modern-js/packages-generator - -## 3.7.38 - -## 3.7.37 - -## 3.7.36 - -## 3.7.35 - -## 3.7.34 - -## 3.7.33 - -## 3.7.32 - -## 3.7.31 - -## 3.7.30 - -## 3.7.29 - -## 3.7.28 - -## 3.7.27 - -## 3.7.26 - -## 3.7.25 - -## 3.7.24 - -## 3.7.23 - -## 3.7.22 - -## 3.7.21 - -## 3.7.20 - -## 3.7.19 - -## 3.7.18 - -## 3.7.17 - -## 3.7.16 - -## 3.7.15 - -## 3.7.14 - -## 3.7.13 - -## 3.7.12 - -## 3.7.11 - -## 3.7.10 - -## 3.7.9 - -## 3.7.8 - -## 3.7.7 - -## 3.7.6 - -## 3.7.5 - -### Patch Changes - -- 6203806: fix: new and upgrade command run error - - fix: 修复 new 命令和 upgrade 命令执行报错 - -## 3.7.4 - -## 3.7.3 - -## 3.7.2 - -## 3.7.1 - -## 3.7.0 - -### Minor Changes - -- d6986c5: feat: optimize generator download - - feat: 优化生成器下载 - -## 3.6.3 - -### Patch Changes - -- Updated dependencies [303331c] - - @modern-js/utils@2.60.3 - -## 3.6.2 - -### Patch Changes - -- 0b6d335: feat: Optimize generator log information - - feat: 优化生成器日志信息 - -- Updated dependencies [8a709bc] - - @modern-js/utils@2.60.2 - -## 3.6.1 - -### Patch Changes - -- @modern-js/utils@2.60.1 - -## 3.6.0 - -### Patch Changes - -- 65b2922: feat: generator update json add endWithNewLine params - - feat: 生成器更新 json 文件增加 endWithNewLine 参数 - - - @modern-js/utils@2.60.0 - -## 3.5.0 - -### Patch Changes - -- @modern-js/utils@2.59.0 - -## 3.4.17 - -### Patch Changes - -- @modern-js/utils@2.58.3 - -## 3.4.16 - -### Patch Changes - -- 7715b6d: feat: update codesmith version - - feat: 更新 codesmith 版本 - -- Updated dependencies [a1a9373] - - @modern-js/utils@2.58.2 - -## 3.4.15 - -### Patch Changes - -- @modern-js/utils@2.58.1 - -## 3.4.14 - -### Patch Changes - -- @modern-js/utils@2.58.0 - -## 3.4.13 - -### Patch Changes - -- @modern-js/utils@2.57.1 - -## 3.4.12 - -### Patch Changes - -- Updated dependencies [2515b00] - - @modern-js/utils@2.57.0 - -## 3.4.11 - -### Patch Changes - -- @modern-js/utils@2.56.2 - -## 3.4.10 - -### Patch Changes - -- @modern-js/utils@2.56.1 - -## 3.4.9 - -### Patch Changes - -- @modern-js/utils@2.56.0 - -## 3.4.8 - -### Patch Changes - -- Updated dependencies [bbcf55a] - - @modern-js/utils@2.55.0 - -## 3.4.7 - -### Patch Changes - -- @modern-js/utils@2.54.6 - -## 3.4.6 - -### Patch Changes - -- @modern-js/utils@2.54.5 - -## 3.4.5 - -### Patch Changes - -- @modern-js/utils@2.54.4 - -## 3.4.4 - -### Patch Changes - -- @modern-js/utils@2.54.3 - -## 3.4.3 - -### Patch Changes - -- @modern-js/utils@2.54.2 - -## 3.4.2 - -### Patch Changes - -- @modern-js/utils@2.54.1 - -## 3.4.1 - -### Patch Changes - -- Updated dependencies [15a090c] -- Updated dependencies [a8d8f0c] -- Updated dependencies [09798ac] - - @modern-js/utils@2.54.0 - -## 3.4.0 - -### Minor Changes - -- f0aa3d3: feat: @modern-js/create not support create Monorepo Project - - feat: @modern-js/create 移除创建 Monorepo 项目 - -### Patch Changes - -- @modern-js/utils@2.53.0 - -## 3.3.25 - -### Patch Changes - -- @modern-js/utils@2.52.0 - -## 3.3.24 - -### Patch Changes - -- @modern-js/utils@2.51.0 - -## 3.3.23 - -### Patch Changes - -- @modern-js/utils@2.50.0 - -## 3.3.22 - -### Patch Changes - -- @modern-js/utils@2.49.4 - -## 3.3.21 - -### Patch Changes - -- @modern-js/utils@2.49.3 - -## 3.3.20 - -### Patch Changes - -- @modern-js/utils@2.49.2 - -## 3.3.19 - -### Patch Changes - -- @modern-js/utils@2.49.1 - -## 3.3.18 - -### Patch Changes - -- Updated dependencies [e8c8c5d] - - @modern-js/utils@2.49.0 - -## 3.3.17 - -### Patch Changes - -- @modern-js/utils@2.48.6 - -## 3.3.16 - -### Patch Changes - -- Updated dependencies [4ca9f4c] - - @modern-js/utils@2.48.5 - -## 3.3.15 - -### Patch Changes - -- Updated dependencies [7d2d433] - - @modern-js/utils@2.48.4 - -## 3.3.14 - -### Patch Changes - -- @modern-js/utils@2.48.3 - -## 3.3.13 - -### Patch Changes - -- @modern-js/utils@2.48.2 - -## 3.3.12 - -### Patch Changes - -- Updated dependencies [8942b90] -- Updated dependencies [ce426f7] - - @modern-js/utils@2.48.1 - -## 3.3.11 - -### Patch Changes - -- Updated dependencies [c323a23] - - @modern-js/utils@2.48.0 - -## 3.3.10 - -### Patch Changes - -- @modern-js/utils@2.47.1 - -## 3.3.9 - -### Patch Changes - -- Updated dependencies [a5386ab] - - @modern-js/utils@2.47.0 - -## 3.3.8 - -### Patch Changes - -- @modern-js/utils@2.46.1 - -## 3.3.7 - -### Patch Changes - -- @modern-js/utils@2.46.0 - -## 3.3.6 - -### Patch Changes - -- @modern-js/utils@2.45.0 - -## 3.3.5 - -### Patch Changes - -- @modern-js/utils@2.44.0 - -## 3.3.4 - -### Patch Changes - -- @modern-js/utils@2.43.0 - -## 3.3.3 - -### Patch Changes - -- fa731a7: chore: bump codesmith to 2.3.2 - chore: 升级 codesmith 版本到 2.3.2 - - @modern-js/utils@2.42.2 - -## 3.3.2 - -### Patch Changes - -- @modern-js/utils@2.42.1 - -## 3.3.1 - -### Patch Changes - -- b182eb2: chore: bump codesmith v2.3.1 to show timing - chore: 升级 codesmith 到 v2.3.1, 用于展示执行时间 - - @modern-js/utils@2.42.0 - -## 3.3.0 - -### Patch Changes - -- Updated dependencies [c4d396a] - - @modern-js/utils@2.41.0 - -## 3.2.11 - -### Patch Changes - -- Updated dependencies [95f15d2] - - @modern-js/utils@2.40.0 - -## 3.2.10 - -### Patch Changes - -- @modern-js/utils@2.39.2 - -## 3.2.9 - -### Patch Changes - -- @modern-js/utils@2.39.1 - -## 3.2.8 - -### Patch Changes - -- @modern-js/utils@2.39.0 - -## 3.2.7 - -### Patch Changes - -- 8f43163: feat: optimize generator bundle - - feat: 优化生成器打包 - - - @modern-js/utils@2.38.0 - -## 3.2.6 - -## 3.2.5 - -## 3.2.4 - -## 3.2.3 - -## 3.2.2 - -## 3.2.1 - -## 3.2.0 - -## 3.1.39 - -## 3.1.38 - -## 3.1.37 - -## 3.1.36 - -### Patch Changes - -- f1de744: chore(generators): adjust build target to es2019 - - chore(generators): 调整构建的 target 为 es2019 - -## 3.1.35 - -## 3.1.34 - -## 3.1.33 - -## 3.1.32 - -## 3.1.31 - -## 3.1.30 - -## 3.1.29 - -## 3.1.28 - -## 3.1.27 - -## 3.1.26 - -## 3.1.25 - -## 3.1.24 - -## 3.1.23 - -## 3.1.22 - -### Patch Changes - -- 7e6fb5f: chore: publishConfig add provenance config - - chore: publishConfig 增加 provenance 配置 - -## 3.1.21 - -## 3.1.20 - -### Patch Changes - -- b647c68: chore(generator): update codesmith version - - chore(generator): 更新 codesmith 版本 - -## 3.1.19 - -## 3.1.18 - -### Patch Changes - -- 26dcf3a: chore: bump typescript to v5 in devDependencies - - chore: 升级 devDependencies 中的 typescript 版本到 v5 - -- de8f73f: feat: update codesmith version - - feat: 更新 codesmith 版本 - -## 3.1.17 - -### Patch Changes - -- 6b9d90a: chore: remove @babel/runtime. add @swc/helper and enable `externalHelper` config. - chore: 移除 @babel/runtime 依赖. 增加 @swc/helpers 依赖并且开启 `externalHelpers` 配置 - -## 3.1.16 - -## 3.1.15 - -### Patch Changes - -- 3c0c5bb: fix: packages generator overrides field when use npm - - fix: 修复当使用 npm 安装依赖时 packages-generator overrides 字段 - -## 3.1.14 - -### Patch Changes - -- 21c87bf: feat: bump codesmith packages version - - feat: 升级 codesmith 包版本 - -- bc61dab: feat: bump codesmith version - - feat: 升级 codesmith 版本 - -## 3.1.13 - -## 3.1.12 - -## 3.1.11 - -## 3.1.10 - -### Patch Changes - -- 4e876ab: chore: package.json include the monorepo-relative directory - - chore: 在 package.json 中声明 monorepo 的子路径 - -## 3.1.9 - -## 3.1.8 - -## 3.1.7 - -## 3.1.6 - -## 3.1.5 - -## 3.1.4 - -## 3.1.3 - -## 3.1.2 - -## 3.1.1 - -## 3.1.0 - -### Patch Changes - -- 0da32d0: chore: upgrade jest and puppeteer - chore: 升级 jest 和 puppeteer 到 latest - -## 3.0.11 - -## 3.0.10 diff --git a/packages/generator/generators/packages-generator/README.md b/packages/generator/generators/packages-generator/README.md deleted file mode 100644 index f3d407c43230..000000000000 --- a/packages/generator/generators/packages-generator/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/generator/generators/packages-generator/modern.config.js b/packages/generator/generators/packages-generator/modern.config.js deleted file mode 100644 index 8efa2a15d0b2..000000000000 --- a/packages/generator/generators/packages-generator/modern.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const { generatorBuildUmdConfig } = require('@scripts/build'); - -module.exports = { - buildConfig: generatorBuildUmdConfig, -}; diff --git a/packages/generator/generators/packages-generator/package.json b/packages/generator/generators/packages-generator/package.json deleted file mode 100644 index b72a078a8f9e..000000000000 --- a/packages/generator/generators/packages-generator/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "@modern-js/packages-generator", - "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/generator/generators/packages-generator" - }, - "license": "MIT", - "keywords": [ - "react", - "framework", - "modern", - "modern.js" - ], - "version": "3.7.38", - "jsnext:source": "./src/index.ts", - "main": "./src/index.ts", - "files": [ - "/templates", - "/dist/index.js" - ], - "scripts": { - "prepublishOnly": "only-allow-pnpm", - "new": "modern-lib new", - "build": "modern-lib build", - "test": "jest --passWithNoTests" - }, - "devDependencies": { - "@modern-js/codesmith": "2.6.8", - "@modern-js/codesmith-api-app": "2.6.8", - "@modern-js/codesmith-api-json": "2.6.8", - "@modern-js/codesmith-utils": "2.6.8", - "@modern-js/generator-common": "workspace:*", - "@modern-js/generator-utils": "workspace:*", - "@scripts/build": "workspace:*", - "@scripts/jest-config": "workspace:*", - "@types/jest": "^29.5.14", - "@types/node": "^20", - "jest": "^29.7.0", - "typescript": "^5" - }, - "sideEffects": false, - "publishConfig": { - "main": "./dist/index.js", - "registry": "https://registry.npmjs.org/", - "access": "public" - }, - "types": "./src/index.ts" -} diff --git a/packages/generator/generators/packages-generator/src/index.ts b/packages/generator/generators/packages-generator/src/index.ts deleted file mode 100644 index d63efc6684ab..000000000000 --- a/packages/generator/generators/packages-generator/src/index.ts +++ /dev/null @@ -1,104 +0,0 @@ -import path from 'path'; -import type { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; -import { AppAPI } from '@modern-js/codesmith-api-app'; -import { JsonAPI } from '@modern-js/codesmith-api-json'; -import { PackageManager } from '@modern-js/generator-common'; -import { fs } from '@modern-js/generator-utils'; - -const handleTemplateFile = async ( - context: GeneratorContext, - generator: GeneratorCore, -) => { - const { packageManager, packagesInfo } = context.config; - const jsonAPI = new JsonAPI(generator); - if (packageManager === PackageManager.Pnpm) { - const update: Record = {}; - Object.entries(packagesInfo || {}).forEach(([name, version]) => { - update[`pnpm.overrides.${name}`] = version as string; - }); - await jsonAPI.update( - context.materials.default.get('package.json'), - { - query: {}, - update: { - $set: update, - }, - }, - true, - ); - } else if (packageManager === PackageManager.Yarn) { - const pkgInfo = fs.readJSONSync( - path.join(context.materials.default.basePath, 'package.json'), - 'utf-8', - ); - const { dependencies = {}, devDependencies = {} } = pkgInfo; - - const update: Record = {}; - Object.entries(packagesInfo || {}).forEach(([name, version]) => { - update[`resolutions.${name}`] = version as string; - if (dependencies[name]) { - update[`dependencies.${name}`] = version as string; - } - if (devDependencies[name]) { - update[`devDependencies.${name}`] = version as string; - } - }); - await jsonAPI.update( - context.materials.default.get('package.json'), - { - query: {}, - update: { - $set: update, - }, - }, - true, - ); - } else { - const pkgInfo = fs.readJSONSync( - path.join(context.materials.default.basePath, 'package.json'), - 'utf-8', - ); - const { dependencies = {}, devDependencies = {} } = pkgInfo; - - const update: Record = {}; - Object.entries(packagesInfo || {}).forEach(([name, version]) => { - update[`overrides.${name}`] = version as string; - if (dependencies[name]) { - update[`dependencies.${name}`] = version as string; - } - if (devDependencies[name]) { - update[`devDependencies.${name}`] = version as string; - } - }); - await jsonAPI.update( - context.materials.default.get('package.json'), - { - query: {}, - update: { - $set: update, - }, - }, - true, - ); - } -}; - -export default async (context: GeneratorContext, generator: GeneratorCore) => { - const appApi = new AppAPI(context, generator); - const { locale } = context.config; - appApi.i18n.changeLanguage({ locale }); - - if (!(await appApi.checkEnvironment())) { - process.exit(1); - } - - generator.logger.debug(`🚀 [Start Run Packages Generator]`); - generator.logger.debug( - '💡 [Current Config]:', - JSON.stringify(context.config), - ); - - await handleTemplateFile(context, generator); - - generator.logger.debug(`🌟 [End Run Packages Generator]`); -}; diff --git a/packages/generator/generators/packages-generator/src/modern-app-env.d.ts b/packages/generator/generators/packages-generator/src/modern-app-env.d.ts deleted file mode 100644 index ab10d9f28761..000000000000 --- a/packages/generator/generators/packages-generator/src/modern-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/generator/generators/packages-generator/tsconfig.json b/packages/generator/generators/packages-generator/tsconfig.json deleted file mode 100644 index 32a7aee84b06..000000000000 --- a/packages/generator/generators/packages-generator/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@modern-js/tsconfig/base", - "compilerOptions": { - "declaration": false, - "jsx": "preserve", - "baseUrl": "./", - "paths": {} - }, - "include": ["src"] -} diff --git a/packages/generator/generators/router-v5-generator/package.json b/packages/generator/generators/router-v5-generator/package.json deleted file mode 100644 index 265e4daf471f..000000000000 --- a/packages/generator/generators/router-v5-generator/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@modern-js/router-v5-generator", - "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/generator/generators/router-v5-generator" - }, - "license": "MIT", - "keywords": [ - "react", - "framework", - "modern", - "modern.js" - ], - "version": "3.7.38", - "jsnext:source": "./src/index.ts", - "main": "./src/index.ts", - "files": [ - "/templates", - "/dist/index.js" - ], - "scripts": { - "prepublishOnly": "only-allow-pnpm", - "new": "modern-lib new", - "build": "modern-lib build", - "test": "jest --passWithNoTests" - }, - "devDependencies": { - "@modern-js/codesmith": "2.6.8", - "@modern-js/codesmith-api-app": "2.6.8", - "@modern-js/codesmith-utils": "2.6.8", - "@modern-js/dependence-generator": "workspace:*", - "@modern-js/generator-common": "workspace:*", - "@modern-js/generator-utils": "workspace:*", - "@modern-js/plugin-i18n": "workspace:*", - "@scripts/build": "workspace:*", - "@scripts/jest-config": "workspace:*", - "@types/jest": "^29.5.14", - "@types/node": "^20", - "jest": "^29.7.0", - "typescript": "^5" - }, - "sideEffects": false, - "publishConfig": { - "main": "./dist/index.js", - "registry": "https://registry.npmjs.org/", - "access": "public" - }, - "types": "./src/index.ts" -} diff --git a/packages/generator/generators/server-generator/src/index.ts b/packages/generator/generators/server-generator/src/index.ts index 6f24621af71e..1107ecbc120c 100644 --- a/packages/generator/generators/server-generator/src/index.ts +++ b/packages/generator/generators/server-generator/src/index.ts @@ -4,7 +4,6 @@ import { AppAPI } from '@modern-js/codesmith-api-app'; import { JsonAPI } from '@modern-js/codesmith-api-json'; import { DependenceGenerator, - Language, Solution, i18n, } from '@modern-js/generator-common'; @@ -49,7 +48,6 @@ const handleTemplateFile = async ( } } - const language = isTsProject(appDir) ? Language.TS : Language.JS; const serverPlugin = '@modern-js/server-runtime'; await appApi.runSubGenerator( getGeneratorPath(DependenceGenerator, context.config.distTag, [__dirname]), @@ -74,31 +72,29 @@ const handleTemplateFile = async ( ); await appApi.forgeTemplate( - `templates/base-template/${language}/**/*`, + `templates/base-template/ts/**/*`, undefined, resourceKey => resourceKey - .replace(`templates/base-template/${language}/`, '') + .replace(`templates/base-template/ts/`, '') .replace('.handlebars', ''), ); - if (language === Language.TS) { - const tsconfigJSON = readTsConfigByFile(path.join(appDir, 'tsconfig.json')); - - if (!(tsconfigJSON.include || []).includes('server')) { - await jsonAPI.update( - context.materials.default.get(path.join(appDir, 'tsconfig.json')), - { - query: {}, - update: { - $set: { - include: [...(tsconfigJSON.include || []), 'server'], - }, + const tsconfigJSON = readTsConfigByFile(path.join(appDir, 'tsconfig.json')); + + if (!(tsconfigJSON.include || []).includes('server')) { + await jsonAPI.update( + context.materials.default.get(path.join(appDir, 'tsconfig.json')), + { + query: {}, + update: { + $set: { + include: [...(tsconfigJSON.include || []), 'server'], }, }, - true, - ); - } + }, + true, + ); } }; diff --git a/packages/generator/generators/server-generator/templates/base-template/js/server/modern.server.js.handlebars b/packages/generator/generators/server-generator/templates/base-template/js/server/modern.server.js.handlebars deleted file mode 100644 index eb04ede3699c..000000000000 --- a/packages/generator/generators/server-generator/templates/base-template/js/server/modern.server.js.handlebars +++ /dev/null @@ -1,33 +0,0 @@ -import { defineServerConfig } from '@modern-js/server-runtime'; - -const renderTiming = async (c, next) => { - const start = Date.now(); - - await next(); - - console.log('render-timing', Date.now() - start); -}; - -const requestTiming = async (c, next) => { - const start = Date.now(); - - await next(); - - console.log('request-timing', Date.now() - start); -}; - -export default defineServerConfig({ - middlewares: [ - { - name: 'request-timing', - handler: requestTiming, - }, - ], - renderMiddlewares: [ - { - name: 'render-timing', - handler: renderTiming, - }, - ], - plugins: [], -}); diff --git a/packages/generator/generators/tailwindcss-generator/src/index.ts b/packages/generator/generators/tailwindcss-generator/src/index.ts index fe9a51cad419..dc63272f3cc6 100644 --- a/packages/generator/generators/tailwindcss-generator/src/index.ts +++ b/packages/generator/generators/tailwindcss-generator/src/index.ts @@ -2,14 +2,9 @@ import path from 'path'; import type { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; import { JsonAPI } from '@modern-js/codesmith-api-json'; -import { - DependenceGenerator, - Language, - i18n, -} from '@modern-js/generator-common'; +import { DependenceGenerator, i18n } from '@modern-js/generator-common'; import { getGeneratorPath, - isTsProject, readTsConfigByFile, } from '@modern-js/generator-utils'; @@ -20,34 +15,27 @@ export const handleTemplateFile = async ( ) => { const appDir = context.materials.default.basePath; const jsonAPI = new JsonAPI(generator); - const language = isTsProject(appDir) ? Language.TS : Language.JS; - if (language === Language.TS) { - await appApi.forgeTemplate( - 'templates/ts-template/**/*', - undefined, - resourceKey => resourceKey.replace('templates/ts-template/', ''), - ); + await appApi.forgeTemplate( + 'templates/ts-template/**/*', + undefined, + resourceKey => resourceKey.replace('templates/ts-template/', ''), + ); - const tsconfigJSON = readTsConfigByFile(path.join(appDir, 'tsconfig.json')); + const tsconfigJSON = readTsConfigByFile(path.join(appDir, 'tsconfig.json')); - if (!(tsconfigJSON.include || []).includes('tailwind.config.ts')) { - await jsonAPI.update( - context.materials.default.get(path.join(appDir, 'tsconfig.json')), - { - query: {}, - update: { - $set: { - include: [...(tsconfigJSON.include || []), 'tailwind.config.ts'], - }, + if (!(tsconfigJSON.include || []).includes('tailwind.config.ts')) { + await jsonAPI.update( + context.materials.default.get(path.join(appDir, 'tsconfig.json')), + { + query: {}, + update: { + $set: { + include: [...(tsconfigJSON.include || []), 'tailwind.config.ts'], }, }, - true, - ); - } - } else { - appApi.forgeTemplate('templates/js-template/**/*', undefined, resourceKey => - resourceKey.replace('templates/js-template/', ''), + }, + true, ); } diff --git a/packages/generator/generators/tailwindcss-generator/templates/js-template/tailwind.config.js b/packages/generator/generators/tailwindcss-generator/templates/js-template/tailwind.config.js deleted file mode 100644 index d5639f351ce8..000000000000 --- a/packages/generator/generators/tailwindcss-generator/templates/js-template/tailwind.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: ['./src/**/*.{js,jsx,ts,tsx}'], -}; diff --git a/packages/generator/generators/upgrade-generator/src/index.ts b/packages/generator/generators/upgrade-generator/src/index.ts index ef3a07d673da..4d37fcafd1bc 100644 --- a/packages/generator/generators/upgrade-generator/src/index.ts +++ b/packages/generator/generators/upgrade-generator/src/index.ts @@ -2,11 +2,7 @@ import path from 'path'; import type { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; import { JsonAPI } from '@modern-js/codesmith-api-json'; -import { - PackageManager, - type Solution, - SolutionToolsMap, -} from '@modern-js/generator-common'; +import { type Solution, SolutionToolsMap } from '@modern-js/generator-common'; import { fs, getAvailableVersion, @@ -97,17 +93,15 @@ export const handleTemplateFile = async ( const packageManager = await getPackageManager(appDir); context.config.packageManager = packageManager; - if (packageManager === PackageManager.Pnpm) { - const npmrcPath = path.join(generator.outputPath, '.npmrc'); - if (fs.existsSync(npmrcPath)) { - const content = fs.readFileSync(npmrcPath, 'utf-8'); - if (!content.includes('strict-peer-dependencies=false')) { - fs.appendFileSync(npmrcPath, '\nstrict-peer-dependencies=false\n'); - } - } else { - fs.ensureFileSync(npmrcPath); - fs.writeFileSync(npmrcPath, 'strict-peer-dependencies=false'); + const npmrcPath = path.join(generator.outputPath, '.npmrc'); + if (fs.existsSync(npmrcPath)) { + const content = fs.readFileSync(npmrcPath, 'utf-8'); + if (!content.includes('strict-peer-dependencies=false')) { + fs.appendFileSync(npmrcPath, '\nstrict-peer-dependencies=false\n'); } + } else { + fs.ensureFileSync(npmrcPath); + fs.writeFileSync(npmrcPath, 'strict-peer-dependencies=false'); } const modernDeps = Object.keys(pkgInfo.dependencies || {}).filter( diff --git a/packages/generator/new-action/src/utils/index.ts b/packages/generator/new-action/src/utils/index.ts index b19f72acc58a..cf87794be9d5 100644 --- a/packages/generator/new-action/src/utils/index.ts +++ b/packages/generator/new-action/src/utils/index.ts @@ -2,7 +2,6 @@ import path from 'path'; import { semver } from '@modern-js/codesmith-utils'; import { type ActionFunction, - type ActionRefactor, Solution, SolutionToolsMap, } from '@modern-js/generator-common'; @@ -39,7 +38,7 @@ export const readJson = (jsonPath: string) => { }; export function hasEnabledFunction( - action: ActionFunction | ActionRefactor, + action: ActionFunction, dependencies: Record, devDependencies: Record, peerDependencies: Record, diff --git a/packages/generator/new-action/tests/utils.test.ts b/packages/generator/new-action/tests/utils.test.ts deleted file mode 100644 index 7231a15daa71..000000000000 --- a/packages/generator/new-action/tests/utils.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import path from 'path'; -import { getSolutionByDependance } from '../src/utils'; - -describe('new action utils test', () => { - it('getSolutionByDependance', () => { - const json1 = path.join(__dirname, 'fixtures/mwa.json'); - expect(getSolutionByDependance(json1)).toBe('mwa'); - - const json2 = path.join(__dirname, 'fixtures/err.json'); - expect(() => getSolutionByDependance(json2)).toThrow( - 'Multiple solutions found: mwa,module', - ); - - const json3 = path.join(__dirname, 'fixtures/none.json'); - expect(() => getSolutionByDependance(json3)).toThrow( - 'No solution found. Please check your package.json.', - ); - }); -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3e16f51f7f3..a27986bb0e14 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -637,37 +637,6 @@ importers: specifier: ^5 version: 5.6.3 - packages/generator/generator-cases: - dependencies: - '@modern-js/generator-common': - specifier: workspace:* - version: link:../generator-common - '@swc/helpers': - specifier: ^0.5.17 - version: 0.5.17 - covertable: - specifier: ^2.5.2 - version: 2.5.2 - devDependencies: - '@scripts/build': - specifier: workspace:* - version: link:../../../scripts/build - '@scripts/jest-config': - specifier: workspace:* - version: link:../../../scripts/jest-config - '@types/jest': - specifier: ^29.5.14 - version: 29.5.14 - '@types/node': - specifier: ^20 - version: 20.8.8 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.8.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.31(@swc/helpers@0.5.17))(@types/node@20.8.8)(typescript@5.6.3)) - typescript: - specifier: ^5 - version: 5.6.3 - packages/generator/generator-common: dependencies: '@modern-js/codesmith-formily': @@ -948,90 +917,6 @@ importers: '@modern-js/generator-utils': specifier: workspace:* version: link:../../generator-utils - '@modern-js/packages-generator': - specifier: workspace:* - version: link:../packages-generator - '@modern-js/plugin-i18n': - specifier: workspace:* - version: link:../../../cli/plugin-i18n - '@scripts/build': - specifier: workspace:* - version: link:../../../../scripts/build - '@scripts/jest-config': - specifier: workspace:* - version: link:../../../../scripts/jest-config - '@types/jest': - specifier: ^29.5.14 - version: 29.5.14 - '@types/node': - specifier: ^20 - version: 20.8.8 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.8.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.31(@swc/helpers@0.5.17))(@types/node@20.8.8)(typescript@5.6.3)) - typescript: - specifier: ^5 - version: 5.6.3 - - packages/generator/generators/packages-generator: - devDependencies: - '@modern-js/codesmith': - specifier: 2.6.8 - version: 2.6.8 - '@modern-js/codesmith-api-app': - specifier: 2.6.8 - version: 2.6.8(@modern-js/codesmith@2.6.8)(typescript@5.6.3) - '@modern-js/codesmith-api-json': - specifier: 2.6.8 - version: 2.6.8 - '@modern-js/codesmith-utils': - specifier: 2.6.8 - version: 2.6.8 - '@modern-js/generator-common': - specifier: workspace:* - version: link:../../generator-common - '@modern-js/generator-utils': - specifier: workspace:* - version: link:../../generator-utils - '@scripts/build': - specifier: workspace:* - version: link:../../../../scripts/build - '@scripts/jest-config': - specifier: workspace:* - version: link:../../../../scripts/jest-config - '@types/jest': - specifier: ^29.5.14 - version: 29.5.14 - '@types/node': - specifier: ^20 - version: 20.8.8 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.8.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.31(@swc/helpers@0.5.17))(@types/node@20.8.8)(typescript@5.6.3)) - typescript: - specifier: ^5 - version: 5.6.3 - - packages/generator/generators/router-v5-generator: - devDependencies: - '@modern-js/codesmith': - specifier: 2.6.8 - version: 2.6.8 - '@modern-js/codesmith-api-app': - specifier: 2.6.8 - version: 2.6.8(@modern-js/codesmith@2.6.8)(typescript@5.6.3) - '@modern-js/codesmith-utils': - specifier: 2.6.8 - version: 2.6.8 - '@modern-js/dependence-generator': - specifier: workspace:* - version: link:../dependence-generator - '@modern-js/generator-common': - specifier: workspace:* - version: link:../../generator-common - '@modern-js/generator-utils': - specifier: workspace:* - version: link:../../generator-utils '@modern-js/plugin-i18n': specifier: workspace:* version: link:../../../cli/plugin-i18n @@ -2949,9 +2834,6 @@ importers: '@modern-js/app-tools': specifier: workspace:* version: link:../packages/solutions/app-tools - '@modern-js/generator-cases': - specifier: workspace:* - version: link:../packages/generator/generator-cases '@modern-js/new-action': specifier: workspace:* version: link:../packages/generator/new-action @@ -10588,9 +10470,6 @@ packages: typescript: optional: true - covertable@2.5.2: - resolution: {integrity: sha512-OnJykDP9j3P4qvtx0A8icjczCjj6TOKzMcHH6y618oqhSgdkY54m9qRiZljpmAMYYWOMSYdtHqyiMhQDjmfvdw==} - create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -12850,9 +12729,6 @@ packages: joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - js-md5@0.7.3: - resolution: {integrity: sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==} - js-polyfills@0.1.43: resolution: {integrity: sha512-wWCJcw7uMA12uk7qcqZlIQy9nj+Evh1wVUmn5MOlJ7GPC8HT5PLjB9Uiqjw9ldAbbOuNOWJ6ENb7NwU6qqf48g==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -22781,10 +22657,6 @@ snapshots: optionalDependencies: typescript: 5.6.3 - covertable@2.5.2: - dependencies: - js-md5: 0.7.3 - create-jest@29.7.0(@types/node@20.8.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.31(@swc/helpers@0.5.17))(@types/node@20.8.8)(typescript@5.0.4)): dependencies: '@jest/types': 29.6.3 @@ -25778,8 +25650,6 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - js-md5@0.7.3: {} - js-polyfills@0.1.43: {} js-tokens@4.0.0: {} diff --git a/tests/generator/index.ts b/tests/generator/index.ts new file mode 100644 index 000000000000..b9b9049ec75f --- /dev/null +++ b/tests/generator/index.ts @@ -0,0 +1,48 @@ +import path from 'path'; +import { fs, nanoid } from '@modern-js/utils'; +import { + runCreteCommand, + runInstallAndBuildProject, + runLintProject, +} from './utils/command'; +import { prepare } from './utils/prepare'; +import { usingTempDir } from './utils/tools'; + +async function createAllProjects( + repoDir: string, + tmpDir: string, + isLocal: boolean, +) { + await usingTempDir(tmpDir, async cwd => { + const projectName = `test-project`; + await runCreteCommand(repoDir, isLocal, { + projectName, + cwd, + config: {}, + }); + const pkgJSON = fs.readJSONSync( + path.join(cwd, projectName, 'package.json'), + ); + pkgJSON.engines = { + node: process.env.NODE_VERSION, + }; + fs.writeJSONSync(path.join(cwd, projectName, 'package.json'), pkgJSON, { + spaces: 2, + }); + }); +} + +async function main() { + try { + console.info('run test project'); + const { isLocal, repoDir, tmpDir } = await prepare('project'); + await createAllProjects(repoDir, tmpDir, isLocal); + await runInstallAndBuildProject('project', tmpDir); + await runLintProject('project', tmpDir); + } catch (e) { + console.log(e); + process.exit(1); + } +} + +main(); diff --git a/tests/generator/mwa.ts b/tests/generator/mwa.ts deleted file mode 100644 index 8995dff077da..000000000000 --- a/tests/generator/mwa.ts +++ /dev/null @@ -1,200 +0,0 @@ -import path from 'path'; -import { getMWACases, getMWANewCases } from '@modern-js/generator-cases'; -import { MWANewAction } from '@modern-js/new-action'; -import { fs, nanoid, semver } from '@modern-js/utils'; -import { - runCreteCommand, - runInstallAndBuildProject, - runLintProject, -} from './utils/command'; -import { prepare } from './utils/prepare'; -import { - execaWithStreamLog, - getPackageManager, - usingTempDir, -} from './utils/tools'; - -async function createAllMWAProject( - repoDir: string, - tmpDir: string, - isLocal: boolean, - isSimple: boolean, -) { - const cases: any = getMWACases(isSimple ? 2 : undefined); - for (const config of cases) { - await usingTempDir(tmpDir, async cwd => { - const projectName = `mwa-${Object.values(config).join('-')}-${nanoid()}`; - await runCreteCommand(repoDir, isLocal, { - projectName, - cwd, - config, - }); - const pkgJSON = fs.readJSONSync( - path.join(cwd, projectName, 'package.json'), - ); - pkgJSON.engines = { - node: process.env.NODE_VERSION, - }; - fs.writeJSONSync(path.join(cwd, projectName, 'package.json'), pkgJSON, { - spaces: 2, - }); - }); - } -} - -async function runNewMWAProject( - repoDir: string, - tmpDir: string, - isLocal: boolean, - isSimple: boolean, -) { - const projects = fs.readdirSync(tmpDir); - const project = projects.find(p => p.includes('mwa')); - console.info('new process', project, repoDir, isLocal, isSimple); - if (!project) { - return; - } - await execaWithStreamLog('git', ['add', '.'], { - cwd: path.join(tmpDir, project), - }); - await execaWithStreamLog( - 'git', - ['commit', '-m', 'feat: install info', '-n'], - { - cwd: path.join(tmpDir, project), - }, - ); - const packageManager = getPackageManager(project); - const cases = getMWANewCases(isSimple ? 5 : undefined); - let hasMicroFrontend = false; - let hasSSG = false; - for (const config of cases) { - if (project.includes('js') && config.framework === 'nest') { - continue; - } - // 微前端和 ssg 不支持同时开启 - if ( - config.actionType === 'function' && - config.function === 'micro_frontend' - ) { - if (hasSSG) { - continue; - } - hasMicroFrontend = true; - } - if (config.actionType === 'function' && config.function === 'ssg') { - if (hasMicroFrontend) { - continue; - } - hasSSG = true; - } - if ( - config.actionType === 'element' && - config.element === 'server' && - !config.framework - ) { - console.error('config error', config); - continue; - } - if ( - config.actionType === 'function' && - config.function === 'bff' && - !config.framework - ) { - console.error('config error', config); - continue; - } - if (config.actionType === 'refactor') { - continue; - } - await runMWANewCommand(isLocal, project, { - cwd: path.join(tmpDir, project), - config: JSON.stringify({ - noNeedInstall: true, - ...config, - }), - }); - await execaWithStreamLog(packageManager, ['run', 'build'], { - cwd: path.join(tmpDir, project), - }); - await execaWithStreamLog(packageManager, ['run', 'lint'], { - cwd: path.join(tmpDir, project), - }); - } -} - -async function runMWANewCommand( - isLocal: boolean, - project: string, - options: { - config: string; - cwd: string; - }, -) { - const { config, cwd } = options; - const debug = - process.env.DEBUG === 'true' || process.env.CUSTOM_DEBUG === 'true'; - if (isLocal) { - console.info('runMWANewCommand', cwd, config); - await MWANewAction({ - distTag: 'next', - locale: 'zh', - debug, - config, - cwd, - }); - } else { - await execaWithStreamLog( - 'npm', - [ - 'run', - 'new', - '--', - '--dist-tag', - 'next', - '--config', - config, - debug ? '--debug' : '', - ], - { - cwd, - env: { - NoNeedInstall: 'true', - }, - }, - ); - } - const isNode16 = semver.gte(process.versions.node, '16.0.0'); - const params = ['install', '--ignore-scripts', '--force']; - // const packageManager = getPackageManager(project); - const packageManager = 'pnpm'; // use pnpm package manager - if (isNode16 || project.includes('pnpm')) { - // if (packageManager === 'yarn') { - // params.push('--cache-folder'); - // params.push(path.join(os.tmpdir(), project, 'yarn-cache')); - // } - await execaWithStreamLog(packageManager, params, { - cwd, - }); - } else { - params.push('--shamefully-hoist'); - await execaWithStreamLog(packageManager, params, { - cwd, - }); - } -} - -async function main() { - try { - console.info('run test mwa'); - const { isSimple, isLocal, repoDir, tmpDir } = await prepare('mwa'); - await createAllMWAProject(repoDir, tmpDir, isLocal, isSimple); - await runInstallAndBuildProject('mwa', tmpDir); - await runLintProject('mwa', tmpDir); - await runNewMWAProject(repoDir, tmpDir, isLocal, isSimple); - } catch (e) { - process.exit(1); - } -} - -main(); diff --git a/tests/generator/utils/command.ts b/tests/generator/utils/command.ts index af094b257291..396265e85265 100644 --- a/tests/generator/utils/command.ts +++ b/tests/generator/utils/command.ts @@ -1,6 +1,6 @@ import path from 'path'; -import { fs, semver } from '@modern-js/utils'; -import { execaWithStreamLog, getPackageManager } from './tools'; +import { fs } from '@modern-js/utils'; +import { execaWithStreamLog } from './tools'; export async function runCreteCommand( repoDir: string, @@ -18,7 +18,6 @@ export async function runCreteCommand( process.env.DEBUG === 'true' || process.env.CUSTOM_DEBUG === 'true'; const packages = process.env.PACKAGES; const distTag = process.env.CUSTOM_DIST_TAG || 'next'; - const packageManager = getPackageManager(projectName); if (isLocal) { return execaWithStreamLog( 'node', @@ -29,7 +28,6 @@ export async function runCreteCommand( JSON.stringify({ packageName: projectName, ...config, - packageManager, }), '--dist-tag', distTag, @@ -60,7 +58,6 @@ export async function runCreteCommand( JSON.stringify({ packageName: projectName, ...config, - packageManager, }), debug ? '--debug' : '', platform ? '--platform' : '', @@ -85,28 +82,17 @@ export async function runInstallAndBuildProject(type: string, tmpDir: string) { .filter(project => project.includes(type)) .map(async project => { console.info('install and build process', project); - // const packageManager = getPackageManager(project); - const packageManager = 'pnpm'; - const isNode16 = semver.gte(process.versions.node, '16.0.0'); - const params = ['install', '--ignore-scripts', '--force']; - if (isNode16 || project.includes('pnpm')) { - // if (packageManager === 'yarn') { - // params.push('--cache-folder'); - // params.push(path.join(os.tmpdir(), project, 'yarn-cache')); - // } - await execaWithStreamLog(packageManager, params, { + await execaWithStreamLog( + 'pnpm', + ['install', '--ignore-scripts', '--force', '--shamefully-hoist'], + { cwd: path.join(tmpDir, project), - }); - } else { - params.push('--shamefully-hoist'); - await execaWithStreamLog(packageManager, params, { - cwd: path.join(tmpDir, project), - }); - } + }, + ); if (project.includes('monorepo')) { return Promise.resolve(); } - await execaWithStreamLog(packageManager, ['run', 'build'], { + await execaWithStreamLog('pnpm', ['run', 'build'], { cwd: path.join(tmpDir, project), }); return Promise.resolve(); @@ -123,8 +109,7 @@ export async function runLintProject(type: string, tmpDir: string) { ) .map(async project => { console.info('lint process', project); - const packageManager = getPackageManager(project); - await execaWithStreamLog(packageManager, ['run', 'lint'], { + await execaWithStreamLog('pnpm', ['run', 'lint'], { cwd: path.join(tmpDir, project), }); return Promise.resolve(); diff --git a/tests/generator/utils/prepare.ts b/tests/generator/utils/prepare.ts index 23a25bf81a32..3ce49d4c2cf4 100644 --- a/tests/generator/utils/prepare.ts +++ b/tests/generator/utils/prepare.ts @@ -1,51 +1,13 @@ import os from 'os'; import path from 'path'; import fs from '@modern-js/utils/fs-extra'; -import { execaWithStreamLog } from './tools'; - -async function addNewActionDevDependence(repoCwd: string) { - const actionPath = path.join( - repoCwd, - 'packages/generator/new-action/package.json', - ); - const pkgJSON = JSON.parse(await fs.readFile(actionPath, 'utf-8')); - - // Should add new generator below for testing - pkgJSON.devDependencies = { - ...pkgJSON.devDependencies, - '@modern-js/bff-generator': 'workspace:*', - '@modern-js/dependence-generator': 'workspace:*', - '@modern-js/entry-generator': 'workspace:*', - '@modern-js/server-generator': 'workspace:*', - '@modern-js/tailwindcss-generator': 'workspace:*', - '@modern-js/ssg-generator': 'workspace:*', - }; - await fs.writeFile( - actionPath, - `${JSON.stringify(pkgJSON, null, ' ')}\n`, - 'utf-8', - ); - await execaWithStreamLog( - 'pnpm install --ignore-scripts --no-frozen-lockfile', - [], - { - shell: true, - cwd: repoCwd, - }, - ); -} export async function prepare(type: string) { const isLocal = process.env.LOCAL === 'true' || process.env.CUSTOM_LOCAL === 'true'; - const isSimple = - process.env.SIMPLE === 'true' || process.env.CUSTOM_SIMPLE === 'true'; const repoDir = path.resolve('../'); - if (isLocal) { - process.env.CODESMITH_ENV = 'development'; - await addNewActionDevDependence(repoDir); - } const tmpDir = path.join(os.tmpdir(), 'modern-generators', type); await fs.remove(tmpDir); - return { isSimple, isLocal, repoDir, tmpDir }; + await fs.ensureDir(tmpDir); + return { isLocal, repoDir, tmpDir }; } diff --git a/tests/generator/utils/tools.ts b/tests/generator/utils/tools.ts index f08fa24d35d6..b87d1f19d9d3 100644 --- a/tests/generator/utils/tools.ts +++ b/tests/generator/utils/tools.ts @@ -28,15 +28,3 @@ export async function execaWithStreamLog( process.exit(1); } } - -export function getPackageManager(projectName: string) { - const isNode16 = semver.gte(process.versions.node, '16.0.0'); - if (!isNode16) { - return 'pnpm'; - } - return projectName.includes('pnpm') - ? 'pnpm' - : projectName.includes('yarn') - ? 'yarn' - : 'npm'; -} diff --git a/tests/package.json b/tests/package.json index b77379f7743a..b225cec78130 100644 --- a/tests/package.json +++ b/tests/package.json @@ -12,11 +12,10 @@ "test": "pnpm test:framework", "test:ut": "node --conditions=jsnext:source -r tsm ./node_modules/jest/bin/jest.js -c jest-ut.config.js --maxWorkers=2", "prepare": "node node_modules/puppeteer/install.mjs", - "test:mwa": "ts-node -T generator/mwa.ts" + "test:generator": "ts-node -T generator" }, "devDependencies": { "@modern-js/app-tools": "workspace:*", - "@modern-js/generator-cases": "workspace:*", "@modern-js/new-action": "workspace:*", "@modern-js/plugin-polyfill": "workspace:*", "@modern-js/utils": "workspace:*", From f2262eea4b2c855f2a4a1f56a721f08b4d70b0c9 Mon Sep 17 00:00:00 2001 From: caohuilin Date: Tue, 23 Sep 2025 11:03:32 +0800 Subject: [PATCH 2/2] feat: add jest options for ignore warn --- tests/utils/launchOptions.js | 45 +++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/tests/utils/launchOptions.js b/tests/utils/launchOptions.js index a27fe214561e..4afb8a020cf0 100644 --- a/tests/utils/launchOptions.js +++ b/tests/utils/launchOptions.js @@ -1,7 +1,50 @@ const launchOptions = { headless: 'new', dumpio: true, - args: ['--no-sandbox'], + args: [ + '--no-sandbox', + // Suppress D-Bus connection warnings + '--log-level=3', + '--v=0', + '--disable-dev-shm-usage', + '--disable-gpu', + '--disable-software-rasterizer', + '--disable-background-timer-throttling', + '--disable-backgrounding-occluded-windows', + '--disable-renderer-backgrounding', + '--disable-features=TranslateUI', + '--disable-ipc-flooding-protection', + // Suppress OOM score adjustment warnings + '--no-zygote', + '--disable-setuid-sandbox', + // Additional flags to reduce noise + '--disable-logging', + '--disable-extensions', + '--disable-plugins', + '--disable-sync', + '--disable-translate', + '--hide-scrollbars', + '--mute-audio', + '--no-first-run', + '--disable-background-networking', + '--disable-component-extensions-with-background-pages', + '--disable-default-apps', + '--disable-hang-monitor', + '--disable-prompt-on-repost', + '--disable-web-security', + '--metrics-recording-only', + '--no-default-browser-check', + '--safebrowsing-disable-auto-update', + '--enable-automation', + '--password-store=basic', + '--use-mock-keychain', + ], + env: { + ...process.env, + // Prevent Chromium from attempting to use D-Bus + DBUS_SESSION_BUS_ADDRESS: 'unix:path=/dev/null', + DBUS_SYSTEM_BUS_ADDRESS: 'unix:path=/dev/null', + }, // Fix protocol timed out // see: https://github.com/puppeteer/puppeteer/issues/9927 protocolTimeout: 0,