@touchskyer/opc 0.2.2 → 0.2.3
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/bin/opc.mjs +13 -3
- package/package.json +1 -1
- package/skill.md +1 -1
package/bin/opc.mjs
CHANGED
|
@@ -45,6 +45,13 @@ switch (command) {
|
|
|
45
45
|
break;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
// If skillsDir is a symlink, just remove the link itself — don't follow it
|
|
49
|
+
if (lstatSync(skillsDir).isSymbolicLink()) {
|
|
50
|
+
rmSync(skillsDir);
|
|
51
|
+
console.log(`✓ OPC symlink removed: ${skillsDir}`);
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
|
|
48
55
|
// Only remove OPC-managed files, preserve custom roles
|
|
49
56
|
const rolesDir = join(skillsDir, "roles");
|
|
50
57
|
const managedRoles = readdirSync(join(srcDir, "roles"));
|
|
@@ -55,12 +62,13 @@ switch (command) {
|
|
|
55
62
|
const rolePath = join(rolesDir, role);
|
|
56
63
|
if (existsSync(rolePath)) rmSync(rolePath);
|
|
57
64
|
}
|
|
58
|
-
// Remove roles dir only if empty
|
|
59
65
|
try {
|
|
60
66
|
const remaining = readdirSync(rolesDir);
|
|
61
67
|
if (remaining.length === 0) rmSync(rolesDir);
|
|
62
68
|
else console.log(` Kept ${remaining.length} custom role(s) in ${rolesDir}`);
|
|
63
|
-
} catch {
|
|
69
|
+
} catch (err) {
|
|
70
|
+
console.warn(` ⚠ Could not clean roles dir: ${err.message}`);
|
|
71
|
+
}
|
|
64
72
|
}
|
|
65
73
|
|
|
66
74
|
// Remove skill.md
|
|
@@ -71,7 +79,9 @@ switch (command) {
|
|
|
71
79
|
try {
|
|
72
80
|
const remaining = readdirSync(skillsDir);
|
|
73
81
|
if (remaining.length === 0) rmSync(skillsDir);
|
|
74
|
-
} catch {
|
|
82
|
+
} catch (err) {
|
|
83
|
+
console.warn(` ⚠ Could not remove skill dir: ${err.message}`);
|
|
84
|
+
}
|
|
75
85
|
|
|
76
86
|
console.log(`✓ OPC removed from ${skillsDir}`);
|
|
77
87
|
break;
|
package/package.json
CHANGED