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

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 (51) hide show
  1. package/CHANGELOG.md +96 -58
  2. package/README.md +65 -40
  3. package/dist/baseline-versions.d.ts +11 -0
  4. package/dist/baseline-versions.js +52 -0
  5. package/dist/baseline-versions.js.map +1 -0
  6. package/dist/dep-updater.d.ts +7 -0
  7. package/dist/dep-updater.js +44 -15
  8. package/dist/dep-updater.js.map +1 -1
  9. package/dist/file-scanner.js.map +1 -1
  10. package/dist/report-generator.js +41 -1
  11. package/dist/report-generator.js.map +1 -1
  12. package/dist/runner.js +123 -109
  13. package/dist/runner.js.map +1 -1
  14. package/dist/transforms/blade-events-cleanup.d.ts +4 -0
  15. package/dist/transforms/blade-events-cleanup.js +50 -0
  16. package/dist/transforms/blade-events-cleanup.js.map +1 -0
  17. package/dist/transforms/blade-props-simplification.js.map +1 -1
  18. package/dist/transforms/define-app-module.js.map +1 -1
  19. package/dist/transforms/define-expose-to-children.js +18 -4
  20. package/dist/transforms/define-expose-to-children.js.map +1 -1
  21. package/dist/transforms/icon-replace.d.ts +4 -0
  22. package/dist/transforms/icon-replace.js +108 -0
  23. package/dist/transforms/icon-replace.js.map +1 -0
  24. package/dist/transforms/registry.js +57 -2
  25. package/dist/transforms/registry.js.map +1 -1
  26. package/dist/transforms/remove-app-module-options.d.ts +16 -0
  27. package/dist/transforms/remove-app-module-options.js +50 -0
  28. package/dist/transforms/remove-app-module-options.js.map +1 -0
  29. package/dist/transforms/remove-expose-title.d.ts +4 -0
  30. package/dist/transforms/remove-expose-title.js +52 -0
  31. package/dist/transforms/remove-expose-title.js.map +1 -0
  32. package/dist/transforms/remove-global-components.d.ts +8 -0
  33. package/dist/transforms/remove-global-components.js +236 -0
  34. package/dist/transforms/remove-global-components.js.map +1 -0
  35. package/dist/transforms/replace-cover-method.js +2 -6
  36. package/dist/transforms/replace-cover-method.js.map +1 -1
  37. package/dist/transforms/use-blade-form.js +2 -2
  38. package/dist/transforms/use-blade-form.js.map +1 -1
  39. package/dist/transforms/use-data-table-pagination-audit.d.ts +4 -0
  40. package/dist/transforms/use-data-table-pagination-audit.js +42 -0
  41. package/dist/transforms/use-data-table-pagination-audit.js.map +1 -0
  42. package/dist/transforms/vc-blade-loading-prop.d.ts +4 -0
  43. package/dist/transforms/vc-blade-loading-prop.js +89 -0
  44. package/dist/transforms/vc-blade-loading-prop.js.map +1 -0
  45. package/dist/transforms/widgets-migration.js +3 -2
  46. package/dist/transforms/widgets-migration.js.map +1 -1
  47. package/dist/utils/import-dedup.js +1 -1
  48. package/dist/utils/import-dedup.js.map +1 -1
  49. package/dist/utils/test-helpers.js +17 -1
  50. package/dist/utils/test-helpers.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +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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"}
