@rainbow-robotics/muscat-plugin-kit 0.1.2-dev.17 → 0.1.2-dev.18

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 (2) hide show
  1. package/cli/src/update.mjs +27 -9
  2. package/package.json +1 -1
@@ -113,9 +113,19 @@ function updateNpmGlobal(tag) {
113
113
 
114
114
  function detectOldStructure(root) {
115
115
  const issues = [];
116
- if (existsSync(resolve(root, "src", "content.tsx")) && !existsSync(resolve(root, "ui"))) {
117
- issues.push({ kind: "src→ui", desc: "src/content.tsx → ui/content.tsx" });
116
+
117
+ // src/ exists (old UI dir) or vite.config references src/content.tsx
118
+ const hasSrcDir = existsSync(resolve(root, "src"));
119
+ const hasUiDir = existsSync(resolve(root, "ui"));
120
+ const viteRef = (() => {
121
+ try {
122
+ return readFileSync(resolve(root, "vite.config.ts"), "utf8").includes("src/content.tsx");
123
+ } catch { return false; }
124
+ })();
125
+ if ((hasSrcDir || viteRef) && !hasUiDir) {
126
+ issues.push({ kind: "src→ui", desc: "src/ → ui/ (+ vite.config.ts, tsconfig.json)" });
118
127
  }
128
+
119
129
  if (existsSync(resolve(root, "main.py")) && !existsSync(resolve(root, "py"))) {
120
130
  issues.push({ kind: "main→py", desc: "main.py → py/main.py" });
121
131
  }
@@ -145,8 +155,10 @@ async function migrateStructure(root, issues) {
145
155
 
146
156
  for (const issue of issues) {
147
157
  if (issue.kind === "src→ui") {
148
- renameSync(resolve(root, "src"), resolve(root, "ui"));
149
- log.ok("src/ → ui/");
158
+ if (existsSync(resolve(root, "src"))) {
159
+ renameSync(resolve(root, "src"), resolve(root, "ui"));
160
+ log.ok("src/ → ui/");
161
+ }
150
162
 
151
163
  const vitePath = resolve(root, "vite.config.ts");
152
164
  if (existsSync(vitePath)) {
@@ -252,16 +264,22 @@ export async function runUpdate(args = []) {
252
264
  }
253
265
 
254
266
  // 2. Plugin project: structure migration + local deps
267
+ let root;
255
268
  try {
256
- const root = findPluginRoot();
269
+ root = findPluginRoot();
270
+ } catch {
271
+ // Not inside a plugin project — skip
272
+ return;
273
+ }
257
274
 
275
+ try {
258
276
  const structureIssues = detectOldStructure(root);
259
277
  if (structureIssues.length > 0) {
260
278
  await migrateStructure(root, structureIssues);
261
279
  }
262
-
263
- updateLocalDeps(root, tag);
264
- } catch {
265
- // Not inside a plugin project — skip silently
280
+ } catch (err) {
281
+ log.warn(`Structure check failed: ${err.message}`);
266
282
  }
283
+
284
+ updateLocalDeps(root, tag);
267
285
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rainbow-robotics/muscat-plugin-kit",
3
- "version": "0.1.2-dev.17",
3
+ "version": "0.1.2-dev.18",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=20"