@vc-shell/migrate 2.0.0-alpha.33 → 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.
- package/CHANGELOG.md +54 -59
- package/README.md +65 -40
- package/dist/baseline-versions.d.ts +11 -0
- package/dist/baseline-versions.js +52 -0
- package/dist/baseline-versions.js.map +1 -0
- package/dist/dep-updater.d.ts +7 -0
- package/dist/dep-updater.js +44 -15
- package/dist/dep-updater.js.map +1 -1
- package/dist/file-scanner.js.map +1 -1
- package/dist/report-generator.js +41 -1
- package/dist/report-generator.js.map +1 -1
- package/dist/runner.js +123 -109
- package/dist/runner.js.map +1 -1
- package/dist/transforms/blade-events-cleanup.d.ts +4 -0
- package/dist/transforms/blade-events-cleanup.js +50 -0
- package/dist/transforms/blade-events-cleanup.js.map +1 -0
- package/dist/transforms/blade-props-simplification.js.map +1 -1
- package/dist/transforms/define-app-module.js.map +1 -1
- package/dist/transforms/define-expose-to-children.js +18 -4
- package/dist/transforms/define-expose-to-children.js.map +1 -1
- package/dist/transforms/icon-replace.d.ts +4 -0
- package/dist/transforms/icon-replace.js +108 -0
- package/dist/transforms/icon-replace.js.map +1 -0
- package/dist/transforms/registry.js +57 -2
- package/dist/transforms/registry.js.map +1 -1
- package/dist/transforms/remove-app-module-options.d.ts +16 -0
- package/dist/transforms/remove-app-module-options.js +50 -0
- package/dist/transforms/remove-app-module-options.js.map +1 -0
- package/dist/transforms/remove-expose-title.d.ts +4 -0
- package/dist/transforms/remove-expose-title.js +52 -0
- package/dist/transforms/remove-expose-title.js.map +1 -0
- package/dist/transforms/remove-global-components.d.ts +8 -0
- package/dist/transforms/remove-global-components.js +236 -0
- package/dist/transforms/remove-global-components.js.map +1 -0
- package/dist/transforms/replace-cover-method.js +2 -6
- package/dist/transforms/replace-cover-method.js.map +1 -1
- package/dist/transforms/use-blade-form.js +2 -2
- package/dist/transforms/use-blade-form.js.map +1 -1
- package/dist/transforms/use-data-table-pagination-audit.d.ts +4 -0
- package/dist/transforms/use-data-table-pagination-audit.js +42 -0
- package/dist/transforms/use-data-table-pagination-audit.js.map +1 -0
- package/dist/transforms/vc-blade-loading-prop.d.ts +4 -0
- package/dist/transforms/vc-blade-loading-prop.js +89 -0
- package/dist/transforms/vc-blade-loading-prop.js.map +1 -0
- package/dist/transforms/widgets-migration.js +3 -2
- package/dist/transforms/widgets-migration.js.map +1 -1
- package/dist/utils/import-dedup.js +1 -1
- package/dist/utils/import-dedup.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,9 +24,7 @@ function coreTransform(fileInfo, api, _options) {
|
|
|
24
24
|
if (firstArg.type !== "ObjectExpression")
|
|
25
25
|
return;
|
|
26
26
|
// Find replaceCurrentBlade property
|
|
27
|
-
const replaceIdx = firstArg.properties.findIndex((p) => p.type === "ObjectProperty" &&
|
|
28
|
-
p.key.type === "Identifier" &&
|
|
29
|
-
p.key.name === "replaceCurrentBlade");
|
|
27
|
+
const replaceIdx = firstArg.properties.findIndex((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "replaceCurrentBlade");
|
|
30
28
|
if (replaceIdx === -1)
|
|
31
29
|
return;
|
|
32
30
|
const replaceProp = firstArg.properties[replaceIdx];
|
|
@@ -63,9 +61,7 @@ function coreTransform(fileInfo, api, _options) {
|
|
|
63
61
|
decl.id.properties.push(prop);
|
|
64
62
|
}
|
|
65
63
|
// Remove openBlade from destructuring if no longer used anywhere
|
|
66
|
-
const remainingOpenBlade = root
|
|
67
|
-
.find(j.CallExpression, { callee: { name: "openBlade" } })
|
|
68
|
-
.size();
|
|
64
|
+
const remainingOpenBlade = root.find(j.CallExpression, { callee: { name: "openBlade" } }).size();
|
|
69
65
|
if (remainingOpenBlade === 0) {
|
|
70
66
|
const openBladeIdx = decl.id.properties.findIndex((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "openBlade");
|
|
71
67
|
if (openBladeIdx !== -1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-cover-method.js","sourceRoot":"","sources":["../../src/transforms/replace-cover-method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD;;;;;;;GAOG;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,iEAAiE;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,qDAAqD;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO;QAEjD,oCAAoC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAC9C,CAAC,CAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"replace-cover-method.js","sourceRoot":"","sources":["../../src/transforms/replace-cover-method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD;;;;;;;GAOG;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,iEAAiE;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,qDAAqD;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO;QAEjD,oCAAoC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAC/G,CAAC;QAEF,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO;QAE9B,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAQ,CAAC;QAE3D,oCAAoC;QACpC,MAAM,MAAM,GACV,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;YACjF,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAE7E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,sCAAsC;QACtC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE1C,iFAAiF;QACjF,8FAA8F;QAE9F,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QACtC,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,iEAAiE;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACrE,OAAO,CACL,CAAC,CAAC,IAAI,CAAC;aACJ,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;aACxD,IAAI,EAAE,GAAG,CAAC,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAC1C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CACrG,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnF,IAAY,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,iEAAiE;YACjE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjG,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAC/C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CACrG,CAAC;gBACF,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;IACH,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"}
|
|
@@ -22,7 +22,7 @@ function coreTransform(fileInfo, api, _options) {
|
|
|
22
22
|
}
|
|
23
23
|
// Detect handleSubmit usage
|
|
24
24
|
if (/handleSubmit/.test(source)) {
|
|
25
|
-
diagnostics.push(` → handleSubmit() detected —
|
|
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.`);
|
|
26
26
|
}
|
|
27
27
|
// Detect toolbar disabled formula referencing modified/valid
|
|
28
28
|
if (/disabled\s*:\s*.*(?:modified|isValid|valid)/.test(source) || /!modified/.test(source)) {
|
|
@@ -47,7 +47,7 @@ function coreTransform(fileInfo, api, _options) {
|
|
|
47
47
|
}
|
|
48
48
|
// Detect resetForm
|
|
49
49
|
if (/resetForm\s*\(/.test(source)) {
|
|
50
|
-
diagnostics.push(` → resetForm() call found —
|
|
50
|
+
diagnostics.push(` → resetForm() call found — useBladeForm() exposes revert() instead (restores data to last baseline). Replace resetForm() with revert().`);
|
|
51
51
|
}
|
|
52
52
|
if (diagnostics.length > 0) {
|
|
53
53
|
api.report(` ⚠️ ${fileInfo.path}: Manual migration needed for useBladeForm():`);
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagnostic-only: detect files that still compute pagination manually and
|
|
3
|
+
* should migrate to `useDataTablePagination()`.
|
|
4
|
+
*
|
|
5
|
+
* Flags two complementary signatures:
|
|
6
|
+
* - Data composables (.ts) that return a `totalCount` / `pages` / `currentPage`
|
|
7
|
+
* computed triple (manual pagination boilerplate).
|
|
8
|
+
* - Blade pages (.vue) with `@pagination-click="onPaginationClick"` handlers
|
|
9
|
+
* that wire pagination by hand.
|
|
10
|
+
*
|
|
11
|
+
* Rewrites are cross-file (composable + consumer blade) so automation is
|
|
12
|
+
* unreliable — the migration-agent handles the actual code change.
|
|
13
|
+
*
|
|
14
|
+
* See: migration/41-use-data-table-pagination.md
|
|
15
|
+
*/
|
|
16
|
+
// Match the manual computed triple that exposes pagination state.
|
|
17
|
+
// Requires ALL THREE to avoid false-positives where only one is returned.
|
|
18
|
+
const TOTAL_COUNT_RE = /\btotalCount:\s*computed\s*\(/;
|
|
19
|
+
const PAGES_RE = /\bpages:\s*computed\s*\(/;
|
|
20
|
+
const CURRENT_PAGE_RE = /\bcurrentPage:\s*computed\s*\(/;
|
|
21
|
+
// Blade page signature: manual pagination click handler.
|
|
22
|
+
const PAGINATION_HANDLER_RE = /@pagination-click\s*=\s*["']onPaginationClick["']/;
|
|
23
|
+
const PAGINATION_FN_RE = /(?:function|const)\s+onPaginationClick\b/;
|
|
24
|
+
const transform = (fileInfo, api, _options) => {
|
|
25
|
+
const src = fileInfo.source;
|
|
26
|
+
if (fileInfo.path.endsWith(".ts")) {
|
|
27
|
+
const hasTriple = TOTAL_COUNT_RE.test(src) && PAGES_RE.test(src) && CURRENT_PAGE_RE.test(src);
|
|
28
|
+
if (hasTriple) {
|
|
29
|
+
api.report(`${fileInfo.path}: Manual pagination triple (totalCount/pages/currentPage). Replace with useDataTablePagination(). See migration guide: useDataTablePagination.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (fileInfo.path.endsWith(".vue")) {
|
|
33
|
+
const hasHandler = PAGINATION_HANDLER_RE.test(src) || PAGINATION_FN_RE.test(src);
|
|
34
|
+
if (hasHandler) {
|
|
35
|
+
api.report(`${fileInfo.path}: Uses manual onPaginationClick — delete it and bind @pagination-click="pagination.goToPage". See migration guide: useDataTablePagination.`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return null; // diagnostic-only
|
|
39
|
+
};
|
|
40
|
+
export default transform;
|
|
41
|
+
export const parser = "tsx";
|
|
42
|
+
//# sourceMappingURL=use-data-table-pagination-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-data-table-pagination-audit.js","sourceRoot":"","sources":["../../src/transforms/use-data-table-pagination-audit.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AAEH,kEAAkE;AAClE,0EAA0E;AAC1E,MAAM,cAAc,GAAG,+BAA+B,CAAC;AACvD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAC5C,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAEzD,yDAAyD;AACzD,MAAM,qBAAqB,GAAG,mDAAmD,CAAC;AAClF,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAEpE,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE5B,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9F,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CACR,GAAG,QAAQ,CAAC,IAAI,gJAAgJ,CACjK,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CACR,GAAG,QAAQ,CAAC,IAAI,4IAA4I,CAC7J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,kBAAkB;AACjC,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { parse as parseSFC } from "@vue/compiler-sfc";
|
|
2
|
+
/**
|
|
3
|
+
* Convert `<VcBlade v-loading="X">` to `<VcBlade :loading="X">`.
|
|
4
|
+
*
|
|
5
|
+
* Details/list blades should use the VcBlade built-in `:loading` prop instead
|
|
6
|
+
* of the global `v-loading` directive. The prop renders the blade's built-in
|
|
7
|
+
* skeleton/spinner and coordinates with the form lifecycle; `v-loading` just
|
|
8
|
+
* overlays a generic spinner.
|
|
9
|
+
*
|
|
10
|
+
* Only touches `<VcBlade>` opening tags — `v-loading` on other elements
|
|
11
|
+
* (inner widgets, cards, sections) is left alone.
|
|
12
|
+
*
|
|
13
|
+
* If, after the rewrite, `v-loading` is no longer used anywhere in the
|
|
14
|
+
* template, the `vLoading` specifier is also removed from the
|
|
15
|
+
* `@vc-shell/framework/ui` import (best-effort cleanup).
|
|
16
|
+
*/
|
|
17
|
+
// Match a single <VcBlade ...> opening tag (self-closing allowed). Non-greedy
|
|
18
|
+
// [^>]* keeps each match confined to one tag.
|
|
19
|
+
const VCBLADE_TAG_RE = /<VcBlade(\s[^>]*?)?(\s*\/?)>/g;
|
|
20
|
+
// Match v-loading="..." or v-loading='...' (quoted value only).
|
|
21
|
+
const V_LOADING_RE = /(\s)v-loading=(["'])([^"']*)\2/;
|
|
22
|
+
const transform = (fileInfo, api, _options) => {
|
|
23
|
+
if (!fileInfo.path.endsWith(".vue"))
|
|
24
|
+
return null;
|
|
25
|
+
const { descriptor } = parseSFC(fileInfo.source, { filename: fileInfo.path });
|
|
26
|
+
if (!descriptor.template)
|
|
27
|
+
return null;
|
|
28
|
+
const templateStart = descriptor.template.loc.start.offset;
|
|
29
|
+
const templateEnd = descriptor.template.loc.end.offset;
|
|
30
|
+
const template = descriptor.template.content;
|
|
31
|
+
let changed = false;
|
|
32
|
+
const newTemplate = template.replace(VCBLADE_TAG_RE, (match, attrs, selfClose) => {
|
|
33
|
+
if (!attrs)
|
|
34
|
+
return match;
|
|
35
|
+
const replaced = attrs.replace(V_LOADING_RE, (_m, leading, quote, value) => {
|
|
36
|
+
return `${leading}:loading=${quote}${value}${quote}`;
|
|
37
|
+
});
|
|
38
|
+
if (replaced === attrs)
|
|
39
|
+
return match;
|
|
40
|
+
changed = true;
|
|
41
|
+
return `<VcBlade${replaced}${selfClose}>`;
|
|
42
|
+
});
|
|
43
|
+
// Splice the rewritten template back into the source (or keep original if no rewrite).
|
|
44
|
+
let result = changed
|
|
45
|
+
? fileInfo.source.substring(0, templateStart) + newTemplate + fileInfo.source.substring(templateEnd)
|
|
46
|
+
: fileInfo.source;
|
|
47
|
+
// Cleanup: if the template does not use `v-loading` anywhere, drop the
|
|
48
|
+
// orphaned `vLoading` specifier from the framework/ui import. This runs
|
|
49
|
+
// even when no rewrite happened, so it cleans up files a previous migration
|
|
50
|
+
// step already converted but left the orphan import behind.
|
|
51
|
+
const templateForCheck = changed ? newTemplate : template;
|
|
52
|
+
let importCleaned = false;
|
|
53
|
+
if (!/v-loading\b/.test(templateForCheck)) {
|
|
54
|
+
const { descriptor: after } = parseSFC(result, { filename: fileInfo.path });
|
|
55
|
+
const scriptBlock = after.scriptSetup ?? after.script;
|
|
56
|
+
if (scriptBlock) {
|
|
57
|
+
const j = api.jscodeshift;
|
|
58
|
+
const root = j(scriptBlock.content);
|
|
59
|
+
let scriptChanged = false;
|
|
60
|
+
root.find(j.ImportDeclaration).forEach((path) => {
|
|
61
|
+
if (path.node.source.value !== "@vc-shell/framework/ui")
|
|
62
|
+
return;
|
|
63
|
+
const specs = path.node.specifiers || [];
|
|
64
|
+
const filtered = specs.filter((s) => !(s.type === "ImportSpecifier" && s.imported.type === "Identifier" && s.imported.name === "vLoading"));
|
|
65
|
+
if (filtered.length !== specs.length) {
|
|
66
|
+
if (filtered.length === 0) {
|
|
67
|
+
j(path).remove();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
path.node.specifiers = filtered;
|
|
71
|
+
}
|
|
72
|
+
scriptChanged = true;
|
|
73
|
+
importCleaned = true;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (scriptChanged) {
|
|
77
|
+
const newScript = root.toSource();
|
|
78
|
+
result =
|
|
79
|
+
result.substring(0, scriptBlock.loc.start.offset) + newScript + result.substring(scriptBlock.loc.end.offset);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (!changed && !importCleaned)
|
|
84
|
+
return null;
|
|
85
|
+
return result;
|
|
86
|
+
};
|
|
87
|
+
export default transform;
|
|
88
|
+
export const parser = "tsx";
|
|
89
|
+
//# sourceMappingURL=vc-blade-loading-prop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc-blade-loading-prop.js","sourceRoot":"","sources":["../../src/transforms/vc-blade-loading-prop.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,9 @@ function coreTransform(fileInfo, api, _options) {
|
|
|
24
24
|
if (!hasUseWidgets)
|
|
25
25
|
return null;
|
|
26
26
|
api.report(`${fileInfo.path}: useWidgets() → useBladeWidgets() — API completely changed. Manual rewrite required.`);
|
|
27
|
-
api.report(` Old: const { registerWidget, clearBladeWidgets } = useWidgets(); registerWidget({...}, bladeId);`);
|
|
28
|
-
api.report(` New: const {
|
|
27
|
+
api.report(` Old: const { registerWidget, clearBladeWidgets, updateActiveWidget } = useWidgets(); registerWidget({...}, bladeId);`);
|
|
28
|
+
api.report(` New: const { refreshAll } = useXxxWidgets(...); // UseXxxWidgetsReturn extends UseBladeWidgetsReturn`);
|
|
29
|
+
api.report(` Mapping: updateActiveWidget() → refreshAll() from your module widgets composable return.`);
|
|
29
30
|
api.report(` Auto-lifecycle: no onUnmounted/clearBladeWidgets needed. See migration guide #13.`);
|
|
30
31
|
return null; // diagnostic-only
|
|
31
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets-migration.js","sourceRoot":"","sources":["../../src/transforms/widgets-migration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD;;;;;;GAMG;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,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,aAAa,GACjB,gBAAgB;SACb,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,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,OAAO,IAAI,KAAK,YAAY,CAAC;IAC/B,CAAC,CAAC;SACD,IAAI,EAAE,GAAG,CAAC,CAAC;IAEhB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,GAAG,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"widgets-migration.js","sourceRoot":"","sources":["../../src/transforms/widgets-migration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD;;;;;;GAMG;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,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,aAAa,GACjB,gBAAgB;SACb,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,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,OAAO,IAAI,KAAK,YAAY,CAAC;IAC/B,CAAC,CAAC;SACD,IAAI,EAAE,GAAG,CAAC,CAAC;IAEhB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,uFAAuF,CAAC,CAAC;IACpH,GAAG,CAAC,MAAM,CACR,wHAAwH,CACzH,CAAC;IACF,GAAG,CAAC,MAAM,CAAC,wGAAwG,CAAC,CAAC;IACrH,GAAG,CAAC,MAAM,CAAC,4FAA4F,CAAC,CAAC;IACzG,GAAG,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC;IAElG,OAAO,IAAI,CAAC,CAAC,kBAAkB;AACjC,CAAC;AAED,eAAe,UAAU,CAAC,aAAa,CAAc,CAAC;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Regex that matches a full import statement (possibly spanning multiple lines via line continuation). */
|
|
2
|
-
const
|
|
2
|
+
const _IMPORT_LINE_RE = /^(\s*import\s+(?:[^'"]*?\s+from\s+)?['"][^'"]+['"]\s*;?\s*)$/;
|
|
3
3
|
/** Extracts the source module string from an import statement line. */
|
|
4
4
|
function extractSource(importLine) {
|
|
5
5
|
const m = importLine.match(/from\s+['"]([^'"]+)['"]/);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-dedup.js","sourceRoot":"","sources":["../../src/utils/import-dedup.ts"],"names":[],"mappings":"AAEA,2GAA2G;AAC3G,MAAM,
|
|
1
|
+
{"version":3,"file":"import-dedup.js","sourceRoot":"","sources":["../../src/utils/import-dedup.ts"],"names":[],"mappings":"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"}
|