1
+ {"version":3,"file":"define-expose-to-children.js","sourceRoot":"","sources":["../../src/transforms/define-expose-to-children.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,108 @@
1
+ /**
2
+ * Mechanically replace well-known non-lucide icons with lucide equivalents.
3
+ * Only replaces icons that have an unambiguous 1:1 mapping.
4
+ * Unknown icons are left for the AI migration-agent (reported by icon-audit).
5
+ */
6
+ const REPLACEMENTS = {
7
+ "material-add": "lucide-plus",
8
+ "material-refresh": "lucide-refresh-cw",
9
+ "material-delete": "lucide-trash-2",
10
+ "material-save": "lucide-save",
11
+ "material-send": "lucide-send",
12
+ "material-edit": "lucide-pencil",
13
+ "material-edit_square": "lucide-square-pen",
14
+ "material-mail": "lucide-mail",
15
+ "material-schedule": "lucide-clock",
16
+ "material-person_add": "lucide-user-plus",
17
+ "material-content_copy": "lucide-copy",
18
+ "material-close": "lucide-x",
19
+ "material-check": "lucide-check",
20
+ "material-search": "lucide-search",
21
+ "material-settings": "lucide-settings",
22
+ "material-file_export": "lucide-file-output",
23
+ "material-inventory_2": "lucide-package",
24
+ "material-how_to_reg": "lucide-user-check",
25
+ "material-person": "lucide-user",
26
+ "material-group": "lucide-users",
27
+ "material-visibility": "lucide-eye",
28
+ "material-visibility_off": "lucide-eye-off",
29
+ "material-info": "lucide-info",
30
+ "material-warning": "lucide-alert-triangle",
31
+ "material-error": "lucide-alert-circle",
32
+ "material-help": "lucide-help-circle",
33
+ "material-arrow_back": "lucide-arrow-left",
34
+ "material-arrow_forward": "lucide-arrow-right",
35
+ "material-expand_more": "lucide-chevron-down",
36
+ "material-expand_less": "lucide-chevron-up",
37
+ "material-more_vert": "lucide-more-vertical",
38
+ "material-more_horiz": "lucide-more-horizontal",
39
+ "material-filter_list": "lucide-filter",
40
+ "material-sort": "lucide-arrow-up-down",
41
+ "material-link": "lucide-link",
42
+ "material-open_in_new": "lucide-external-link",
43
+ "material-lock": "lucide-lock",
44
+ "material-lock_open": "lucide-unlock",
45
+ "material-star": "lucide-star",
46
+ "material-favorite": "lucide-heart",
47
+ "material-shopping_cart": "lucide-shopping-cart",
48
+ "material-dashboard": "lucide-layout-dashboard",
49
+ "material-home": "lucide-home",
50
+ "material-list": "lucide-list",
51
+ "material-calendar_today": "lucide-calendar",
52
+ "material-image": "lucide-image",
53
+ "material-photo": "lucide-image",
54
+ "material-play_arrow": "lucide-play",
55
+ "material-pause": "lucide-pause",
56
+ "material-stop": "lucide-square",
57
+ "material-receipt": "lucide-receipt",
58
+ "fa-check": "lucide-check",
59
+ "fa-times": "lucide-x",
60
+ "fa-plus": "lucide-plus",
61
+ "fa-edit": "lucide-pencil",
62
+ "fa-trash": "lucide-trash-2",
63
+ "fa-trash-alt": "lucide-trash-2",
64
+ "fa-search": "lucide-search",
65
+ "fa-save": "lucide-save",
66
+ "fa-cog": "lucide-settings",
67
+ "fa-user": "lucide-user",
68
+ "fa-download": "lucide-download",
69
+ "fa-upload": "lucide-upload",
70
+ "bi-plus": "lucide-plus",
71
+ "bi-trash": "lucide-trash-2",
72
+ "bi-pencil": "lucide-pencil",
73
+ "bi-search": "lucide-search",
74
+ "bi-x": "lucide-x",
75
+ "bi-check": "lucide-check",
76
+ "bi-gear": "lucide-settings",
77
+ "bi-person": "lucide-user",
78
+ };
79
+ const transform = (fileInfo, api, _options) => {
80
+ let source = fileInfo.source;
81
+ let count = 0;
82
+ for (const [oldIcon, newIcon] of Object.entries(REPLACEMENTS)) {
83
+ const escaped = oldIcon.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
84
+ const pattern = new RegExp(`(["'])${escaped}\\1`, "g");
85
+ if (pattern.test(source)) {
86
+ pattern.lastIndex = 0;
87
+ source = source.replace(pattern, `$1${newIcon}$1`);
88
+ count++;
89
+ }
90
+ }
91
+ // Handle FA class syntax: "fas fa-check" → "lucide-check"
92
+ source = source.replace(/["'](?:fas?|far|fal|fab)\s+(fa-[\w-]+)["']/g, (match, faIcon) => {
93
+ const replacement = REPLACEMENTS[faIcon];
94
+ if (replacement) {
95
+ count++;
96
+ const quote = match[0];
97
+ return `${quote}${replacement}${quote}`;
98
+ }
99
+ return match;
100
+ });
101
+ if (count === 0)
102
+ return null;
103
+ api.report(`${fileInfo.path}: Replaced ${count} icon(s) with lucide equivalents`);
104
+ return source;
105
+ };
106
+ export default transform;
107
+ export const parser = "tsx";
108
+ //# sourceMappingURL=icon-replace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-replace.js","sourceRoot":"","sources":["../../src/transforms/icon-replace.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,14 @@ export const transforms = [
60
60
  fileExtensions: [".vue"],
61
61
  after: ["define-options-to-blade"],
62
62
  },
63
+ {
64
+ name: "blade-events-cleanup",
65
+ description: "Remove @parent:call, @close:blade, @collapse:blade, @expand:blade from all .vue files",
66
+ introducedIn: "2.0.0",
67
+ transformPath: t("blade-events-cleanup"),
68
+ fileExtensions: [".vue"],
69
+ after: ["blade-props-simplification"],
70
+ },
63
71
  {
64
72
  name: "define-options-to-blade",
65
73
  description: "defineOptions() → defineBlade() for blade pages (removes notifyType)",
@@ -69,6 +77,12 @@ export const transforms = [
69
77
  fileExtensions: [".vue"],
70
78
  after: ["use-blade-migration"],
71
79
  },
80
+ {
81
+ name: "icon-replace",
82
+ description: "Replace well-known material-/bi-/fa- icons with lucide equivalents",
83
+ introducedIn: "2.0.0",
84
+ transformPath: t("icon-replace"),
85
+ },
72
86
  {
73
87
  name: "icon-audit",
74
88
  description: "Detect non-lucide icons (material-/bi-/fa-) and suggest lucide replacements (diagnostic-only)",
@@ -76,6 +90,7 @@ export const transforms = [
76
90
  diagnosticOnly: true,
77
91
  migrationGuideSection: "Section 2",
78
92
  transformPath: t("icon-audit"),
93
+ after: ["icon-replace"],
79
94
  },
80
95
  {
81
96
  name: "scss-safe-use",
@@ -200,12 +215,12 @@ export const transforms = [
200
215
  },
201
216
  {
202
217
  name: "use-blade-form",
203
- description: "Detect useForm + useBeforeUnload patterns for migration to useBladeForm()",
218
+ description: "Detect useForm + useBeforeUnload + useModificationTracker patterns for migration to useBladeForm()",
204
219
  introducedIn: "2.0.0-alpha.31",
205
220
  diagnosticOnly: true,
206
221
  migrationGuideSection: "Guide 37",
207
222
  transformPath: t("use-blade-form"),
208
- fileExtensions: [".vue"],
223
+ fileExtensions: [".vue", ".ts"],
209
224
  },
210
225
  {
211
226
  name: "remove-pathmatch-route",
@@ -239,6 +254,46 @@ export const transforms = [
239
254
  migrationGuideSection: "Guide 04",
240
255
  transformPath: t("window-globals"),
241
256
  },
257
+ {
258
+ name: "remove-global-components",
259
+ description: "Add explicit imports for globally registered Vc* components and directives",
260
+ introducedIn: "2.0.0-alpha.32",
261
+ migrationGuideSection: "Guide 40",
262
+ transformPath: t("remove-global-components"),
263
+ fileExtensions: [".vue"],
264
+ },
265
+ {
266
+ name: "remove-expose-title",
267
+ description: "Remove deprecated `title` from exposeToChildren({...}) — computed refs no longer allowed",
268
+ introducedIn: "2.0.0-alpha.33",
269
+ transformPath: t("remove-expose-title"),
270
+ fileExtensions: [".vue", ".ts"],
271
+ after: ["define-expose-to-children"],
272
+ },
273
+ {
274
+ name: "remove-app-module-options",
275
+ description: "Remove `{ router }` second argument from .use(AppModule, { router }) — defineAppModule takes no options",
276
+ introducedIn: "2.0.0-alpha.33",
277
+ transformPath: t("remove-app-module-options"),
278
+ fileExtensions: [".ts"],
279
+ after: ["define-app-module"],
280
+ },
281
+ {
282
+ name: "vc-blade-loading-prop",
283
+ description: 'Convert <VcBlade v-loading="X"> to <VcBlade :loading="X"> — use built-in blade loading prop',
284
+ introducedIn: "2.0.0-alpha.33",
285
+ transformPath: t("vc-blade-loading-prop"),
286
+ fileExtensions: [".vue"],
287
+ },
288
+ {
289
+ name: "use-data-table-pagination-audit",
290
+ description: "Detect manual pagination boilerplate (totalCount/pages/currentPage triple, onPaginationClick) — migrate to useDataTablePagination",
291
+ introducedIn: "2.0.0-alpha.33",
292
+ diagnosticOnly: true,
293
+ migrationGuideSection: "Guide 41",
294
+ transformPath: t("use-data-table-pagination-audit"),
295
+ fileExtensions: [".ts", ".vue"],
296
+ },
242
297
  ];
243
298
  export function selectTransforms(currentVersion, targetVersion) {
244
299
  const current = semver.parse(currentVersion);
@@ -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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"}
@@ -0,0 +1,16 @@
1
+ import type { Transform } from "./types.js";
2
+ /**
3
+ * Remove `{ router }` second argument from `.use(SomeAppModule, { router })`.
4
+ *
5
+ * `defineAppModule()` in v2 returns `{ install(app: App): void }` — it takes
6
+ * NO options. The legacy `{ router }` argument is a leftover from the older
7
+ * module shape and now causes a TS2769 overload error.
8
+ *
9
+ * Narrow match: only when the second argument is an ObjectExpression with a
10
+ * single property named `router` (shorthand or explicit). This avoids
11
+ * touching framework-style calls like `.use(VirtoShellFramework, { router, i18n: {...} })`
12
+ * which legitimately accept multi-key options.
13
+ */
14
+ declare const transform: Transform;
15
+ export default transform;
16
+ export declare const parser = "tsx";
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Remove `{ router }` second argument from `.use(SomeAppModule, { router })`.
3
+ *
4
+ * `defineAppModule()` in v2 returns `{ install(app: App): void }` — it takes
5
+ * NO options. The legacy `{ router }` argument is a leftover from the older
6
+ * module shape and now causes a TS2769 overload error.
7
+ *
8
+ * Narrow match: only when the second argument is an ObjectExpression with a
9
+ * single property named `router` (shorthand or explicit). This avoids
10
+ * touching framework-style calls like `.use(VirtoShellFramework, { router, i18n: {...} })`
11
+ * which legitimately accept multi-key options.
12
+ */
13
+ const transform = (fileInfo, api, _options) => {
14
+ if (!fileInfo.path.endsWith(".ts"))
15
+ return null;
16
+ const j = api.jscodeshift;
17
+ const root = j(fileInfo.source);
18
+ let modified = false;
19
+ root.find(j.CallExpression).forEach((path) => {
20
+ const callee = path.node.callee;
21
+ // Match `<something>.use(X, Y)` — callee is MemberExpression with property `.use`
22
+ if (callee.type !== "MemberExpression")
23
+ return;
24
+ if (callee.property.type !== "Identifier" || callee.property.name !== "use")
25
+ return;
26
+ const args = path.node.arguments;
27
+ if (args.length !== 2)
28
+ return;
29
+ const secondArg = args[1];
30
+ if (secondArg.type !== "ObjectExpression")
31
+ return;
32
+ if (secondArg.properties.length !== 1)
33
+ return;
34
+ const prop = secondArg.properties[0];
35
+ const isProperty = prop.type === "ObjectProperty" || prop.type === "Property";
36
+ if (!isProperty)
37
+ return;
38
+ if (prop.key?.type !== "Identifier" || prop.key.name !== "router")
39
+ return;
40
+ // Remove the second argument — .use(X, { router }) → .use(X)
41
+ path.node.arguments = [args[0]];
42
+ modified = true;
43
+ });
44
+ if (!modified)
45
+ return null;
46
+ return root.toSource();
47
+ };
48
+ export default transform;
49
+ export const parser = "tsx";
50
+ //# sourceMappingURL=remove-app-module-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-app-module-options.js","sourceRoot":"","sources":["../../src/transforms/remove-app-module-options.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,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,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,kFAAkF;QAClF,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO;QAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO;QAEpF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO;QAClD,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;QAC9E,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAE1E,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,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"}
@@ -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";
@@ -0,0 +1,52 @@
1
+ import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
+ /**
3
+ * Remove `title` property from `exposeToChildren({...})` calls.
4
+ *
5
+ * In v2, exposeToChildren is function-only — it registers callable methods in
6
+ * the blade messaging system. Passing a reactive `title` (ComputedRef<string>)
7
+ * trips the TS signature `(...args: any[]) => any` check, and the value is no
8
+ * longer used by the blade chrome anyway.
9
+ *
10
+ * If `title` is the only property, the entire exposeToChildren() call is
11
+ * removed. Otherwise, only the `title` key is stripped.
12
+ */
13
+ function coreTransform(fileInfo, api, _options) {
14
+ const j = api.jscodeshift;
15
+ const root = j(fileInfo.source);
16
+ const calls = root.find(j.CallExpression, { callee: { name: "exposeToChildren" } });
17
+ if (calls.size() === 0)
18
+ return null;
19
+ let modified = false;
20
+ calls.forEach((path) => {
21
+ const args = path.node.arguments;
22
+ if (args.length === 0)
23
+ return;
24
+ const arg = args[0];
25
+ if (arg.type !== "ObjectExpression")
26
+ return;
27
+ const titleIdx = arg.properties.findIndex((p) => (p.type === "ObjectProperty" || p.type === "Property") &&
28
+ p.key?.type === "Identifier" &&
29
+ p.key.name === "title");
30
+ if (titleIdx === -1)
31
+ return;
32
+ arg.properties.splice(titleIdx, 1);
33
+ modified = true;
34
+ // If nothing else remains, remove the whole statement
35
+ if (arg.properties.length === 0) {
36
+ // Walk up to the enclosing ExpressionStatement (if any) and remove it
37
+ let parent = path.parent;
38
+ while (parent && parent.node.type !== "ExpressionStatement" && parent.node.type !== "Program") {
39
+ parent = parent.parent;
40
+ }
41
+ if (parent && parent.node.type === "ExpressionStatement") {
42
+ j(parent).remove();
43
+ }
44
+ }
45
+ });
46
+ if (!modified)
47
+ return null;
48
+ return root.toSource();
49
+ }
50
+ export default wrapForSFC(coreTransform);
51
+ export const parser = "tsx";
52
+ //# sourceMappingURL=remove-expose-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-expose-title.js","sourceRoot":"","sources":["../../src/transforms/remove-expose-title.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD;;;;;;;;;;GAUG;AAEH,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,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACpF,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO;QAE5C,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CACvC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;YACtD,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY;YAC5B,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CACzB,CAAC;QAEF,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,OAAO;QAE5B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,QAAQ,GAAG,IAAI,CAAC;QAEhB,sDAAsD;QACtD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,sEAAsE;YACtE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,OAAO,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9F,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACzD,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,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,8 @@
1
+ import type { Transform } from "./types.js";
2
+ /**
3
+ * Codemod: add explicit imports for globally registered Vc* components and directives.
4
+ * Also moves component/directive imports from @vc-shell/framework to @vc-shell/framework/ui.
5
+ */
6
+ declare const transform: Transform;
7
+ export default transform;
8
+ export declare const parser = "tsx";
@@ -0,0 +1,236 @@
1
+ import { parse as parseSFC } from "@vue/compiler-sfc";
2
+ /**
3
+ * All Vc* component names exported from @vc-shell/framework/ui.
4
+ * Used to detect usage in templates and add explicit imports.
5
+ */
6
+ const UI_COMPONENTS = new Set([
7
+ // Atoms
8
+ "VcBadge",
9
+ "VcBanner",
10
+ "VcButton",
11
+ "VcButtonGroup",
12
+ "VcCard",
13
+ "VcCol",
14
+ "VcContainer",
15
+ "VcHint",
16
+ "VcIcon",
17
+ "VcImage",
18
+ "VcLabel",
19
+ "VcLink",
20
+ "VcLoading",
21
+ "VcProgress",
22
+ "VcRow",
23
+ "VcScrollableContainer",
24
+ "VcSkeleton",
25
+ "VcStatus",
26
+ "VcStatusIcon",
27
+ "VcTooltip",
28
+ "VcVideo",
29
+ "VcWidget",
30
+ // Molecules
31
+ "VcLanguageSelector",
32
+ "VcAccordion",
33
+ "VcAccordionItem",
34
+ "VcBreadcrumbs",
35
+ "VcCheckbox",
36
+ "VcCheckboxGroup",
37
+ "VcColorInput",
38
+ "VcDatePicker",
39
+ "VcDropdown",
40
+ "VcDropdownItem",
41
+ "VcDropdownPanel",
42
+ "VcEditor",
43
+ "VcField",
44
+ "VcFileUpload",
45
+ "VcForm",
46
+ "VcImageTile",
47
+ "VcInput",
48
+ "VcInputCurrency",
49
+ "VcInputGroup",
50
+ "VcMenu",
51
+ "VcMenuItem",
52
+ "VcMenuGroup",
53
+ "VcMultivalue",
54
+ "VcPagination",
55
+ "VcRadioButton",
56
+ "VcRadioGroup",
57
+ "VcRating",
58
+ "VcSelect",
59
+ "VcSlider",
60
+ "VcSwitch",
61
+ "VcTextarea",
62
+ "VcToast",
63
+ // Organisms
64
+ "VcApp",
65
+ "VcAuthLayout",
66
+ "VcBlade",
67
+ "VcTable",
68
+ "VcDataTable",
69
+ "VcColumn",
70
+ "VcDynamicProperty",
71
+ "VcGallery",
72
+ "VcImageUpload",
73
+ "VcPopup",
74
+ "VcSidebar",
75
+ ]);
76
+ /**
77
+ * Directives exported from @vc-shell/framework/ui.
78
+ * Template directive name (without v-) -> script variable name.
79
+ */
80
+ const DIRECTIVES = {
81
+ loading: "vLoading",
82
+ autofocus: "vAutofocus",
83
+ };
84
+ const FRAMEWORK_UI_SOURCE = "@vc-shell/framework/ui";
85
+ const FRAMEWORK_MAIN_SOURCE = "@vc-shell/framework";
86
+ /** Convert kebab-case to PascalCase: "vc-button" -> "VcButton" */
87
+ function kebabToPascal(name) {
88
+ return name
89
+ .split("-")
90
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
91
+ .join("");
92
+ }
93
+ /**
94
+ * Scan template string for Vc* component tags and framework directives.
95
+ */
96
+ function scanTemplate(templateContent) {
97
+ const components = new Set();
98
+ const directives = new Set();
99
+ // Match <VcFoo or <vc-foo (self-closing and open tags)
100
+ const tagRegex = /<(Vc[A-Z]\w+|vc-[\w-]+)[\s/>]/g;
101
+ let match;
102
+ while ((match = tagRegex.exec(templateContent)) !== null) {
103
+ let name = match[1];
104
+ if (name.includes("-")) {
105
+ name = kebabToPascal(name);
106
+ }
107
+ if (UI_COMPONENTS.has(name)) {
108
+ components.add(name);
109
+ }
110
+ }
111
+ // Match v-loading, v-autofocus
112
+ for (const [directiveName, varName] of Object.entries(DIRECTIVES)) {
113
+ const re = new RegExp(`v-${directiveName}(?=[\\s=>/"'])`, "g");
114
+ if (re.test(templateContent)) {
115
+ directives.add(varName);
116
+ }
117
+ }
118
+ return { components, directives };
119
+ }
120
+ /** Set of all names that belong in @vc-shell/framework/ui */
121
+ const UI_NAMES = new Set([...UI_COMPONENTS, ...Object.values(DIRECTIVES)]);
122
+ /**
123
+ * Codemod: add explicit imports for globally registered Vc* components and directives.
124
+ * Also moves component/directive imports from @vc-shell/framework to @vc-shell/framework/ui.
125
+ */
126
+ const transform = (fileInfo, api, _options) => {
127
+ if (!fileInfo.path.endsWith(".vue"))
128
+ return null;
129
+ const { descriptor } = parseSFC(fileInfo.source, { filename: fileInfo.path });
130
+ const scriptBlock = descriptor.scriptSetup ?? descriptor.script;
131
+ if (!scriptBlock)
132
+ return null;
133
+ const templateContent = descriptor.template?.content;
134
+ if (!templateContent)
135
+ return null;
136
+ const { components: usedComponents, directives: usedDirectives } = scanTemplate(templateContent);
137
+ if (usedComponents.size === 0 && usedDirectives.size === 0)
138
+ return null;
139
+ const j = api.jscodeshift;
140
+ const root = j(scriptBlock.content);
141
+ let changed = false;
142
+ // Track what is already imported (from any source)
143
+ const alreadyImported = new Set();
144
+ root.find(j.ImportDeclaration).forEach((path) => {
145
+ for (const spec of path.node.specifiers || []) {
146
+ if (spec.type === "ImportSpecifier" && spec.imported.type === "Identifier") {
147
+ alreadyImported.add(spec.imported.name);
148
+ }
149
+ }
150
+ });
151
+ // Track UI names that need to be moved from @vc-shell/framework to /ui
152
+ const movedToUi = new Set();
153
+ // Move component/directive imports from @vc-shell/framework -> /ui
154
+ root.find(j.ImportDeclaration).forEach((path) => {
155
+ if (path.node.source.value !== FRAMEWORK_MAIN_SOURCE)
156
+ return;
157
+ const specifiers = path.node.specifiers || [];
158
+ const uiSpecs = specifiers.filter((s) => s.type === "ImportSpecifier" && s.imported.type === "Identifier" && UI_NAMES.has(s.imported.name));
159
+ if (uiSpecs.length === 0)
160
+ return;
161
+ // Track moved specifiers — they need to go into /ui import
162
+ for (const s of uiSpecs) {
163
+ if (s.type === "ImportSpecifier" && s.imported.type === "Identifier") {
164
+ movedToUi.add(s.imported.name);
165
+ }
166
+ }
167
+ const nonUiSpecs = specifiers.filter((s) => !(s.type === "ImportSpecifier" && s.imported.type === "Identifier" && UI_NAMES.has(s.imported.name)));
168
+ if (nonUiSpecs.length === 0) {
169
+ // All specifiers are UI -> rewrite source
170
+ path.node.source = j.literal(FRAMEWORK_UI_SOURCE);
171
+ }
172
+ else {
173
+ // Split: keep non-UI in original, UI will be added to /ui import below
174
+ path.node.specifiers = nonUiSpecs;
175
+ }
176
+ changed = true;
177
+ });
178
+ // Determine what still needs to be added to /ui
179
+ const missingComponents = [...usedComponents].filter((c) => !alreadyImported.has(c));
180
+ const missingDirectives = [...usedDirectives].filter((d) => !alreadyImported.has(d));
181
+ // Include moved specifiers (split from main entry) that weren't rewritten in-place
182
+ const splitNames = [...movedToUi].filter((name) => {
183
+ // Only add if not already in a /ui import (rewrite-all case rewrites in-place)
184
+ const uiImportExists = root
185
+ .find(j.ImportDeclaration)
186
+ .filter((p) => p.node.source.value === FRAMEWORK_UI_SOURCE)
187
+ .some((p) => (p.node.specifiers || []).some((s) => s.type === "ImportSpecifier" && s.imported.type === "Identifier" && s.imported.name === name));
188
+ return !uiImportExists;
189
+ });
190
+ const toAdd = [...new Set([...missingComponents, ...missingDirectives, ...splitNames])].sort();
191
+ if (toAdd.length > 0 || changed) {
192
+ // Find or create @vc-shell/framework/ui import
193
+ const uiImports = root.find(j.ImportDeclaration).filter((path) => path.node.source.value === FRAMEWORK_UI_SOURCE);
194
+ if (uiImports.length > 0) {
195
+ // Merge into existing
196
+ const existingSpecs = uiImports.get().node.specifiers || [];
197
+ const existingNames = new Set(existingSpecs.filter((s) => s.type === "ImportSpecifier").map((s) => s.imported.name));
198
+ for (const name of toAdd) {
199
+ if (!existingNames.has(name)) {
200
+ existingSpecs.push(j.importSpecifier(j.identifier(name)));
201
+ }
202
+ }
203
+ // Sort specifiers alphabetically
204
+ existingSpecs.sort((a, b) => {
205
+ const aName = a.imported?.name || "";
206
+ const bName = b.imported?.name || "";
207
+ return aName.localeCompare(bName);
208
+ });
209
+ changed = true;
210
+ }
211
+ else if (toAdd.length > 0) {
212
+ // Create new import
213
+ const importDecl = j.importDeclaration(toAdd.map((name) => j.importSpecifier(j.identifier(name))), j.literal(FRAMEWORK_UI_SOURCE));
214
+ const imports = root.find(j.ImportDeclaration);
215
+ if (imports.length > 0) {
216
+ j(imports.at(-1).get()).insertAfter(importDecl);
217
+ }
218
+ else {
219
+ root.find(j.Program).get("body").unshift(importDecl);
220
+ }
221
+ changed = true;
222
+ }
223
+ }
224
+ if (!changed)
225
+ return null;
226
+ // Splice script back into SFC
227
+ const newScriptContent = root.toSource();
228
+ if (newScriptContent === scriptBlock.content)
229
+ return null;
230
+ const scriptStart = scriptBlock.loc.start.offset;
231
+ const scriptEnd = scriptBlock.loc.end.offset;
232
+ return fileInfo.source.substring(0, scriptStart) + newScriptContent + fileInfo.source.substring(scriptEnd);
233
+ };
234
+ export default transform;
235
+ export const parser = "tsx";
236
+ //# sourceMappingURL=remove-global-components.js.map