@icebreakers/monorepo-templates 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/assets/Dockerfile +5 -14
  2. package/assets/commitlint.config.ts +3 -1
  3. package/assets/eslint.config.js +14 -2
  4. package/assets/lint-staged.config.js +3 -1
  5. package/assets/package.json +6 -7
  6. package/assets/repoctl.config.ts +3 -30
  7. package/assets/stylelint.config.js +3 -1
  8. package/assets/vitest.config.ts +3 -1
  9. package/assets-data.mjs +0 -1
  10. package/dist/index.mjs +12 -5
  11. package/package.json +1 -1
  12. package/templates/cli/bin/index.js +1 -1
  13. package/templates/cli/package.json +5 -2
  14. package/templates/cli/{tsup.config.ts → tsdown.config.ts} +3 -2
  15. package/templates/client/eslint.config.js +2 -4
  16. package/templates/client/gitignore +0 -1
  17. package/templates/client/package.json +8 -8
  18. package/templates/client/worker-configuration.d.ts +13557 -0
  19. package/templates/client/wrangler.jsonc +3 -0
  20. package/templates/server/eslint.config.js +8 -0
  21. package/templates/server/gitignore +0 -1
  22. package/templates/server/package.json +8 -7
  23. package/templates/server/{tsup.config.ts → tsdown.config.ts} +2 -1
  24. package/templates/server/vitest.config.ts +3 -2
  25. package/templates/server/worker-configuration.d.ts +13557 -0
  26. package/templates/server/wrangler.jsonc +3 -0
  27. package/templates/tsdown/vitest.config.ts +3 -2
  28. package/templates/vitepress/monorepo/commands.md +12 -2
  29. package/templates/vitepress/monorepo/troubleshooting.md +20 -1
  30. package/templates/vitepress/package.json +1 -1
  31. package/templates/vitepress/why/examples/3.npm-basic-package/package-lock.json +605 -2770
  32. package/templates/vitepress/why/examples/3.npm-basic-package/package.json +5 -6
  33. package/templates/vitepress/why/examples/3.npm-basic-package/tsdown.config.ts +16 -0
  34. package/templates/vitepress/why/modern/bundlers.md +11 -0
  35. package/templates/vue-lib/eslint.config.js +1 -3
  36. package/templates/vue-lib/package.json +7 -7
  37. package/templates/vue-lib/test-d/index.test-d.ts +1 -1
  38. package/templates/vue-lib/vitest.config.ts +1 -3
  39. package/assets/tooling/ensure-tooling-built.mjs +0 -24
  40. package/assets/tooling/load-tooling-module.mjs +0 -71
  41. package/templates/vitepress/why/examples/3.npm-basic-package/build.config.ts +0 -24
  42. package/templates/vitepress/why/examples/3.npm-basic-package/tsup.config.ts +0 -16
@@ -2,6 +2,9 @@
2
2
  "$schema": "./node_modules/wrangler/config-schema.json",
3
3
  "name": "monorepo-service",
4
4
  "compatibility_date": "2025-10-16",
5
+ "compatibility_flags": [
6
+ "nodejs_compat"
7
+ ],
5
8
  "main": "./src/fetch-entry.ts",
6
9
  "dev": {
7
10
  "port": 8787
@@ -1,8 +1,9 @@
1
1
  import path from 'node:path'
2
+ import { fileURLToPath } from 'node:url'
3
+ import { defineVitestProjectConfig } from 'repoctl/tooling'
2
4
  import { defineProject } from 'vitest/config'
3
- import { loadRepoctlToolingModule } from '../../tooling/load-tooling-module.mjs'
4
5
 
5
- const { defineVitestProjectConfig } = await loadRepoctlToolingModule()
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url))
6
7
 
7
8
  export default defineProject(await defineVitestProjectConfig({
8
9
  options: {
@@ -49,14 +49,19 @@ pnpm exec repo doctor
49
49
 
50
50
  ```bash
51
51
  repo setup
52
+ repo setup --yes
52
53
  repo setup --preset minimal
53
54
  repo setup --preset standard --force
55
+ repo setup --overwrite
54
56
  ```
55
57
 
56
58
  用途:
57
59
 
58
60
  - 初始化当前 workspace 的推荐默认值
59
- - 同步 README / package.json / changeset / tooling 相关基础资产
61
+ - 默认不覆盖已有 README、package.json、pnpm-workspace.yaml 和 tooling 配置
62
+ - 会追加缺失的 `apps/*`、`packages/*`、`examples/*` workspace patterns
63
+ - `--yes` 用于 CI / 非 TTY 环境,使用安全默认行为
64
+ - 需要重写受管理文件时显式传 `--force` 或 `--overwrite`
60
65
 
61
66
  ### `repo doctor`
62
67
 
@@ -149,6 +154,9 @@ repo check --markdown --redact --out reports/check-plan.md
149
154
 
150
155
  ```bash
151
156
  repo upgrade
157
+ repo upgrade --yes
158
+ repo upgrade --overwrite
159
+ repo upgrade --no-overwrite
152
160
  repo upgrade --core
153
161
  repo upgrade -i
154
162
  repo upgrade -s
@@ -162,7 +170,9 @@ repo upgrade -s
162
170
 
163
171
  - `--core`:只同步核心配置,跳过 GitHub 相关资产
164
172
  - `-i`:交互式选择
165
- - `-s`:跳过新增,只覆盖已存在文件
173
+ - `--yes` / `--overwrite`:非交互覆盖 drifted 标准资产,并迁移旧 tooling loader import
174
+ - `--no-overwrite` / `-s`:保留已有 drifted 文件
175
+ - 非 TTY 环境不会弹出选择框,也不会抛 prompt 退出错误
166
176
 
167
177
  ### 兼容命令
168
178
 
@@ -113,6 +113,12 @@ pnpm doctor
113
113
  pnpm exec repo upgrade
114
114
  ```
115
115
 
116
+ CI 或非 TTY 环境使用:
117
+
118
+ ```bash
119
+ pnpm exec repo setup --yes
120
+ ```
121
+
116
122
  ### 5. `repo new --template` 提示未知模板
117
123
 
118
124
  先运行:
@@ -143,7 +149,20 @@ pnpm exec repo upgrade
143
149
  pnpm check
144
150
  ```
145
151
 
146
- ### 6. `repo` 命令不可用
152
+ ### 6. ESLint / Vitest 配置引用 `tooling/load-tooling-module.mjs`
153
+
154
+ 这是旧模板生成的本仓库源码 loader。普通使用者仓库应该直接 import `repoctl/tooling`。
155
+
156
+ 处理方式:
157
+
158
+ ```bash
159
+ pnpm exec repo upgrade --yes
160
+ pnpm doctor
161
+ ```
162
+
163
+ 如果自动化里必须保留本地修改,用 `pnpm exec repo upgrade --no-overwrite` 查看 skipped 文件,再手动迁移。
164
+
165
+ ### 7. `repo` 命令不可用
147
166
 
148
167
  通常是依赖还没安装,或者当前仓库没把 CLI 包放进根依赖。
149
168
 
@@ -23,7 +23,7 @@
23
23
  "typecheck": "tsc -p tsconfig.json"
24
24
  },
25
25
  "dependencies": {
26
- "vue": "^3.5.33"
26
+ "vue": "^3.5.34"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@braintree/sanitize-url": "^7.1.2",