template-syncer 1.1.2 → 1.2.0

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.
package/README.md CHANGED
@@ -3,85 +3,56 @@
3
3
  智能模板同步工具,让你的项目与模板仓库保持同步。
4
4
 
5
5
  <a href="https://github.com/iceywu/template-syncer">
6
- <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/iceywu/template-syncer?logo=github&color=%234d80f0&link=https%3A%2F%2Fgithub.com%2iceywu%2Ftemplate-syncer">
6
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/iceywu/template-syncer?logo=github&color=%234d80f0">
7
7
  </a>
8
8
  <a href="https://www.npmjs.com/package/template-syncer">
9
- <img alt="npm" src="https://img.shields.io/npm/v/template-syncer?logo=npm&color=%234d80f0&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Ftemplate-syncer">
9
+ <img alt="npm" src="https://img.shields.io/npm/v/template-syncer?logo=npm&color=%234d80f0">
10
10
  </a>
11
11
  <a href="https://www.npmjs.com/package/template-syncer">
12
- <img alt="npm" src="https://img.shields.io/npm/dw/template-syncer?logo=npm&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Ftemplate-syncer">
12
+ <img alt="npm downloads" src="https://img.shields.io/npm/dw/template-syncer?logo=npm">
13
13
  </a>
14
14
 
15
- ## 特性
15
+ ## 特性
16
16
 
17
- - 🚀 **智能同步** - 自动检测并同步模板更新
18
- - 🌍 **跨平台** - 完美支持 Windows/macOS/Linux
19
- - 📦 **智能合并** - package.json 等配置文件智能合并
20
- - 🎯 **自动分类** - 基于 glob 模式的智能文件分类
21
- - 🔌 **可扩展** - 支持自定义分类规则和合并策略
22
- - 💾 **安全备份** - 操作前自动创建 Git 备份
17
+ - 🦀 **Rust 加速** - 核心文件扫描和差异比较由 Rust 原生模块驱动,并行处理,大型项目提速显著
18
+ - 🚀 **智能同步** - 自动检测并同步模板更新,支持四种运行模式
19
+ - 📦 **智能合并** - `package.json`、`tsconfig.json` 等配置文件深度合并,不覆盖你的自定义内容
20
+ - 🎯 **自动分类** - 基于 glob 的文件分类系统,变更一目了然
23
21
  - 🌿 **多分支** - 支持从任意分支同步
22
+ - 💾 **安全备份** - 操作前自动 `git stash` 备份
23
+ - � **跨平台** - Windows / macOS / Linux
24
24
 
25
- ## 📦 安装
25
+ ## 安装
26
26
 
27
27
  ```bash
28
28
  pnpm add -g template-syncer
29
- # 或
30
- npm install -g template-syncer
31
29
  ```
32
30
 
33
- ## ⚡ 快速使用 (npx)
31
+ ## 快速开始
34
32
 
35
- 无需安装,直接使用:
33
+ 无需安装,直接用 npx:
36
34
 
37
35
  ```bash
38
- # 交互式同步
39
- npx template-syncer
40
-
41
- # 指定模板仓库
42
- npx template-syncer -r https://github.com/user/template.git
43
-
44
- # 指定分支
45
- npx template-syncer -r https://github.com/user/template.git -b dev
46
-
47
- # 初始化配置
48
- npx template-syncer --init
49
-
50
- # 预览差异
51
- npx template-syncer --preview
36
+ npx template-syncer --preview -r https://github.com/user/template.git
52
37
  ```
53
38
 
54
- ## 🚀 使用方法
55
-
56
- ### 基本用法
39
+ ## 使用
57
40
 
58
41
  ```bash
59
- # 交互式同步
60
- syn
61
-
62
- # 指定模板仓库
63
- syn -r https://github.com/user/template.git
64
-
65
- # 指定分支
66
- syn -r https://github.com/user/template.git -b dev
67
-
68
- # 详细输出
69
- syn -v
70
- ```
71
-
72
- ### 运行模式
73
-
74
- ```bash
75
- syn # 交互式同步 (默认)
76
- syn --init # 初始化配置
77
- syn --batch # 批量处理模式
78
- syn --preview # 预览差异
42
+ syn # 交互式同步(默认)
43
+ syn --init # 初始化配置文件
44
+ syn --preview # 预览差异,不修改任何文件
45
+ syn --batch # 按优先级分组选择
79
46
  syn --smart # 智能推荐模式
47
+
48
+ syn -r <url> # 指定模板仓库
49
+ syn -b <branch> # 指定分支
50
+ syn -v # 详细输出
80
51
  ```
