@vc-shell/migrate 2.0.0-alpha.32 → 2.0.0-alpha.33

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 (61) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/dep-updater.d.ts +1 -0
  5. package/dist/dep-updater.js +31 -0
  6. package/dist/dep-updater.js.map +1 -0
  7. package/dist/file-scanner.d.ts +3 -0
  8. package/dist/file-scanner.js +102 -0
  9. package/dist/file-scanner.js.map +1 -0
  10. package/dist/report-generator.d.ts +2 -0
  11. package/dist/report-generator.js +271 -0
  12. package/dist/report-generator.js.map +1 -0
  13. package/dist/runner.d.ts +6 -0
  14. package/dist/runner.js +72 -171
  15. package/dist/runner.js.map +1 -1
  16. package/dist/sfc-processor.d.ts +12 -0
  17. package/dist/sfc-processor.js +54 -0
  18. package/dist/sfc-processor.js.map +1 -0
  19. package/dist/transforms/blade-props-simplification.js +10 -2
  20. package/dist/transforms/blade-props-simplification.js.map +1 -1
  21. package/dist/transforms/define-app-module.js +8 -4
  22. package/dist/transforms/define-app-module.js.map +1 -1
  23. package/dist/transforms/define-expose-to-children.d.ts +4 -0
  24. package/dist/transforms/define-expose-to-children.js +83 -0
  25. package/dist/transforms/define-expose-to-children.js.map +1 -0
  26. package/dist/transforms/dynamic-properties-refactor.js +1 -1
  27. package/dist/transforms/dynamic-properties-refactor.js.map +1 -1
  28. package/dist/transforms/icon-audit.js +20 -24
  29. package/dist/transforms/icon-audit.js.map +1 -1
  30. package/dist/transforms/locale-imports.d.ts +4 -0
  31. package/dist/transforms/locale-imports.js +23 -0
  32. package/dist/transforms/locale-imports.js.map +1 -0
  33. package/dist/transforms/registry.js +77 -2
  34. package/dist/transforms/registry.js.map +1 -1
  35. package/dist/transforms/remove-deprecated-aliases.js +12 -1
  36. package/dist/transforms/remove-deprecated-aliases.js.map +1 -1
  37. package/dist/transforms/remove-pathmatch-route.d.ts +17 -0
  38. package/dist/transforms/remove-pathmatch-route.js +74 -0
  39. package/dist/transforms/remove-pathmatch-route.js.map +1 -0
  40. package/dist/transforms/remove-release-config.d.ts +4 -0
  41. package/dist/transforms/remove-release-config.js +58 -0
  42. package/dist/transforms/remove-release-config.js.map +1 -0
  43. package/dist/transforms/replace-cover-method.d.ts +4 -0
  44. package/dist/transforms/replace-cover-method.js +81 -0
  45. package/dist/transforms/replace-cover-method.js.map +1 -0
  46. package/dist/transforms/types.d.ts +2 -0
  47. package/dist/transforms/use-assets-migration.js +12 -12
  48. package/dist/transforms/use-assets-migration.js.map +1 -1
  49. package/dist/transforms/use-blade-form.js +21 -127
  50. package/dist/transforms/use-blade-form.js.map +1 -1
  51. package/dist/transforms/use-blade-migration.js +14 -2
  52. package/dist/transforms/use-blade-migration.js.map +1 -1
  53. package/dist/transforms/vctable-audit.d.ts +4 -0
  54. package/dist/transforms/vctable-audit.js +14 -0
  55. package/dist/transforms/vctable-audit.js.map +1 -0
  56. package/dist/transforms/widgets-migration.js +19 -23
  57. package/dist/transforms/widgets-migration.js.map +1 -1
  58. package/dist/transforms/window-globals.d.ts +4 -0
  59. package/dist/transforms/window-globals.js +24 -0
  60. package/dist/transforms/window-globals.js.map +1 -0
  61. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
