@vc-shell/migrate 2.0.0-alpha.30 → 2.0.0-alpha.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # [2.0.0-alpha.31](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.30...v2.0.0-alpha.31) (2026-04-01)
2
+
3
+
4
+ ### Features
5
+
6
+ * **migrate:** add codemod transforms for useBladeForm and useDynamicProperties ([9cf4cc8](https://github.com/VirtoCommerce/vc-shell/commit/9cf4cc8c280bb70e5ef6c457c07c44988b6fafbc))
1
7
  # [2.0.0-alpha.30](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.29...v2.0.0-alpha.30) (2026-03-30)
2
8
 
3
9
 
@@ -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,120 @@
1
+ import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
+ /**
3
+ * Migrate useDynamicProperties consumers from positional args to options object.
4
+ *
5
+ * Before:
6
+ * useDynamicProperties<A, B, C, D, E>(searchFn, PropertyValueFactory, PropertyDictionaryItemFactory, measureFn)
7
+ *
8
+ * After:
9
+ * useDynamicProperties({ searchDictionary: searchFn, searchMeasurements: measureFn })
10
+ *
11
+ * Also removes:
12
+ * - class PropertyValueFactory { ... }
13
+ * - class PropertyDictionaryItemFactory { ... }
14
+ * - Generic type parameters from the call
15
+ */
16
+ const FACTORY_CLASS_NAMES = new Set(["PropertyValueFactory", "PropertyDictionaryItemFactory"]);
17
+ function coreTransform(fileInfo, api, _options) {
18
+ const j = api.jscodeshift;
19
+ const root = j(fileInfo.source);
20
+ // Find useDynamicProperties calls
21
+ const calls = root.find(j.CallExpression, {
22
+ callee: { name: "useDynamicProperties" },
23
+ });
24
+ if (calls.size() === 0)
25
+ return null;
26
+ let modified = false;
27
+ // --- Step 1: Rewrite useDynamicProperties calls from positional to options ---
28
+ calls.forEach((callPath) => {
29
+ const node = callPath.node;
30
+ const args = node.arguments;
31
+ // Only transform if using positional args (not already an object)
32
+ // Old API: useDynamicProperties(searchFn, Class1, Class2, measureFn)
33
+ // The old API has 2-4 positional arguments; new API has 1 object argument
34
+ if (args.length < 2)
35
+ return;
36
+ // If first arg is already an ObjectExpression, skip (already migrated)
37
+ if (args.length === 1 && args[0].type === "ObjectExpression")
38
+ return;
39
+ const properties = [];
40
+ // First arg: searchDictionary function
41
+ if (args[0] && args[0].type !== "ClassExpression") {
42
+ properties.push(j.objectProperty(j.identifier("searchDictionary"), args[0]));
43
+ }
44
+ // args[1] and args[2] are factory classes — skip them
45
+ // Fourth arg (index 3): searchMeasurements function
46
+ if (args.length >= 4 && args[3] && args[3].type !== "ClassExpression") {
47
+ properties.push(j.objectProperty(j.identifier("searchMeasurements"), args[3]));
48
+ }
49
+ // Replace arguments with single options object
50
+ node.arguments = [j.objectExpression(properties)];
51
+ // Remove generic type parameters
52
+ if ("typeParameters" in node && node.typeParameters) {
53
+ node.typeParameters = null;
54
+ }
55
+ modified = true;
56
+ });
57
+ // --- Step 2: Remove factory class declarations ---
58
+ root.find(j.ClassDeclaration).forEach((classPath) => {
59
+ const id = classPath.node.id;
60
+ const name = id && id.type === "Identifier" ? id.name : undefined;
61
+ if (name && FACTORY_CLASS_NAMES.has(name)) {
62
+ j(classPath).remove();
63
+ modified = true;
64
+ }
65
+ });
66
+ // Also remove class expressions assigned to variables
67
+ root.find(j.VariableDeclarator).forEach((declPath) => {
68
+ const init = declPath.node.init;
69
+ if (init &&
70
+ init.type === "ClassExpression" &&
71
+ declPath.node.id.type === "Identifier" &&
72
+ FACTORY_CLASS_NAMES.has(declPath.node.id.name)) {
73
+ const declaration = declPath.parent;
74
+ if (declaration.node.type === "VariableDeclaration" && declaration.node.declarations.length === 1) {
75
+ j(declaration).remove();
76
+ }
77
+ else {
78
+ j(declPath).remove();
79
+ }
80
+ modified = true;
81
+ }
82
+ });
83
+ // --- Step 3: Remove factory class imports if they exist ---
84
+ root.find(j.ImportDeclaration).forEach((importPath) => {
85
+ const specifiers = importPath.node.specifiers ?? [];
86
+ const remaining = specifiers.filter((spec) => {
87
+ if (spec.type !== "ImportSpecifier")
88
+ return true;
89
+ const name = spec.imported.type === "Identifier" ? spec.imported.name : "";
90
+ return !FACTORY_CLASS_NAMES.has(name);
91
+ });
92
+ if (remaining.length === 0 && specifiers.length > 0) {
93
+ // Check if ALL specifiers were factory classes
94
+ const allFactory = specifiers.every((spec) => {
95
+ if (spec.type !== "ImportSpecifier")
96
+ return false;
97
+ const name = spec.imported.type === "Identifier" ? spec.imported.name : "";
98
+ return FACTORY_CLASS_NAMES.has(name);
99
+ });
100
+ if (allFactory) {
101
+ j(importPath).remove();
102
+ modified = true;
103
+ }
104
+ }
105
+ else if (remaining.length < specifiers.length) {
106
+ importPath.node.specifiers = remaining;
107
+ modified = true;
108
+ }
109
+ });
110
+ if (modified) {
111
+ console.log(` ✅ ${fileInfo.path}: Migrated useDynamicProperties() to options API`);
112
+ }
113
+ if (!modified)
114
+ return null;
115
+ return root.toSource();
116
+ }
117
+ const transform = wrapForSFC(coreTransform);
118
+ export default transform;
119
+ export const parser = "tsx";
120
+ //# sourceMappingURL=dynamic-properties-refactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-properties-refactor.js","sourceRoot":"","sources":["../../src/transforms/dynamic-properties-refactor.ts"],"names":[],"mappings":"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"}
@@ -163,6 +163,23 @@ export const transforms = [
163
163
  transformPath: t("responsive-composable"),
164
164
  fileExtensions: [".vue"],
165
165
  },
166
+ {
167
+ name: "use-blade-form",
168
+ description: "Detect useForm + useBeforeUnload patterns for migration to useBladeForm()",
169
+ introducedIn: "2.0.0-alpha.31",
170
+ diagnosticOnly: true,
171
+ migrationGuideSection: "Guide 37",
172
+ transformPath: t("use-blade-form"),
173
+ fileExtensions: [".vue"],
174
+ },
175
+ {
176
+ name: "dynamic-properties-refactor",
177
+ description: "useDynamicProperties<A,B,C,D,E>(fn, Class, Class, fn) → useDynamicProperties({ searchDictionary, searchMeasurements })",
178
+ introducedIn: "2.0.0-alpha.31",
179
+ migrationGuideSection: "Guide 38",
180
+ transformPath: t("dynamic-properties-refactor"),
181
+ fileExtensions: [".vue"],
182
+ },
166
183
  ];
167
184
  export function selectTransforms(currentVersion, targetVersion) {
168
185
  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":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,0DAA0D;QACvE,YAAY,EAAE,eAAe;QAC7B,qBAAqB,EAAE,8BAA8B;QACrD,aAAa,EAAE,CAAC,CAAC,mBAAmB,CAAC;KACtC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,qEAAqE;QAClF,YAAY,EAAE,eAAe;QAC7B,qBAAqB,EAAE,YAAY;QACnC,aAAa,EAAE,CAAC,CAAC,qBAAqB,CAAC;KACxC;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,0CAA0C;QACvD,YAAY,EAAE,gBAAgB;QAC9B,qBAAqB,EAAE,+BAA+B;QACtD,aAAa,EAAE,CAAC,CAAC,wBAAwB,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2DAA2D;QACxE,YAAY,EAAE,OAAO;QACrB,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAC;KACpC;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,OAAO;QACrB,aAAa,EAAE,CAAC,CAAC,2BAA2B,CAAC;KAC9C;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,kEAAkE;QAC/E,YAAY,EAAE,OAAO;QACrB,aAAa,EAAE,CAAC,CAAC,4BAA4B,CAAC;KAC/C;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,sEAAsE;QACnF,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,mBAAmB;QAC1C,aAAa,EAAE,CAAC,CAAC,yBAAyB,CAAC;QAC3C,cAAc,EAAE,CAAC,MAAM,CAAC;KACzB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iFAAiF;QAC9F,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,WAAW;QAClC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,aAAa;QACpC,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC;KAClC;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,iEAAiE;QAC9E,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,+BAA+B;QACtD,aAAa,EAAE,CAAC,CAAC,mBAAmB,CAAC;KACtC;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,mFAAmF;QAChG,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,yBAAyB,CAAC;KAC5C;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kDAAkD;QAC/D,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAC;KACpC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,qBAAqB,CAAC;KACxC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,kCAAkC;QAC/C,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,qBAAqB,CAAC;KACxC;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,mEAAmE;QAChF,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,mBAAmB,CAAC;KACtC;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gFAAgF;QAC7F,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,CAAC,CAAC,kBAAkB,CAAC;KACrC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,uFAAuF;QACpG,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,qBAAqB,CAAC;QACvC,cAAc,EAAE,CAAC,MAAM,CAAC;KACzB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,mGAAmG;QAChH,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,CAAC,CAAC,wBAAwB,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,sEAAsE;QACnF,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,CAAC,CAAC,0BAA0B,CAAC;KAC7C;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,0FAA0F;QACvG,YAAY,EAAE,gBAAgB;QAC9B,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,sBAAsB,CAAC;KACzC;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,0FAA0F;QACvG,YAAY,EAAE,gBAAgB;QAC9B,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC;QAClC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;KAChC;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,8EAA8E;QAC3F,YAAY,EAAE,OAAO;QACrB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,uBAAuB,CAAC;QACzC,cAAc,EAAE,CAAC,MAAM,CAAC;KACzB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,2EAA2E;QACxF,YAAY,EAAE,gBAAgB;QAC9B,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC;QAClC,cAAc,EAAE,CAAC,MAAM,CAAC;KACzB;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,wHAAwH;QAC1H,YAAY,EAAE,gBAAgB;QAC9B,qBAAqB,EAAE,UAAU;QACjC,aAAa,EAAE,CAAC,CAAC,6BAA6B,CAAC;QAC/C,cAAc,EAAE,CAAC,MAAM,CAAC;KACzB;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,aAAqB;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,OAAO,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,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,171 @@
1
+ import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
2
+ /**
3
+ * Detect useForm (vee-validate) + useBeforeUnload/useModificationTracker patterns
4
+ * and migrate imports toward useBladeForm().
5
+ *
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
16
+ */
17
+ const REMOVE_FROM_FRAMEWORK = new Set(["useBeforeUnload", "useModificationTracker"]);
18
+ const ADD_TO_FRAMEWORK = "useBladeForm";
19
+ 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;
51
+ // Only process files that have the target pattern
52
+ if (!hasUseForm && !hasBeforeUnload && !hasModificationTracker)
53
+ return null;
54
+ let modified = false;
55
+ 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
+ // Detect useForm destructure patterns
126
+ if (/useForm\s*[<(]/.test(source)) {
127
+ diagnostics.push(` → useForm() call found — replace with useBladeForm(). Destructure { form, validate, resetForm, setBaseline, modified, isValid } from useBladeForm().`);
128
+ }
129
+ // Detect handleSubmit usage
130
+ if (/handleSubmit/.test(source)) {
131
+ diagnostics.push(` → handleSubmit() detected — replace with validate() from useBladeForm(). validate() returns { valid, errors }.`);
132
+ }
133
+ // Detect toolbar disabled formula referencing modified/valid
134
+ if (/disabled\s*:\s*.*(?:modified|isValid|valid)/.test(source) || /!modified/.test(source)) {
135
+ diagnostics.push(` → Toolbar disabled formula references modified/isValid — review and update to use useBladeForm() return values.`);
136
+ }
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.`);
140
+ }
141
+ // Detect useBeforeUnload call
142
+ if (/useBeforeUnload\s*\(/.test(source)) {
143
+ diagnostics.push(` → useBeforeUnload() call found — remove it. useBladeForm() handles before-unload automatically.`);
144
+ }
145
+ // Detect useModificationTracker call
146
+ if (/useModificationTracker\s*\(/.test(source)) {
147
+ diagnostics.push(` → useModificationTracker() call found — remove it. useBladeForm() tracks modification internally.`);
148
+ }
149
+ // Detect setBaseline
150
+ if (/setBaseline\s*\(/.test(source)) {
151
+ diagnostics.push(` → setBaseline() call found — useBladeForm() exposes setBaseline(). Verify placement after data load.`);
152
+ }
153
+ // Detect resetForm
154
+ if (/resetForm\s*\(/.test(source)) {
155
+ diagnostics.push(` → resetForm() call found — available from useBladeForm() return. Verify usage is compatible.`);
156
+ }
157
+ if (diagnostics.length > 0) {
158
+ console.log(` ⚠️ ${fileInfo.path}: Manual migration needed for useBladeForm():`);
159
+ for (const d of diagnostics) {
160
+ console.log(d);
161
+ }
162
+ console.log(` → See migration guide #37 for full examples.`);
163
+ }
164
+ if (!modified)
165
+ return null;
166
+ return root.toSource();
167
+ }
168
+ const transform = wrapForSFC(coreTransform);
169
+ export default transform;
170
+ export const parser = "tsx";
171
+ //# sourceMappingURL=use-blade-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-blade-form.js","sourceRoot":"","sources":["../../src/transforms/use-blade-form.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/migrate",
3
- "version": "2.0.0-alpha.30",
3
+ "version": "2.0.0-alpha.31",
4
4
  "type": "module",
5
5
  "bin": "./dist/cli.js",
6
6
  "main": "./dist/cli.js",