81
52
 
82
- ### 配置文件
53
+ ## 配置文件
83
54
 
84
- 运行 `syn --init` 创建配置文件 `.template-sync.json`:
55
+ 运行 `syn --init` 生成 `.template-sync.json`:
85
56
 
86
57
  ```json
87
58
  {
@@ -94,37 +65,21 @@ syn --smart # 智能推荐模式
94
65
  "protectPatterns": ["src/local/**", "*.local.*"],
95
66
  "autoBackup": true,
96
67
  "defaultMergeStrategy": "overwrite"
97
- },
98
- "lastSync": "2024-01-01T00:00:00.000Z"
68
+ }
99
69
  }
100
70
  ```
101
71
 
102
- ### 同步规则 (rules)
72
+ ### rules 选项
103
73
 
104
74
  | 选项 | 类型 | 默认值 | 说明 |
105
75
  |------|------|--------|------|
106
- | `deleteOrphans` | boolean | `false` | 是否删除本地独有文件 |
107
- | `deletePatterns` | string[] | `[]` | 要删除的文件模式 (glob) |
108
- | `protectPatterns` | string[] | `[]` | 保护不被删除的文件模式 |
109
- | `autoBackup` | boolean | `true` | 同步前自动备份 |
76
+ | `deleteOrphans` | boolean | `false` | 删除本地独有文件 |
77
+ | `deletePatterns` | string[] | `[]` | 要删除的文件 glob 模式 |
78
+ | `protectPatterns` | string[] | `[]` | 保护不被删除的文件 |
79
+ | `autoBackup` | boolean | `true` | 同步前自动 git stash |
110
80
  | `defaultMergeStrategy` | string | `"overwrite"` | 默认合并策略 |
111
81
 
112
- **示例:删除本地独有的 Swift 文件**
113
-
114
- ```json
115
- {
116
- "rules": {
117
- "deleteOrphans": true,
118
- "deletePatterns": ["**/*.swift"],
119
- "protectPatterns": ["src/local/**"]
120
- }
121
- }
122
- ```
123
- ```
124
-
125
- ## 🔧 高级用法
126
-
127
- ### 编程式使用
82
+ ## 编程式使用
128
83
 
129
84
  ```typescript
130
85
  import { TemplateSyncer } from 'template-syncer';
@@ -132,24 +87,17 @@ import { TemplateSyncer } from 'template-syncer';
132
87
  const syncer = new TemplateSyncer({
133
88
  repo: 'https://github.com/user/template.git',
134
89
  branch: 'main',
135
- verbose: true,
136
- // 自定义忽略模式
137
90
  ignore: ['*.local', 'secrets/**'],
138
- // 自定义分类规则
139
91
  categories: [
140
- { match: '**/custom/*.ts', category: '自定义模块', icon: '🎯', priority: 100 }
92
+ { match: '**/api/*.ts', category: 'API 模块', icon: '🔌', priority: 100 }
141
93
  ],
142
- // 自定义合并策略
143
94
  mergers: {
144
95
  'config.json': 'smart',
145
96
  'README.md': 'skip'
146
97
  },
147
- // 同步规则
148
98
  rules: {
149
99
  deleteOrphans: true,
150
- deletePatterns: ['src/deprecated/**'],
151
- protectPatterns: ['src/local/**'],
152
- autoBackup: true
100
+ protectPatterns: ['src/local/**']
153
101
  }
154
102
  });
155
103
 
@@ -160,42 +108,10 @@ await syncer.sync();
160
108
 
161
109
  | 策略 | 说明 |
162
110
  |------|------|
