colyn-cli 3.1.4

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 (263) hide show
  1. package/README-en.md +85 -0
  2. package/README.md +85 -0
  3. package/bin/colyn +25 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +116 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/add.d.ts +6 -0
  9. package/dist/commands/add.d.ts.map +1 -0
  10. package/dist/commands/add.helpers.d.ts +48 -0
  11. package/dist/commands/add.helpers.d.ts.map +1 -0
  12. package/dist/commands/add.helpers.js +251 -0
  13. package/dist/commands/add.helpers.js.map +1 -0
  14. package/dist/commands/add.js +286 -0
  15. package/dist/commands/add.js.map +1 -0
  16. package/dist/commands/checkout.d.ts +16 -0
  17. package/dist/commands/checkout.d.ts.map +1 -0
  18. package/dist/commands/checkout.js +428 -0
  19. package/dist/commands/checkout.js.map +1 -0
  20. package/dist/commands/completion.d.ts +10 -0
  21. package/dist/commands/completion.d.ts.map +1 -0
  22. package/dist/commands/completion.js +380 -0
  23. package/dist/commands/completion.js.map +1 -0
  24. package/dist/commands/config.d.ts +11 -0
  25. package/dist/commands/config.d.ts.map +1 -0
  26. package/dist/commands/config.js +338 -0
  27. package/dist/commands/config.js.map +1 -0
  28. package/dist/commands/index.d.ts +10 -0
  29. package/dist/commands/index.d.ts.map +1 -0
  30. package/dist/commands/index.js +41 -0
  31. package/dist/commands/index.js.map +1 -0
  32. package/dist/commands/info.d.ts +6 -0
  33. package/dist/commands/info.d.ts.map +1 -0
  34. package/dist/commands/info.js +374 -0
  35. package/dist/commands/info.js.map +1 -0
  36. package/dist/commands/init.d.ts +6 -0
  37. package/dist/commands/init.d.ts.map +1 -0
  38. package/dist/commands/init.handlers.d.ts +27 -0
  39. package/dist/commands/init.handlers.d.ts.map +1 -0
  40. package/dist/commands/init.handlers.js +314 -0
  41. package/dist/commands/init.handlers.js.map +1 -0
  42. package/dist/commands/init.helpers.d.ts +42 -0
  43. package/dist/commands/init.helpers.d.ts.map +1 -0
  44. package/dist/commands/init.helpers.js +275 -0
  45. package/dist/commands/init.helpers.js.map +1 -0
  46. package/dist/commands/init.js +61 -0
  47. package/dist/commands/init.js.map +1 -0
  48. package/dist/commands/install.d.ts +6 -0
  49. package/dist/commands/install.d.ts.map +1 -0
  50. package/dist/commands/install.helpers.d.ts +32 -0
  51. package/dist/commands/install.helpers.d.ts.map +1 -0
  52. package/dist/commands/install.helpers.js +124 -0
  53. package/dist/commands/install.helpers.js.map +1 -0
  54. package/dist/commands/install.js +104 -0
  55. package/dist/commands/install.js.map +1 -0
  56. package/dist/commands/list-project.d.ts +11 -0
  57. package/dist/commands/list-project.d.ts.map +1 -0
  58. package/dist/commands/list-project.js +260 -0
  59. package/dist/commands/list-project.js.map +1 -0
  60. package/dist/commands/list.d.ts +15 -0
  61. package/dist/commands/list.d.ts.map +1 -0
  62. package/dist/commands/list.helpers.d.ts +50 -0
  63. package/dist/commands/list.helpers.d.ts.map +1 -0
  64. package/dist/commands/list.helpers.js +143 -0
  65. package/dist/commands/list.helpers.js.map +1 -0
  66. package/dist/commands/list.js +530 -0
  67. package/dist/commands/list.js.map +1 -0
  68. package/dist/commands/merge.d.ts +6 -0
  69. package/dist/commands/merge.d.ts.map +1 -0
  70. package/dist/commands/merge.helpers.d.ts +74 -0
  71. package/dist/commands/merge.helpers.d.ts.map +1 -0
  72. package/dist/commands/merge.helpers.js +307 -0
  73. package/dist/commands/merge.helpers.js.map +1 -0
  74. package/dist/commands/merge.js +260 -0
  75. package/dist/commands/merge.js.map +1 -0
  76. package/dist/commands/release.d.ts +6 -0
  77. package/dist/commands/release.d.ts.map +1 -0
  78. package/dist/commands/release.helpers.d.ts +61 -0
  79. package/dist/commands/release.helpers.d.ts.map +1 -0
  80. package/dist/commands/release.helpers.js +277 -0
  81. package/dist/commands/release.helpers.js.map +1 -0
  82. package/dist/commands/release.js +127 -0
  83. package/dist/commands/release.js.map +1 -0
  84. package/dist/commands/remove.d.ts +6 -0
  85. package/dist/commands/remove.d.ts.map +1 -0
  86. package/dist/commands/remove.helpers.d.ts +59 -0
  87. package/dist/commands/remove.helpers.d.ts.map +1 -0
  88. package/dist/commands/remove.helpers.js +190 -0
  89. package/dist/commands/remove.helpers.js.map +1 -0
  90. package/dist/commands/remove.js +137 -0
  91. package/dist/commands/remove.js.map +1 -0
  92. package/dist/commands/repair.d.ts +6 -0
  93. package/dist/commands/repair.d.ts.map +1 -0
  94. package/dist/commands/repair.helpers.d.ts +5 -0
  95. package/dist/commands/repair.helpers.d.ts.map +1 -0
  96. package/dist/commands/repair.helpers.js +499 -0
  97. package/dist/commands/repair.helpers.js.map +1 -0
  98. package/dist/commands/repair.js +28 -0
  99. package/dist/commands/repair.js.map +1 -0
  100. package/dist/commands/status.d.ts +6 -0
  101. package/dist/commands/status.d.ts.map +1 -0
  102. package/dist/commands/status.js +116 -0
  103. package/dist/commands/status.js.map +1 -0
  104. package/dist/commands/system-integration.d.ts +6 -0
  105. package/dist/commands/system-integration.d.ts.map +1 -0
  106. package/dist/commands/system-integration.helpers.d.ts +70 -0
  107. package/dist/commands/system-integration.helpers.d.ts.map +1 -0
  108. package/dist/commands/system-integration.helpers.js +313 -0
  109. package/dist/commands/system-integration.helpers.js.map +1 -0
  110. package/dist/commands/system-integration.js +132 -0
  111. package/dist/commands/system-integration.js.map +1 -0
  112. package/dist/commands/tmux.d.ts +11 -0
  113. package/dist/commands/tmux.d.ts.map +1 -0
  114. package/dist/commands/tmux.js +500 -0
  115. package/dist/commands/tmux.js.map +1 -0
  116. package/dist/commands/todo.d.ts +6 -0
  117. package/dist/commands/todo.d.ts.map +1 -0
  118. package/dist/commands/todo.helpers.d.ts +50 -0
  119. package/dist/commands/todo.helpers.d.ts.map +1 -0
  120. package/dist/commands/todo.helpers.js +297 -0
  121. package/dist/commands/todo.helpers.js.map +1 -0
  122. package/dist/commands/todo.js +579 -0
  123. package/dist/commands/todo.js.map +1 -0
  124. package/dist/commands/update.d.ts +18 -0
  125. package/dist/commands/update.d.ts.map +1 -0
  126. package/dist/commands/update.helpers.d.ts +89 -0
  127. package/dist/commands/update.helpers.d.ts.map +1 -0
  128. package/dist/commands/update.helpers.js +335 -0
  129. package/dist/commands/update.helpers.js.map +1 -0
  130. package/dist/commands/update.js +187 -0
  131. package/dist/commands/update.js.map +1 -0
  132. package/dist/core/config-loader.d.ts +47 -0
  133. package/dist/core/config-loader.d.ts.map +1 -0
  134. package/dist/core/config-loader.js +188 -0
  135. package/dist/core/config-loader.js.map +1 -0
  136. package/dist/core/config-merger.d.ts +29 -0
  137. package/dist/core/config-merger.d.ts.map +1 -0
  138. package/dist/core/config-merger.js +100 -0
  139. package/dist/core/config-merger.js.map +1 -0
  140. package/dist/core/config-migration.d.ts +64 -0
  141. package/dist/core/config-migration.d.ts.map +1 -0
  142. package/dist/core/config-migration.js +340 -0
  143. package/dist/core/config-migration.js.map +1 -0
  144. package/dist/core/config-new.d.ts +19 -0
  145. package/dist/core/config-new.d.ts.map +1 -0
  146. package/dist/core/config-new.js +58 -0
  147. package/dist/core/config-new.js.map +1 -0
  148. package/dist/core/config-schema.d.ts +221 -0
  149. package/dist/core/config-schema.d.ts.map +1 -0
  150. package/dist/core/config-schema.js +168 -0
  151. package/dist/core/config-schema.js.map +1 -0
  152. package/dist/core/config.d.ts +55 -0
  153. package/dist/core/config.d.ts.map +1 -0
  154. package/dist/core/config.js +143 -0
  155. package/dist/core/config.js.map +1 -0
  156. package/dist/core/dev-server.d.ts +29 -0
  157. package/dist/core/dev-server.d.ts.map +1 -0
  158. package/dist/core/dev-server.js +54 -0
  159. package/dist/core/dev-server.js.map +1 -0
  160. package/dist/core/discovery.d.ts +51 -0
  161. package/dist/core/discovery.d.ts.map +1 -0
  162. package/dist/core/discovery.js +247 -0
  163. package/dist/core/discovery.js.map +1 -0
  164. package/dist/core/env.d.ts +13 -0
  165. package/dist/core/env.d.ts.map +1 -0
  166. package/dist/core/env.js +75 -0
  167. package/dist/core/env.js.map +1 -0
  168. package/dist/core/git.d.ts +31 -0
  169. package/dist/core/git.d.ts.map +1 -0
  170. package/dist/core/git.js +56 -0
  171. package/dist/core/git.js.map +1 -0
  172. package/dist/core/paths.d.ts +86 -0
  173. package/dist/core/paths.d.ts.map +1 -0
  174. package/dist/core/paths.js +256 -0
  175. package/dist/core/paths.js.map +1 -0
  176. package/dist/core/tmux-config.d.ts +174 -0
  177. package/dist/core/tmux-config.d.ts.map +1 -0
  178. package/dist/core/tmux-config.js +545 -0
  179. package/dist/core/tmux-config.js.map +1 -0
  180. package/dist/core/tmux-config.legacy.d.ts +243 -0
  181. package/dist/core/tmux-config.legacy.d.ts.map +1 -0
  182. package/dist/core/tmux-config.legacy.js +896 -0
  183. package/dist/core/tmux-config.legacy.js.map +1 -0
  184. package/dist/core/tmux.d.ts +214 -0
  185. package/dist/core/tmux.d.ts.map +1 -0
  186. package/dist/core/tmux.js +712 -0
  187. package/dist/core/tmux.js.map +1 -0
  188. package/dist/core/toolchain-resolver.d.ts +51 -0
  189. package/dist/core/toolchain-resolver.d.ts.map +1 -0
  190. package/dist/core/toolchain-resolver.js +364 -0
  191. package/dist/core/toolchain-resolver.js.map +1 -0
  192. package/dist/core/worktree-status.d.ts +20 -0
  193. package/dist/core/worktree-status.d.ts.map +1 -0
  194. package/dist/core/worktree-status.js +67 -0
  195. package/dist/core/worktree-status.js.map +1 -0
  196. package/dist/i18n/index.d.ts +36 -0
  197. package/dist/i18n/index.d.ts.map +1 -0
  198. package/dist/i18n/index.js +157 -0
  199. package/dist/i18n/index.js.map +1 -0
  200. package/dist/i18n/locales/en.d.ts +866 -0
  201. package/dist/i18n/locales/en.d.ts.map +1 -0
  202. package/dist/i18n/locales/en.js +985 -0
  203. package/dist/i18n/locales/en.js.map +1 -0
  204. package/dist/i18n/locales/zh-CN.d.ts +865 -0
  205. package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
  206. package/dist/i18n/locales/zh-CN.js +985 -0
  207. package/dist/i18n/locales/zh-CN.js.map +1 -0
  208. package/dist/index.d.ts +2 -0
  209. package/dist/index.d.ts.map +1 -0
  210. package/dist/index.js +4 -0
  211. package/dist/index.js.map +1 -0
  212. package/dist/plugins/builtin/gradle.d.ts +9 -0
  213. package/dist/plugins/builtin/gradle.d.ts.map +1 -0
  214. package/dist/plugins/builtin/gradle.js +164 -0
  215. package/dist/plugins/builtin/gradle.js.map +1 -0
  216. package/dist/plugins/builtin/maven.d.ts +9 -0
  217. package/dist/plugins/builtin/maven.d.ts.map +1 -0
  218. package/dist/plugins/builtin/maven.js +127 -0
  219. package/dist/plugins/builtin/maven.js.map +1 -0
  220. package/dist/plugins/builtin/npm.d.ts +9 -0
  221. package/dist/plugins/builtin/npm.d.ts.map +1 -0
  222. package/dist/plugins/builtin/npm.js +238 -0
  223. package/dist/plugins/builtin/npm.js.map +1 -0
  224. package/dist/plugins/builtin/pip.d.ts +9 -0
  225. package/dist/plugins/builtin/pip.d.ts.map +1 -0
  226. package/dist/plugins/builtin/pip.js +210 -0
  227. package/dist/plugins/builtin/pip.js.map +1 -0
  228. package/dist/plugins/builtin/xcode.d.ts +12 -0
  229. package/dist/plugins/builtin/xcode.d.ts.map +1 -0
  230. package/dist/plugins/builtin/xcode.js +438 -0
  231. package/dist/plugins/builtin/xcode.js.map +1 -0
  232. package/dist/plugins/index.d.ts +13 -0
  233. package/dist/plugins/index.d.ts.map +1 -0
  234. package/dist/plugins/index.js +24 -0
  235. package/dist/plugins/index.js.map +1 -0
  236. package/dist/plugins/manager.d.ts +93 -0
  237. package/dist/plugins/manager.d.ts.map +1 -0
  238. package/dist/plugins/manager.js +270 -0
  239. package/dist/plugins/manager.js.map +1 -0
  240. package/dist/plugins/utils.d.ts +42 -0
  241. package/dist/plugins/utils.d.ts.map +1 -0
  242. package/dist/plugins/utils.js +175 -0
  243. package/dist/plugins/utils.js.map +1 -0
  244. package/dist/types/index.d.ts +104 -0
  245. package/dist/types/index.d.ts.map +1 -0
  246. package/dist/types/index.js +21 -0
  247. package/dist/types/index.js.map +1 -0
  248. package/dist/types/plugin.d.ts +200 -0
  249. package/dist/types/plugin.d.ts.map +1 -0
  250. package/dist/types/plugin.js +19 -0
  251. package/dist/types/plugin.js.map +1 -0
  252. package/dist/utils/logger.d.ts +42 -0
  253. package/dist/utils/logger.d.ts.map +1 -0
  254. package/dist/utils/logger.js +80 -0
  255. package/dist/utils/logger.js.map +1 -0
  256. package/docs/en/manual/04-command-reference/README.md +58 -0
  257. package/docs/en/manual/README.md +108 -0
  258. package/docs/zh-CN/manual/04-command-reference/README.md +58 -0
  259. package/docs/zh-CN/manual/README.md +108 -0
  260. package/package.json +65 -0
  261. package/shell/colyn.sh +55 -0
  262. package/shell/completion.bash +270 -0
  263. package/shell/completion.zsh +167 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../src/i18n/locales/zh-CN.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import { run } from './cli.js';