+ /**
3
+ * Replace defineExpose({...}) with exposeToChildren({...}) from useBlade() in blade pages.
4
+ *
5
+ * defineExpose is a Vue macro for parent→child component access.
6
+ * In the blade system, parent→child communication uses exposeToChildren()
7
+ * from useBlade(), which registers methods in the blade messaging system.
8
+ *
9
+ * Only transforms files that have defineOptions/defineBlade (blade pages).
10
+ */
11
+ function coreTransform(fileInfo, api, _options) {
12
+ const j = api.jscodeshift;
13
+ const root = j(fileInfo.source);
14
+ // Only process blade pages
15
+ const isBladePage = root.find(j.CallExpression, { callee: { name: "defineOptions" } }).size() > 0 ||
16
+ root.find(j.CallExpression, { callee: { name: "defineBlade" } }).size() > 0;
17
+ if (!isBladePage)
18
+ return null;
19
+ // Find defineExpose calls
20
+ const exposes = root.find(j.CallExpression, { callee: { name: "defineExpose" } });
21
+ if (exposes.size() === 0)
22
+ return null;
23
+ let modified = false;
24
+ // Replace defineExpose → exposeToChildren
25
+ exposes.forEach((path) => {
26
+ if (path.node.callee.type === "Identifier") {
27
+ path.node.callee.name = "exposeToChildren";
28
+ modified = true;
29
+ }
30
+ });
31
+ if (!modified)
32
+ return null;
33
+ // Add exposeToChildren to useBlade() destructuring if not already there
34
+ const useBladeDecls = root.find(j.VariableDeclaration).filter((path) => {
35
+ return (j(path)
36
+ .find(j.CallExpression, { callee: { name: "useBlade" } })
37
+ .size() > 0);
38
+ });
39
+ if (useBladeDecls.size() > 0) {
40
+ const decl = useBladeDecls.at(0).get().node.declarations[0];
41
+ if (decl.id.type === "ObjectPattern") {
42
+ const hasExposeToChildren = decl.id.properties.some((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "exposeToChildren");
43
+ if (!hasExposeToChildren) {
44
+ const prop = j.objectProperty(j.identifier("exposeToChildren"), j.identifier("exposeToChildren"));
45
+ prop.shorthand = true;
46
+ decl.id.properties.push(prop);
47
+ }
48
+ }
49
+ }
50
+ else {
51
+ // No useBlade() call exists — need to add import + call
52
+ // Add to framework import
53
+ const frameworkImports = root.find(j.ImportDeclaration, {
54
+ source: { value: "@vc-shell/framework" },
55
+ });
56
+ let hasUseBlade = false;
57
+ frameworkImports.forEach((path) => {
58
+ const specifiers = path.node.specifiers || [];
59
+ if (specifiers.some((s) => s.type === "ImportSpecifier" && s.imported?.name === "useBlade")) {
60
+ hasUseBlade = true;
61
+ }
62
+ });
63
+ if (!hasUseBlade && frameworkImports.size() > 0) {
64
+ const firstImport = frameworkImports.at(0).get();
65
+ const specifiers = firstImport.node.specifiers || [];
66
+ specifiers.push(j.importSpecifier(j.identifier("useBlade")));
67
+ }
68
+ // Add const { exposeToChildren } = useBlade(); after last import
69
+ const imports = root.find(j.ImportDeclaration);
70
+ if (imports.size() > 0) {
71
+ const prop = j.objectProperty(j.identifier("exposeToChildren"), j.identifier("exposeToChildren"));
72
+ prop.shorthand = true;
73
+ const decl = j.variableDeclaration("const", [
74
+ j.variableDeclarator(j.objectPattern([prop]), j.callExpression(j.identifier("useBlade"), [])),
75
+ ]);
76
+ j(imports.at(-1).get()).insertAfter(decl);
77
+ }
78
+ }
79
+ return root.toSource();
80
+ }
81
+ export default wrapForSFC(coreTransform);
82
+ export const parser = "tsx";
83
+ //# sourceMappingURL=define-expose-to-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-expose-to-children.js","sourceRoot":"","sources":["../../src/transforms/define-expose-to-children.ts"],"names":[],"mappings":"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"}
@@ -108,7 +108,7 @@ function coreTransform(fileInfo, api, _options) {
108
108
  }
109
109
  });