163
- | `overwrite` | 直接覆盖 (默认) |
164
- | `skip` | 跳过不处理 |
165
- | `smart` | 智能合并 (JSON 文件) |
166
- | `ask` | 询问用户 |
167
-
168
- ### 自定义分类规则
169
-
170
- ```typescript
171
- const syncer = new TemplateSyncer({
172
- categories: [
173
- // 高优先级规则
174
- { match: '**/api/*.ts', category: 'API 模块', icon: '🔌', priority: 100 },
175
- // 低优先级规则
176
- { match: '**/*.ts', category: 'TypeScript', icon: '🔷', priority: 10 }
177
- ]
178
- });
179
- ```
180
-
181
- ## 📁 支持的文件类型
182
-
183
- 工具会自动识别并分类各种文件:
184
-
185
- - **项目配置**: package.json, Cargo.toml, go.mod 等
186
- - **构建工具**: vite.config.*, webpack.config.* 等
187
- - **代码质量**: .eslintrc*, .prettierrc* 等
188
- - **框架配置**: nuxt.config.*, next.config.* 等
189
- - **容器化**: Dockerfile, docker-compose.yml 等
190
- - **CI/CD**: .github/workflows/*, .gitlab-ci.yml 等
191
- - **各种编程语言**: .ts, .js, .py, .go, .rs, .java 等
192
-
193
- ## 🛡️ 安全性
194
-
195
- - **Git 备份**: 操作前自动创建 stash 备份
196
- - **交互确认**: 每次操作都需要用户确认
197
- - **差异预览**: 可以先预览再决定是否应用
111
+ | `overwrite` | 直接覆盖(默认) |
112
+ | `skip` | 跳过 |
113
+ | `smart` | 深度合并(JSON |
198
114
 
199
- ## 📄 许可证
115
+ ## License
200
116
 
201
- [MIT License](./LICENSE)
117
+ [MIT](./LICENSE)
package/lib/index.d.ts CHANGED
@@ -2,4 +2,3 @@ export { TemplateSyncer } from './syncer';
2
2
  export type { FileInfo, FileChange, SyncerOptions, SyncConfig, SyncRules, CategoryRule, MergeStrategy, BatchResult, Recommendation } from './types';
3
3
  export { platform, Categorizer, Merger, Git, Scanner } from './utils';
4
4
  export { prompts, logger } from './ui';
5
- //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -14,4 +14,3 @@ Object.defineProperty(exports, "Scanner", { enumerable: true, get: function () {
14
14
  var ui_1 = require("./ui");
15
15
  Object.defineProperty(exports, "prompts", { enumerable: true, get: function () { return ui_1.prompts; } });
16
16
  Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return ui_1.logger; } });
17
- //# sourceMappingURL=index.js.map
package/lib/package.json CHANGED
@@ -1,61 +1,3 @@
1
- {
2
- "name": "template-syncer",
3
- "version": "1.1.2",
4
- "description": "智能模板同步工具 - 让你的项目与模板仓库保持同步,支持智能合并、差异对比和交互式更新",
5
- "main": "lib/index.js",
6
- "types": "lib/index.d.ts",
7
- "bin": {
8
- "syn": "bin/syn.js"
9
- },
10
- "scripts": {
11
- "build": "tsc && node scripts/post-build.js",
12
- "test": "node test/run-tests.js",
13
- "test:setup": "node test/setup.js",
14
- "test:cleanup": "node test/setup.js cleanup",
15
- "test:reset": "node test/setup.js reset",
16
- "test:manual": "node test/manual-test.js",
17
- "start": "node bin/syn.js",
18
- "dev": "pnpm build && node bin/syn.js --verbose",
19
- "dev:watch": "tsc --watch",
20
- "publish:npm": "pnpm build && npm publish --registry https://registry.npmjs.org",
21
- "prepublishOnly": "pnpm build"
22
- },
23
- "keywords": [
24
- "template",
25
- "sync",
26
- "vitesse",
27
- "vue",
28
- "vite"
29
- ],
30
- "author": "IceyWu <3128006406@qq.com>",
31
- "license": "MIT",
32
- "repository": {
33
- "type": "git",
34
- "url": "https://github.com/IceyWu/template-syncer.git"
35
- },
36
- "bugs": {
37
- "url": "https://github.com/IceyWu/template-syncer/issues"
38
- },
39
- "homepage": "https://github.com/IceyWu/template-syncer#readme",
40
- "engines": {
41
- "node": ">=14.0.0"
42
- },
43
- "files": [
44
- "lib/",
45
- "bin/",
46
- "README.md",
47
- "LICENSE"
48
- ],
49
- "dependencies": {
50
- "chalk": "^4.1.2",
51
- "commander": "^14.0.0",
52
- "glob": "^11.0.0",
53
- "inquirer": "^12.0.0",
54
- "minimatch": "^10.0.0"
55
- },
56
- "devDependencies": {
57
- "@types/inquirer": "^9.0.0",
58
- "@types/node": "^22.0.0",
59
- "typescript": "^5.7.0"
60
- }
61
- }
1
+ {
2
+ "type": "commonjs"
3
+ }
package/lib/syncer.d.ts CHANGED
@@ -45,21 +45,11 @@ export declare class TemplateSyncer {
45
45
  * 主同步流程
46
46
  */
47
47
  sync(): Promise<void>;
48
- /**
49
- * 批量处理模式
50
- */
51
48
  batch(): Promise<void>;
52
49
  /**
53
50
  * 预览模式
54
51
  */
55
52
  preview(): Promise<void>;
56
- /**
57
- * 智能同步模式
58
- */
59
53
  smart(): Promise<void>;
