@sanity/ui-codemod 1.0.0-alpha.6 → 1.0.0-alpha.7
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/dist/_chunks-es/box.mods.js +1 -100
- package/dist/_chunks-es/box.mods.js.map +1 -1
- package/dist/_chunks-es/replaceElement.js +102 -0
- package/dist/_chunks-es/replaceElement.js.map +1 -0
- package/dist/commands/latest/inline.d.ts +47 -0
- package/dist/commands/latest/inline.js +17 -0
- package/dist/commands/latest/inline.js.map +1 -0
- package/dist/commands/latest/label.d.ts +47 -0
- package/dist/commands/latest/label.js +17 -0
- package/dist/commands/latest/label.js.map +1 -0
- package/dist/commands/latest/stack.d.ts +47 -0
- package/dist/commands/latest/stack.js +17 -0
- package/dist/commands/latest/stack.js.map +1 -0
- package/dist/transforms/latest/box/box.js +2 -1
- package/dist/transforms/latest/box/box.js.map +1 -1
- package/dist/transforms/latest/card/card.js +2 -1
- package/dist/transforms/latest/card/card.js.map +1 -1
- package/dist/transforms/latest/inline/inline.d.ts +18 -0
- package/dist/transforms/latest/inline/inline.js +80 -0
- package/dist/transforms/latest/inline/inline.js.map +1 -0
- package/dist/transforms/latest/label/label.d.ts +18 -0
- package/dist/transforms/latest/label/label.js +111 -0
- package/dist/transforms/latest/label/label.js.map +1 -0
- package/dist/transforms/latest/stack/stack.d.ts +18 -0
- package/dist/transforms/latest/stack/stack.js +67 -0
- package/dist/transforms/latest/stack/stack.js.map +1 -0
- package/package.json +7 -1
|
@@ -1,102 +1,4 @@
|
|
|
1
|
-
import { insertTodoWarning } from "./transformStyledComponents.js";
|
|
2
1
|
import { LAYOUT_MODS } from "./layout-mods.js";
|
|
3
|
-
function addImportSpecifier(j, root, addTo, name) {
|
|
4
|
-
let hasChanges = !1;
|
|
5
|
-
return root.find(j.ImportDeclaration).forEach((path) => {
|
|
6
|
-
const specs = path.node.specifiers;
|
|
7
|
-
if (!specs?.length)
|
|
8
|
-
return;
|
|
9
|
-
const hasFromSpecifier = specs.some(
|
|
10
|
-
(s) => s.type === "ImportSpecifier" && s.imported.type === "Identifier" && s.imported.name === addTo
|
|
11
|
-
), hasToSpecifier = specs.some(
|
|
12
|
-
(s) => s.type === "ImportSpecifier" && s.imported.type === "Identifier" && s.imported.name === name
|
|
13
|
-
);
|
|
14
|
-
hasFromSpecifier && !hasToSpecifier && (specs.push(j.importSpecifier(j.identifier(name), j.identifier(name))), hasChanges = !0);
|
|
15
|
-
}), hasChanges;
|
|
16
|
-
}
|
|
17
|
-
function getElementMatchNames(element, localNames) {
|
|
18
|
-
return localNames === void 0 ? /* @__PURE__ */ new Set([element]) : new Set(localNames);
|
|
19
|
-
}
|
|
20
|
-
function isImportBindingUsed(j, root, name, specifierPath) {
|
|
21
|
-
if (root.find(j.JSXOpeningElement).some(({ node }) => node.name.type === "JSXIdentifier" && node.name.name === name) || root.find(j.JSXClosingElement).some(({ node }) => node.name.type === "JSXIdentifier" && node.name.name === name))
|
|
22
|
-
return !0;
|
|
23
|
-
const importedPath = specifierPath.get("imported"), localPath = specifierPath.get("local");
|
|
24
|
-
return root.find(j.Identifier).some((idPath) => {
|
|
25
|
-
if (idPath.node.name !== name || idPath === importedPath || idPath === localPath)
|
|
26
|
-
return !1;
|
|
27
|
-
const parent = idPath.parent?.node;
|
|
28
|
-
return parent ? !(parent.type === "MemberExpression" && !parent.computed && parent.property === idPath.node || parent.type === "TSQualifiedName" && parent.right === idPath.node) : !0;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
function removeUnusedImport(j, root, name) {
|
|
32
|
-
let hasChanges = !1;
|
|
33
|
-
return root.find(j.ImportDeclaration).forEach((path) => {
|
|
34
|
-
const specs = path.node.specifiers;
|
|
35
|
-
if (!specs?.length)
|
|
36
|
-
return;
|
|
37
|
-
const next = specs.filter((spec, i) => {
|
|
38
|
-
if (spec.type !== "ImportSpecifier" || spec.imported.type !== "Identifier" || spec.imported.name !== name || "importKind" in spec && spec.importKind === "type")
|
|
39
|
-
return !0;
|
|
40
|
-
const localName = spec.local?.type === "Identifier" ? spec.local.name : spec.imported.name, specifierPath = path.get("specifiers", i);
|
|
41
|
-
return isImportBindingUsed(j, root, localName, specifierPath);
|
|
42
|
-
});
|
|
43
|
-
if (next.length !== specs.length) {
|
|
44
|
-
if (next.length === 0) {
|
|
45
|
-
j(path).remove(), hasChanges = !0;
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
path.node.specifiers = next, hasChanges = !0;
|
|
49
|
-
}
|
|
50
|
-
}), hasChanges;
|
|
51
|
-
}
|
|
52
|
-
function transformImportAlias(j, root, fromExport, toExport, localName, warning) {
|
|
53
|
-
let updated = !1;
|
|
54
|
-
return root.find(j.ImportDeclaration).forEach((path) => {
|
|
55
|
-
const specs = path.node.specifiers;
|
|
56
|
-
if (specs?.length) {
|
|
57
|
-
for (const spec of specs)
|
|
58
|
-
if (!(spec.type !== "ImportSpecifier" || spec.imported.type !== "Identifier" || spec.imported.name !== fromExport || (spec.local?.type === "Identifier" ? spec.local.name : spec.imported.name) !== localName)) {
|
|
59
|
-
spec.imported.name = toExport, updated = !0, warning && insertTodoWarning(j, path, warning);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}), updated;
|
|
64
|
-
}
|
|
65
|
-
function replaceElement(j, root, filter, from, to) {
|
|
66
|
-
const names = getElementMatchNames(from.element, from.localNames);
|
|
67
|
-
let hasChanges = !1, needsDefaultImportUpdate = !1;
|
|
68
|
-
const aliases = /* @__PURE__ */ new Set();
|
|
69
|
-
return root.find(j.JSXOpeningElement).forEach((path) => {
|
|
70
|
-
const openingEl = path.node, openingName = openingEl.name;
|
|
71
|
-
if (openingName.type !== "JSXIdentifier" || !names.has(openingName.name))
|
|
72
|
-
return;
|
|
73
|
-
const attrs = openingEl.attributes;
|
|
74
|
-
if (!attrs || !filter(attrs)) {
|
|
75
|
-
from.callback?.(path) && (hasChanges = !0);
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const localTag = openingName.name;
|
|
79
|
-
if (localTag !== from.element && localTag !== to.element)
|
|
80
|
-
aliases.has(localTag) || (transformImportAlias(
|
|
81
|
-
j,
|
|
82
|
-
root,
|
|
83
|
-
from.element,
|
|
84
|
-
to.element,
|
|
85
|
-
localTag,
|
|
86
|
-
`Consider renaming ${localTag} to ${to.element}`
|
|
87
|
-
) && (hasChanges = !0), aliases.add(localTag));
|
|
88
|
-
else {
|
|
89
|
-
openingName.name = to.element;
|
|
90
|
-
const parentNode = path.parent?.node;
|
|
91
|
-
if (parentNode?.type === "JSXElement") {
|
|
92
|
-
const closing = parentNode.closingElement;
|
|
93
|
-
closing?.name.type === "JSXIdentifier" && (closing.name.name = to.element);
|
|
94
|
-
}
|
|
95
|
-
needsDefaultImportUpdate = !0, hasChanges = !0;
|
|
96
|
-
}
|
|
97
|
-
to.callback?.(path) && (hasChanges = !0);
|
|
98
|
-
}), needsDefaultImportUpdate && (addImportSpecifier(j, root, from.element, to.element) && (hasChanges = !0), removeUnusedImport(j, root, from.element) && (hasChanges = !0)), hasChanges;
|
|
99
|
-
}
|
|
100
2
|
const BOX_MODS = {
|
|
101
3
|
...LAYOUT_MODS,
|
|
102
4
|
alignItems: {
|
|
@@ -182,7 +84,6 @@ const BOX_MODS = {
|
|
|
182
84
|
}
|
|
183
85
|
};
|
|
184
86
|
export {
|
|
185
|
-
BOX_MODS
|
|
186
|
-
replaceElement
|
|
87
|
+
BOX_MODS
|
|
187
88
|
};
|
|
188
89
|
//# sourceMappingURL=box.mods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.mods.js","sources":["../../src/utils/addImportSpecifier.ts","../../src/utils/getElementMatchNames.ts","../../src/utils/isImportBindingUsed.ts","../../src/utils/removeUnusedImport.ts","../../src/utils/transformImportAlias.ts","../../src/utils/replaceElement.ts","../../src/transforms/latest/box/box.mods.ts"],"sourcesContent":["import type {API} from 'jscodeshift'\n\n/**\n * Adds an import specifier to an existing import declaration.\n * Returns whether the AST was updated.\n */\nexport function addImportSpecifier(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n addTo: string,\n name: string,\n): boolean {\n let hasChanges = false\n\n root.find(j.ImportDeclaration).forEach((path) => {\n const specs = path.node.specifiers\n\n if (!specs?.length) {\n return\n }\n\n const hasFromSpecifier = specs.some(\n (s) =>\n s.type === 'ImportSpecifier' &&\n s.imported.type === 'Identifier' &&\n s.imported.name === addTo,\n )\n const hasToSpecifier = specs.some(\n (s) =>\n s.type === 'ImportSpecifier' &&\n s.imported.type === 'Identifier' &&\n s.imported.name === name,\n )\n\n if (hasFromSpecifier && !hasToSpecifier) {\n specs.push(j.importSpecifier(j.identifier(name), j.identifier(name)))\n hasChanges = true\n }\n })\n\n return hasChanges\n}\n","export function getElementMatchNames(element: string, localNames?: Iterable<string>): Set<string> {\n if (localNames === undefined) {\n return new Set([element])\n }\n\n return new Set(localNames)\n}\n","import type {API, ASTPath, ImportSpecifier} from 'jscodeshift'\n\nexport function isImportBindingUsed(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n name: string,\n specifierPath: ASTPath<ImportSpecifier>,\n): boolean {\n const jsxOpening = root.find(j.JSXOpeningElement).some(({node}) => {\n return node.name.type === 'JSXIdentifier' && node.name.name === name\n })\n\n if (jsxOpening) {\n return true\n }\n\n const jsxClosing = root.find(j.JSXClosingElement).some(({node}) => {\n return node.name.type === 'JSXIdentifier' && node.name.name === name\n })\n\n if (jsxClosing) {\n return true\n }\n\n const importedPath = specifierPath.get('imported')\n const localPath = specifierPath.get('local')\n\n return root.find(j.Identifier).some((idPath) => {\n if (idPath.node.name !== name) {\n return false\n }\n\n if (idPath === importedPath || idPath === localPath) {\n return false\n }\n\n const parent = idPath.parent?.node\n\n if (!parent) {\n return true\n }\n\n if (parent.type === 'MemberExpression' && !parent.computed && parent.property === idPath.node) {\n return false\n }\n\n if (parent.type === 'TSQualifiedName' && parent.right === idPath.node) {\n return false\n }\n\n return true\n })\n}\n","import type {API, ASTPath, ImportSpecifier} from 'jscodeshift'\n\nimport {isImportBindingUsed} from './isImportBindingUsed'\n\n/**\n * Removes unused import specifier or the whole import if no specifiers remain.\n * Returns whether the AST was updated.\n */\nexport function removeUnusedImport(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n name: string,\n): boolean {\n let hasChanges = false\n\n root.find(j.ImportDeclaration).forEach((path) => {\n const specs = path.node.specifiers\n\n if (!specs?.length) {\n return\n }\n\n const next = specs.filter((spec, i) => {\n if (spec.type !== 'ImportSpecifier' || spec.imported.type !== 'Identifier') {\n return true\n }\n\n if (spec.imported.name !== name) {\n return true\n }\n\n if ('importKind' in spec && spec.importKind === 'type') {\n return true\n }\n\n const localName = spec.local?.type === 'Identifier' ? spec.local.name : spec.imported.name\n const specifierPath = path.get('specifiers', i) as ASTPath<ImportSpecifier>\n\n return isImportBindingUsed(j, root, localName, specifierPath)\n })\n\n if (next.length === specs.length) {\n return\n }\n\n if (next.length === 0) {\n j(path).remove()\n hasChanges = true\n return\n }\n\n path.node.specifiers = next\n hasChanges = true\n })\n\n return hasChanges\n}\n","import type {API} from 'jscodeshift'\n\nimport {insertTodoWarning} from './insertTodoWarning'\n\nexport function transformImportAlias(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n fromExport: string,\n toExport: string,\n localName: string,\n warning?: string,\n): boolean {\n let updated = false\n\n root.find(j.ImportDeclaration).forEach((path) => {\n const specs = path.node.specifiers\n\n if (!specs?.length) {\n return\n }\n\n for (const spec of specs) {\n if (spec.type !== 'ImportSpecifier' || spec.imported.type !== 'Identifier') {\n continue\n }\n\n if (spec.imported.name !== fromExport) {\n continue\n }\n\n const local = spec.local?.type === 'Identifier' ? spec.local.name : spec.imported.name\n\n if (local !== localName) {\n continue\n }\n\n spec.imported.name = toExport\n updated = true\n\n if (warning) {\n insertTodoWarning(j, path, warning)\n }\n\n return\n }\n })\n\n return updated\n}\n","import type {API, ASTPath, JSXAttribute, JSXOpeningElement, JSXSpreadAttribute} from 'jscodeshift'\n\nimport {addImportSpecifier} from './addImportSpecifier'\nimport {getElementMatchNames} from './getElementMatchNames'\nimport {removeUnusedImport} from './removeUnusedImport'\nimport {transformImportAlias} from './transformImportAlias'\n\n/**\n * Replaces JSX component if `filter` passes. Runs callbacks and updates imports.\n * If `localNames` is omitted, matches `from.element`. `localNames` may be an empty set,\n * to avoid rewriting unrelated JSX when only cross-file styled aliases are present.\n * Returns whether the AST was updated.\n */\nexport function replaceElement(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n filter: (attrs: (JSXAttribute | JSXSpreadAttribute)[]) => boolean,\n from: {\n element: string\n localNames?: Iterable<string>\n callback?: (path: ASTPath<JSXOpeningElement>) => boolean | void\n },\n to: {\n element: string\n callback?: (path: ASTPath<JSXOpeningElement>) => boolean | void\n },\n): boolean {\n const names = getElementMatchNames(from.element, from.localNames)\n\n let hasChanges = false\n let needsDefaultImportUpdate = false\n const aliases = new Set<string>()\n\n root.find(j.JSXOpeningElement).forEach((path) => {\n const openingEl = path.node\n const openingName = openingEl.name\n\n if (openingName.type !== 'JSXIdentifier' || !names.has(openingName.name)) {\n return\n }\n\n const attrs = openingEl.attributes\n\n if (!attrs || !filter(attrs)) {\n if (from.callback?.(path)) {\n hasChanges = true\n }\n\n return\n }\n\n const localTag = openingName.name\n const preserveAlias = localTag !== from.element && localTag !== to.element\n\n if (preserveAlias) {\n if (!aliases.has(localTag)) {\n if (\n transformImportAlias(\n j,\n root,\n from.element,\n to.element,\n localTag,\n `Consider renaming ${localTag} to ${to.element}`,\n )\n ) {\n hasChanges = true\n }\n\n aliases.add(localTag)\n }\n } else {\n openingName.name = to.element\n\n const parentNode = path.parent?.node\n\n if (parentNode?.type === 'JSXElement') {\n const closing = parentNode.closingElement\n\n if (closing?.name.type === 'JSXIdentifier') {\n closing.name.name = to.element\n }\n }\n\n needsDefaultImportUpdate = true\n hasChanges = true\n }\n\n if (to.callback?.(path)) {\n hasChanges = true\n }\n })\n\n if (needsDefaultImportUpdate) {\n if (addImportSpecifier(j, root, from.element, to.element)) {\n hasChanges = true\n }\n\n if (removeUnusedImport(j, root, from.element)) {\n hasChanges = true\n }\n }\n\n return hasChanges\n}\n","import {LAYOUT_MODS} from '../../../constants/latest/layout-mods'\nimport type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const BOX_MODS: AttributeMods = {\n ...LAYOUT_MODS,\n alignItems: {\n type: 'style-only',\n style: 'alignItems',\n },\n flexDirection: {\n type: 'style-only',\n style: 'flexDirection',\n },\n flexWrap: {\n type: 'style-only',\n style: 'flexWrap',\n },\n gridAutoColumns: {\n type: 'style-only',\n style: 'gridAutoColumns',\n },\n gridAutoFlow: {\n type: 'style-only',\n style: 'gridAutoFlow',\n },\n gridAutoRows: {\n type: 'style-only',\n style: 'gridAutoRows',\n },\n gridTemplateColumns: {\n type: 'style-mapped',\n style: 'gridTemplateColumns',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n gridTemplateRows: {\n type: 'style-mapped',\n style: 'gridTemplateRows',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n justifyContent: {\n type: 'style-only',\n style: 'justifyContent',\n },\n tone: {\n type: 'mapped-only',\n mapping: {\n default: 'none',\n none: 'none',\n transparent: 'neutral',\n neutral: 'neutral',\n brand: 'primary',\n primary: 'primary',\n positive: 'positive',\n caution: 'caution',\n critical: 'critical',\n suggest: 'suggest',\n },\n },\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"box.mods.js","sources":["../../src/transforms/latest/box/box.mods.ts"],"sourcesContent":["import {LAYOUT_MODS} from '../../../constants/latest/layout-mods'\nimport type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const BOX_MODS: AttributeMods = {\n ...LAYOUT_MODS,\n alignItems: {\n type: 'style-only',\n style: 'alignItems',\n },\n flexDirection: {\n type: 'style-only',\n style: 'flexDirection',\n },\n flexWrap: {\n type: 'style-only',\n style: 'flexWrap',\n },\n gridAutoColumns: {\n type: 'style-only',\n style: 'gridAutoColumns',\n },\n gridAutoFlow: {\n type: 'style-only',\n style: 'gridAutoFlow',\n },\n gridAutoRows: {\n type: 'style-only',\n style: 'gridAutoRows',\n },\n gridTemplateColumns: {\n type: 'style-mapped',\n style: 'gridTemplateColumns',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n gridTemplateRows: {\n type: 'style-mapped',\n style: 'gridTemplateRows',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n justifyContent: {\n type: 'style-only',\n style: 'justifyContent',\n },\n tone: {\n type: 'mapped-only',\n mapping: {\n default: 'none',\n none: 'none',\n transparent: 'neutral',\n neutral: 'neutral',\n brand: 'primary',\n primary: 'primary',\n positive: 'positive',\n caution: 'caution',\n critical: 'critical',\n suggest: 'suggest',\n },\n },\n}\n"],"names":[],"mappings":";AAIO,MAAM,WAA0B;AAAA,EACrC,GAAG;AAAA,EACH,YAAY;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,eAAe;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { insertTodoWarning } from "./transformStyledComponents.js";
|
|
2
|
+
function addImportSpecifier(j, root, addTo, name) {
|
|
3
|
+
let hasChanges = !1;
|
|
4
|
+
return root.find(j.ImportDeclaration).forEach((path) => {
|
|
5
|
+
const specs = path.node.specifiers;
|
|
6
|
+
if (!specs?.length)
|
|
7
|
+
return;
|
|
8
|
+
const hasFromSpecifier = specs.some(
|
|
9
|
+
(s) => s.type === "ImportSpecifier" && s.imported.type === "Identifier" && s.imported.name === addTo
|
|
10
|
+
), hasToSpecifier = specs.some(
|
|
11
|
+
(s) => s.type === "ImportSpecifier" && s.imported.type === "Identifier" && s.imported.name === name
|
|
12
|
+
);
|
|
13
|
+
hasFromSpecifier && !hasToSpecifier && (specs.push(j.importSpecifier(j.identifier(name), j.identifier(name))), hasChanges = !0);
|
|
14
|
+
}), hasChanges;
|
|
15
|
+
}
|
|
16
|
+
function getElementMatchNames(element, localNames) {
|
|
17
|
+
return localNames === void 0 ? /* @__PURE__ */ new Set([element]) : new Set(localNames);
|
|
18
|
+
}
|
|
19
|
+
function isImportBindingUsed(j, root, name, specifierPath) {
|
|
20
|
+
if (root.find(j.JSXOpeningElement).some(({ node }) => node.name.type === "JSXIdentifier" && node.name.name === name) || root.find(j.JSXClosingElement).some(({ node }) => node.name.type === "JSXIdentifier" && node.name.name === name))
|
|
21
|
+
return !0;
|
|
22
|
+
const importedPath = specifierPath.get("imported"), localPath = specifierPath.get("local");
|
|
23
|
+
return root.find(j.Identifier).some((idPath) => {
|
|
24
|
+
if (idPath.node.name !== name || idPath === importedPath || idPath === localPath)
|
|
25
|
+
return !1;
|
|
26
|
+
const parent = idPath.parent?.node;
|
|
27
|
+
return parent ? !(parent.type === "MemberExpression" && !parent.computed && parent.property === idPath.node || parent.type === "TSQualifiedName" && parent.right === idPath.node) : !0;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function removeUnusedImport(j, root, name) {
|
|
31
|
+
let hasChanges = !1;
|
|
32
|
+
return root.find(j.ImportDeclaration).forEach((path) => {
|
|
33
|
+
const specs = path.node.specifiers;
|
|
34
|
+
if (!specs?.length)
|
|
35
|
+
return;
|
|
36
|
+
const next = specs.filter((spec, i) => {
|
|
37
|
+
if (spec.type !== "ImportSpecifier" || spec.imported.type !== "Identifier" || spec.imported.name !== name || "importKind" in spec && spec.importKind === "type")
|
|
38
|
+
return !0;
|
|
39
|
+
const localName = spec.local?.type === "Identifier" ? spec.local.name : spec.imported.name, specifierPath = path.get("specifiers", i);
|
|
40
|
+
return isImportBindingUsed(j, root, localName, specifierPath);
|
|
41
|
+
});
|
|
42
|
+
if (next.length !== specs.length) {
|
|
43
|
+
if (next.length === 0) {
|
|
44
|
+
j(path).remove(), hasChanges = !0;
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
path.node.specifiers = next, hasChanges = !0;
|
|
48
|
+
}
|
|
49
|
+
}), hasChanges;
|
|
50
|
+
}
|
|
51
|
+
function transformImportAlias(j, root, fromExport, toExport, localName, warning) {
|
|
52
|
+
let updated = !1;
|
|
53
|
+
return root.find(j.ImportDeclaration).forEach((path) => {
|
|
54
|
+
const specs = path.node.specifiers;
|
|
55
|
+
if (specs?.length) {
|
|
56
|
+
for (const spec of specs)
|
|
57
|
+
if (!(spec.type !== "ImportSpecifier" || spec.imported.type !== "Identifier" || spec.imported.name !== fromExport || (spec.local?.type === "Identifier" ? spec.local.name : spec.imported.name) !== localName)) {
|
|
58
|
+
spec.imported.name = toExport, updated = !0, warning && insertTodoWarning(j, path, warning);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}), updated;
|
|
63
|
+
}
|
|
64
|
+
function replaceElement(j, root, filter, from, to) {
|
|
65
|
+
const names = getElementMatchNames(from.element, from.localNames);
|
|
66
|
+
let hasChanges = !1, needsDefaultImportUpdate = !1;
|
|
67
|
+
const aliases = /* @__PURE__ */ new Set();
|
|
68
|
+
return root.find(j.JSXOpeningElement).forEach((path) => {
|
|
69
|
+
const openingEl = path.node, openingName = openingEl.name;
|
|
70
|
+
if (openingName.type !== "JSXIdentifier" || !names.has(openingName.name))
|
|
71
|
+
return;
|
|
72
|
+
const attrs = openingEl.attributes;
|
|
73
|
+
if (!attrs || !filter(attrs)) {
|
|
74
|
+
from.callback?.(path) && (hasChanges = !0);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const localTag = openingName.name;
|
|
78
|
+
if (localTag !== from.element && localTag !== to.element)
|
|
79
|
+
aliases.has(localTag) || (transformImportAlias(
|
|
80
|
+
j,
|
|
81
|
+
root,
|
|
82
|
+
from.element,
|
|
83
|
+
to.element,
|
|
84
|
+
localTag,
|
|
85
|
+
`Consider renaming ${localTag} to ${to.element}`
|
|
86
|
+
) && (hasChanges = !0), aliases.add(localTag));
|
|
87
|
+
else {
|
|
88
|
+
openingName.name = to.element;
|
|
89
|
+
const parentNode = path.parent?.node;
|
|
90
|
+
if (parentNode?.type === "JSXElement") {
|
|
91
|
+
const closing = parentNode.closingElement;
|
|
92
|
+
closing?.name.type === "JSXIdentifier" && (closing.name.name = to.element);
|
|
93
|
+
}
|
|
94
|
+
needsDefaultImportUpdate = !0, hasChanges = !0;
|
|
95
|
+
}
|
|
96
|
+
to.callback?.(path) && (hasChanges = !0);
|
|
97
|
+
}), needsDefaultImportUpdate && (addImportSpecifier(j, root, from.element, to.element) && (hasChanges = !0), removeUnusedImport(j, root, from.element) && (hasChanges = !0)), hasChanges;
|
|
98
|
+
}
|
|
99
|
+
export {
|
|
100
|
+
replaceElement
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=replaceElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceElement.js","sources":["../../src/utils/addImportSpecifier.ts","../../src/utils/getElementMatchNames.ts","../../src/utils/isImportBindingUsed.ts","../../src/utils/removeUnusedImport.ts","../../src/utils/transformImportAlias.ts","../../src/utils/replaceElement.ts"],"sourcesContent":["import type {API} from 'jscodeshift'\n\n/**\n * Adds an import specifier to an existing import declaration.\n * Returns whether the AST was updated.\n */\nexport function addImportSpecifier(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n addTo: string,\n name: string,\n): boolean {\n let hasChanges = false\n\n root.find(j.ImportDeclaration).forEach((path) => {\n const specs = path.node.specifiers\n\n if (!specs?.length) {\n return\n }\n\n const hasFromSpecifier = specs.some(\n (s) =>\n s.type === 'ImportSpecifier' &&\n s.imported.type === 'Identifier' &&\n s.imported.name === addTo,\n )\n const hasToSpecifier = specs.some(\n (s) =>\n s.type === 'ImportSpecifier' &&\n s.imported.type === 'Identifier' &&\n s.imported.name === name,\n )\n\n if (hasFromSpecifier && !hasToSpecifier) {\n specs.push(j.importSpecifier(j.identifier(name), j.identifier(name)))\n hasChanges = true\n }\n })\n\n return hasChanges\n}\n","export function getElementMatchNames(element: string, localNames?: Iterable<string>): Set<string> {\n if (localNames === undefined) {\n return new Set([element])\n }\n\n return new Set(localNames)\n}\n","import type {API, ASTPath, ImportSpecifier} from 'jscodeshift'\n\nexport function isImportBindingUsed(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n name: string,\n specifierPath: ASTPath<ImportSpecifier>,\n): boolean {\n const jsxOpening = root.find(j.JSXOpeningElement).some(({node}) => {\n return node.name.type === 'JSXIdentifier' && node.name.name === name\n })\n\n if (jsxOpening) {\n return true\n }\n\n const jsxClosing = root.find(j.JSXClosingElement).some(({node}) => {\n return node.name.type === 'JSXIdentifier' && node.name.name === name\n })\n\n if (jsxClosing) {\n return true\n }\n\n const importedPath = specifierPath.get('imported')\n const localPath = specifierPath.get('local')\n\n return root.find(j.Identifier).some((idPath) => {\n if (idPath.node.name !== name) {\n return false\n }\n\n if (idPath === importedPath || idPath === localPath) {\n return false\n }\n\n const parent = idPath.parent?.node\n\n if (!parent) {\n return true\n }\n\n if (parent.type === 'MemberExpression' && !parent.computed && parent.property === idPath.node) {\n return false\n }\n\n if (parent.type === 'TSQualifiedName' && parent.right === idPath.node) {\n return false\n }\n\n return true\n })\n}\n","import type {API, ASTPath, ImportSpecifier} from 'jscodeshift'\n\nimport {isImportBindingUsed} from './isImportBindingUsed'\n\n/**\n * Removes unused import specifier or the whole import if no specifiers remain.\n * Returns whether the AST was updated.\n */\nexport function removeUnusedImport(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n name: string,\n): boolean {\n let hasChanges = false\n\n root.find(j.ImportDeclaration).forEach((path) => {\n const specs = path.node.specifiers\n\n if (!specs?.length) {\n return\n }\n\n const next = specs.filter((spec, i) => {\n if (spec.type !== 'ImportSpecifier' || spec.imported.type !== 'Identifier') {\n return true\n }\n\n if (spec.imported.name !== name) {\n return true\n }\n\n if ('importKind' in spec && spec.importKind === 'type') {\n return true\n }\n\n const localName = spec.local?.type === 'Identifier' ? spec.local.name : spec.imported.name\n const specifierPath = path.get('specifiers', i) as ASTPath<ImportSpecifier>\n\n return isImportBindingUsed(j, root, localName, specifierPath)\n })\n\n if (next.length === specs.length) {\n return\n }\n\n if (next.length === 0) {\n j(path).remove()\n hasChanges = true\n return\n }\n\n path.node.specifiers = next\n hasChanges = true\n })\n\n return hasChanges\n}\n","import type {API} from 'jscodeshift'\n\nimport {insertTodoWarning} from './insertTodoWarning'\n\nexport function transformImportAlias(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n fromExport: string,\n toExport: string,\n localName: string,\n warning?: string,\n): boolean {\n let updated = false\n\n root.find(j.ImportDeclaration).forEach((path) => {\n const specs = path.node.specifiers\n\n if (!specs?.length) {\n return\n }\n\n for (const spec of specs) {\n if (spec.type !== 'ImportSpecifier' || spec.imported.type !== 'Identifier') {\n continue\n }\n\n if (spec.imported.name !== fromExport) {\n continue\n }\n\n const local = spec.local?.type === 'Identifier' ? spec.local.name : spec.imported.name\n\n if (local !== localName) {\n continue\n }\n\n spec.imported.name = toExport\n updated = true\n\n if (warning) {\n insertTodoWarning(j, path, warning)\n }\n\n return\n }\n })\n\n return updated\n}\n","import type {API, ASTPath, JSXAttribute, JSXOpeningElement, JSXSpreadAttribute} from 'jscodeshift'\n\nimport {addImportSpecifier} from './addImportSpecifier'\nimport {getElementMatchNames} from './getElementMatchNames'\nimport {removeUnusedImport} from './removeUnusedImport'\nimport {transformImportAlias} from './transformImportAlias'\n\n/**\n * Replaces JSX component if `filter` passes. Runs callbacks and updates imports.\n * If `localNames` is omitted, matches `from.element`. `localNames` may be an empty set,\n * to avoid rewriting unrelated JSX when only cross-file styled aliases are present.\n * Returns whether the AST was updated.\n */\nexport function replaceElement(\n j: API['jscodeshift'],\n root: ReturnType<API['jscodeshift']>,\n filter: (attrs: (JSXAttribute | JSXSpreadAttribute)[]) => boolean,\n from: {\n element: string\n localNames?: Iterable<string>\n callback?: (path: ASTPath<JSXOpeningElement>) => boolean | void\n },\n to: {\n element: string\n callback?: (path: ASTPath<JSXOpeningElement>) => boolean | void\n },\n): boolean {\n const names = getElementMatchNames(from.element, from.localNames)\n\n let hasChanges = false\n let needsDefaultImportUpdate = false\n const aliases = new Set<string>()\n\n root.find(j.JSXOpeningElement).forEach((path) => {\n const openingEl = path.node\n const openingName = openingEl.name\n\n if (openingName.type !== 'JSXIdentifier' || !names.has(openingName.name)) {\n return\n }\n\n const attrs = openingEl.attributes\n\n if (!attrs || !filter(attrs)) {\n if (from.callback?.(path)) {\n hasChanges = true\n }\n\n return\n }\n\n const localTag = openingName.name\n const preserveAlias = localTag !== from.element && localTag !== to.element\n\n if (preserveAlias) {\n if (!aliases.has(localTag)) {\n if (\n transformImportAlias(\n j,\n root,\n from.element,\n to.element,\n localTag,\n `Consider renaming ${localTag} to ${to.element}`,\n )\n ) {\n hasChanges = true\n }\n\n aliases.add(localTag)\n }\n } else {\n openingName.name = to.element\n\n const parentNode = path.parent?.node\n\n if (parentNode?.type === 'JSXElement') {\n const closing = parentNode.closingElement\n\n if (closing?.name.type === 'JSXIdentifier') {\n closing.name.name = to.element\n }\n }\n\n needsDefaultImportUpdate = true\n hasChanges = true\n }\n\n if (to.callback?.(path)) {\n hasChanges = true\n }\n })\n\n if (needsDefaultImportUpdate) {\n if (addImportSpecifier(j, root, from.element, to.element)) {\n hasChanges = true\n }\n\n if (removeUnusedImport(j, root, from.element)) {\n hasChanges = true\n }\n }\n\n return hasChanges\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import { Interfaces } from "@oclif/core";
|
|
3
|
+
|
|
4
|
+
declare type Args<T extends typeof Command> = Interfaces.InferredArgs<
|
|
5
|
+
T["args"]
|
|
6
|
+
>;
|
|
7
|
+
|
|
8
|
+
declare abstract class BaseCommand<T extends typeof Command> extends Command {
|
|
9
|
+
static baseFlags: {
|
|
10
|
+
paths: Interfaces.OptionFlag<string[], Interfaces.CustomOptions>;
|
|
11
|
+
fromPackage: Interfaces.OptionFlag<
|
|
12
|
+
string | undefined,
|
|
13
|
+
Interfaces.CustomOptions
|
|
14
|
+
>;
|
|
15
|
+
toPackage: Interfaces.OptionFlag<
|
|
16
|
+
string | undefined,
|
|
17
|
+
Interfaces.CustomOptions
|
|
18
|
+
>;
|
|
19
|
+
extensions: Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
20
|
+
dry: Interfaces.BooleanFlag<boolean>;
|
|
21
|
+
print: Interfaces.BooleanFlag<boolean>;
|
|
22
|
+
verbose: Interfaces.OptionFlag<number, Interfaces.CustomOptions>;
|
|
23
|
+
};
|
|
24
|
+
protected flags: Flags<T>;
|
|
25
|
+
protected args: Args<T>;
|
|
26
|
+
static examples: string[];
|
|
27
|
+
init(): Promise<void>;
|
|
28
|
+
protected catch(
|
|
29
|
+
err: Error & {
|
|
30
|
+
exitCode?: number;
|
|
31
|
+
},
|
|
32
|
+
): Promise<unknown>;
|
|
33
|
+
protected finally(_: Error | undefined): Promise<unknown>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare type Flags<T extends typeof Command> = Interfaces.InferredFlags<
|
|
37
|
+
(typeof BaseCommand)["baseFlags"] & T["flags"]
|
|
38
|
+
>;
|
|
39
|
+
|
|
40
|
+
/** @public */
|
|
41
|
+
declare class Inline extends BaseCommand<typeof Inline> {
|
|
42
|
+
static description: string;
|
|
43
|
+
run(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export default Inline;
|
|
46
|
+
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { run } from "jscodeshift/src/Runner.js";
|
|
2
|
+
import { BaseCommand, getTransformPath } from "../../_chunks-es/getTransformPath.js";
|
|
3
|
+
class Inline extends BaseCommand {
|
|
4
|
+
static description = "Transform Card component";
|
|
5
|
+
async run() {
|
|
6
|
+
const { flags } = await this.parse(Inline), { paths, ...restFlags } = flags, transformPath = getTransformPath(this.config.root, "latest", "inline");
|
|
7
|
+
await run(transformPath, paths, {
|
|
8
|
+
babel: !0,
|
|
9
|
+
parser: "tsx",
|
|
10
|
+
...restFlags
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
Inline as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline.js","sources":["../../../src/commands/latest/inline.ts"],"sourcesContent":["import {run} from 'jscodeshift/src/Runner.js'\n\nimport {BaseCommand} from '../../baseCommand'\nimport {getTransformPath} from '../../utils/getTransformPath'\n\n/** @public */\nexport default class Inline extends BaseCommand<typeof Inline> {\n static override description = 'Transform Card component'\n\n public async run(): Promise<void> {\n const {flags} = await this.parse(Inline)\n const {paths, ...restFlags} = flags\n const transformPath = getTransformPath(this.config.root, 'latest', 'inline')\n\n await run(transformPath, paths, {\n babel: true,\n parser: 'tsx',\n ...restFlags,\n })\n }\n}\n"],"names":[],"mappings":";;AAMA,MAAqB,eAAe,YAA2B;AAAA,EAC7D,OAAgB,cAAc;AAAA,EAE9B,MAAa,MAAqB;AAChC,UAAM,EAAC,UAAS,MAAM,KAAK,MAAM,MAAM,GACjC,EAAC,OAAO,GAAG,UAAA,IAAa,OACxB,gBAAgB,iBAAiB,KAAK,OAAO,MAAM,UAAU,QAAQ;AAE3E,UAAM,IAAI,eAAe,OAAO;AAAA,MAC9B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import { Interfaces } from "@oclif/core";
|
|
3
|
+
|
|
4
|
+
declare type Args<T extends typeof Command> = Interfaces.InferredArgs<
|
|
5
|
+
T["args"]
|
|
6
|
+
>;
|
|
7
|
+
|
|
8
|
+
declare abstract class BaseCommand<T extends typeof Command> extends Command {
|
|
9
|
+
static baseFlags: {
|
|
10
|
+
paths: Interfaces.OptionFlag<string[], Interfaces.CustomOptions>;
|
|
11
|
+
fromPackage: Interfaces.OptionFlag<
|
|
12
|
+
string | undefined,
|
|
13
|
+
Interfaces.CustomOptions
|
|
14
|
+
>;
|
|
15
|
+
toPackage: Interfaces.OptionFlag<
|
|
16
|
+
string | undefined,
|
|
17
|
+
Interfaces.CustomOptions
|
|
18
|
+
>;
|
|
19
|
+
extensions: Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
20
|
+
dry: Interfaces.BooleanFlag<boolean>;
|
|
21
|
+
print: Interfaces.BooleanFlag<boolean>;
|
|
22
|
+
verbose: Interfaces.OptionFlag<number, Interfaces.CustomOptions>;
|
|
23
|
+
};
|
|
24
|
+
protected flags: Flags<T>;
|
|
25
|
+
protected args: Args<T>;
|
|
26
|
+
static examples: string[];
|
|
27
|
+
init(): Promise<void>;
|
|
28
|
+
protected catch(
|
|
29
|
+
err: Error & {
|
|
30
|
+
exitCode?: number;
|
|
31
|
+
},
|
|
32
|
+
): Promise<unknown>;
|
|
33
|
+
protected finally(_: Error | undefined): Promise<unknown>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare type Flags<T extends typeof Command> = Interfaces.InferredFlags<
|
|
37
|
+
(typeof BaseCommand)["baseFlags"] & T["flags"]
|
|
38
|
+
>;
|
|
39
|
+
|
|
40
|
+
/** @public */
|
|
41
|
+
declare class Label extends BaseCommand<typeof Label> {
|
|
42
|
+
static description: string;
|
|
43
|
+
run(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export default Label;
|
|
46
|
+
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { run } from "jscodeshift/src/Runner.js";
|
|
2
|
+
import { BaseCommand, getTransformPath } from "../../_chunks-es/getTransformPath.js";
|
|
3
|
+
class Label extends BaseCommand {
|
|
4
|
+
static description = "Transform Label component";
|
|
5
|
+
async run() {
|
|
6
|
+
const { flags } = await this.parse(Label), { paths, ...restFlags } = flags, transformPath = getTransformPath(this.config.root, "latest", "label");
|
|
7
|
+
await run(transformPath, paths, {
|
|
8
|
+
babel: !0,
|
|
9
|
+
parser: "tsx",
|
|
10
|
+
...restFlags
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
Label as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sources":["../../../src/commands/latest/label.ts"],"sourcesContent":["import {run} from 'jscodeshift/src/Runner.js'\n\nimport {BaseCommand} from '../../baseCommand'\nimport {getTransformPath} from '../../utils/getTransformPath'\n\n/** @public */\nexport default class Label extends BaseCommand<typeof Label> {\n static override description = 'Transform Label component'\n\n public async run(): Promise<void> {\n const {flags} = await this.parse(Label)\n const {paths, ...restFlags} = flags\n const transformPath = getTransformPath(this.config.root, 'latest', 'label')\n\n await run(transformPath, paths, {\n babel: true,\n parser: 'tsx',\n ...restFlags,\n })\n }\n}\n"],"names":[],"mappings":";;AAMA,MAAqB,cAAc,YAA0B;AAAA,EAC3D,OAAgB,cAAc;AAAA,EAE9B,MAAa,MAAqB;AAChC,UAAM,EAAC,UAAS,MAAM,KAAK,MAAM,KAAK,GAChC,EAAC,OAAO,GAAG,UAAA,IAAa,OACxB,gBAAgB,iBAAiB,KAAK,OAAO,MAAM,UAAU,OAAO;AAE1E,UAAM,IAAI,eAAe,OAAO;AAAA,MAC9B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import { Interfaces } from "@oclif/core";
|
|
3
|
+
|
|
4
|
+
declare type Args<T extends typeof Command> = Interfaces.InferredArgs<
|
|
5
|
+
T["args"]
|
|
6
|
+
>;
|
|
7
|
+
|
|
8
|
+
declare abstract class BaseCommand<T extends typeof Command> extends Command {
|
|
9
|
+
static baseFlags: {
|
|
10
|
+
paths: Interfaces.OptionFlag<string[], Interfaces.CustomOptions>;
|
|
11
|
+
fromPackage: Interfaces.OptionFlag<
|
|
12
|
+
string | undefined,
|
|
13
|
+
Interfaces.CustomOptions
|
|
14
|
+
>;
|
|
15
|
+
toPackage: Interfaces.OptionFlag<
|
|
16
|
+
string | undefined,
|
|
17
|
+
Interfaces.CustomOptions
|
|
18
|
+
>;
|
|
19
|
+
extensions: Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
|
|
20
|
+
dry: Interfaces.BooleanFlag<boolean>;
|
|
21
|
+
print: Interfaces.BooleanFlag<boolean>;
|
|
22
|
+
verbose: Interfaces.OptionFlag<number, Interfaces.CustomOptions>;
|
|
23
|
+
};
|
|
24
|
+
protected flags: Flags<T>;
|
|
25
|
+
protected args: Args<T>;
|
|
26
|
+
static examples: string[];
|
|
27
|
+
init(): Promise<void>;
|
|
28
|
+
protected catch(
|
|
29
|
+
err: Error & {
|
|
30
|
+
exitCode?: number;
|
|
31
|
+
},
|
|
32
|
+
): Promise<unknown>;
|
|
33
|
+
protected finally(_: Error | undefined): Promise<unknown>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare type Flags<T extends typeof Command> = Interfaces.InferredFlags<
|
|
37
|
+
(typeof BaseCommand)["baseFlags"] & T["flags"]
|
|
38
|
+
>;
|
|
39
|
+
|
|
40
|
+
/** @public */
|
|
41
|
+
declare class Stack extends BaseCommand<typeof Stack> {
|
|
42
|
+
static description: string;
|
|
43
|
+
run(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export default Stack;
|
|
46
|
+
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { run } from "jscodeshift/src/Runner.js";
|
|
2
|
+
import { BaseCommand, getTransformPath } from "../../_chunks-es/getTransformPath.js";
|
|
3
|
+
class Stack extends BaseCommand {
|
|
4
|
+
static description = "Transform Card component";
|
|
5
|
+
async run() {
|
|
6
|
+
const { flags } = await this.parse(Stack), { paths, ...restFlags } = flags, transformPath = getTransformPath(this.config.root, "latest", "stack");
|
|
7
|
+
await run(transformPath, paths, {
|
|
8
|
+
babel: !0,
|
|
9
|
+
parser: "tsx",
|
|
10
|
+
...restFlags
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
Stack as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sources":["../../../src/commands/latest/stack.ts"],"sourcesContent":["import {run} from 'jscodeshift/src/Runner.js'\n\nimport {BaseCommand} from '../../baseCommand'\nimport {getTransformPath} from '../../utils/getTransformPath'\n\n/** @public */\nexport default class Stack extends BaseCommand<typeof Stack> {\n static override description = 'Transform Card component'\n\n public async run(): Promise<void> {\n const {flags} = await this.parse(Stack)\n const {paths, ...restFlags} = flags\n const transformPath = getTransformPath(this.config.root, 'latest', 'stack')\n\n await run(transformPath, paths, {\n babel: true,\n parser: 'tsx',\n ...restFlags,\n })\n }\n}\n"],"names":[],"mappings":";;AAMA,MAAqB,cAAc,YAA0B;AAAA,EAC3D,OAAgB,cAAc;AAAA,EAE9B,MAAa,MAAqB;AAChC,UAAM,EAAC,UAAS,MAAM,KAAK,MAAM,KAAK,GAChC,EAAC,OAAO,GAAG,UAAA,IAAa,OACxB,gBAAgB,iBAAiB,KAAK,OAAO,MAAM,UAAU,OAAO;AAE1E,UAAM,IAAI,eAAe,OAAO;AAAA,MAC9B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import "jscodeshift";
|
|
2
2
|
import { transformComponent, getComponentLocalNames, getStyledComponentAliases, shouldTransformComponent, transformImport, transformAttributes, transformStyledComponents, getStaticAttributeExpression } from "../../../_chunks-es/transformStyledComponents.js";
|
|
3
|
-
import { replaceElement
|
|
3
|
+
import { replaceElement } from "../../../_chunks-es/replaceElement.js";
|
|
4
4
|
import { FLEX_MODS } from "../../../_chunks-es/flex.mods.js";
|
|
5
5
|
import { GRID_MODS } from "../../../_chunks-es/grid.mods.js";
|
|
6
|
+
import { BOX_MODS } from "../../../_chunks-es/box.mods.js";
|
|
6
7
|
const BOX_TODO_WARNING = "Please double check the Box migration below", FLEX_TODO_WARNING = "Please double check the Flex migration below", GRID_TODO_WARNING = "Please double check the Grid migration below", STYLED_TODO_WARNING = "Please double check styled(Box) migration below";
|
|
7
8
|
function transform(fileInfo, api, options) {
|
|
8
9
|
const { fromPackage, toPackage } = options || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.js","sources":["../../../../src/transforms/latest/box/box.ts"],"sourcesContent":["import {type API, type FileInfo, type JSXSpreadAttribute, type JSXAttribute} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStaticAttributeExpression} from '../../../utils/getStaticAttributeExpression'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {replaceElement} from '../../../utils/replaceElement'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {FLEX_MODS} from '../flex/flex.mods'\nimport {GRID_MODS} from '../grid/grid.mods'\nimport {BOX_MODS} from './box.mods'\n\nconst BOX_TODO_WARNING = 'Please double check the Box migration below'\nconst FLEX_TODO_WARNING = 'Please double check the Flex migration below'\nconst GRID_TODO_WARNING = 'Please double check the Grid migration below'\nconst STYLED_TODO_WARNING = 'Please double check styled(Box) migration below'\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options?: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Box', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Box',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Box', localNames, options, styledAliases)) {\n return\n }\n\n const matchesDisplayValue = (\n attrs: (JSXAttribute | JSXSpreadAttribute)[],\n suffix: string,\n exclude: string[],\n ) => {\n const display = getStaticAttributeExpression(j, attrs, 'display') || []\n const values = Array.isArray(display) ? display : [display]\n let matchesExclude\n\n for (const excluded of exclude) {\n if (values.some((value) => typeof value === 'string' && value.endsWith(excluded))) {\n matchesExclude = true\n break\n }\n }\n\n if (matchesExclude) {\n return false\n }\n\n return values.some((value) => typeof value === 'string' && value.endsWith(suffix))\n }\n\n const replaceWithFlex = (attrs: (JSXAttribute | JSXSpreadAttribute)[]) =>\n matchesDisplayValue(attrs, 'flex', ['block', 'inline', 'grid'])\n\n const replaceWithGrid = (attrs: (JSXAttribute | JSXSpreadAttribute)[]) =>\n matchesDisplayValue(attrs, 'grid', ['block', 'inline', 'flex'])\n\n if (transformImport(j, root, 'Box', fromPackage, toPackage)) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n replaceWithFlex,\n {\n element: 'Box',\n localNames,\n },\n {\n element: 'Flex',\n callback: (path) => transformAttributes(j, path, FLEX_MODS, FLEX_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n replaceWithGrid,\n {\n element: 'Box',\n localNames,\n callback: (path) => transformAttributes(j, path, BOX_MODS, BOX_TODO_WARNING),\n },\n {\n element: 'Grid',\n callback: (path) => transformAttributes(j, path, GRID_MODS, GRID_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n transformStyledComponents(\n j,\n root,\n styledAliases,\n (attrs) => !replaceWithFlex(attrs) && !replaceWithGrid(attrs),\n {\n warning: STYLED_TODO_WARNING,\n callback: (path) => transformAttributes(j, path, BOX_MODS, BOX_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"box.js","sources":["../../../../src/transforms/latest/box/box.ts"],"sourcesContent":["import {type API, type FileInfo, type JSXSpreadAttribute, type JSXAttribute} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStaticAttributeExpression} from '../../../utils/getStaticAttributeExpression'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {replaceElement} from '../../../utils/replaceElement'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {FLEX_MODS} from '../flex/flex.mods'\nimport {GRID_MODS} from '../grid/grid.mods'\nimport {BOX_MODS} from './box.mods'\n\nconst BOX_TODO_WARNING = 'Please double check the Box migration below'\nconst FLEX_TODO_WARNING = 'Please double check the Flex migration below'\nconst GRID_TODO_WARNING = 'Please double check the Grid migration below'\nconst STYLED_TODO_WARNING = 'Please double check styled(Box) migration below'\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options?: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Box', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Box',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Box', localNames, options, styledAliases)) {\n return\n }\n\n const matchesDisplayValue = (\n attrs: (JSXAttribute | JSXSpreadAttribute)[],\n suffix: string,\n exclude: string[],\n ) => {\n const display = getStaticAttributeExpression(j, attrs, 'display') || []\n const values = Array.isArray(display) ? display : [display]\n let matchesExclude\n\n for (const excluded of exclude) {\n if (values.some((value) => typeof value === 'string' && value.endsWith(excluded))) {\n matchesExclude = true\n break\n }\n }\n\n if (matchesExclude) {\n return false\n }\n\n return values.some((value) => typeof value === 'string' && value.endsWith(suffix))\n }\n\n const replaceWithFlex = (attrs: (JSXAttribute | JSXSpreadAttribute)[]) =>\n matchesDisplayValue(attrs, 'flex', ['block', 'inline', 'grid'])\n\n const replaceWithGrid = (attrs: (JSXAttribute | JSXSpreadAttribute)[]) =>\n matchesDisplayValue(attrs, 'grid', ['block', 'inline', 'flex'])\n\n if (transformImport(j, root, 'Box', fromPackage, toPackage)) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n replaceWithFlex,\n {\n element: 'Box',\n localNames,\n },\n {\n element: 'Flex',\n callback: (path) => transformAttributes(j, path, FLEX_MODS, FLEX_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n replaceWithGrid,\n {\n element: 'Box',\n localNames,\n callback: (path) => transformAttributes(j, path, BOX_MODS, BOX_TODO_WARNING),\n },\n {\n element: 'Grid',\n callback: (path) => transformAttributes(j, path, GRID_MODS, GRID_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n transformStyledComponents(\n j,\n root,\n styledAliases,\n (attrs) => !replaceWithFlex(attrs) && !replaceWithGrid(attrs),\n {\n warning: STYLED_TODO_WARNING,\n callback: (path) => transformAttributes(j, path, BOX_MODS, BOX_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":";;;;;;AAgBA,MAAM,mBAAmB,+CACnB,oBAAoB,gDACpB,oBAAoB,gDACpB,sBAAsB;AAG5B,SAAwB,UACtB,UACA,KACA,SACoB;AACpB,QAAM,EAAC,aAAa,UAAA,IAAa,WAAW,CAAA;AAE5C,SAAO,mBAAmB,UAAU,KAAK,CAAC,EAAC,GAAG,MAAM,kBAAiB;AACnE,UAAM,aAAa,uBAAuB,GAAG,MAAM,OAAO,OAAO,GAC3D,gBAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAGF,QAAI,CAAC,yBAAyB,GAAG,MAAM,OAAO,YAAY,SAAS,aAAa;AAC9E;AAGF,UAAM,sBAAsB,CAC1B,OACA,QACA,YACG;AACH,YAAM,UAAU,6BAA6B,GAAG,OAAO,SAAS,KAAK,CAAA,GAC/D,SAAS,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAC1D,UAAI;AAEJ,iBAAW,YAAY;AACrB,YAAI,OAAO,KAAK,CAAC,UAAU,OAAO,SAAU,YAAY,MAAM,SAAS,QAAQ,CAAC,GAAG;AACjF,2BAAiB;AACjB;AAAA,QACF;AAGF,aAAI,iBACK,KAGF,OAAO,KAAK,CAAC,UAAU,OAAO,SAAU,YAAY,MAAM,SAAS,MAAM,CAAC;AAAA,IACnF,GAEM,kBAAkB,CAAC,UACvB,oBAAoB,OAAO,QAAQ,CAAC,SAAS,UAAU,MAAM,CAAC,GAE1D,kBAAkB,CAAC,UACvB,oBAAoB,OAAO,QAAQ,CAAC,SAAS,UAAU,MAAM,CAAC;AAE5D,oBAAgB,GAAG,MAAM,OAAO,aAAa,SAAS,KACxD,eAIA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,SAAS;AAAA,QACT,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,WAAW,iBAAiB;AAAA,MAAA;AAAA,IAC/E,KAGF,eAIA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT;AAAA,QACA,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,UAAU,gBAAgB;AAAA,MAAA;AAAA,MAE7E;AAAA,QACE,SAAS;AAAA,QACT,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,WAAW,iBAAiB;AAAA,MAAA;AAAA,IAC/E,KAGF,eAIA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA,CAAC,UAAU,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,KAAK;AAAA,MAC5D;AAAA,QACE,SAAS;AAAA,QACT,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,UAAU,gBAAgB;AAAA,MAAA;AAAA,IAC7E,KAGF,YAAA;AAAA,EAEJ,CAAC;AACH;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "jscodeshift";
|
|
2
2
|
import { transformComponent, getComponentLocalNames, getStyledComponentAliases, shouldTransformComponent, transformImport, transformStyledComponents, transformAttributes, getAttribute, getStaticAttributeExpression } from "../../../_chunks-es/transformStyledComponents.js";
|
|
3
|
-
import { replaceElement
|
|
3
|
+
import { replaceElement } from "../../../_chunks-es/replaceElement.js";
|
|
4
|
+
import { BOX_MODS } from "../../../_chunks-es/box.mods.js";
|
|
4
5
|
const CARD_MODS = {
|
|
5
6
|
alignItems: {
|
|
6
7
|
type: "style-only",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../src/transforms/latest/card/card.mods.ts","../../../../src/transforms/latest/card/card.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const CARD_MODS: AttributeMods = {\n alignItems: {\n type: 'style-only',\n style: 'alignItems',\n },\n border: {\n type: 'remove',\n },\n borderTop: {\n type: 'style-mapped',\n style: 'borderTop',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderRight: {\n type: 'style-mapped',\n style: 'borderRight',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderbottom: {\n type: 'style-mapped',\n style: 'borderBottom',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderLeft: {\n type: 'style-mapped',\n style: 'borderLeft',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderWidth: {type: 'remove'},\n column: {\n type: 'style-mapped',\n style: 'gridColumn',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n columnEnd: {\n type: 'style-mapped',\n style: 'gridColumnEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n columnStart: {\n type: 'style-mapped',\n style: 'gridColumnStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n display: {\n type: 'style-only',\n style: 'display',\n },\n flex: {\n type: 'style-mapped',\n style: 'flex',\n mapping: {\n none: '0 0 auto',\n auto: '1 1 auto',\n initial: '0 1 auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n flexDirection: {\n type: 'style-only',\n style: 'flexDirection',\n },\n flexWrap: {\n type: 'style-only',\n style: 'flexWrap',\n },\n gap: {\n type: 'style-mapped',\n style: 'gap',\n mapping: {\n 0: 'var(--space-0)',\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 7: 'var(--space-7)',\n 8: 'var(--space-8)',\n 9: 'var(--space-9)',\n },\n },\n gapX: {\n type: 'style-mapped',\n style: 'columnGap',\n mapping: {\n 0: 'var(--space-0)',\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 7: 'var(--space-7)',\n 8: 'var(--space-8)',\n 9: 'var(--space-9)',\n },\n },\n gapY: {\n type: 'style-mapped',\n style: 'rowGap',\n mapping: {\n 0: 'var(--space-0)',\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 7: 'var(--space-7)',\n 8: 'var(--space-8)',\n 9: 'var(--space-9)',\n },\n },\n gridAutoColumns: {\n type: 'style-only',\n style: 'gridAutoColumns',\n },\n gridAutoFlow: {\n type: 'style-only',\n style: 'gridAutoFlow',\n },\n gridAutoRows: {\n type: 'style-only',\n style: 'gridAutoRows',\n },\n gridColumn: {\n type: 'style-mapped',\n style: 'gridColumn',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n gridColumnEnd: {\n type: 'style-mapped',\n style: 'gridColumnEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridColumnStart: {\n type: 'style-mapped',\n style: 'gridColumnStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridRow: {\n type: 'style-mapped',\n style: 'gridRow',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n gridRowEnd: {\n type: 'style-mapped',\n style: 'gridRowEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridRowStart: {\n type: 'style-mapped',\n style: 'gridRowStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridTemplateColumns: {\n type: 'style-mapped',\n style: 'gridTemplateColumns',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n gridTemplateRows: {\n type: 'style-mapped',\n style: 'gridTemplateRows',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n height: {\n type: 'style-mapped',\n style: 'height',\n mapping: {\n fill: '100%',\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n stretch: 'stretch',\n },\n },\n inset: {\n type: 'style-only',\n style: 'inset',\n },\n insetTop: {\n type: 'style-only',\n style: 'top',\n },\n insetRight: {\n type: 'style-only',\n style: 'right',\n },\n insetBottom: {\n type: 'style-only',\n style: 'bottom',\n },\n insetLeft: {\n type: 'style-only',\n style: 'left',\n },\n justifyContent: {\n type: 'style-only',\n style: 'justifyContent',\n },\n maxWidth: {\n type: 'style-mapped',\n style: 'maxWidth',\n mapping: {\n auto: 'none',\n fill: '100%',\n 0: '20rem',\n 1: '40rem',\n 2: '60rem',\n 3: '80rem',\n 4: '100rem',\n 5: '120rem',\n },\n },\n minHeight: {\n type: 'style-mapped',\n style: 'minHeight',\n mapping: {\n full: '100%',\n 0: '0',\n },\n },\n minWidth: {\n type: 'style-mapped',\n style: 'minWidth',\n mapping: {\n full: '100%',\n 0: '0',\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n },\n },\n muted: {\n type: 'warn-only',\n warning: 'Please double check the Card migration below. The muted prop has been deprecated.',\n },\n outline: {\n type: 'style-only',\n style: 'outline',\n },\n overflow: {\n type: 'style-only',\n style: 'overflow',\n },\n overflowX: {\n type: 'style-only',\n style: 'overflowX',\n },\n overflowY: {\n type: 'style-only',\n style: 'overflowY',\n },\n padding: {\n type: 'composite',\n name: 'density',\n mapping: {\n compact: {\n padding: 3,\n radius: 2,\n },\n regular: {\n padding: 4,\n radius: 3,\n },\n loose: {\n padding: 5,\n radius: 4,\n },\n },\n },\n position: {\n type: 'style-only',\n style: 'position',\n },\n row: {\n type: 'style-mapped',\n style: 'gridRow',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n rowEnd: {\n type: 'style-mapped',\n style: 'gridRowEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n rowStart: {\n type: 'style-mapped',\n style: 'gridRowStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n scheme: {\n type: 'warn-only',\n warning: 'Please double check the Card migration below. The scheme prop has been deprecated.',\n },\n shadow: {\n type: 'style-mapped',\n style: 'boxShadow',\n mapping: {\n 0: 'var(--shadow0)',\n 1: 'var(--shadow1)',\n 2: 'var(--shadow2)',\n 3: 'var(--shadow3)',\n 4: 'var(--shadow4)',\n 5: 'var(--shadow5)',\n },\n },\n sizing: {\n type: 'style-mapped',\n style: 'boxSizing',\n mapping: {\n content: 'content-box',\n border: 'border-box',\n },\n },\n textAlign: {\n type: 'style-only',\n style: 'textAlign',\n },\n tone: {\n type: 'mapped-only',\n mapping: {\n default: 'none',\n none: 'none',\n transparent: 'neutral',\n neutral: 'neutral',\n brand: 'primary',\n primary: 'primary',\n positive: 'positive',\n caution: 'caution',\n critical: 'critical',\n suggest: 'suggest',\n },\n },\n width: {\n type: 'style-mapped',\n style: 'width',\n mapping: {\n auto: 'auto',\n fill: '100%',\n stretch: 'stretch',\n min: 'min-content',\n max: 'max-content',\n 0: '20rem',\n 1: '40rem',\n 2: '60rem',\n 3: '80rem',\n 4: '100rem',\n 5: '120rem',\n },\n },\n}\n","import {type API, type FileInfo, type JSXAttribute, type JSXSpreadAttribute} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getAttribute} from '../../../utils/getAttribute'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStaticAttributeExpression} from '../../../utils/getStaticAttributeExpression'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {replaceElement} from '../../../utils/replaceElement'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {BOX_MODS} from '../box/box.mods'\nimport {CARD_MODS} from './card.mods'\n\nconst CARD_TODO_WARNING = 'Please double check the Card migration below'\nconst BOX_TODO_WARNING = 'Please double check the Box migration below'\nconst STYLED_TODO_WARNING = 'Please double check styled(Card) migration below'\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options?: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Card', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Card',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Card', localNames, options, styledAliases)) {\n return\n }\n\n if (transformImport(j, root, 'Card', fromPackage, toPackage)) {\n markChanged()\n }\n\n const replaceWithBox = (attrs: (JSXAttribute | JSXSpreadAttribute)[]) => {\n const density = getAttribute(attrs, 'density')\n const muted = getAttribute(attrs, 'muted')\n const scheme = getAttribute(attrs, 'scheme')\n const border = getAttribute(attrs, 'border')\n const padding = getStaticAttributeExpression(j, attrs, 'padding')\n const radius = getStaticAttributeExpression(j, attrs, 'radius')\n\n return !(\n density ||\n muted ||\n scheme ||\n (border && padding === 3 && radius == 2) ||\n (border && padding === 4 && radius == 3) ||\n (border && padding === 5 && radius == 4)\n )\n }\n\n if (\n replaceElement(\n j,\n root,\n (attrs) => replaceWithBox(attrs),\n {\n element: 'Card',\n localNames,\n callback: (path) => transformAttributes(j, path, CARD_MODS, CARD_TODO_WARNING),\n },\n {\n element: 'Box',\n callback: (path) => transformAttributes(j, path, BOX_MODS, BOX_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n transformStyledComponents(j, root, styledAliases, (attrs) => !replaceWithBox(attrs), {\n warning: STYLED_TODO_WARNING,\n callback: (path) => transformAttributes(j, path, CARD_MODS, CARD_TODO_WARNING),\n })\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../src/transforms/latest/card/card.mods.ts","../../../../src/transforms/latest/card/card.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const CARD_MODS: AttributeMods = {\n alignItems: {\n type: 'style-only',\n style: 'alignItems',\n },\n border: {\n type: 'remove',\n },\n borderTop: {\n type: 'style-mapped',\n style: 'borderTop',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderRight: {\n type: 'style-mapped',\n style: 'borderRight',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderbottom: {\n type: 'style-mapped',\n style: 'borderBottom',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderLeft: {\n type: 'style-mapped',\n style: 'borderLeft',\n mapping: {\n true: '1px solid var(--tone-separator, var(--border-color-default))',\n default: '1px solid var(--tone-separator, var(--border-color-default))',\n muted: '1px solid var(--tone-separator, var(--border-color-default))',\n false: 'none',\n none: 'none',\n },\n },\n borderWidth: {type: 'remove'},\n column: {\n type: 'style-mapped',\n style: 'gridColumn',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n columnEnd: {\n type: 'style-mapped',\n style: 'gridColumnEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n columnStart: {\n type: 'style-mapped',\n style: 'gridColumnStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n display: {\n type: 'style-only',\n style: 'display',\n },\n flex: {\n type: 'style-mapped',\n style: 'flex',\n mapping: {\n none: '0 0 auto',\n auto: '1 1 auto',\n initial: '0 1 auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n flexDirection: {\n type: 'style-only',\n style: 'flexDirection',\n },\n flexWrap: {\n type: 'style-only',\n style: 'flexWrap',\n },\n gap: {\n type: 'style-mapped',\n style: 'gap',\n mapping: {\n 0: 'var(--space-0)',\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 7: 'var(--space-7)',\n 8: 'var(--space-8)',\n 9: 'var(--space-9)',\n },\n },\n gapX: {\n type: 'style-mapped',\n style: 'columnGap',\n mapping: {\n 0: 'var(--space-0)',\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 7: 'var(--space-7)',\n 8: 'var(--space-8)',\n 9: 'var(--space-9)',\n },\n },\n gapY: {\n type: 'style-mapped',\n style: 'rowGap',\n mapping: {\n 0: 'var(--space-0)',\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 7: 'var(--space-7)',\n 8: 'var(--space-8)',\n 9: 'var(--space-9)',\n },\n },\n gridAutoColumns: {\n type: 'style-only',\n style: 'gridAutoColumns',\n },\n gridAutoFlow: {\n type: 'style-only',\n style: 'gridAutoFlow',\n },\n gridAutoRows: {\n type: 'style-only',\n style: 'gridAutoRows',\n },\n gridColumn: {\n type: 'style-mapped',\n style: 'gridColumn',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n gridColumnEnd: {\n type: 'style-mapped',\n style: 'gridColumnEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridColumnStart: {\n type: 'style-mapped',\n style: 'gridColumnStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridRow: {\n type: 'style-mapped',\n style: 'gridRow',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n gridRowEnd: {\n type: 'style-mapped',\n style: 'gridRowEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridRowStart: {\n type: 'style-mapped',\n style: 'gridRowStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n gridTemplateColumns: {\n type: 'style-mapped',\n style: 'gridTemplateColumns',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n gridTemplateRows: {\n type: 'style-mapped',\n style: 'gridTemplateRows',\n mapping: {\n 0: '0px',\n 1: 'repeat(1, 1fr)',\n 2: 'repeat(2, 1fr)',\n 3: 'repeat(3, 1fr)',\n 4: 'repeat(4, 1fr)',\n 5: 'repeat(5, 1fr)',\n 6: 'repeat(6, 1fr)',\n 7: 'repeat(7, 1fr)',\n 8: 'repeat(8, 1fr)',\n 9: 'repeat(9, 1fr)',\n 10: 'repeat(10, 1fr)',\n 11: 'repeat(11, 1fr)',\n 12: 'repeat(12, 1fr)',\n },\n },\n height: {\n type: 'style-mapped',\n style: 'height',\n mapping: {\n fill: '100%',\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n stretch: 'stretch',\n },\n },\n inset: {\n type: 'style-only',\n style: 'inset',\n },\n insetTop: {\n type: 'style-only',\n style: 'top',\n },\n insetRight: {\n type: 'style-only',\n style: 'right',\n },\n insetBottom: {\n type: 'style-only',\n style: 'bottom',\n },\n insetLeft: {\n type: 'style-only',\n style: 'left',\n },\n justifyContent: {\n type: 'style-only',\n style: 'justifyContent',\n },\n maxWidth: {\n type: 'style-mapped',\n style: 'maxWidth',\n mapping: {\n auto: 'none',\n fill: '100%',\n 0: '20rem',\n 1: '40rem',\n 2: '60rem',\n 3: '80rem',\n 4: '100rem',\n 5: '120rem',\n },\n },\n minHeight: {\n type: 'style-mapped',\n style: 'minHeight',\n mapping: {\n full: '100%',\n 0: '0',\n },\n },\n minWidth: {\n type: 'style-mapped',\n style: 'minWidth',\n mapping: {\n full: '100%',\n 0: '0',\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n },\n },\n muted: {\n type: 'warn-only',\n warning: 'Please double check the Card migration below. The muted prop has been deprecated.',\n },\n outline: {\n type: 'style-only',\n style: 'outline',\n },\n overflow: {\n type: 'style-only',\n style: 'overflow',\n },\n overflowX: {\n type: 'style-only',\n style: 'overflowX',\n },\n overflowY: {\n type: 'style-only',\n style: 'overflowY',\n },\n padding: {\n type: 'composite',\n name: 'density',\n mapping: {\n compact: {\n padding: 3,\n radius: 2,\n },\n regular: {\n padding: 4,\n radius: 3,\n },\n loose: {\n padding: 5,\n radius: 4,\n },\n },\n },\n position: {\n type: 'style-only',\n style: 'position',\n },\n row: {\n type: 'style-mapped',\n style: 'gridRow',\n mapping: {\n auto: 'auto',\n full: '1 / -1',\n 1: 'span 1 / span 1',\n 2: 'span 2 / span 2',\n 3: 'span 3 / span 3',\n 4: 'span 4 / span 4',\n 5: 'span 5 / span 5',\n 6: 'span 6 / span 6',\n 7: 'span 7 / span 7',\n 8: 'span 8 / span 8',\n 9: 'span 9 / span 9',\n 10: 'span 10 / span 10',\n 11: 'span 11 / span 11',\n 12: 'span 12 / span 12',\n },\n },\n rowEnd: {\n type: 'style-mapped',\n style: 'gridRowEnd',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n rowStart: {\n type: 'style-mapped',\n style: 'gridRowStart',\n mapping: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n scheme: {\n type: 'warn-only',\n warning: 'Please double check the Card migration below. The scheme prop has been deprecated.',\n },\n shadow: {\n type: 'style-mapped',\n style: 'boxShadow',\n mapping: {\n 0: 'var(--shadow0)',\n 1: 'var(--shadow1)',\n 2: 'var(--shadow2)',\n 3: 'var(--shadow3)',\n 4: 'var(--shadow4)',\n 5: 'var(--shadow5)',\n },\n },\n sizing: {\n type: 'style-mapped',\n style: 'boxSizing',\n mapping: {\n content: 'content-box',\n border: 'border-box',\n },\n },\n textAlign: {\n type: 'style-only',\n style: 'textAlign',\n },\n tone: {\n type: 'mapped-only',\n mapping: {\n default: 'none',\n none: 'none',\n transparent: 'neutral',\n neutral: 'neutral',\n brand: 'primary',\n primary: 'primary',\n positive: 'positive',\n caution: 'caution',\n critical: 'critical',\n suggest: 'suggest',\n },\n },\n width: {\n type: 'style-mapped',\n style: 'width',\n mapping: {\n auto: 'auto',\n fill: '100%',\n stretch: 'stretch',\n min: 'min-content',\n max: 'max-content',\n 0: '20rem',\n 1: '40rem',\n 2: '60rem',\n 3: '80rem',\n 4: '100rem',\n 5: '120rem',\n },\n },\n}\n","import {type API, type FileInfo, type JSXAttribute, type JSXSpreadAttribute} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getAttribute} from '../../../utils/getAttribute'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStaticAttributeExpression} from '../../../utils/getStaticAttributeExpression'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {replaceElement} from '../../../utils/replaceElement'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {BOX_MODS} from '../box/box.mods'\nimport {CARD_MODS} from './card.mods'\n\nconst CARD_TODO_WARNING = 'Please double check the Card migration below'\nconst BOX_TODO_WARNING = 'Please double check the Box migration below'\nconst STYLED_TODO_WARNING = 'Please double check styled(Card) migration below'\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options?: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Card', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Card',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Card', localNames, options, styledAliases)) {\n return\n }\n\n if (transformImport(j, root, 'Card', fromPackage, toPackage)) {\n markChanged()\n }\n\n const replaceWithBox = (attrs: (JSXAttribute | JSXSpreadAttribute)[]) => {\n const density = getAttribute(attrs, 'density')\n const muted = getAttribute(attrs, 'muted')\n const scheme = getAttribute(attrs, 'scheme')\n const border = getAttribute(attrs, 'border')\n const padding = getStaticAttributeExpression(j, attrs, 'padding')\n const radius = getStaticAttributeExpression(j, attrs, 'radius')\n\n return !(\n density ||\n muted ||\n scheme ||\n (border && padding === 3 && radius == 2) ||\n (border && padding === 4 && radius == 3) ||\n (border && padding === 5 && radius == 4)\n )\n }\n\n if (\n replaceElement(\n j,\n root,\n (attrs) => replaceWithBox(attrs),\n {\n element: 'Card',\n localNames,\n callback: (path) => transformAttributes(j, path, CARD_MODS, CARD_TODO_WARNING),\n },\n {\n element: 'Box',\n callback: (path) => transformAttributes(j, path, BOX_MODS, BOX_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n transformStyledComponents(j, root, styledAliases, (attrs) => !replaceWithBox(attrs), {\n warning: STYLED_TODO_WARNING,\n callback: (path) => transformAttributes(j, path, CARD_MODS, CARD_TODO_WARNING),\n })\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { API } from "jscodeshift";
|
|
2
|
+
import { FileInfo } from "jscodeshift";
|
|
3
|
+
import type { Options } from "jscodeshift";
|
|
4
|
+
|
|
5
|
+
declare interface BaseOptions extends Options {
|
|
6
|
+
fromPackage?: string;
|
|
7
|
+
toPackage?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
declare function transform(
|
|
12
|
+
fileInfo: FileInfo,
|
|
13
|
+
api: API,
|
|
14
|
+
options?: BaseOptions,
|
|
15
|
+
): string | undefined;
|
|
16
|
+
export default transform;
|
|
17
|
+
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { transformComponent, getComponentLocalNames, getStyledComponentAliases, shouldTransformComponent, transformImport, transformAttributes, transformStyledComponents } from "../../../_chunks-es/transformStyledComponents.js";
|
|
3
|
+
const INLINE_MODS = {
|
|
4
|
+
flex: {
|
|
5
|
+
type: "style-mapped",
|
|
6
|
+
style: "flex",
|
|
7
|
+
mapping: {
|
|
8
|
+
none: "0 0 auto",
|
|
9
|
+
auto: "1 1 auto",
|
|
10
|
+
initial: "0 1 auto",
|
|
11
|
+
1: "1",
|
|
12
|
+
2: "2",
|
|
13
|
+
3: "3",
|
|
14
|
+
4: "4",
|
|
15
|
+
5: "5",
|
|
16
|
+
6: "6",
|
|
17
|
+
7: "7",
|
|
18
|
+
8: "8",
|
|
19
|
+
9: "9",
|
|
20
|
+
10: "10",
|
|
21
|
+
11: "11",
|
|
22
|
+
12: "12"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
margin: {
|
|
26
|
+
type: "warn-only",
|
|
27
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
28
|
+
},
|
|
29
|
+
marginX: {
|
|
30
|
+
type: "warn-only",
|
|
31
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
32
|
+
},
|
|
33
|
+
marginY: {
|
|
34
|
+
type: "warn-only",
|
|
35
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
36
|
+
},
|
|
37
|
+
marginTop: {
|
|
38
|
+
type: "warn-only",
|
|
39
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
40
|
+
},
|
|
41
|
+
marginRight: {
|
|
42
|
+
type: "warn-only",
|
|
43
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
44
|
+
},
|
|
45
|
+
marginBottom: {
|
|
46
|
+
type: "warn-only",
|
|
47
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
48
|
+
},
|
|
49
|
+
marginLeft: {
|
|
50
|
+
type: "warn-only",
|
|
51
|
+
warning: "Please double check the Inline migration below. Margin is not supported in either version."
|
|
52
|
+
},
|
|
53
|
+
space: {
|
|
54
|
+
type: "rename-only",
|
|
55
|
+
name: "gap"
|
|
56
|
+
}
|
|
57
|
+
}, TODO_WARNING = "Please double check the Inline migration below";
|
|
58
|
+
function transform(fileInfo, api, options) {
|
|
59
|
+
const { fromPackage, toPackage } = options || {};
|
|
60
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
61
|
+
const localNames = getComponentLocalNames(j, root, "Inline", options), styledAliases = getStyledComponentAliases(
|
|
62
|
+
j,
|
|
63
|
+
root,
|
|
64
|
+
"Inline",
|
|
65
|
+
fileInfo.path,
|
|
66
|
+
localNames,
|
|
67
|
+
options
|
|
68
|
+
);
|
|
69
|
+
shouldTransformComponent(j, root, "Inline", localNames, options, styledAliases) && (transformImport(j, root, "Inline", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement).forEach((path) => {
|
|
70
|
+
const name = path.node.name;
|
|
71
|
+
name.type !== "JSXIdentifier" || !localNames.has(name.name) || transformAttributes(j, path, INLINE_MODS, TODO_WARNING) && markChanged();
|
|
72
|
+
}), transformStyledComponents(j, root, styledAliases, () => !0, {
|
|
73
|
+
callback: (path) => transformAttributes(j, path, INLINE_MODS, TODO_WARNING)
|
|
74
|
+
}) && markChanged());
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
transform as default
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline.js","sources":["../../../../src/transforms/latest/inline/inline.mods.ts","../../../../src/transforms/latest/inline/inline.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const INLINE_MODS: AttributeMods = {\n flex: {\n type: 'style-mapped',\n style: 'flex',\n mapping: {\n none: '0 0 auto',\n auto: '1 1 auto',\n initial: '0 1 auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n margin: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n marginX: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n marginY: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n marginTop: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n marginRight: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n marginBottom: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n marginLeft: {\n type: 'warn-only',\n warning:\n 'Please double check the Inline migration below. Margin is not supported in either version.',\n },\n space: {\n type: 'rename-only',\n name: 'gap',\n },\n}\n","import {type API, type FileInfo} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {INLINE_MODS} from './inline.mods'\n\nconst TODO_WARNING = 'Please double check the Inline migration below'\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options?: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Inline', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Inline',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Inline', localNames, options, styledAliases)) {\n return\n }\n\n if (transformImport(j, root, 'Inline', fromPackage, toPackage)) {\n markChanged()\n }\n\n root.find(j.JSXOpeningElement).forEach((path) => {\n const name = path.node.name\n\n if (name.type !== 'JSXIdentifier' || !localNames.has(name.name)) {\n return\n }\n\n if (transformAttributes(j, path, INLINE_MODS, TODO_WARNING)) {\n markChanged()\n }\n })\n\n if (\n transformStyledComponents(j, root, styledAliases, () => true, {\n callback: (path) => transformAttributes(j, path, INLINE_MODS, TODO_WARNING),\n })\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":";;AAGO,MAAM,cAA6B;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,EAAA;AAEV,GCpDM,eAAe;AAGrB,SAAwB,UACtB,UACA,KACA,SACoB;AACpB,QAAM,EAAC,aAAa,UAAA,IAAa,WAAW,CAAA;AAE5C,SAAO,mBAAmB,UAAU,KAAK,CAAC,EAAC,GAAG,MAAM,kBAAiB;AACnE,UAAM,aAAa,uBAAuB,GAAG,MAAM,UAAU,OAAO,GAC9D,gBAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAGG,6BAAyB,GAAG,MAAM,UAAU,YAAY,SAAS,aAAa,MAI/E,gBAAgB,GAAG,MAAM,UAAU,aAAa,SAAS,KAC3D,YAAA,GAGF,KAAK,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,SAAS;AAC/C,YAAM,OAAO,KAAK,KAAK;AAEnB,WAAK,SAAS,mBAAmB,CAAC,WAAW,IAAI,KAAK,IAAI,KAI1D,oBAAoB,GAAG,MAAM,aAAa,YAAY,KACxD,YAAA;AAAA,IAEJ,CAAC,GAGC,0BAA0B,GAAG,MAAM,eAAe,MAAM,IAAM;AAAA,MAC5D,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,aAAa,YAAY;AAAA,IAAA,CAC3E,KAED,YAAA;AAAA,EAEJ,CAAC;AACH;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { API } from "jscodeshift";
|
|
2
|
+
import { FileInfo } from "jscodeshift";
|
|
3
|
+
import type { Options } from "jscodeshift";
|
|
4
|
+
|
|
5
|
+
declare interface BaseOptions extends Options {
|
|
6
|
+
fromPackage?: string;
|
|
7
|
+
toPackage?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
declare function transform(
|
|
12
|
+
fileInfo: FileInfo,
|
|
13
|
+
api: API,
|
|
14
|
+
options: BaseOptions,
|
|
15
|
+
): string | undefined;
|
|
16
|
+
export default transform;
|
|
17
|
+
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { addAttribute } from "../../../_chunks-es/addAttribute.js";
|
|
3
|
+
import { transformComponent, getComponentLocalNames, getStyledComponentAliases, shouldTransformComponent, transformImport, transformStyledComponents, transformAttributes } from "../../../_chunks-es/transformStyledComponents.js";
|
|
4
|
+
import { replaceElement } from "../../../_chunks-es/replaceElement.js";
|
|
5
|
+
const LABEL_MODS = {
|
|
6
|
+
accent: {
|
|
7
|
+
type: "rename-mapped",
|
|
8
|
+
name: "tone",
|
|
9
|
+
mapping: {
|
|
10
|
+
true: "suggest"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
flex: {
|
|
14
|
+
type: "style-mapped",
|
|
15
|
+
style: "flex",
|
|
16
|
+
mapping: {
|
|
17
|
+
none: "0 0 auto",
|
|
18
|
+
auto: "1 1 auto",
|
|
19
|
+
initial: "0 1 auto",
|
|
20
|
+
1: "1",
|
|
21
|
+
2: "2",
|
|
22
|
+
3: "3",
|
|
23
|
+
4: "4",
|
|
24
|
+
5: "5",
|
|
25
|
+
6: "6",
|
|
26
|
+
7: "7",
|
|
27
|
+
8: "8",
|
|
28
|
+
9: "9",
|
|
29
|
+
10: "10",
|
|
30
|
+
11: "11",
|
|
31
|
+
12: "12"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
maxWidth: {
|
|
35
|
+
type: "style-mapped",
|
|
36
|
+
style: "maxWidth",
|
|
37
|
+
mapping: {
|
|
38
|
+
auto: "none",
|
|
39
|
+
fill: "100%",
|
|
40
|
+
0: "20rem",
|
|
41
|
+
1: "40rem",
|
|
42
|
+
2: "60rem",
|
|
43
|
+
3: "80rem",
|
|
44
|
+
4: "100rem",
|
|
45
|
+
5: "120rem"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
textOverflow: {
|
|
49
|
+
type: "rename-mapped",
|
|
50
|
+
name: "truncate",
|
|
51
|
+
mapping: {
|
|
52
|
+
ellipsis: 1,
|
|
53
|
+
clip: 1
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
width: {
|
|
57
|
+
type: "style-mapped",
|
|
58
|
+
style: "width",
|
|
59
|
+
mapping: {
|
|
60
|
+
auto: "auto",
|
|
61
|
+
fill: "100%",
|
|
62
|
+
stretch: "stretch",
|
|
63
|
+
min: "min-content",
|
|
64
|
+
max: "max-content",
|
|
65
|
+
0: "20rem",
|
|
66
|
+
1: "40rem",
|
|
67
|
+
2: "60rem",
|
|
68
|
+
3: "80rem",
|
|
69
|
+
4: "100rem",
|
|
70
|
+
5: "120rem"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}, TODO_WARNING = "Please double check the Label migration below";
|
|
74
|
+
function transform(fileInfo, api, options) {
|
|
75
|
+
const { fromPackage, toPackage } = options || {};
|
|
76
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
77
|
+
const localNames = getComponentLocalNames(j, root, "Label", options), styledAliases = getStyledComponentAliases(
|
|
78
|
+
j,
|
|
79
|
+
root,
|
|
80
|
+
"Label",
|
|
81
|
+
fileInfo.path,
|
|
82
|
+
localNames,
|
|
83
|
+
options
|
|
84
|
+
);
|
|
85
|
+
shouldTransformComponent(j, root, "Label", localNames, options, styledAliases) && (transformImport(j, root, "Label", fromPackage, toPackage) && markChanged(), replaceElement(
|
|
86
|
+
j,
|
|
87
|
+
root,
|
|
88
|
+
() => !0,
|
|
89
|
+
{
|
|
90
|
+
element: "Label",
|
|
91
|
+
localNames
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
element: "Eyebrow",
|
|
95
|
+
callback: (path) => {
|
|
96
|
+
let changed = !1;
|
|
97
|
+
return transformAttributes(j, path, LABEL_MODS, TODO_WARNING) && (changed = !0), addAttribute(j, path.node, "as", "div") && (changed = !0), addAttribute(j, path.node, "trim", !0) && (changed = !0), changed;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
) && markChanged(), transformStyledComponents(j, root, styledAliases, () => !0, {
|
|
101
|
+
callback: (path) => {
|
|
102
|
+
let changed = !1;
|
|
103
|
+
return transformAttributes(j, path, LABEL_MODS, TODO_WARNING) && (changed = !0), addAttribute(j, path.node, "as", "div") && (changed = !0), addAttribute(j, path.node, "trim", !0) && (changed = !0), changed;
|
|
104
|
+
}
|
|
105
|
+
}) && markChanged());
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
export {
|
|
109
|
+
transform as default
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sources":["../../../../src/transforms/latest/label/label.mods.ts","../../../../src/transforms/latest/label/label.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const LABEL_MODS: AttributeMods = {\n accent: {\n type: 'rename-mapped',\n name: 'tone',\n mapping: {\n true: 'suggest',\n },\n },\n flex: {\n type: 'style-mapped',\n style: 'flex',\n mapping: {\n none: '0 0 auto',\n auto: '1 1 auto',\n initial: '0 1 auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n },\n maxWidth: {\n type: 'style-mapped',\n style: 'maxWidth',\n mapping: {\n auto: 'none',\n fill: '100%',\n 0: '20rem',\n 1: '40rem',\n 2: '60rem',\n 3: '80rem',\n 4: '100rem',\n 5: '120rem',\n },\n },\n textOverflow: {\n type: 'rename-mapped',\n name: 'truncate',\n mapping: {\n ellipsis: 1,\n clip: 1,\n },\n },\n width: {\n type: 'style-mapped',\n style: 'width',\n mapping: {\n auto: 'auto',\n fill: '100%',\n stretch: 'stretch',\n min: 'min-content',\n max: 'max-content',\n 0: '20rem',\n 1: '40rem',\n 2: '60rem',\n 3: '80rem',\n 4: '100rem',\n 5: '120rem',\n },\n },\n}\n","import {type API, type FileInfo} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {addAttribute} from '../../../utils/addAttribute'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {replaceElement} from '../../../utils/replaceElement'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {LABEL_MODS} from './label.mods'\n\nconst TODO_WARNING = 'Please double check the Label migration below'\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Label', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Label',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Label', localNames, options, styledAliases)) {\n return\n }\n\n if (transformImport(j, root, 'Label', fromPackage, toPackage)) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n () => true,\n {\n element: 'Label',\n localNames,\n },\n {\n element: 'Eyebrow',\n callback: (path) => {\n let changed = false\n\n if (transformAttributes(j, path, LABEL_MODS, TODO_WARNING)) {\n changed = true\n }\n\n if (addAttribute(j, path.node, 'as', 'div')) {\n changed = true\n }\n\n if (addAttribute(j, path.node, 'trim', true)) {\n changed = true\n }\n\n return changed\n },\n },\n )\n ) {\n markChanged()\n }\n\n if (\n transformStyledComponents(j, root, styledAliases, () => true, {\n callback: (path) => {\n let changed = false\n\n if (transformAttributes(j, path, LABEL_MODS, TODO_WARNING)) {\n changed = true\n }\n\n if (addAttribute(j, path.node, 'as', 'div')) {\n changed = true\n }\n\n if (addAttribute(j, path.node, 'trim', true)) {\n changed = true\n }\n\n return changed\n },\n })\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":";;;;AAGO,MAAM,aAA4B;AAAA,EACvC,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,UAAU;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACL;AAAA,EAEF,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACL;AAEJ,GCzDM,eAAe;AAGrB,SAAwB,UACtB,UACA,KACA,SACoB;AACpB,QAAM,EAAC,aAAa,UAAA,IAAa,WAAW,CAAA;AAE5C,SAAO,mBAAmB,UAAU,KAAK,CAAC,EAAC,GAAG,MAAM,kBAAiB;AACnE,UAAM,aAAa,uBAAuB,GAAG,MAAM,SAAS,OAAO,GAC7D,gBAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAGG,6BAAyB,GAAG,MAAM,SAAS,YAAY,SAAS,aAAa,MAI9E,gBAAgB,GAAG,MAAM,SAAS,aAAa,SAAS,KAC1D,eAIA;AAAA,MACE;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN;AAAA,QACE,SAAS;AAAA,QACT;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,SAAS;AAAA,QACT,UAAU,CAAC,SAAS;AAClB,cAAI,UAAU;AAEd,iBAAI,oBAAoB,GAAG,MAAM,YAAY,YAAY,MACvD,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,MAAM,KAAK,MACxC,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,QAAQ,EAAI,MACzC,UAAU,KAGL;AAAA,QACT;AAAA,MAAA;AAAA,IACF,KAGF,eAIA,0BAA0B,GAAG,MAAM,eAAe,MAAM,IAAM;AAAA,MAC5D,UAAU,CAAC,SAAS;AAClB,YAAI,UAAU;AAEd,eAAI,oBAAoB,GAAG,MAAM,YAAY,YAAY,MACvD,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,MAAM,KAAK,MACxC,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,QAAQ,EAAI,MACzC,UAAU,KAGL;AAAA,MACT;AAAA,IAAA,CACD,KAED,YAAA;AAAA,EAEJ,CAAC;AACH;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { API } from "jscodeshift";
|
|
2
|
+
import { FileInfo } from "jscodeshift";
|
|
3
|
+
import type { Options } from "jscodeshift";
|
|
4
|
+
|
|
5
|
+
declare interface BaseOptions extends Options {
|
|
6
|
+
fromPackage?: string;
|
|
7
|
+
toPackage?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
declare function transform(
|
|
12
|
+
fileInfo: FileInfo,
|
|
13
|
+
api: API,
|
|
14
|
+
options?: BaseOptions,
|
|
15
|
+
): string | undefined;
|
|
16
|
+
export default transform;
|
|
17
|
+
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { addAttribute } from "../../../_chunks-es/addAttribute.js";
|
|
3
|
+
import { transformComponent, getComponentLocalNames, getStyledComponentAliases, shouldTransformComponent, transformImport, transformStyledComponents, transformAttributes } from "../../../_chunks-es/transformStyledComponents.js";
|
|
4
|
+
import { replaceElement } from "../../../_chunks-es/replaceElement.js";
|
|
5
|
+
import { FLEX_MODS } from "../../../_chunks-es/flex.mods.js";
|
|
6
|
+
const STACK_MODS = {
|
|
7
|
+
sizing: {
|
|
8
|
+
type: "remove"
|
|
9
|
+
},
|
|
10
|
+
space: {
|
|
11
|
+
type: "rename-only",
|
|
12
|
+
name: "gap"
|
|
13
|
+
}
|
|
14
|
+
}, STACK_TODO_WARNING = "Please double check the Stack migration below", FLEX_TODO_WARNING = "Please double check the Flex migration below", STYLED_TODO_WARNING = "Please double check styled(Stack) migration below";
|
|
15
|
+
function replaceWithFlex(attrs) {
|
|
16
|
+
return attrs ? attrs.some(
|
|
17
|
+
(attr) => attr.type === "JSXAttribute" && attr.name.type === "JSXIdentifier" && (attr.name.name.startsWith("padding") || attr.name.name.startsWith("margin") || attr.name.name.startsWith("overflow") || attr.name.name.startsWith("flex") || attr.name.name.endsWith("height") || attr.name.name.endsWith("width"))
|
|
18
|
+
) : !1;
|
|
19
|
+
}
|
|
20
|
+
function transform(fileInfo, api, options) {
|
|
21
|
+
const { fromPackage, toPackage } = options || {};
|
|
22
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
23
|
+
const localNames = getComponentLocalNames(j, root, "Stack", options), styledAliases = getStyledComponentAliases(
|
|
24
|
+
j,
|
|
25
|
+
root,
|
|
26
|
+
"Stack",
|
|
27
|
+
fileInfo.path,
|
|
28
|
+
localNames,
|
|
29
|
+
options
|
|
30
|
+
);
|
|
31
|
+
shouldTransformComponent(j, root, "Stack", localNames, options, styledAliases) && (transformImport(j, root, "Stack", fromPackage, toPackage) && markChanged(), replaceElement(
|
|
32
|
+
j,
|
|
33
|
+
root,
|
|
34
|
+
(attrs) => replaceWithFlex(attrs),
|
|
35
|
+
{
|
|
36
|
+
element: "Stack",
|
|
37
|
+
localNames
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
element: "Flex",
|
|
41
|
+
callback: (path) => {
|
|
42
|
+
let changed = !1;
|
|
43
|
+
return addAttribute(j, path.node, "flexDirection", "column") && (changed = !0), transformAttributes(j, path, FLEX_MODS, FLEX_TODO_WARNING) && (changed = !0), changed;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
) && markChanged(), replaceElement(
|
|
47
|
+
j,
|
|
48
|
+
root,
|
|
49
|
+
(attrs) => !replaceWithFlex(attrs),
|
|
50
|
+
{
|
|
51
|
+
element: "Stack",
|
|
52
|
+
localNames
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
element: "VStack",
|
|
56
|
+
callback: (path) => transformAttributes(j, path, STACK_MODS, STACK_TODO_WARNING)
|
|
57
|
+
}
|
|
58
|
+
) && markChanged(), transformStyledComponents(j, root, styledAliases, (attrs) => !replaceWithFlex(attrs), {
|
|
59
|
+
warning: STYLED_TODO_WARNING,
|
|
60
|
+
callback: (path) => transformAttributes(j, path, STACK_MODS, STACK_TODO_WARNING)
|
|
61
|
+
}) && markChanged());
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
transform as default
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sources":["../../../../src/transforms/latest/stack/stack.mods.ts","../../../../src/transforms/latest/stack/stack.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const STACK_MODS: AttributeMods = {\n sizing: {\n type: 'remove',\n },\n space: {\n type: 'rename-only',\n name: 'gap',\n },\n}\n","import {type API, type FileInfo, type JSXElement} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {addAttribute} from '../../../utils/addAttribute'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {getStyledComponentAliases} from '../../../utils/getStyledComponentAliases'\nimport {replaceElement} from '../../../utils/replaceElement'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {transformStyledComponents} from '../../../utils/transformStyledComponents'\nimport {FLEX_MODS} from '../flex/flex.mods'\nimport {STACK_MODS} from './stack.mods'\n\nconst STACK_TODO_WARNING = 'Please double check the Stack migration below'\nconst FLEX_TODO_WARNING = 'Please double check the Flex migration below'\nconst STYLED_TODO_WARNING = 'Please double check styled(Stack) migration below'\n\nfunction replaceWithFlex(attrs: JSXElement['openingElement']['attributes']) {\n if (!attrs) {\n return false\n }\n\n return attrs.some(\n (attr) =>\n attr.type === 'JSXAttribute' &&\n attr.name.type === 'JSXIdentifier' &&\n (attr.name.name.startsWith('padding') ||\n attr.name.name.startsWith('margin') ||\n attr.name.name.startsWith('overflow') ||\n attr.name.name.startsWith('flex') ||\n attr.name.name.endsWith('height') ||\n attr.name.name.endsWith('width')),\n )\n}\n\n/** @internal */\nexport default function transform(\n fileInfo: FileInfo,\n api: API,\n options?: BaseOptions,\n): string | undefined {\n const {fromPackage, toPackage} = options || {}\n\n return transformComponent(fileInfo, api, ({j, root, markChanged}) => {\n const localNames = getComponentLocalNames(j, root, 'Stack', options)\n const styledAliases = getStyledComponentAliases(\n j,\n root,\n 'Stack',\n fileInfo.path,\n localNames,\n options,\n )\n\n if (!shouldTransformComponent(j, root, 'Stack', localNames, options, styledAliases)) {\n return\n }\n\n if (transformImport(j, root, 'Stack', fromPackage, toPackage)) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n (attrs) => replaceWithFlex(attrs),\n {\n element: 'Stack',\n localNames,\n },\n {\n element: 'Flex',\n callback: (path) => {\n let changed = false\n\n if (addAttribute(j, path.node, 'flexDirection', 'column')) {\n changed = true\n }\n\n if (transformAttributes(j, path, FLEX_MODS, FLEX_TODO_WARNING)) {\n changed = true\n }\n\n return changed\n },\n },\n )\n ) {\n markChanged()\n }\n\n if (\n replaceElement(\n j,\n root,\n (attrs) => {\n return !replaceWithFlex(attrs)\n },\n {\n element: 'Stack',\n localNames,\n },\n {\n element: 'VStack',\n callback: (path) => transformAttributes(j, path, STACK_MODS, STACK_TODO_WARNING),\n },\n )\n ) {\n markChanged()\n }\n\n if (\n transformStyledComponents(j, root, styledAliases, (attrs) => !replaceWithFlex(attrs), {\n warning: STYLED_TODO_WARNING,\n callback: (path) => transformAttributes(j, path, STACK_MODS, STACK_TODO_WARNING),\n })\n ) {\n markChanged()\n }\n })\n}\n"],"names":[],"mappings":";;;;;AAGO,MAAM,aAA4B;AAAA,EACvC,QAAQ;AAAA,IACN,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,EAAA;AAEV,GCIM,qBAAqB,iDACrB,oBAAoB,gDACpB,sBAAsB;AAE5B,SAAS,gBAAgB,OAAmD;AAC1E,SAAK,QAIE,MAAM;AAAA,IACX,CAAC,SACC,KAAK,SAAS,kBACd,KAAK,KAAK,SAAS,oBAClB,KAAK,KAAK,KAAK,WAAW,SAAS,KAClC,KAAK,KAAK,KAAK,WAAW,QAAQ,KAClC,KAAK,KAAK,KAAK,WAAW,UAAU,KACpC,KAAK,KAAK,KAAK,WAAW,MAAM,KAChC,KAAK,KAAK,KAAK,SAAS,QAAQ,KAChC,KAAK,KAAK,KAAK,SAAS,OAAO;AAAA,EAAA,IAZ5B;AAcX;AAGA,SAAwB,UACtB,UACA,KACA,SACoB;AACpB,QAAM,EAAC,aAAa,UAAA,IAAa,WAAW,CAAA;AAE5C,SAAO,mBAAmB,UAAU,KAAK,CAAC,EAAC,GAAG,MAAM,kBAAiB;AACnE,UAAM,aAAa,uBAAuB,GAAG,MAAM,SAAS,OAAO,GAC7D,gBAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAGG,6BAAyB,GAAG,MAAM,SAAS,YAAY,SAAS,aAAa,MAI9E,gBAAgB,GAAG,MAAM,SAAS,aAAa,SAAS,KAC1D,eAIA;AAAA,MACE;AAAA,MACA;AAAA,MACA,CAAC,UAAU,gBAAgB,KAAK;AAAA,MAChC;AAAA,QACE,SAAS;AAAA,QACT;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,SAAS;AAAA,QACT,UAAU,CAAC,SAAS;AAClB,cAAI,UAAU;AAEd,iBAAI,aAAa,GAAG,KAAK,MAAM,iBAAiB,QAAQ,MACtD,UAAU,KAGR,oBAAoB,GAAG,MAAM,WAAW,iBAAiB,MAC3D,UAAU,KAGL;AAAA,QACT;AAAA,MAAA;AAAA,IACF,KAGF,eAIA;AAAA,MACE;AAAA,MACA;AAAA,MACA,CAAC,UACQ,CAAC,gBAAgB,KAAK;AAAA,MAE/B;AAAA,QACE,SAAS;AAAA,QACT;AAAA,MAAA;AAAA,MAEF;AAAA,QACE,SAAS;AAAA,QACT,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,YAAY,kBAAkB;AAAA,MAAA;AAAA,IACjF,KAGF,YAAA,GAIA,0BAA0B,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,gBAAgB,KAAK,GAAG;AAAA,MACpF,SAAS;AAAA,MACT,UAAU,CAAC,SAAS,oBAAoB,GAAG,MAAM,YAAY,kBAAkB;AAAA,IAAA,CAChF,KAED,YAAA;AAAA,EAEJ,CAAC;AACH;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/ui-codemod",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "ISC",
|
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
"./latest/grid": "./dist/commands/latest/grid.js",
|
|
30
30
|
"./transforms/latest/heading": "./dist/transforms/latest/heading/heading.js",
|
|
31
31
|
"./latest/heading": "./dist/commands/latest/heading.js",
|
|
32
|
+
"./transforms/latest/inline": "./dist/transforms/latest/inline/inline.js",
|
|
33
|
+
"./latest/inline": "./dist/commands/latest/inline.js",
|
|
34
|
+
"./transforms/latest/label": "./dist/transforms/latest/label/label.js",
|
|
35
|
+
"./latest/label": "./dist/commands/latest/label.js",
|
|
36
|
+
"./transforms/latest/stack": "./dist/transforms/latest/stack/stack.js",
|
|
37
|
+
"./latest/stack": "./dist/commands/latest/stack.js",
|
|
32
38
|
"./transforms/latest/text": "./dist/transforms/latest/text/text.js",
|
|
33
39
|
"./latest/text": "./dist/commands/latest/text.js",
|
|
34
40
|
"./package.json": "./package.json"
|