110
110
  if (modified) {
111
- console.log(` ✅ ${fileInfo.path}: Migrated useDynamicProperties() to options API`);
111
+ api.report(` ✅ ${fileInfo.path}: Migrated useDynamicProperties() to options API`);
112
112
  }
113
113
  if (!modified)
114
114
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-properties-refactor.js","sourceRoot":"","sources":["../../src/transforms/dynamic-properties-refactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-properties-refactor.js","sourceRoot":"","sources":["../../src/transforms/dynamic-properties-refactor.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,33 @@
1
- const ICON_SUGGESTIONS = {
2
- "fa-check": "check (Material Symbols)",
3
- "fa-times": "close (Material Symbols)",
4
- "fa-plus": "add (Material Symbols)",
5
- "fa-edit": "edit (Material Symbols)",
6
- "fa-trash": "delete (Material Symbols)",
7
- "fa-trash-alt": "delete (Material Symbols)",
8
- "fa-search": "search (Material Symbols)",
9
- "fa-save": "save (Material Symbols)",
10
- "fa-cog": "settings (Material Symbols)",
11
- "fa-user": "person (Material Symbols)",
12
- "fa-download": "download (Material Symbols)",
13
- "fa-upload": "upload (Material Symbols)",
14
- "fa-chevron-right": "chevron_right (Material Symbols)",
15
- "fa-chevron-left": "chevron_left (Material Symbols)",
16
- "fa-arrow-left": "arrow_back (Material Symbols)",
17
- };
1
+ /**
2
+ * Detect non-lucide icons (material-, bi-, fa-) and report them for AI migration.
3
+ * Does NOT suggest replacements — the AI migration-agent picks the best lucide
4
+ * equivalent based on context and icon semantics.
5
+ */
18
6
  const FA_PATTERN = /\b(?:fas?|far|fal|fab)\s+(fa-[\w-]+)/g;