60
- /**
61
- * 初始化配置
62
- */
63
54
  init(): Promise<void>;
64
55
  }
65
- //# sourceMappingURL=syncer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../src/syncer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAEb,UAAU,EACV,WAAW,EACX,cAAc,EAEf,MAAM,SAAS,CAAC;AAIjB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuE;IACtF,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAY;gBAEb,OAAO,GAAE,aAAkB;IAwBvC;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBhC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCpC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IA4B1C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA2C/D;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE;IA8DhE;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkE3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAe5B"}
1
+ {"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../src/syncer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAEb,UAAU,EACV,WAAW,EACX,cAAc,EAEf,MAAM,SAAS,CAAC;AAIjB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuE;IACtF,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAY;gBAEb,OAAO,GAAE,aAAkB;IAwBvC;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBhC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCpC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAiC1C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAkC/D;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE;IA8DhE;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkE3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAe5B"}
package/lib/syncer.js CHANGED
@@ -139,7 +139,11 @@ class TemplateSyncer {
139
139
  if (detectOrphans) {
140
140
  const orphans = changes.filter(c => c.status === 'deleted');
141
141
  const others = changes.filter(c => c.status !== 'deleted');
142
- const filteredOrphans = this.scanner.filterOrphans(orphans, this.rules.deletePatterns || ['**/*'], this.rules.protectPatterns || []);
142
+ // 如果 deletePatterns 为空数组,使用默认值 ['**'] 匹配所有文件
143
+ const patterns = this.rules.deletePatterns && this.rules.deletePatterns.length > 0
144
+ ? this.rules.deletePatterns
145
+ : ['**'];
146
+ const filteredOrphans = this.scanner.filterOrphans(orphans, patterns, this.rules.protectPatterns || []);
143
147
  changes = [...others, ...filteredOrphans];
144
148
  }
145
149
  return changes;
@@ -148,32 +152,26 @@ class TemplateSyncer {
148
152
  * 应用变更
149
153
  */
150
154
  async applyChanges(changes) {
151
- const result = {
152
- success: [],
153
- skipped: [],
154
- failed: []
155
- };
155
+ const result = { success: [], skipped: [], failed: [] };
156
156
  console.log(`\n开始处理 ${changes.length} 个文件...\n`);
157
- for (const file of changes) {
157
+ // 并发处理所有文件
158
+ await Promise.allSettled(changes.map(async (file) => {
158
159
  try {
159
160
  if (file.status === 'deleted') {
160
- // 删除本地独有文件
161
161
  utils_1.platform.removeFile(file.currentPath);
162
162
  result.success.push(file.path);
163
163
  ui_1.logger.file('🗑️', file.path, '已删除');
164
164
  }
165
165
  else {
166
- // 新增或修改文件
167
166
  const targetPath = path.join(process.cwd(), file.path);
168
- const mergeResult = this.merger.merge(file.templatePath, file.currentPath, targetPath);
167
+ const mergeResult = await this.merger.merge(file.templatePath, file.currentPath, targetPath);
169
168
  if (mergeResult.success) {
170
169
  result.success.push(file.path);
171
- ui_1.logger.file(file.icon, file.path, mergeResult.message);
172
170
  }
173
171
  else {
174
172
  result.skipped.push(file.path);
175
- ui_1.logger.file(file.icon, file.path, mergeResult.message);
176
173
  }
174
+ ui_1.logger.file(file.icon, file.path, mergeResult.message);
177
175
  }
178
176
  }
179
177
  catch (error) {
@@ -181,7 +179,7 @@ class TemplateSyncer {
181
179
  result.failed.push({ path: file.path, error: message });
182
180
  ui_1.logger.file(file.icon, file.path, `失败: ${message}`);
183
181
  }
184
- }
182
+ }));
185
183
  return result;
186
184
  }
187
185
  /**
@@ -307,9 +305,6 @@ class TemplateSyncer {
307
305
  this.cleanup();
308
306
  }
309
307
  }
310
- /**
311
- * 批量处理模式
312
- */
313
308
  async batch() {
314
309
  try {
315
310
  ui_1.logger.info('🔄 批量处理模式');
@@ -320,7 +315,6 @@ class TemplateSyncer {
320
315
  return;
321
316
  }
322
317
  const recommendations = this.generateRecommendations(changes);
323
- ui_1.logger.recommendations(recommendations);
324
318
  const selected = await ui_1.prompts.selectRecommendations(recommendations);
325
319
  const files = selected.flatMap(r => r.files);
326
320
  if (files.length > 0) {
@@ -353,9 +347,6 @@ class TemplateSyncer {
353
347
  this.cleanup();
354
348
  }
355
349
  }
356
- /**
357
- * 智能同步模式
358
- */
359
350
  async smart() {
360
351
  try {
361
352
  ui_1.logger.info('🤖 智能同步模式');
@@ -366,36 +357,20 @@ class TemplateSyncer {
366
357
  return;
367
358
  }
368
359
  const recommendations = this.generateRecommendations(changes);
369
- const highPriority = recommendations.filter(r => r.priority === 'high');
370
- if (highPriority.length > 0) {
371
- console.log('\n🔴 发现高优先级更新:');
372
- for (const rec of highPriority) {
373
- console.log(` • ${rec.title}: ${rec.files.length} 个文件`);
374
- }
375
- const autoApply = await ui_1.prompts.confirm('是否自动应用高优先级更新?');
376
- if (autoApply) {
377
- const files = highPriority.flatMap(r => r.files);
360
+ const selected = await ui_1.prompts.selectRecommendations(recommendations);
361
+ const files = selected.flatMap(r => r.files);
362
+ if (files.length > 0) {
363
+ const confirmed = await ui_1.prompts.confirm(`确定要处理 ${files.length} 个文件吗?`);
364
+ if (confirmed) {
378
365
  const result = await this.applyChanges(files);
379
366
  ui_1.logger.summary(result);
380
367
  }
381
368
  }
382
- const others = recommendations.filter(r => r.priority !== 'high');
383
- if (others.length > 0) {
384
- console.log('\n其他可选更新:');
385
- for (const rec of others) {
386
- const icon = rec.priority === 'medium' ? '🟡' : '🟢';
387
- console.log(` ${icon} ${rec.title}: ${rec.files.length} 个文件`);
388
- }
389
- console.log('\n💡 使用 --batch 模式可以手动选择这些更新');
390
- }
391
369
  }
392
370
  finally {
393
371
  this.cleanup();
394
372
  }
395
373
  }
396
- /**
397
- * 初始化配置
398
- */
399
374
  async init() {
400
375
  ui_1.logger.info('🔧 初始化配置向导\n');
401
376
  const answers = await ui_1.prompts.initConfig();
@@ -410,4 +385,3 @@ class TemplateSyncer {
410
385
  }
411
386
  }
412
387
  exports.TemplateSyncer = TemplateSyncer;
413
- //# sourceMappingURL=syncer.js.map
package/lib/syncer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"syncer.js","sourceRoot":"","sources":["../src/syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncer.js","sourceRoot":"","sources":["../src/syncer.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -114,4 +114,3 @@ export interface Recommendation {
114
114
  description: string;
115
115
  files: FileChange[];
116
116
  }
117
- //# sourceMappingURL=types.d.ts.map
package/lib/types.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/lib/ui/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export { prompts } from './prompts';
2
2
  export { logger } from './logger';
3
3
  export { formatFileTree, formatGroupedTree } from './tree';
4
- //# sourceMappingURL=index.d.ts.map
package/lib/ui/index.js CHANGED
@@ -8,4 +8,3 @@ Object.defineProperty(exports, "logger", { enumerable: true, get: function () {
8
8
  var tree_1 = require("./tree");
9
9
  Object.defineProperty(exports, "formatFileTree", { enumerable: true, get: function () { return tree_1.formatFileTree; } });
10
10
  Object.defineProperty(exports, "formatGroupedTree", { enumerable: true, get: function () { return tree_1.formatGroupedTree; } });
11
- //# sourceMappingURL=index.js.map
@@ -1,26 +1,10 @@
1
1
  import type { BatchResult } from '../types';
2
- /**
3
- * 日志工具
4
- */
5
2
  export declare const logger: {
6
- info(message: string): void;
7
- success(message: string): void;
8
- warn(message: string): void;
9
- error(message: string): void;
10
- step(message: string): void;
11
- file(icon: string, path: string, status: string): void;
12
- /**
13
- * 显示操作摘要
14
- */
3
+ info: (msg: string) => void;
4
+ success: (msg: string) => void;
5
+ warn: (msg: string) => void;
6
+ error: (msg: string) => void;
7
+ step: (msg: string) => void;
8
+ file(icon: string, filePath: string, status: string): void;
15
9
  summary(result: BatchResult): void;
16
- /**
17
- * 显示推荐列表
18
- */
19
- recommendations(recs: Array<{
20
- priority: string;
21
- title: string;
22
- description: string;
23
- files: unknown[];
24
- }>): void;
25
10
  };
26
- //# sourceMappingURL=logger.d.ts.map