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

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 (88) hide show
  1. package/CHANGELOG.md +61 -45
  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/cli.js +2 -0
  7. package/dist/cli.js.map +1 -1
  8. package/dist/dep-updater.d.ts +8 -0
  9. package/dist/dep-updater.js +60 -0
  10. package/dist/dep-updater.js.map +1 -0
  11. package/dist/file-scanner.d.ts +3 -0
  12. package/dist/file-scanner.js +102 -0
  13. package/dist/file-scanner.js.map +1 -0
  14. package/dist/report-generator.d.ts +2 -0
  15. package/dist/report-generator.js +311 -0
  16. package/dist/report-generator.js.map +1 -0
  17. package/dist/runner.d.ts +6 -0
  18. package/dist/runner.js +184 -269
  19. package/dist/runner.js.map +1 -1
  20. package/dist/sfc-processor.d.ts +12 -0
  21. package/dist/sfc-processor.js +54 -0
  22. package/dist/sfc-processor.js.map +1 -0
  23. package/dist/transforms/blade-events-cleanup.d.ts +4 -0
  24. package/dist/transforms/blade-events-cleanup.js +50 -0
  25. package/dist/transforms/blade-events-cleanup.js.map +1 -0
  26. package/dist/transforms/blade-props-simplification.js +10 -2
  27. package/dist/transforms/blade-props-simplification.js.map +1 -1
  28. package/dist/transforms/define-app-module.js +8 -4
  29. package/dist/transforms/define-app-module.js.map +1 -1
  30. package/dist/transforms/define-expose-to-children.d.ts +4 -0
  31. package/dist/transforms/define-expose-to-children.js +97 -0
  32. package/dist/transforms/define-expose-to-children.js.map +1 -0
  33. package/dist/transforms/dynamic-properties-refactor.js +1 -1
  34. package/dist/transforms/dynamic-properties-refactor.js.map +1 -1
  35. package/dist/transforms/icon-audit.js +20 -24
  36. package/dist/transforms/icon-audit.js.map +1 -1
  37. package/dist/transforms/icon-replace.d.ts +4 -0
  38. package/dist/transforms/icon-replace.js +108 -0
  39. package/dist/transforms/icon-replace.js.map +1 -0
  40. package/dist/transforms/locale-imports.d.ts +4 -0
  41. package/dist/transforms/locale-imports.js +23 -0
  42. package/dist/transforms/locale-imports.js.map +1 -0
  43. package/dist/transforms/registry.js +134 -4
  44. package/dist/transforms/registry.js.map +1 -1
  45. package/dist/transforms/remove-app-module-options.d.ts +16 -0
  46. package/dist/transforms/remove-app-module-options.js +50 -0
  47. package/dist/transforms/remove-app-module-options.js.map +1 -0
  48. package/dist/transforms/remove-deprecated-aliases.js +12 -1
  49. package/dist/transforms/remove-deprecated-aliases.js.map +1 -1
  50. package/dist/transforms/remove-expose-title.d.ts +4 -0
  51. package/dist/transforms/remove-expose-title.js +52 -0
  52. package/dist/transforms/remove-expose-title.js.map +1 -0
  53. package/dist/transforms/remove-global-components.d.ts +8 -0
  54. package/dist/transforms/remove-global-components.js +236 -0
  55. package/dist/transforms/remove-global-components.js.map +1 -0
  56. package/dist/transforms/remove-pathmatch-route.d.ts +17 -0
  57. package/dist/transforms/remove-pathmatch-route.js +74 -0
  58. package/dist/transforms/remove-pathmatch-route.js.map +1 -0
  59. package/dist/transforms/remove-release-config.d.ts +4 -0
  60. package/dist/transforms/remove-release-config.js +58 -0
  61. package/dist/transforms/remove-release-config.js.map +1 -0
  62. package/dist/transforms/replace-cover-method.d.ts +4 -0
  63. package/dist/transforms/replace-cover-method.js +77 -0
  64. package/dist/transforms/replace-cover-method.js.map +1 -0
  65. package/dist/transforms/types.d.ts +2 -0
  66. package/dist/transforms/use-assets-migration.js +12 -12
  67. package/dist/transforms/use-assets-migration.js.map +1 -1
  68. package/dist/transforms/use-blade-form.js +23 -129
  69. package/dist/transforms/use-blade-form.js.map +1 -1
  70. package/dist/transforms/use-blade-migration.js +14 -2
  71. package/dist/transforms/use-blade-migration.js.map +1 -1
  72. package/dist/transforms/use-data-table-pagination-audit.d.ts +4 -0
  73. package/dist/transforms/use-data-table-pagination-audit.js +42 -0
  74. package/dist/transforms/use-data-table-pagination-audit.js.map +1 -0
  75. package/dist/transforms/vc-blade-loading-prop.d.ts +4 -0
  76. package/dist/transforms/vc-blade-loading-prop.js +89 -0
  77. package/dist/transforms/vc-blade-loading-prop.js.map +1 -0
  78. package/dist/transforms/vctable-audit.d.ts +4 -0
  79. package/dist/transforms/vctable-audit.js +14 -0
  80. package/dist/transforms/vctable-audit.js.map +1 -0
  81. package/dist/transforms/widgets-migration.js +20 -23
  82. package/dist/transforms/widgets-migration.js.map +1 -1
  83. package/dist/transforms/window-globals.d.ts +4 -0
  84. package/dist/transforms/window-globals.js +24 -0
  85. package/dist/transforms/window-globals.js.map +1 -0
  86. package/dist/utils/import-dedup.js +1 -1
  87. package/dist/utils/import-dedup.js.map +1 -1
  88. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-global-components.js","sourceRoot":"","sources":["../../src/transforms/remove-global-components.ts"],"names":[],"mappings":"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"}
