@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.
- package/CHANGELOG.md +61 -45
- 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/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/dep-updater.d.ts +8 -0
- package/dist/dep-updater.js +60 -0
- package/dist/dep-updater.js.map +1 -0
- package/dist/file-scanner.d.ts +3 -0
- package/dist/file-scanner.js +102 -0
- package/dist/file-scanner.js.map +1 -0
- package/dist/report-generator.d.ts +2 -0
- package/dist/report-generator.js +311 -0
- package/dist/report-generator.js.map +1 -0
- package/dist/runner.d.ts +6 -0
- package/dist/runner.js +184 -269
- package/dist/runner.js.map +1 -1
- package/dist/sfc-processor.d.ts +12 -0
- package/dist/sfc-processor.js +54 -0
- package/dist/sfc-processor.js.map +1 -0
- 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 +10 -2
- package/dist/transforms/blade-props-simplification.js.map +1 -1
- package/dist/transforms/define-app-module.js +8 -4
- package/dist/transforms/define-app-module.js.map +1 -1
- package/dist/transforms/define-expose-to-children.d.ts +4 -0
- package/dist/transforms/define-expose-to-children.js +97 -0
- package/dist/transforms/define-expose-to-children.js.map +1 -0
- package/dist/transforms/dynamic-properties-refactor.js +1 -1
- package/dist/transforms/dynamic-properties-refactor.js.map +1 -1
- package/dist/transforms/icon-audit.js +20 -24
- package/dist/transforms/icon-audit.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/locale-imports.d.ts +4 -0
- package/dist/transforms/locale-imports.js +23 -0
- package/dist/transforms/locale-imports.js.map +1 -0
- package/dist/transforms/registry.js +134 -4
- 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-deprecated-aliases.js +12 -1
- package/dist/transforms/remove-deprecated-aliases.js.map +1 -1
- 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/remove-pathmatch-route.d.ts +17 -0
- package/dist/transforms/remove-pathmatch-route.js +74 -0
- package/dist/transforms/remove-pathmatch-route.js.map +1 -0
- package/dist/transforms/remove-release-config.d.ts +4 -0
- package/dist/transforms/remove-release-config.js +58 -0
- package/dist/transforms/remove-release-config.js.map +1 -0
- package/dist/transforms/replace-cover-method.d.ts +4 -0
- package/dist/transforms/replace-cover-method.js +77 -0
- package/dist/transforms/replace-cover-method.js.map +1 -0
- package/dist/transforms/types.d.ts +2 -0
- package/dist/transforms/use-assets-migration.js +12 -12
- package/dist/transforms/use-assets-migration.js.map +1 -1
- package/dist/transforms/use-blade-form.js +23 -129
- package/dist/transforms/use-blade-form.js.map +1 -1
- package/dist/transforms/use-blade-migration.js +14 -2
- package/dist/transforms/use-blade-migration.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/vctable-audit.d.ts +4 -0
- package/dist/transforms/vctable-audit.js +14 -0
- package/dist/transforms/vctable-audit.js.map +1 -0
- package/dist/transforms/widgets-migration.js +20 -23
- package/dist/transforms/widgets-migration.js.map +1 -1
- package/dist/transforms/window-globals.d.ts +4 -0
- package/dist/transforms/window-globals.js +24 -0
- package/dist/transforms/window-globals.js.map +1 -0
- package/dist/utils/import-dedup.js +1 -1
- package/dist/utils/import-dedup.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-blade-migration.js","sourceRoot":"","sources":["../../src/transforms/use-blade-migration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,MAAM,QAAQ,GAAG,oBAAoB,CAAC;AACtC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAE5B,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,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxG,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,oDAAoD;IACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,gCAAgC;QAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,yBAAyB,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC1F,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,gEAAgE,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,MAAM,kBAAkB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAEpE,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QAE1C,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,8EAA8E,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,GAAG;gBAAE,OAAO;YAEjB,
|
|
1
|
+
{"version":3,"file":"use-blade-migration.js","sourceRoot":"","sources":["../../src/transforms/use-blade-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const VCTABLE_PATTERN = /<VcTable[\s\n>]/;
|
|
2
|
+
const transform = (fileInfo, api, _options) => {
|
|
3
|
+
// Only audit .vue files
|
|
4
|
+
if (!fileInfo.path.endsWith(".vue"))
|
|
5
|
+
return null;
|
|
6
|
+
if (VCTABLE_PATTERN.test(fileInfo.source)) {
|
|
7
|
+
api.report(`${fileInfo.path}: Uses <VcTable> — must be migrated to <VcDataTable>. ` +
|
|
8
|
+
`See migration guide: VcTable → VcDataTable.`);
|
|
9
|
+
}
|
|
10
|
+
return null; // Never modify — diagnostic only
|
|
11
|
+
};
|
|
12
|
+
export default transform;
|
|
13
|
+
export const parser = "tsx";
|
|
14
|
+
//# sourceMappingURL=vctable-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vctable-audit.js","sourceRoot":"","sources":["../../src/transforms/vctable-audit.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,wBAAwB;IACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,MAAM,CACR,GAAG,QAAQ,CAAC,IAAI,wDAAwD;YACtE,6CAA6C,CAChD,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,iCAAiC;AAChD,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { wrapForSFC } from "../utils/vue-sfc-wrapper.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Diagnostic-only: detect useWidgets() usage and report manual migration needed.
|
|
4
|
+
*
|
|
5
|
+
* The old useWidgets() API (registerWidget, clearBladeWidgets, updateActiveWidget)
|
|
6
|
+
* is completely replaced by the new declarative useBladeWidgets(widgets[]) API.
|
|
7
|
+
* This cannot be mechanically migrated — it requires manual rewrite.
|
|
8
|
+
*/
|
|
5
9
|
function coreTransform(fileInfo, api, _options) {
|
|
6
10
|
const j = api.jscodeshift;
|
|
7
11
|
const root = j(fileInfo.source);
|
|
@@ -10,28 +14,21 @@ function coreTransform(fileInfo, api, _options) {
|
|
|
10
14
|
});
|
|
11
15
|
if (frameworkImports.size() === 0)
|
|
12
16
|
return null;
|
|
13
|
-
const
|
|
14
|
-
|
|
17
|
+
const hasUseWidgets = frameworkImports
|
|
18
|
+
.find(j.ImportSpecifier)
|
|
19
|
+
.filter((path) => {
|
|
15
20
|
const name = path.node.imported.type === "Identifier" ? path.node.imported.name : "";
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (renames.length === 0)
|
|
21
|
+
return name === "useWidgets";
|
|
22
|
+
})
|
|
23
|
+
.size() > 0;
|
|
24
|
+
if (!hasUseWidgets)
|
|
21
25
|
return null;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const hasRegister = root.find(j.Identifier, { name: "registerWidget" }).size() > 0 ||
|
|
29
|
-
root.find(j.Identifier, { name: "unregisterWidget" }).size() > 0;
|
|
30
|
-
if (hasRegister) {
|
|
31
|
-
api.report(`${fileInfo.path}: useWidgets → useBladeWidgets renamed. ` +
|
|
32
|
-
`registerWidget/unregisterWidget calls require manual review.`);
|
|
33
|
-
}
|
|
34
|
-
return root.toSource();
|
|
26
|
+
api.report(`${fileInfo.path}: useWidgets() → useBladeWidgets() — API completely changed. Manual rewrite required.`);
|
|
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.`);
|
|
30
|
+
api.report(` Auto-lifecycle: no onUnmounted/clearBladeWidgets needed. See migration guide #13.`);
|
|
31
|
+
return null; // diagnostic-only
|
|
35
32
|
}
|
|
36
33
|
export default wrapForSFC(coreTransform);
|
|
37
34
|
export const parser = "tsx";
|
|
@@ -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
|
|
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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const WINDOW_GLOBALS = {
|
|
2
|
+
"window.Vue": "Use `import { createApp } from 'vue'` instead",
|
|
3
|
+
"window.VueRouter": "Use `import { createRouter } from 'vue-router'` instead",
|
|
4
|
+
"window.moment": "Use `import { formatDateWithPattern } from '@vc-shell/framework'` — see guide 03",
|
|
5
|
+
"window._": "Use `import { uniq, debounce, ... } from 'lodash-es'` instead",
|
|
6
|
+
"window.VcShellFramework": "Use named imports from '@vc-shell/framework' instead",
|
|
7
|
+
"window.VeeValidate": "Use `import { useForm, Field } from 'vee-validate'` instead",
|
|
8
|
+
"window.VueUse": "Use `import { ... } from '@vueuse/core'` instead",
|
|
9
|
+
"window.VueI18n": "Use `import { useI18n } from 'vue-i18n'` instead",
|
|
10
|
+
};
|
|
11
|
+
const transform = (fileInfo, api, _options) => {
|
|
12
|
+
const source = fileInfo.source;
|
|
13
|
+
for (const [global, advice] of Object.entries(WINDOW_GLOBALS)) {
|
|
14
|
+
const escaped = global.replace(".", "\\.");
|
|
15
|
+
const re = new RegExp(`\\b${escaped}\\b`);
|
|
16
|
+
if (re.test(source)) {
|
|
17
|
+
api.report(`${fileInfo.path}: ${global} is removed in v2. ${advice}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return null;
|
|
21
|
+
};
|
|
22
|
+
export default transform;
|
|
23
|
+
export const parser = "tsx";
|
|
24
|
+
//# sourceMappingURL=window-globals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window-globals.js","sourceRoot":"","sources":["../../src/transforms/window-globals.ts"],"names":[],"mappings":"AAGA,MAAM,cAAc,GAA2B;IAC7C,YAAY,EAAE,+CAA+C;IAC7D,kBAAkB,EAAE,yDAAyD;IAC7E,eAAe,EAAE,kFAAkF;IACnG,UAAU,EAAE,+DAA+D;IAC3E,yBAAyB,EAAE,sDAAsD;IACjF,oBAAoB,EAAE,6DAA6D;IACnF,eAAe,EAAE,kDAAkD;IACnE,gBAAgB,EAAE,kDAAkD;CACrE,CAAC;AAEF,MAAM,SAAS,GAAc,CAAC,QAAkB,EAAE,GAAQ,EAAE,QAAiB,EAAiB,EAAE;IAC9F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,MAAM,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,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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"}
|