7
+ const MATERIAL_PATTERN = /["'](material-[\w-]+)["']/g;
8
+ const BI_PATTERN = /["'](bi-[\w-]+)["']/g;
19
9
  const transform = (fileInfo, api, _options) => {
20
10
  const text = fileInfo.source;
21
- FA_PATTERN.lastIndex = 0;
22
11
  const icons = [];
12
+ FA_PATTERN.lastIndex = 0;
23
13
  let match;
24
14
  while ((match = FA_PATTERN.exec(text)) !== null) {
25
- icons.push(match[1]);
15
+ icons.push({ icon: match[1], pack: "Font Awesome" });
16
+ }
17
+ MATERIAL_PATTERN.lastIndex = 0;
18
+ while ((match = MATERIAL_PATTERN.exec(text)) !== null) {
19
+ icons.push({ icon: match[1], pack: "Material" });
20
+ }
21
+ BI_PATTERN.lastIndex = 0;
22
+ while ((match = BI_PATTERN.exec(text)) !== null) {
23
+ icons.push({ icon: match[1], pack: "Bootstrap" });
26
24
  }
27
25
  if (icons.length > 0) {
28
- for (const icon of icons) {
29
- const suggestion = ICON_SUGGESTIONS[icon];
30
- const hint = suggestion ? ` → suggested: ${suggestion}` : "";
31
- api.report(`${fileInfo.path}: ${icon}${hint}`);
26
+ for (const { icon, pack } of icons) {
27
+ api.report(`${fileInfo.path}: [${pack}] ${icon} → replace with lucide- equivalent`);
32
28
  }
33
29
  }
34
- return null; // Never modify
30
+ return null; // diagnostic-only — never modify
35
31
  };
36
32
  export default transform;
37
33
  export const parser = "tsx";
@@ -1 +1 @@
1
- {"version":3,"file":"icon-audit.js","sourceRoot":"","sources":["../../src/transforms/icon-audit.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAA2B;IAC/C,UAAU,EAAE,0BAA0B;IACtC,UAAU,EAAE,0BAA0B;IACtC,SAAS,EAAE,wBAAwB;IACnC,SAAS,EAAE,yBAAyB;IACpC,UAAU,EAAE,2BAA2B;IACvC,cAAc,EAAE,2BAA2B;IAC3C,WAAW,EAAE,2BAA2B;IACxC,SAAS,EAAE,yBAAyB;IACpC,QAAQ,EAAE,6BAA6B;IACvC,SAAS,EAAE,2BAA2B;IACtC,aAAa,EAAE,6BAA6B;IAC5C,WAAW,EAAE,2BAA2B;IACxC,kBAAkB,EAAE,kCAAkC;IACtD,iBAAiB,EAAE,iCAAiC;IACpD,eAAe,EAAE,+BAA+B;CACjD,CAAC;AAEF,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAE3D,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7B,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,eAAe;AAC9B,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"icon-audit.js","sourceRoot":"","sources":["../../src/transforms/icon-audit.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAC3D,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AACtD,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7B,MAAM,KAAK,GAA0C,EAAE,CAAC;IAExD,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;IACzB,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,MAAM,IAAI,KAAK,IAAI,oCAAoC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,iCAAiC;AAChD,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Transform } from "./types.js";
2
+ declare const transform: Transform;
3
+ export default transform;
4
+ export declare const parser = "tsx";
@@ -0,0 +1,23 @@
1
+ const OLD_PREFIX = "@vc-shell/framework/dist/locales/";
2
+ const transform = (fileInfo, api, _options) => {
3
+ const j = api.jscodeshift;
4
+ const root = j(fileInfo.source);
5
+ let modified = false;
6
+ root.find(j.ImportDeclaration).forEach((path) => {
7
+ const source = path.node.source.value;
8
+ if (typeof source !== "string")
9
+ return;
10
+ if (!source.startsWith(OLD_PREFIX))
11
+ return;
12
+ const filename = source.slice(OLD_PREFIX.length);
13
+ const localeName = filename.replace(/\.json$/, "");
14
+ path.node.source.value = `@vc-shell/framework/locales/${localeName}`;
15
+ modified = true;
16
+ });
17
+ if (!modified)
18
+ return null;
19
+ return root.toSource();
20
+ };
21
+ export default transform;
22
+ export const parser = "tsx";
23
+ //# sourceMappingURL=locale-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-imports.js","sourceRoot":"","sources":["../../src/transforms/locale-imports.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,mCAAmC,CAAC;AAEvD,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO;QACvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QAE3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,+BAA+B,UAAU,EAAE,CAAC;QACrE,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
@@ -4,6 +4,13 @@ import { resolve, dirname } from "node:path";
4
4
  const __dirname = dirname(fileURLToPath(import.meta.url));
5
5
  const t = (name) => resolve(__dirname, `${name}.js`);
6
6
  export const transforms = [
7
+ {
8
+ name: "remove-release-config",
9
+ description: "Remove deprecated @vc-shell/release-config and scripts/release.ts",
10
+ introducedIn: "2.0.0",
11
+ scope: "project",
12
+ transformPath: t("remove-release-config"),
13
+ },
7
14
  {
8
15
  name: "define-app-module",
9
16
  description: "createAppModule(pages, locales) → defineAppModule({...})",
@@ -42,6 +49,16 @@ export const transforms = [
42
49
  description: "Remove boilerplate expanded/closable props and blade event emits",
43
50
  introducedIn: "2.0.0",
44
51
  transformPath: t("blade-props-simplification"),
52
+ after: ["define-options-to-blade"],
53
+ },
54
+ {
55
+ name: "define-expose-to-children",
56
+ description: "defineExpose() → exposeToChildren() from useBlade() in blade pages",
57
+ introducedIn: "2.0.0",
58
+ migrationGuideSection: "Guide 11",
59
+ transformPath: t("define-expose-to-children"),
60
+ fileExtensions: [".vue"],
61
+ after: ["define-options-to-blade"],
45
62
  },
46
63
  {
47
64
  name: "define-options-to-blade",
@@ -50,10 +67,11 @@ export const transforms = [
50
67
  migrationGuideSection: "defineBlade macro",
51
68
  transformPath: t("define-options-to-blade"),
52
69
  fileExtensions: [".vue"],
70
+ after: ["use-blade-migration"],
53
71
  },
54
72
  {
55
73
  name: "icon-audit",
56
- description: "Detect Font Awesome icons, report with suggested replacements (diagnostic-only)",
74
+ description: "Detect non-lucide icons (material-/bi-/fa-) and suggest lucide replacements (diagnostic-only)",
57
75
  introducedIn: "2.0.0",
58
76
  diagnosticOnly: true,
59
77
  migrationGuideSection: "Section 2",
@@ -133,6 +151,15 @@ export const transforms = [
133
151
  diagnosticOnly: true,
134
152
  transformPath: t("manual-migration-audit"),
135
153
  },
154
+ {
155
+ name: "vctable-audit",
156
+ description: "Detect <VcTable> usage for migration to <VcDataTable> (diagnostic-only)",
157
+ introducedIn: "2.0.0",
158
+ diagnosticOnly: true,
159
+ migrationGuideSection: "VcTable → VcDataTable",
160
+ transformPath: t("vctable-audit"),
161
+ fileExtensions: [".vue"],
162
+ },
136
163
  {
137
164
  name: "nswag-class-to-interface",
138
165
  description: "Migrate consumer code from NSwag class-based to interface-based DTOs",
@@ -147,6 +174,14 @@ export const transforms = [
147
174
  migrationGuideSection: "Guide 32",
148
175
  transformPath: t("use-assets-migration"),
149
176
  },
177
+ {
178
+ name: "replace-cover-method",
179
+ description: "openBlade({ replaceCurrentBlade: true }) → coverWith()",
180
+ introducedIn: "2.0.0",
181
+ migrationGuideSection: "Guide 12",
182
+ transformPath: t("replace-cover-method"),
183
+ fileExtensions: [".vue", ".ts"],
184
+ },
150
185
  {
151
186
  name: "app-hub-rename",
152
187
  description: "disableAppSwitcher → disableAppHub, #app-switcher → #app-hub, useAppSwitcher → useAppHub",
@@ -172,6 +207,22 @@ export const transforms = [
172
207
  transformPath: t("use-blade-form"),
173
208
  fileExtensions: [".vue"],
174
209
  },
210
+ {
211
+ name: "remove-pathmatch-route",
212
+ description: "Remove /:pathMatch(.*)* catch-all route (now built into framework)",
213
+ introducedIn: "2.0.0",
214
+ transformPath: t("remove-pathmatch-route"),
215
+ fileExtensions: [".ts"],
216
+ after: ["use-blade-migration"],
217
+ },
218
+ {
219
+ name: "locale-imports",
220
+ description: "@vc-shell/framework/dist/locales/*.json → @vc-shell/framework/locales/*",
221
+ introducedIn: "2.0.0",
222
+ migrationGuideSection: "Guide 33",
223
+ transformPath: t("locale-imports"),
224
+ fileExtensions: [".ts"],
225
+ },
175
226
  {
176
227
  name: "dynamic-properties-refactor",
177
228
  description: "useDynamicProperties<A,B,C,D,E>(fn, Class, Class, fn) → useDynamicProperties({ searchDictionary, searchMeasurements })",
@@ -180,6 +231,14 @@ export const transforms = [
180
231
  transformPath: t("dynamic-properties-refactor"),
181
232
  fileExtensions: [".vue"],
182
233
  },
234
+ {
235
+ name: "window-globals",
236
+ description: "Detect removed window.Vue/window._/window.moment globals",
237
+ introducedIn: "2.0.0",
238
+ diagnosticOnly: true,
239
+ migrationGuideSection: "Guide 04",
240
+ transformPath: t("window-globals"),
241
+ },
183
242
  ];
184
243
  export function selectTransforms(currentVersion, targetVersion) {
185
244
  const current = semver.parse(currentVersion);
@@ -192,7 +251,23 @@ export function selectTransforms(currentVersion, targetVersion) {
192
251
  const introduced = semver.parse(t.introducedIn);
193
252
  if (!introduced)
194
253
  return false;
195
- return semver.lt(currentVersion, t.introducedIn) && semver.lte(t.introducedIn, targetVersion);
254
+ if (!semver.lt(currentVersion, t.introducedIn))
255
+ return false;
256
+ // Normal case: introducedIn <= targetVersion
257
+ if (semver.lte(t.introducedIn, targetVersion))
258
+ return true;
259
+ // Special case: target is a prerelease (e.g. 2.0.0-alpha.32) and introducedIn
260
+ // is the corresponding stable release (e.g. 2.0.0) with no prerelease tag.
261
+ // Prereleases are on the path to that release, so include the transform.
262
+ // Without this, semver.lte("2.0.0", "2.0.0-alpha.32") returns false.
263
+ if (target.prerelease.length > 0 &&
264
+ introduced.prerelease.length === 0 &&
265
+ target.major === introduced.major &&
266
+ target.minor === introduced.minor &&
267
+ target.patch === introduced.patch) {
268
+ return true;
269
+ }
270
+ return false;
196
271
  });
197
272
  }
198
273
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/transforms/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/transforms/registry.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
2
  const RENAME_MAP = {
3
3
  navigationViewLocation: "NavigationViewLocationKey",
4
- BladeInstance: "BladeInstanceKey",
5
4
  BLADE_BACK_BUTTON: "BladeBackButtonKey",
6
5
  TOOLBAR_SERVICE: "ToolbarServiceKey",
7
6
  EMBEDDED_MODE: "EmbeddedModeKey",
7
+ NotificationTemplatesSymbol: "NotificationTemplatesKey",
8
+ };
9
+ // Symbols that require manual migration (API changed, not just renamed)
10
+ const MANUAL_MIGRATION = {
11
+ BladeInstance: "inject(BladeInstance) removed. Use `useBlade()` composable instead — blade context is now provided by useBlade(). See migration guide.",
8
12
  };
9
13
  function coreTransform(fileInfo, api, _options) {
10
14
  const j = api.jscodeshift;
@@ -21,6 +25,13 @@ function coreTransform(fileInfo, api, _options) {
21
25
  renames.push({ old: name, new: RENAME_MAP[name] });
22
26
  }
23
27
  });
28
+ // Check for symbols requiring manual migration
29
+ frameworkImports.find(j.ImportSpecifier).forEach((path) => {
30
+ const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
31
+ if (MANUAL_MIGRATION[name]) {
32
+ api.report(`${fileInfo.path}: ${MANUAL_MIGRATION[name]}`);
33
+ }
34
+ });
24
35
  if (renames.length === 0)
25
36
  return null;
26
37
  for (const r of renames) {
@@ -1 +1 @@
1
- {"version":3,"file":"remove-deprecated-aliases.js","sourceRoot":"","sources":["../../src/transforms/remove-deprecated-aliases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,MAAM,UAAU,GAA2B;IACzC,sBAAsB,EAAE,2BAA2B;IACnD,aAAa,EAAE,kBAAkB;IACjC,iBAAiB,EAAE,oBAAoB;IACvC,eAAe,EAAE,mBAAmB;IACpC,aAAa,EAAE,iBAAiB;CACjC,CAAC;AAEF,SAAS,aAAa,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB;IACpE,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE;QACtD,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;KACzC,CAAC,CAAC;IACH,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,eAAe,UAAU,CAAC,aAAa,CAAc,CAAC;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"remove-deprecated-aliases.js","sourceRoot":"","sources":["../../src/transforms/remove-deprecated-aliases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,MAAM,UAAU,GAA2B;IACzC,sBAAsB,EAAE,2BAA2B;IACnD,iBAAiB,EAAE,oBAAoB;IACvC,eAAe,EAAE,mBAAmB;IACpC,aAAa,EAAE,iBAAiB;IAChC,2BAA2B,EAAE,0BAA0B;CACxD,CAAC;AAEF,wEAAwE;AACxE,MAAM,gBAAgB,GAA2B;IAC/C,aAAa,EACX,wIAAwI;CAC3I,CAAC;AAEF,SAAS,aAAa,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB;IACpE,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE;QACtD,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;KACzC,CAAC,CAAC;IACH,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,+CAA+C;IAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,eAAe,UAAU,CAAC,aAAa,CAAc,CAAC;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Transform } from "./types.js";
2
+ /**
3
+ * Remove the catch-all `/:pathMatch(.*)*` route entry from router/routes.ts.
4
+ * The framework now handles this internally.
5
+ *
6
+ * Targets:
7
+ * ```ts
8
+ * {
9
+ * path: "/:pathMatch(.*)*",
10
+ * component: App,
11
+ * beforeEnter: async (to) => { ... },
12
+ * }
13
+ * ```
14
+ */
15
+ declare const transform: Transform;
16
+ export default transform;
17
+ export declare const parser = "tsx";
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Remove the catch-all `/:pathMatch(.*)*` route entry from router/routes.ts.
3
+ * The framework now handles this internally.
4
+ *
5
+ * Targets:
6
+ * ```ts
7
+ * {
8
+ * path: "/:pathMatch(.*)*",
9
+ * component: App,
10
+ * beforeEnter: async (to) => { ... },
11
+ * }
12
+ * ```
13
+ */
14
+ const transform = (fileInfo, api, _options) => {
15
+ // Only process route files
16
+ if (!fileInfo.path.includes("route"))
17
+ return null;
18
+ const j = api.jscodeshift;
19
+ const root = j(fileInfo.source);
20
+ let modified = false;
21
+ // Find array elements that are ObjectExpressions with path: "/:pathMatch(.*)*"
22
+ root.find(j.ObjectExpression).forEach((path) => {
23
+ const props = path.node.properties;
24
+ const pathProp = props.find((p) => p.type === "ObjectProperty" &&
25
+ p.key.type === "Identifier" &&
26
+ p.key.name === "path" &&
27
+ p.value.type === "StringLiteral" &&
28
+ p.value.value.includes(":pathMatch"));
29
+ if (!pathProp)
30
+ return;
31
+ // Remove this element from parent array
32
+ const parent = path.parent;
33
+ if (parent.node.type === "ArrayExpression") {
34
+ const idx = parent.node.elements.indexOf(path.node);
35
+ if (idx !== -1) {
36
+ parent.node.elements.splice(idx, 1);
37
+ modified = true;
38
+ }
39
+ }
40
+ });
41
+ if (!modified)
42
+ return null;
43
+ // Clean up: remove unused imports that were only used in the pathMatch route
44
+ // Common: useBlade, routeResolver
45
+ const source = root.toSource();
46
+ // Re-parse to check for unused imports
47
+ const root2 = j(source);
48
+ // Check if useBlade is still used anywhere besides import
49
+ const useBladeUsages = root2
50
+ .find(j.Identifier, { name: "useBlade" })
51
+ .filter((p) => p.parent.node.type !== "ImportSpecifier");
52
+ if (useBladeUsages.size() === 0) {
53
+ // Remove useBlade from framework import
54
+ root2.find(j.ImportDeclaration, { source: { value: "@vc-shell/framework" } }).forEach((importPath) => {
55
+ const specifiers = importPath.node.specifiers ?? [];
56
+ const remaining = specifiers.filter((spec) => {
57
+ if (spec.type !== "ImportSpecifier")
58
+ return true;
59
+ const name = spec.imported.type === "Identifier" ? spec.imported.name : "";
60
+ return name !== "useBlade";
61
+ });
62
+ if (remaining.length === 0) {
63
+ j(importPath).remove();
64
+ }
65
+ else {
66
+ importPath.node.specifiers = remaining;
67
+ }
68
+ });
69
+ }
70
+ return root2.toSource();
71
+ };
72
+ export default transform;
73
+ export const parser = "tsx";
74
+ //# sourceMappingURL=remove-pathmatch-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-pathmatch-route.js","sourceRoot":"","sources":["../../src/transforms/remove-pathmatch-route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Transform } from "./types.js";
2
+ declare const transform: Transform;
3
+ export default transform;
4
+ export declare const parser = "tsx";
@@ -0,0 +1,58 @@
1
+ import { readFileSync, writeFileSync, existsSync, unlinkSync, readdirSync, rmdirSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ const PACKAGE_NAME = "@vc-shell/release-config";
4
+ const transform = (_fileInfo, api, options) => {
5
+ const cwd = options.cwd ?? ".";
6
+ const dryRun = options.dryRun ?? false;
7
+ const pkgPath = join(cwd, "package.json");
8
+ if (!existsSync(pkgPath))
9
+ return null;
10
+ const pkgContent = readFileSync(pkgPath, "utf-8");
11
+ const pkg = JSON.parse(pkgContent);
12
+ const hasReleaseConfig = pkg.devDependencies?.[PACKAGE_NAME] || pkg.dependencies?.[PACKAGE_NAME];
13
+ if (!hasReleaseConfig)
14
+ return null;
15
+ // 1. Remove from devDependencies / dependencies
16
+ if (pkg.devDependencies?.[PACKAGE_NAME]) {
17
+ delete pkg.devDependencies[PACKAGE_NAME];
18
+ api.report(`Removed ${PACKAGE_NAME} from devDependencies`);
19
+ }
20
+ if (pkg.dependencies?.[PACKAGE_NAME]) {
21
+ delete pkg.dependencies[PACKAGE_NAME];
22
+ api.report(`Removed ${PACKAGE_NAME} from dependencies`);
23
+ }
24
+ // 2. Remove "release" script if it references release-config or scripts/release
25
+ if (pkg.scripts?.release) {
26
+ const releaseScript = pkg.scripts.release;
27
+ if (releaseScript.includes("release-config") || releaseScript.includes("scripts/release")) {
28
+ delete pkg.scripts.release;
29
+ api.report(`Removed "release" script from package.json`);
30
+ }
31
+ }
32
+ if (!dryRun) {
33
+ writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n", "utf-8");
34
+ }
35
+ // 3. Remove scripts/release.ts
36
+ const scriptsDir = join(cwd, "scripts");
37
+ const releaseFile = join(scriptsDir, "release.ts");
38
+ if (existsSync(releaseFile)) {
39
+ if (!dryRun) {
40
+ unlinkSync(releaseFile);
41
+ }
42
+ api.report(`Deleted scripts/release.ts`);
43
+ // Remove scripts/ directory if empty
44
+ if (existsSync(scriptsDir)) {
45
+ const remaining = readdirSync(scriptsDir);
46
+ if (remaining.length === 0) {
47
+ if (!dryRun) {
48
+ rmdirSync(scriptsDir);
49
+ }
50
+ api.report(`Deleted empty scripts/ directory`);
51
+ }
52
+ }
53
+ }
54
+ return null; // Changes done via direct file I/O
55
+ };
56
+ export default transform;
57
+ export const parser = "tsx";
58
+ //# sourceMappingURL=remove-release-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-release-config.js","sourceRoot":"","sources":["../../src/transforms/remove-release-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Transform } from "./types.js";
2
+ declare const _default: Transform;
3
+ export default _default;
4
+ export declare const parser = "tsx";