@@ -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";
@@ -0,0 +1,77 @@
1
+ import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
+ /**
3
+ * Replace openBlade({ ..., replaceCurrentBlade: true }) → coverWith({ ... })
4
+ *
5
+ * The old replaceCurrentBlade option in openBlade() is now a separate coverWith() method.
6
+ * If replaceWith() is already used — don't touch it (already migrated).
7
+ *
8
+ * Also adds coverWith to useBlade() destructuring if needed.
9
+ */
10
+ function coreTransform(fileInfo, api, _options) {
11
+ const j = api.jscodeshift;
12
+ const root = j(fileInfo.source);
13
+ // Only process files that use openBlade with replaceCurrentBlade
14
+ const openBladeCalls = root.find(j.CallExpression, { callee: { name: "openBlade" } });
15
+ if (openBladeCalls.size() === 0)
16
+ return null;
17
+ let modified = false;
18
+ openBladeCalls.forEach((path) => {
19
+ const args = path.node.arguments;
20
+ if (args.length === 0)
21
+ return;
22
+ // Handle both direct object and first positional arg
23
+ const firstArg = args[0];
24
+ if (firstArg.type !== "ObjectExpression")
25
+ return;
26
+ // Find replaceCurrentBlade property
27
+ const replaceIdx = firstArg.properties.findIndex((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "replaceCurrentBlade");
28
+ if (replaceIdx === -1)
29
+ return;
30
+ const replaceProp = firstArg.properties[replaceIdx];
31
+ // Only transform if value is `true`
32
+ const isTrue = (replaceProp.value.type === "BooleanLiteral" && replaceProp.value.value === true) ||
33
+ (replaceProp.value.type === "Literal" && replaceProp.value.value === true);
34
+ if (!isTrue)
35
+ return;
36
+ // Remove replaceCurrentBlade property
37
+ firstArg.properties.splice(replaceIdx, 1);
38
+ // Also remove isWorkspace if present (second positional arg in legacy openBlade)
39
+ // Legacy: openBlade(event, isWorkspace?) — but with replaceCurrentBlade it's inside event obj
40
+ // Rename openBlade → coverWith
41
+ if (path.node.callee.type === "Identifier") {
42
+ path.node.callee.name = "coverWith";
43
+ }
44
+ modified = true;
45
+ });
46
+ if (!modified)
47
+ return null;
48
+ // Add coverWith to useBlade() destructuring if not already there
49
+ const useBladeDecls = root.find(j.VariableDeclaration).filter((path) => {
50
+ return (j(path)
51
+ .find(j.CallExpression, { callee: { name: "useBlade" } })
52
+ .size() > 0);
53
+ });
54
+ if (useBladeDecls.size() > 0) {
55
+ const decl = useBladeDecls.at(0).get().node.declarations[0];
56
+ if (decl.id.type === "ObjectPattern") {
57
+ const hasCoverWith = decl.id.properties.some((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "coverWith");
58
+ if (!hasCoverWith) {
59
+ const prop = j.objectProperty(j.identifier("coverWith"), j.identifier("coverWith"));
60
+ prop.shorthand = true;
61
+ decl.id.properties.push(prop);
62
+ }
63
+ // Remove openBlade from destructuring if no longer used anywhere
64
+ const remainingOpenBlade = root.find(j.CallExpression, { callee: { name: "openBlade" } }).size();
65
+ if (remainingOpenBlade === 0) {
66
+ const openBladeIdx = decl.id.properties.findIndex((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "openBlade");
67
+ if (openBladeIdx !== -1) {
68
+ decl.id.properties.splice(openBladeIdx, 1);
69
+ }
70
+ }
71
+ }
72
+ }
73
+ return root.toSource();
74
+ }
75
+ export default wrapForSFC(coreTransform);
76
+ export const parser = "tsx";
77
+ //# sourceMappingURL=replace-cover-method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-cover-method.js","sourceRoot":"","sources":["../../src/transforms/replace-cover-method.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export interface VersionedTransform {
21
21
  excludeFiles?: string[];
22
22
  /** File extensions this transform applies to (default: [".ts", ".vue"]) */
23
23
  fileExtensions?: string[];
24
+ /** Transform names that must complete before this one runs */
25
+ after?: string[];
24
26
  }
25
27
  export interface TransformReport {
26
28
  name: string;
@@ -121,13 +121,13 @@ function coreTransform(fileInfo, api, _options) {
121
121
  const uploadPath = extractUploadPath(source);
122
122
  const targetRef = extractTargetRef(source);
123
123
  const hasConfirm = hasConfirmation(source);
124
- console.log(formatDiagnostic(fileInfo.path, pattern, uploadPath, targetRef, hasConfirm));
124
+ api.report(formatDiagnostic(fileInfo.path, pattern, uploadPath, targetRef, hasConfirm));
125
125
  }
126
126
  // --- Diagnostic: detect AssetsHandler type usage ---
127
127
  frameworkImports.find(j.ImportSpecifier).forEach((path) => {
128
128
  const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
129
129
  if (name === "AssetsHandler") {
130
- console.log(` ⚠️ ${fileInfo.path}: AssetsHandler<T> detected — replace with UseAssetsManagerReturn. See migration guide #32.`);
130
+ api.report(` ⚠️ ${fileInfo.path}: AssetsHandler<T> detected — replace with UseAssetsManagerReturn. See migration guide #32.`);
131
131
  }
132
132
  });
133
133
  // --- Diagnostic: detect AssetsManager blade handler options ---
@@ -135,9 +135,9 @@ function coreTransform(fileInfo, api, _options) {
135
135
  const source = fileInfo.source;
136
136
  for (const pattern of handlerPatterns) {
137
137
  if (source.includes(pattern)) {
138
- console.log(` ⚠️ ${fileInfo.path}: AssetsManager handler options detected (${pattern}).`);
139
- console.log(` → Replace options.assets/assetsUploadHandler/assetsEditHandler/assetsRemoveHandler`);
140
- console.log(` with options.manager: markRaw(useAssetsManagerInstance). See migration guide #32, example 5.`);
138
+ api.report(` ⚠️ ${fileInfo.path}: AssetsManager handler options detected (${pattern}).`);
139
+ api.report(` → Replace options.assets/assetsUploadHandler/assetsEditHandler/assetsRemoveHandler`);
140
+ api.report(` with options.manager: markRaw(useAssetsManagerInstance). See migration guide #32, example 5.`);
141
141
  break;
142
142
  }
143
143
  }
@@ -146,20 +146,20 @@ function coreTransform(fileInfo, api, _options) {
146
146
  if (bladeCallPattern.test(source)) {
147
147
  const hasOldOptions = /assetsUploadHandler|assetsEditHandler|assetsRemoveHandler|loading:\s*\w+Loading/.test(source);
148
148
  if (hasOldOptions) {
149
- console.log(` ⚠️ ${fileInfo.path}: openBlade("AssetsManager") uses old handler options.`);
150
- console.log(` → Replace assets/loading/assetsUploadHandler/assetsEditHandler/assetsRemoveHandler`);
151
- console.log(` with { manager: markRaw(useAssetsManagerInstance) }. See migration guide #32, example 5.`);
149
+ api.report(` ⚠️ ${fileInfo.path}: openBlade("AssetsManager") uses old handler options.`);
150
+ api.report(` → Replace assets/loading/assetsUploadHandler/assetsEditHandler/assetsRemoveHandler`);
151
+ api.report(` with { manager: markRaw(useAssetsManagerInstance) }. See migration guide #32, example 5.`);
152
152
  }
153
153
  else if (!source.includes("markRaw") && /manager\s*:/.test(source)) {
154
- console.log(` ⚠️ ${fileInfo.path}: openBlade("AssetsManager") passes manager without markRaw().`);
155
- console.log(` → Wrap with markRaw() to prevent Vue reactive proxy unwrap. See migration guide #32.`);
154
+ api.report(` ⚠️ ${fileInfo.path}: openBlade("AssetsManager") passes manager without markRaw().`);
155
+ api.report(` → Wrap with markRaw() to prevent Vue reactive proxy unwrap. See migration guide #32.`);
156
156
  }
157
157
  }
158
158
  const detailsCallPattern = /name:\s*["']AssetsDetails["']/;
159
159
  if (detailsCallPattern.test(source)) {
160
160
  if (/ICommonAsset/.test(source)) {
161
- console.log(` ⚠️ ${fileInfo.path}: openBlade("AssetsDetails") uses ICommonAsset type.`);
162
- console.log(` → Replace ICommonAsset with AssetLike. See migration guide #32, example 6.`);
161
+ api.report(` ⚠️ ${fileInfo.path}: openBlade("AssetsDetails") uses ICommonAsset type.`);
162
+ api.report(` → Replace ICommonAsset with AssetLike. See migration guide #32, example 6.`);
163
163
  }
164
164
  }
165
165
  if (renames.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"use-assets-migration.js","sourceRoot":"","sources":["../../src/transforms/use-assets-migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-assets-migration.js","sourceRoot":"","sources":["../../src/transforms/use-assets-migration.ts"],"names":[],"mappings":"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"}
@@ -1,142 +1,37 @@
1
- import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
1
  /**
3
- * Detect useForm (vee-validate) + useBeforeUnload/useModificationTracker patterns
4
- * and migrate imports toward useBladeForm().
2
+ * Diagnostic-only transform: detect useForm (vee-validate) + useBeforeUnload/useModificationTracker
3
+ * patterns and report them for manual migration to useBladeForm().
5
4
  *
6
- * Safe mechanical transforms:
7
- * 1. Remove `useForm` import from `vee-validate` (keep `Field` etc.)
8
- * 2. Remove `useBeforeUnload` and `useModificationTracker` from `@vc-shell/framework`
9
- * 3. Add `useBladeForm` to `@vc-shell/framework` import
10
- *
11
- * Diagnostic-only (reported for manual migration):
12
- * - toolbar disabled formula referencing modified/valid/isValid
13
- * - onBeforeClose logic using modified/isValid
14
- * - setBaseline() call placement
15
- * - handleSubmit / validate / resetForm usage
5
+ * Does NOT modify any code — all changes require manual review.
16
6
  */
17
- const REMOVE_FROM_FRAMEWORK = new Set(["useBeforeUnload", "useModificationTracker"]);
18
- const ADD_TO_FRAMEWORK = "useBladeForm";
19
7
  function coreTransform(fileInfo, api, _options) {
20
- const j = api.jscodeshift;
21
- const root = j(fileInfo.source);
22
- // --- Detect vee-validate useForm import ---
23
- const veeValidateImports = root.find(j.ImportDeclaration, {
24
- source: { value: "vee-validate" },
25
- });
26
- const hasUseForm = veeValidateImports
27
- .find(j.ImportSpecifier)
28
- .filter((path) => {
29
- const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
30
- return name === "useForm";
31
- })
32
- .size() > 0;
33
- // --- Detect framework imports ---
34
- const frameworkImports = root.find(j.ImportDeclaration, {
35
- source: { value: "@vc-shell/framework" },
36
- });
37
- const hasBeforeUnload = frameworkImports
38
- .find(j.ImportSpecifier)
39
- .filter((path) => {
40
- const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
41
- return name === "useBeforeUnload";
42
- })
43
- .size() > 0;
44
- const hasModificationTracker = frameworkImports
45
- .find(j.ImportSpecifier)
46
- .filter((path) => {
47
- const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
48
- return name === "useModificationTracker";
49
- })
50
- .size() > 0;
8
+ const source = fileInfo.source;
9
+ // --- Detect patterns via simple text matching (diagnostic-only, no AST modification) ---
10
+ const hasUseForm = /\bimport\s[^;]*\buseForm\b[^;]*from\s+['"]vee-validate['"]/.test(source);
11
+ const hasBeforeUnload = /\bimport\s[^;]*\buseBeforeUnload\b[^;]*from\s+['"]@vc-shell\/framework['"]/.test(source);
12
+ const hasModificationTracker = /\bimport\s[^;]*\buseModificationTracker\b[^;]*from\s+['"]@vc-shell\/framework['"]/.test(source);
51
13
  // Only process files that have the target pattern
52
14
  if (!hasUseForm && !hasBeforeUnload && !hasModificationTracker)
53
15
  return null;
54
- let modified = false;
16
+ // --- Diagnostics only — no code modifications ---
55
17
  const diagnostics = [];
56
- // --- Step 1: Remove useForm from vee-validate ---
57
- if (hasUseForm) {
58
- veeValidateImports.forEach((importPath) => {
59
- const specifiers = importPath.node.specifiers ?? [];
60
- const remaining = specifiers.filter((spec) => {
61
- if (spec.type !== "ImportSpecifier")
62
- return true;
63
- const name = spec.imported.type === "Identifier" ? spec.imported.name : "";
64
- return name !== "useForm";
65
- });
66
- if (remaining.length === 0) {
67
- // Remove entire import
68
- j(importPath).remove();
69
- }
70
- else {
71
- importPath.node.specifiers = remaining;
72
- }
73
- });
74
- modified = true;
75
- }
76
- // --- Step 2: Remove useBeforeUnload/useModificationTracker from framework ---
77
- if (hasBeforeUnload || hasModificationTracker) {
78
- frameworkImports.forEach((importPath) => {
79
- const specifiers = importPath.node.specifiers ?? [];
80
- const remaining = specifiers.filter((spec) => {
81
- if (spec.type !== "ImportSpecifier")
82
- return true;
83
- const name = spec.imported.type === "Identifier" ? spec.imported.name : "";
84
- return !REMOVE_FROM_FRAMEWORK.has(name);
85
- });
86
- if (remaining.length === 0) {
87
- // Should not happen — framework import usually has more symbols
88
- j(importPath).remove();
89
- }
90
- else {
91
- importPath.node.specifiers = remaining;
92
- }
93
- });
94
- modified = true;
95
- }
96
- // --- Step 3: Add useBladeForm to framework import ---
97
- const hasBladeFormAlready = root
98
- .find(j.ImportDeclaration, { source: { value: "@vc-shell/framework" } })
99
- .find(j.ImportSpecifier)
100
- .filter((path) => {
101
- const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
102
- return name === ADD_TO_FRAMEWORK;
103
- })
104
- .size() > 0;
105
- if (!hasBladeFormAlready) {
106
- const fwImports = root.find(j.ImportDeclaration, {
107
- source: { value: "@vc-shell/framework" },
108
- });
109
- if (fwImports.size() > 0) {
110
- const firstImport = fwImports.at(0);
111
- const specifiers = firstImport.get().node.specifiers ?? [];
112
- specifiers.push(j.importSpecifier(j.identifier(ADD_TO_FRAMEWORK)));
113
- modified = true;
114
- }
115
- else {
116
- // No framework import exists — create one
117
- const newImport = j.importDeclaration([j.importSpecifier(j.identifier(ADD_TO_FRAMEWORK))], j.literal("@vc-shell/framework"));
118
- const body = root.find(j.Program).get("body");
119
- body.value.unshift(newImport);
120
- modified = true;
121
- }
122
- }
123
- // --- Step 4: Diagnostics for manual migration ---
124
- const source = fileInfo.source;
125
18
  // Detect useForm destructure patterns
126
19
  if (/useForm\s*[<(]/.test(source)) {
127
- diagnostics.push(` → useForm() call found — replace with useBladeForm(). Destructure { form, validate, resetForm, setBaseline, modified, isValid } from useBladeForm().`);
20
+ diagnostics.push(` → useForm() (vee-validate) found — replace with useBladeForm({ data: yourRef, closeConfirmMessage: computed(() => t("...")) }).`);
21
+ diagnostics.push(` useBladeForm replaces: useForm + onBeforeClose + modified tracking. Remove all three.`);
128
22
  }
129
23
  // Detect handleSubmit usage
130
24
  if (/handleSubmit/.test(source)) {
131
- diagnostics.push(` → handleSubmit() detected — replace with validate() from useBladeForm(). validate() returns { valid, errors }.`);
25
+ diagnostics.push(` → handleSubmit() detected — useBladeForm() does not expose validate(). Use formMeta.value.valid for validation state, or keep Field-level validation with vee-validate.`);
132
26
  }
133
27
  // Detect toolbar disabled formula referencing modified/valid
134
28
  if (/disabled\s*:\s*.*(?:modified|isValid|valid)/.test(source) || /!modified/.test(source)) {
135
29
  diagnostics.push(` → Toolbar disabled formula references modified/isValid — review and update to use useBladeForm() return values.`);
136
30
  }
137
- // Detect onBeforeClose with modified check
138
- if (/onBeforeClose/.test(source) && /modified/.test(source)) {
139
- diagnostics.push(` → onBeforeClose uses modified state useBladeForm() handles this automatically via built-in beforeUnload. Remove manual onBeforeClose guard.`);
31
+ // Detect onBeforeClose useBladeForm handles close confirmation automatically
32
+ if (/onBeforeClose/.test(source)) {
33
+ diagnostics.push(` → onBeforeClose() found REMOVE it entirely. useBladeForm() handles close confirmation automatically.`);
34
+ diagnostics.push(` Pass closeConfirmMessage to useBladeForm(): useBladeForm({ data: myRef, closeConfirmMessage: computed(() => t("...CLOSE_CONFIRMATION")) })`);
140
35
  }
141
36
  // Detect useBeforeUnload call
142
37
  if (/useBeforeUnload\s*\(/.test(source)) {
@@ -152,20 +47,19 @@ function coreTransform(fileInfo, api, _options) {
152
47
  }
153
48
  // Detect resetForm
154
49
  if (/resetForm\s*\(/.test(source)) {
155
- diagnostics.push(` → resetForm() call found — available from useBladeForm() return. Verify usage is compatible.`);
50
+ diagnostics.push(` → resetForm() call found — useBladeForm() exposes revert() instead (restores data to last baseline). Replace resetForm() with revert().`);
156
51
  }
157
52
  if (diagnostics.length > 0) {
158
- console.log(` ⚠️ ${fileInfo.path}: Manual migration needed for useBladeForm():`);
53
+ api.report(` ⚠️ ${fileInfo.path}: Manual migration needed for useBladeForm():`);
159
54
  for (const d of diagnostics) {
160
- console.log(d);
55
+ api.report(d);
161
56
  }
162
- console.log(` → See migration guide #37 for full examples.`);
57
+ api.report(` → See migration guide #37 for full examples.`);
163
58
  }
164
- if (!modified)
165
- return null;
166
- return root.toSource();
59
+ // Diagnostic-only: never modify the file
60
+ return null;
167
61
  }
168
- const transform = wrapForSFC(coreTransform);
62
+ const transform = coreTransform;
169
63
  export default transform;
170
64
  export const parser = "tsx";
171
65
  //# sourceMappingURL=use-blade-form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-blade-form.js","sourceRoot":"","sources":["../../src/transforms/use-blade-form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-blade-form.js","sourceRoot":"","sources":["../../src/transforms/use-blade-form.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,SAAS,aAAa,CAAC,QAAkB,EAAE,GAAsC,EAAE,QAAiB;IAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,0FAA0F;IAC1F,MAAM,UAAU,GAAG,4DAA4D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,4EAA4E,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClH,MAAM,sBAAsB,GAC1B,mFAAmF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnG,kDAAkD;IAClD,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,IAAI,CAAC,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAE5E,mDAAmD;IACnD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,sCAAsC;IACtC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,IAAI,CACd,qIAAqI,CACtI,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;IAClH,CAAC;IAED,4BAA4B;IAC5B,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,WAAW,CAAC,IAAI,CACd,6KAA6K,CAC9K,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,IAAI,6CAA6C,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3F,WAAW,CAAC,IAAI,CACd,qHAAqH,CACtH,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CACd,4GAA4G,CAC7G,CAAC;QACF,WAAW,CAAC,IAAI,CACd,kJAAkJ,CACnJ,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,WAAW,CAAC,IAAI,CACd,qGAAqG,CACtG,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,WAAW,CAAC,IAAI,CACd,uGAAuG,CACxG,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,WAAW,CAAC,IAAI,CACd,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,IAAI,CACd,6IAA6I,CAC9I,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,SAAS,QAAQ,CAAC,IAAI,+CAA+C,CAAC,CAAC;QAClF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC;IACjE,CAAC;IAED,yCAAyC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAc,aAA0B,CAAC;AACxD,eAAe,SAAS,CAAC;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
@@ -35,12 +35,24 @@ function coreTransform(fileInfo, api, _options) {
35
35
  return;
36
36
  }
37
37
  // Single return — invert it
38
+ const isAsync = callback.async === true;
38
39
  returnStatements.forEach((retPath) => {
39
40
  const arg = retPath.node.argument;
40
41
  if (!arg)
41
42
  return;
42
- // Wrap with unary negation: !expr or !(expr)
43
- retPath.node.argument = j.unaryExpression("!", arg);
43
+ // If async callback and return is NOT already awaited, wrap with await first
44
+ if (isAsync && arg.type !== "AwaitExpression") {
45
+ // return expr → return !(await expr)
46
+ retPath.node.argument = j.unaryExpression("!", j.awaitExpression(arg));
47
+ }
48
+ else if (arg.type === "AwaitExpression") {
49
+ // return await expr → return !(await expr)
50
+ retPath.node.argument = j.unaryExpression("!", arg);
51
+ }
52
+ else {
53
+ // Sync: return expr → return !expr
54
+ retPath.node.argument = j.unaryExpression("!", arg);
55
+ }
44
56
  });
45
57
  });
46
58
  return root.toSource();