@sylphx/flow 1.4.0 ā 1.4.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.
- package/CHANGELOG.md +19 -0
- package/package.json +1 -1
- package/src/utils/sync-utils.ts +31 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @sylphx/flow
|
|
2
2
|
|
|
3
|
+
## 1.4.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Add visible deletion output during sync:
|
|
8
|
+
- Show each file being deleted with checkmark
|
|
9
|
+
- Display MCP servers being removed
|
|
10
|
+
- Clear visual feedback of the full sync process
|
|
11
|
+
- Users can now see exactly what's happening
|
|
12
|
+
|
|
13
|
+
## 1.4.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Fix rules scanning showing all project markdown files:
|
|
18
|
+
- Skip rules scanning for Claude Code (rules embedded in agent files)
|
|
19
|
+
- Only scan when target has explicit rulesFile config
|
|
20
|
+
- Prevent scanning entire project directory
|
|
21
|
+
|
|
3
22
|
## 1.4.0
|
|
4
23
|
|
|
5
24
|
### Minor Changes
|
package/package.json
CHANGED
package/src/utils/sync-utils.ts
CHANGED
|
@@ -90,15 +90,28 @@ export async function buildSyncManifest(cwd: string, target: Target): Promise<Sy
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
// Rules files -
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
93
|
+
// Rules files - only for targets with separate rules directory
|
|
94
|
+
// Claude Code has rules in agent files, so skip
|
|
95
|
+
if (target.config.rulesFile) {
|
|
96
|
+
const rulesPath = path.join(cwd, target.config.rulesFile);
|
|
97
|
+
|
|
98
|
+
// Check if it's a directory or file
|
|
99
|
+
if (fs.existsSync(rulesPath)) {
|
|
100
|
+
const stat = fs.statSync(rulesPath);
|
|
101
|
+
|
|
102
|
+
if (stat.isDirectory()) {
|
|
103
|
+
// Scan directory for rule files
|
|
104
|
+
const files = fs.readdirSync(rulesPath, { withFileTypes: true });
|
|
105
|
+
const ruleFiles = files
|
|
106
|
+
.filter((f) => f.isFile() && f.name.endsWith('.md'))
|
|
107
|
+
.map((f) => path.join(rulesPath, f.name));
|
|
108
|
+
|
|
109
|
+
manifest.rules = categorizeFiles(ruleFiles, FLOW_RULES);
|
|
110
|
+
} else {
|
|
111
|
+
// Single rules file - check if it matches Flow templates
|
|
112
|
+
manifest.rules = categorizeFiles([rulesPath], FLOW_RULES);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
102
115
|
}
|
|
103
116
|
|
|
104
117
|
// MCP servers
|
|
@@ -370,14 +383,17 @@ export async function executeSyncDelete(
|
|
|
370
383
|
let templatesDeleted = 0;
|
|
371
384
|
let unknownsDeleted = 0;
|
|
372
385
|
|
|
386
|
+
console.log(chalk.cyan('\nšļø Deleting files...\n'));
|
|
387
|
+
|
|
373
388
|
// Delete Flow templates
|
|
374
389
|
for (const file of flowFiles) {
|
|
375
390
|
try {
|
|
376
391
|
await fs.promises.unlink(file);
|
|
392
|
+
console.log(chalk.dim(` ā Deleted: ${path.basename(file)}`));
|
|
377
393
|
templatesDeleted++;
|
|
378
394
|
} catch (error) {
|
|
379
395
|
if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {
|
|
380
|
-
console.warn(chalk.yellow(
|
|
396
|
+
console.warn(chalk.yellow(` ā Failed to delete: ${path.basename(file)}`));
|
|
381
397
|
}
|
|
382
398
|
}
|
|
383
399
|
}
|
|
@@ -389,14 +405,17 @@ export async function executeSyncDelete(
|
|
|
389
405
|
|
|
390
406
|
try {
|
|
391
407
|
await fs.promises.unlink(file);
|
|
408
|
+
console.log(chalk.dim(` ā Deleted: ${path.basename(file)}`));
|
|
392
409
|
unknownsDeleted++;
|
|
393
410
|
} catch (error) {
|
|
394
411
|
if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {
|
|
395
|
-
console.warn(chalk.yellow(
|
|
412
|
+
console.warn(chalk.yellow(` ā Failed to delete: ${path.basename(file)}`));
|
|
396
413
|
}
|
|
397
414
|
}
|
|
398
415
|
}
|
|
399
416
|
|
|
417
|
+
console.log('');
|
|
418
|
+
|
|
400
419
|
return { templates: templatesDeleted, unknowns: unknownsDeleted };
|
|
401
420
|
}
|
|
402
421
|
|
|
@@ -438,6 +457,7 @@ export async function removeMCPServers(cwd: string, serversToRemove: string[]):
|
|
|
438
457
|
for (const server of serversToRemove) {
|
|
439
458
|
if (mcpConfig.mcpServers[server]) {
|
|
440
459
|
delete mcpConfig.mcpServers[server];
|
|
460
|
+
console.log(chalk.dim(` ā Removed MCP: ${server}`));
|
|
441
461
|
removedCount++;
|
|
442
462
|
}
|
|
443
463
|
}
|