2
+ // Run as async
3
+ await run();
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,eAAe;AACf,MAAM,GAAG,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Gradle 内置工具链插件
3
+ *
4
+ * 支持基于 Gradle 构建的 Java/Kotlin 项目(Spring Boot / Android 等)。
5
+ * 通过检测 build.gradle 或 build.gradle.kts 来识别项目类型。
6
+ */
7
+ import { type ToolchainPlugin } from '../../types/plugin.js';
8
+ export declare const gradlePlugin: ToolchainPlugin;
9
+ //# sourceMappingURL=gradle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle.d.ts","sourceRoot":"","sources":["../../../src/plugins/builtin/gradle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,uBAAuB,CAAC;AAkBlG,eAAO,MAAM,YAAY,EAAE,eAoK1B,CAAC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Gradle 内置工具链插件
3
+ *
4
+ * 支持基于 Gradle 构建的 Java/Kotlin 项目(Spring Boot / Android 等)。
5
+ * 通过检测 build.gradle 或 build.gradle.kts 来识别项目类型。
6
+ */
7
+ import * as fs from 'fs/promises';
8
+ import * as fsSync from 'fs';
9
+ import * as path from 'path';
10
+ import { execSync } from 'child_process';
11
+ import { PluginCommandError } from '../../types/plugin.js';
12
+ import { extractOutput, readSpringRuntimeConfig, writeSpringRuntimeConfig, } from '../utils.js';
13
+ /**
14
+ * 获取 Gradle 构建文件路径(优先 Kotlin DSL)
15
+ */
16
+ function findBuildFile(worktreePath) {
17
+ const kts = path.join(worktreePath, 'build.gradle.kts');
18
+ const groovy = path.join(worktreePath, 'build.gradle');
19
+ if (fsSync.existsSync(kts))
20
+ return { filePath: kts, isKts: true };
21
+ if (fsSync.existsSync(groovy))
22
+ return { filePath: groovy, isKts: false };
23
+ return null;
24
+ }
25
+ export const gradlePlugin = {
26
+ name: 'gradle',
27
+ displayName: 'Java/Kotlin (Gradle)',
28
+ // ────────────────────────────────────────
29
+ // 检测
30
+ // ────────────────────────────────────────
31
+ detect(worktreePath) {
32
+ return findBuildFile(worktreePath) !== null;
33
+ },
34
+ // ────────────────────────────────────────
35
+ // 端口配置
36
+ // ────────────────────────────────────────
37
+ portConfig() {
38
+ return { key: 'server.port', defaultPort: 8080 };
39
+ },
40
+ // ────────────────────────────────────────
41
+ // 运行时配置(application-local.properties)
42
+ // ────────────────────────────────────────
43
+ async readRuntimeConfig(worktreePath) {
44
+ return readSpringRuntimeConfig(worktreePath);
45
+ },
46
+ async writeRuntimeConfig(worktreePath, config) {
47
+ await writeSpringRuntimeConfig(worktreePath, config);
48
+ },
49
+ // ────────────────────────────────────────
50
+ // Dev server 命令
51
+ // ────────────────────────────────────────
52
+ devServerCommand(_worktreePath) {
53
+ return ['./gradlew', 'bootRun'];
54
+ },
55
+ // ────────────────────────────────────────
56
+ // 项目初始化
57
+ // ────────────────────────────────────────
58
+ getRuntimeConfigFileName() {
59
+ return 'application-local.properties';
60
+ },
61
+ // ────────────────────────────────────────
62
+ // 生命周期操作
63
+ // ────────────────────────────────────────
64
+ async install(worktreePath) {
65
+ try {
66
+ execSync('./gradlew build -x test', {
67
+ cwd: worktreePath,
68
+ stdio: ['ignore', 'pipe', 'pipe'],
69
+ });
70
+ }
71
+ catch (error) {
72
+ throw new PluginCommandError('./gradlew build -x test failed', extractOutput(error));
73
+ }
74
+ },
75
+ async lint(worktreePath) {
76
+ const buildFile = findBuildFile(worktreePath);
77
+ if (!buildFile)
78
+ return;
79
+ let content = '';
80
+ try {
81
+ content = await fs.readFile(buildFile.filePath, 'utf-8');
82
+ }
83
+ catch {
84
+ return;
85
+ }
86
+ // 检查是否配置了 checkstyle 插件
87
+ if (!content.includes('checkstyle')) {
88
+ return; // 没有 checkstyle 配置,静默跳过
89
+ }
90
+ try {
91
+ execSync('./gradlew checkstyleMain', {
92
+ cwd: worktreePath,
93
+ stdio: ['ignore', 'pipe', 'pipe'],
94
+ });
95
+ }
96
+ catch (error) {
97
+ throw new PluginCommandError('./gradlew checkstyleMain failed', extractOutput(error));
98
+ }
99
+ },
100
+ async build(worktreePath) {
101
+ try {
102
+ execSync('./gradlew build', {
103
+ cwd: worktreePath,
104
+ stdio: ['ignore', 'pipe', 'pipe'],
105
+ });
106
+ }
107
+ catch (error) {
108
+ throw new PluginCommandError('./gradlew build failed', extractOutput(error));
109
+ }
110
+ },
111
+ async bumpVersion(worktreePath, version) {
112
+ const buildFile = findBuildFile(worktreePath);
113
+ if (!buildFile) {
114
+ throw new PluginCommandError('Gradle build file not found', 'Cannot find build.gradle or build.gradle.kts');
115
+ }
116
+ const content = await fs.readFile(buildFile.filePath, 'utf-8');
117
+ const quote = buildFile.isKts ? '"' : "'";
118
+ // 匹配 version = '1.0.0' 或 version '1.0.0' (Groovy) 或 version = "1.0.0" (Kotlin)
119
+ const patterns = [
120
+ // version = "1.0.0" 或 version = '1.0.0'
121
+ new RegExp(`(version\\s*=\\s*)${quote}[^${quote}]*${quote}`, 'g'),
122
+ // version '1.0.0' (Groovy only)
123
+ new RegExp(`(version\\s+)${quote}[^${quote}]*${quote}`, 'g'),
124
+ ];
125
+ let updated = content;
126
+ let found = false;
127
+ for (const pattern of patterns) {
128
+ if (pattern.test(updated)) {
129
+ updated = updated.replace(pattern, `$1${quote}${version}${quote}`);
130
+ found = true;
131
+ break;
132
+ }
133
+ }
134
+ if (!found) {
135
+ throw new PluginCommandError('Cannot update version in Gradle build file', `No version pattern found in ${buildFile.filePath}`);
136
+ }
137
+ await fs.writeFile(buildFile.filePath, updated, 'utf-8');
138
+ },
139
+ async publish(worktreePath) {
140
+ try {
141
+ execSync('./gradlew publish', {
142
+ cwd: worktreePath,
143
+ stdio: ['ignore', 'pipe', 'pipe'],
144
+ });
145
+ }
146
+ catch (error) {
147
+ throw new PluginCommandError('./gradlew publish failed', extractOutput(error));
148
+ }
149
+ },
150
+ async checkPublishable(worktreePath) {
151
+ const buildFile = findBuildFile(worktreePath);
152
+ if (!buildFile) {
153
+ return false;
154
+ }
155
+ try {
156
+ const content = await fs.readFile(buildFile.filePath, 'utf-8');
157
+ return content.includes('maven-publish') || content.includes('publishing {');
158
+ }
159
+ catch {
160
+ return false;
161
+ }
162
+ },
163
+ };
164
+ //# sourceMappingURL=gradle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle.js","sourceRoot":"","sources":["../../../src/plugins/builtin/gradle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Maven 内置工具链插件
3
+ *
4
+ * 支持基于 Maven 构建的 Java 项目(Spring Boot / Android 等)。
5
+ * 通过检测 pom.xml 来识别项目类型。
6
+ */
7
+ import { type ToolchainPlugin } from '../../types/plugin.js';
8
+ export declare const mavenPlugin: ToolchainPlugin;
9
+ //# sourceMappingURL=maven.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven.d.ts","sourceRoot":"","sources":["../../../src/plugins/builtin/maven.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,uBAAuB,CAAC;AAOlG,eAAO,MAAM,WAAW,EAAE,eAiIzB,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Maven 内置工具链插件
3
+ *
4
+ * 支持基于 Maven 构建的 Java 项目(Spring Boot / Android 等)。
5
+ * 通过检测 pom.xml 来识别项目类型。
6
+ */
7
+ import * as fs from 'fs/promises';
8
+ import * as fsSync from 'fs';
9
+ import * as path from 'path';
10
+ import { execSync } from 'child_process';
11
+ import { PluginCommandError } from '../../types/plugin.js';
12
+ import { extractOutput, readSpringRuntimeConfig, writeSpringRuntimeConfig, } from '../utils.js';
13
+ export const mavenPlugin = {
14
+ name: 'maven',
15
+ displayName: 'Java (Maven)',
16
+ // ────────────────────────────────────────
17
+ // 检测
18
+ // ────────────────────────────────────────
19
+ detect(worktreePath) {
20
+ return fsSync.existsSync(path.join(worktreePath, 'pom.xml'));
21
+ },
22
+ // ────────────────────────────────────────
23
+ // 端口配置
24
+ // ────────────────────────────────────────
25
+ portConfig() {
26
+ return { key: 'server.port', defaultPort: 8080 };
27
+ },
28
+ // ────────────────────────────────────────
29
+ // 运行时配置(application-local.properties)
30
+ // ────────────────────────────────────────
31
+ async readRuntimeConfig(worktreePath) {
32
+ return readSpringRuntimeConfig(worktreePath);
33
+ },
34
+ async writeRuntimeConfig(worktreePath, config) {
35
+ await writeSpringRuntimeConfig(worktreePath, config);
36
+ },
37
+ // ────────────────────────────────────────
38
+ // Dev server 命令
39
+ // ────────────────────────────────────────
40
+ devServerCommand(_worktreePath) {
41
+ return ['mvn', 'spring-boot:run'];
42
+ },
43
+ // ────────────────────────────────────────
44
+ // 项目初始化
45
+ // ────────────────────────────────────────
46
+ getRuntimeConfigFileName() {
47
+ return 'application-local.properties';
48
+ },
49
+ // ────────────────────────────────────────
50
+ // 生命周期操作
51
+ // ────────────────────────────────────────
52
+ async install(worktreePath) {
53
+ try {
54
+ execSync('mvn install -DskipTests', {
55
+ cwd: worktreePath,
56
+ stdio: ['ignore', 'pipe', 'pipe'],
57
+ });
58
+ }
59
+ catch (error) {
60
+ throw new PluginCommandError('mvn install failed', extractOutput(error));
61
+ }
62
+ },
63
+ async lint(worktreePath) {
64
+ // 检查 pom.xml 是否包含 checkstyle 插件
65
+ const pomPath = path.join(worktreePath, 'pom.xml');
66
+ let pomContent = '';
67
+ try {
68
+ pomContent = await fs.readFile(pomPath, 'utf-8');
69
+ }
70
+ catch {
71
+ return; // pom.xml 不存在,静默跳过
72
+ }
73
+ if (!pomContent.includes('maven-checkstyle-plugin')) {
74
+ return; // 没有配置 checkstyle,静默跳过
75
+ }
76
+ try {
77
+ execSync('mvn checkstyle:check', {
78
+ cwd: worktreePath,
79
+ stdio: ['ignore', 'pipe', 'pipe'],
80
+ });
81
+ }
82
+ catch (error) {
83
+ throw new PluginCommandError('mvn checkstyle:check failed', extractOutput(error));
84
+ }
85
+ },
86
+ async build(worktreePath) {
87
+ try {
88
+ execSync('mvn package -DskipTests', {
89
+ cwd: worktreePath,
90
+ stdio: ['ignore', 'pipe', 'pipe'],
91
+ });
92
+ }
93
+ catch (error) {
94
+ throw new PluginCommandError('mvn package failed', extractOutput(error));
95
+ }
96
+ },
97
+ async bumpVersion(worktreePath, version) {
98
+ try {
99
+ execSync(`mvn versions:set -DnewVersion=${version} -DgenerateBackupPoms=false`, { cwd: worktreePath, stdio: ['ignore', 'pipe', 'pipe'] });
100
+ }
101
+ catch (error) {
102
+ throw new PluginCommandError('mvn versions:set failed', extractOutput(error));
103
+ }
104
+ },
105
+ async publish(worktreePath) {
106
+ try {
107
+ execSync('mvn deploy -DskipTests', {
108
+ cwd: worktreePath,
109
+ stdio: ['ignore', 'pipe', 'pipe'],
110
+ });
111
+ }
112
+ catch (error) {
113
+ throw new PluginCommandError('mvn deploy failed', extractOutput(error));
114
+ }
115
+ },
116
+ async checkPublishable(worktreePath) {
117
+ const pomPath = path.join(worktreePath, 'pom.xml');
118
+ try {
119
+ const pomContent = await fs.readFile(pomPath, 'utf-8');
120
+ return pomContent.includes('<distributionManagement>');
121
+ }
122
+ catch {
123
+ return false;
124
+ }
125
+ },
126
+ };
127
+ //# sourceMappingURL=maven.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven.js","sourceRoot":"","sources":["../../../src/plugins/builtin/maven.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * npm 内置工具链插件
3
+ *
4
+ * 支持基于 npm/yarn/pnpm 的 Node.js 项目。
5
+ * 通过检测 package.json 来识别项目类型。
6
+ */
7
+ import { type ToolchainPlugin } from '../../types/plugin.js';
8
+ export declare const npmPlugin: ToolchainPlugin;
9
+ //# sourceMappingURL=npm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../../src/plugins/builtin/npm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,uBAAuB,CAAC;AA4BlG,eAAO,MAAM,SAAS,EAAE,eAwNvB,CAAC"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * npm 内置工具链插件
3
+ *
4
+ * 支持基于 npm/yarn/pnpm 的 Node.js 项目。
5
+ * 通过检测 package.json 来识别项目类型。
6
+ */
7
+ import * as fs from 'fs/promises';
8
+ import * as fsSync from 'fs';
9
+ import * as path from 'path';
10
+ import { execSync } from 'child_process';
11
+ import dotenv from 'dotenv';
12
+ import { PluginCommandError } from '../../types/plugin.js';
13
+ import { getNpmCommand, getRunCommand } from '../../core/config.js';
14
+ import { extractOutput } from '../utils.js';
15
+ /**
16
+ * 读取 package.json 并解析
17
+ */
18
+ async function readPackageJson(worktreePath) {
19
+ const packageJsonPath = path.join(worktreePath, 'package.json');
20
+ try {
21
+ const content = await fs.readFile(packageJsonPath, 'utf-8');
22
+ return JSON.parse(content);
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ /**
29
+ * 获取 publish 命令(发布到 npmjs.com)
30
+ */
31
+ async function getPublishCommand() {
32
+ const npmCmd = await getNpmCommand();
33
+ if (npmCmd === 'yarn') {
34
+ return 'yarn npm publish';
35
+ }
36
+ return `${npmCmd} publish`;
37
+ }
38
+ export const npmPlugin = {
39
+ name: 'npm',
40
+ displayName: 'Node.js (npm/yarn/pnpm)',
41
+ // ────────────────────────────────────────
42
+ // 检测
43
+ // ────────────────────────────────────────
44
+ detect(worktreePath) {
45
+ const packageJsonPath = path.join(worktreePath, 'package.json');
46
+ return fsSync.existsSync(packageJsonPath);
47
+ },
48
+ // ────────────────────────────────────────
49
+ // 端口配置
50
+ // ────────────────────────────────────────
51
+ portConfig() {
52
+ return {
53
+ key: 'PORT',
54
+ defaultPort: 3000,
55
+ };
56
+ },
57
+ // ────────────────────────────────────────
58
+ // 运行时配置(.env.local)
59
+ // ────────────────────────────────────────
60
+ async readRuntimeConfig(worktreePath) {
61
+ const envLocalPath = path.join(worktreePath, '.env.local');
62
+ try {
63
+ const content = await fs.readFile(envLocalPath, 'utf-8');
64
+ return dotenv.parse(content);
65
+ }
66
+ catch {
67
+ return null;
68
+ }
69
+ },
70
+ async writeRuntimeConfig(worktreePath, config) {
71
+ const envLocalPath = path.join(worktreePath, '.env.local');
72
+ let existingContent = '';
73
+ try {
74
+ existingContent = await fs.readFile(envLocalPath, 'utf-8');
75
+ }
76
+ catch {
77
+ // 文件不存在,写入新内容
78
+ const lines = Object.entries(config).map(([k, v]) => `${k}=${v}`);
79
+ await fs.writeFile(envLocalPath, lines.join('\n') + '\n', 'utf-8');
80
+ return;
81
+ }
82
+ // 保留注释,逐行更新
83
+ const lines = existingContent.split('\n');
84
+ const result = [];
85
+ const updatedKeys = new Set();
86
+ for (const line of lines) {
87
+ const trimmed = line.trim();
88
+ if (trimmed.startsWith('#') || trimmed === '') {
89
+ result.push(line);
90
+ continue;
91
+ }
92
+ const match = trimmed.match(/^([^=]+)=(.*)/);
93
+ if (match) {
94
+ const key = match[1].trim();
95
+ if (config[key] !== undefined) {
96
+ result.push(`${key}=${config[key]}`);
97
+ updatedKeys.add(key);
98
+ }
99
+ else {
100
+ result.push(line);
101
+ }
102
+ }
103
+ else {
104
+ result.push(line);
105
+ }
106
+ }
107
+ // 追加新增的 key
108
+ for (const [key, value] of Object.entries(config)) {
109
+ if (!updatedKeys.has(key)) {
110
+ result.push(`${key}=${value}`);
111
+ }
112
+ }
113
+ await fs.writeFile(envLocalPath, result.join('\n') + '\n', 'utf-8');
114
+ },
115
+ // ────────────────────────────────────────
116
+ // Dev server 命令
117
+ // ────────────────────────────────────────
118
+ async devServerCommand(worktreePath) {
119
+ const pkg = await readPackageJson(worktreePath);
120
+ if (!pkg)
121
+ return null;
122
+ const scripts = pkg.scripts;
123
+ if (!scripts?.dev)
124
+ return null;
125
+ const npmCmd = await getNpmCommand();
126
+ // npm -> ['npm', 'run', 'dev']; yarn/pnpm -> ['yarn', 'dev'] / ['pnpm', 'dev']
127
+ if (npmCmd === 'npm') {
128
+ return ['npm', 'run', 'dev'];
129
+ }
130
+ return [npmCmd, 'dev'];
131
+ },
132
+ // ────────────────────────────────────────
133
+ // 项目初始化
134
+ // ────────────────────────────────────────
135
+ getRuntimeConfigFileName() {
136
+ return '.env.local';
137
+ },
138
+ // ────────────────────────────────────────
139
+ // 生命周期操作
140
+ // ────────────────────────────────────────
141
+ async install(worktreePath) {
142
+ const npmCmd = await getNpmCommand();
143
+ try {
144
+ execSync(`${npmCmd} install`, {
145
+ cwd: worktreePath,
146
+ stdio: ['ignore', 'pipe', 'pipe'],
147
+ });
148
+ }
149
+ catch (error) {
150
+ const output = extractOutput(error);
151
+ throw new PluginCommandError(`${npmCmd} install failed`, output);
152
+ }
153
+ },
154
+ async lint(worktreePath) {
155
+ const pkg = await readPackageJson(worktreePath);
156
+ if (!pkg)
157
+ return;
158
+ const scripts = pkg.scripts;
159
+ // 没有 lint 脚本则静默跳过
160
+ if (!scripts?.lint)
161
+ return;
162
+ const runCmd = await getRunCommand();
163
+ try {
164
+ execSync(`${runCmd} lint`, {
165
+ cwd: worktreePath,
166
+ stdio: ['ignore', 'pipe', 'pipe'],
167
+ });
168
+ }
169
+ catch (error) {
170
+ const output = extractOutput(error);
171
+ throw new PluginCommandError(`${runCmd} lint failed`, output);
172
+ }
173
+ },
174
+ async build(worktreePath) {
175
+ const pkg = await readPackageJson(worktreePath);
176
+ if (!pkg)
177
+ return;
178
+ const scripts = pkg.scripts;
179
+ // 没有 build 脚本则静默跳过
180
+ if (!scripts?.build)
181
+ return;
182
+ const runCmd = await getRunCommand();
183
+ try {
184
+ execSync(`${runCmd} build`, {
185
+ cwd: worktreePath,
186
+ stdio: ['ignore', 'pipe', 'pipe'],
187
+ });
188
+ }
189
+ catch (error) {
190
+ const output = extractOutput(error);
191
+ throw new PluginCommandError(`${runCmd} build failed`, output);
192
+ }
193
+ },
194
+ async readVersion(worktreePath) {
195
+ const pkg = await readPackageJson(worktreePath);
196
+ if (!pkg)
197
+ return null;
198
+ return typeof pkg.version === 'string' ? pkg.version : null;
199
+ },
200
+ async bumpVersion(worktreePath, version) {
201
+ const packageJsonPath = path.join(worktreePath, 'package.json');
202
+ const content = await fs.readFile(packageJsonPath, 'utf-8');
203
+ const pkg = JSON.parse(content);
204
+ pkg.version = version;
205
+ await fs.writeFile(packageJsonPath, JSON.stringify(pkg, null, 2) + '\n', 'utf-8');
206
+ },
207
+ async publish(worktreePath) {
208
+ const publishCmd = await getPublishCommand();
209
+ try {
210
+ execSync(publishCmd, {
211
+ cwd: worktreePath,
212
+ stdio: ['ignore', 'pipe', 'pipe'],
213
+ });
214
+ }
215
+ catch (error) {
216
+ const output = extractOutput(error);
217
+ throw new PluginCommandError(`${publishCmd} failed`, output);
218
+ }
219
+ },
220
+ async checkPublishable(worktreePath) {
221
+ const pkg = await readPackageJson(worktreePath);
222
+ if (!pkg)
223
+ return false;
224
+ if (pkg.private === true) {
225
+ return false;
226
+ }
227
+ const name = pkg.name;
228
+ const version = pkg.version;
229
+ if (typeof name !== 'string' || name.trim() === '') {
230
+ return false;
231
+ }
232
+ if (typeof version !== 'string' || version.trim() === '') {
233
+ return false;
234
+ }
235
+ return true;
236
+ },
237
+ };
238
+ //# sourceMappingURL=npm.js.map