@sanity/ui-codemod 1.0.0-alpha.1
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/bin/run.js +5 -0
- package/dist/_chunks-es/addAttribute.js +11 -0
- package/dist/_chunks-es/addAttribute.js.map +1 -0
- package/dist/_chunks-es/box.mods.js +186 -0
- package/dist/_chunks-es/box.mods.js.map +1 -0
- package/dist/_chunks-es/flex.mods.js +74 -0
- package/dist/_chunks-es/flex.mods.js.map +1 -0
- package/dist/_chunks-es/getTransformPath.js +75 -0
- package/dist/_chunks-es/getTransformPath.js.map +1 -0
- package/dist/_chunks-es/grid.mods.js +110 -0
- package/dist/_chunks-es/grid.mods.js.map +1 -0
- package/dist/_chunks-es/layout-mods.js +424 -0
- package/dist/_chunks-es/layout-mods.js.map +1 -0
- package/dist/_chunks-es/transformComponent.js +359 -0
- package/dist/_chunks-es/transformComponent.js.map +1 -0
- package/dist/commands/latest/box.d.ts +47 -0
- package/dist/commands/latest/box.js +17 -0
- package/dist/commands/latest/box.js.map +1 -0
- package/dist/commands/latest/card.d.ts +47 -0
- package/dist/commands/latest/card.js +17 -0
- package/dist/commands/latest/card.js.map +1 -0
- package/dist/commands/latest/code.d.ts +47 -0
- package/dist/commands/latest/code.js +17 -0
- package/dist/commands/latest/code.js.map +1 -0
- package/dist/commands/latest/container.d.ts +47 -0
- package/dist/commands/latest/container.js +17 -0
- package/dist/commands/latest/container.js.map +1 -0
- package/dist/commands/latest/flex.d.ts +47 -0
- package/dist/commands/latest/flex.js +17 -0
- package/dist/commands/latest/flex.js.map +1 -0
- package/dist/commands/latest/grid.d.ts +47 -0
- package/dist/commands/latest/grid.js +17 -0
- package/dist/commands/latest/grid.js.map +1 -0
- package/dist/commands/latest/heading.d.ts +47 -0
- package/dist/commands/latest/heading.js +17 -0
- package/dist/commands/latest/heading.js.map +1 -0
- package/dist/commands/latest/text.d.ts +47 -0
- package/dist/commands/latest/text.js +17 -0
- package/dist/commands/latest/text.js.map +1 -0
- package/dist/transforms/latest/box/box.d.ts +18 -0
- package/dist/transforms/latest/box/box.js +101 -0
- package/dist/transforms/latest/box/box.js.map +1 -0
- package/dist/transforms/latest/card/card.d.ts +18 -0
- package/dist/transforms/latest/card/card.js +618 -0
- package/dist/transforms/latest/card/card.js.map +1 -0
- package/dist/transforms/latest/code/code.d.ts +18 -0
- package/dist/transforms/latest/code/code.js +73 -0
- package/dist/transforms/latest/code/code.js.map +1 -0
- package/dist/transforms/latest/container/container.d.ts +18 -0
- package/dist/transforms/latest/container/container.js +91 -0
- package/dist/transforms/latest/container/container.js.map +1 -0
- package/dist/transforms/latest/flex/flex.d.ts +18 -0
- package/dist/transforms/latest/flex/flex.js +19 -0
- package/dist/transforms/latest/flex/flex.js.map +1 -0
- package/dist/transforms/latest/grid/grid.d.ts +18 -0
- package/dist/transforms/latest/grid/grid.js +19 -0
- package/dist/transforms/latest/grid/grid.js.map +1 -0
- package/dist/transforms/latest/heading/heading.d.ts +18 -0
- package/dist/transforms/latest/heading/heading.js +85 -0
- package/dist/transforms/latest/heading/heading.js.map +1 -0
- package/dist/transforms/latest/text/text.d.ts +18 -0
- package/dist/transforms/latest/text/text.js +88 -0
- package/dist/transforms/latest/text/text.js.map +1 -0
- package/package.json +68 -0
- package/src/baseCommand.ts +74 -0
- package/src/commands/latest/box.ts +21 -0
- package/src/commands/latest/card.ts +21 -0
- package/src/commands/latest/code.ts +21 -0
- package/src/commands/latest/container.ts +21 -0
- package/src/commands/latest/flex.ts +21 -0
- package/src/commands/latest/grid.ts +21 -0
- package/src/commands/latest/heading.ts +21 -0
- package/src/commands/latest/inline.ts +21 -0
- package/src/commands/latest/label.ts +21 -0
- package/src/commands/latest/stack.ts +21 -0
- package/src/commands/latest/text.ts +21 -0
- package/src/constants/latest/layout-mods.ts +422 -0
- package/src/transforms/latest/box/box.mods.ts +88 -0
- package/src/transforms/latest/box/box.test.ts +204 -0
- package/src/transforms/latest/box/box.ts +104 -0
- package/src/transforms/latest/card/card.mods.ts +592 -0
- package/src/transforms/latest/card/card.test.ts +207 -0
- package/src/transforms/latest/card/card.ts +71 -0
- package/src/transforms/latest/code/code.mods.ts +57 -0
- package/src/transforms/latest/code/code.test.ts +61 -0
- package/src/transforms/latest/code/code.ts +53 -0
- package/src/transforms/latest/container/container.mods.ts +77 -0
- package/src/transforms/latest/container/container.test.ts +105 -0
- package/src/transforms/latest/container/container.ts +42 -0
- package/src/transforms/latest/flex/flex.mods.ts +73 -0
- package/src/transforms/latest/flex/flex.test.ts +80 -0
- package/src/transforms/latest/flex/flex.ts +42 -0
- package/src/transforms/latest/grid/grid.mods.ts +109 -0
- package/src/transforms/latest/grid/grid.test.ts +97 -0
- package/src/transforms/latest/grid/grid.ts +42 -0
- package/src/transforms/latest/heading/heading.mods.ts +70 -0
- package/src/transforms/latest/heading/heading.test.ts +87 -0
- package/src/transforms/latest/heading/heading.ts +53 -0
- package/src/transforms/latest/inline/inline.mods.ts +65 -0
- package/src/transforms/latest/inline/inline.test.ts +57 -0
- package/src/transforms/latest/inline/inline.ts +42 -0
- package/src/transforms/latest/label/label.mods.ts +72 -0
- package/src/transforms/latest/label/label.test.ts +113 -0
- package/src/transforms/latest/label/label.ts +67 -0
- package/src/transforms/latest/stack/stack.mods.ts +12 -0
- package/src/transforms/latest/stack/stack.test.ts +160 -0
- package/src/transforms/latest/stack/stack.ts +102 -0
- package/src/transforms/latest/text/text.mods.ts +72 -0
- package/src/transforms/latest/text/text.test.ts +113 -0
- package/src/transforms/latest/text/text.ts +57 -0
- package/src/types/AnyExpression.ts +9 -0
- package/src/types/AttributeMods.ts +16 -0
- package/src/types/BaseOptions.ts +6 -0
- package/src/utils/addAttribute.test.ts +43 -0
- package/src/utils/addAttribute.ts +26 -0
- package/src/utils/addImportSpecifier.test.ts +36 -0
- package/src/utils/addImportSpecifier.ts +42 -0
- package/src/utils/getAttribute.ts +22 -0
- package/src/utils/getAttributeExpression.ts +22 -0
- package/src/utils/getAttributeValue.ts +20 -0
- package/src/utils/getClonedImportSpecifiers.ts +29 -0
- package/src/utils/getComponentJsxNames.ts +17 -0
- package/src/utils/getComponentLocalNames.ts +69 -0
- package/src/utils/getCompositeAttrValue.ts +39 -0
- package/src/utils/getMappingArray.ts +36 -0
- package/src/utils/getMappingExpression.ts +22 -0
- package/src/utils/getMappingValue.ts +52 -0
- package/src/utils/getShorthandAttributes.ts +54 -0
- package/src/utils/getSplitImportSpecifiers.ts +40 -0
- package/src/utils/getStaticAttributeExpression.ts +35 -0
- package/src/utils/getStyleExpression.ts +37 -0
- package/src/utils/getStyledComponentAliases.ts +28 -0
- package/src/utils/getStyledComponentName.ts +52 -0
- package/src/utils/getTransformPath.ts +17 -0
- package/src/utils/insertTodoWarning.ts +48 -0
- package/src/utils/isImportBindingUsed.ts +53 -0
- package/src/utils/isValidStyleType.ts +21 -0
- package/src/utils/mergeStyle.ts +64 -0
- package/src/utils/removeUnusedImport.test.ts +77 -0
- package/src/utils/removeUnusedImport.ts +57 -0
- package/src/utils/replaceElement.test.ts +181 -0
- package/src/utils/replaceElement.ts +106 -0
- package/src/utils/replaceStyledComponent.test.ts +57 -0
- package/src/utils/replaceStyledComponent.ts +60 -0
- package/src/utils/shouldTransformComponent.test.ts +61 -0
- package/src/utils/shouldTransformComponent.ts +40 -0
- package/src/utils/testUtils.ts +54 -0
- package/src/utils/transformAttributes.test.ts +544 -0
- package/src/utils/transformAttributes.ts +248 -0
- package/src/utils/transformComponent.test.ts +45 -0
- package/src/utils/transformComponent.ts +31 -0
- package/src/utils/transformImport.test.ts +175 -0
- package/src/utils/transformImport.ts +55 -0
- package/src/utils/transformImportAlias.test.ts +40 -0
- package/src/utils/transformImportAlias.ts +49 -0
- package/src/utils/transformStyledComponents.test.ts +172 -0
- package/src/utils/transformStyledComponents.ts +58 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { addAttribute } from "../../../_chunks-es/addAttribute.js";
|
|
3
|
+
import { transformComponent, getComponentLocalNames, shouldTransformComponent, transformImport, transformAttributes } from "../../../_chunks-es/transformComponent.js";
|
|
4
|
+
const CODE_MODS = {
|
|
5
|
+
flex: {
|
|
6
|
+
type: "style-mapped",
|
|
7
|
+
style: "flex",
|
|
8
|
+
mapping: {
|
|
9
|
+
none: "0 0 auto",
|
|
10
|
+
auto: "1 1 auto",
|
|
11
|
+
initial: "0 1 auto",
|
|
12
|
+
1: "1",
|
|
13
|
+
2: "2",
|
|
14
|
+
3: "3",
|
|
15
|
+
4: "4",
|
|
16
|
+
5: "5",
|
|
17
|
+
6: "6",
|
|
18
|
+
7: "7",
|
|
19
|
+
8: "8",
|
|
20
|
+
9: "9",
|
|
21
|
+
10: "10",
|
|
22
|
+
11: "11",
|
|
23
|
+
12: "12"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
maxWidth: {
|
|
27
|
+
type: "style-mapped",
|
|
28
|
+
style: "maxWidth",
|
|
29
|
+
mapping: {
|
|
30
|
+
auto: "none",
|
|
31
|
+
fill: "100%",
|
|
32
|
+
0: "20rem",
|
|
33
|
+
1: "40rem",
|
|
34
|
+
2: "60rem",
|
|
35
|
+
3: "80rem",
|
|
36
|
+
4: "100rem",
|
|
37
|
+
5: "120rem"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
width: {
|
|
41
|
+
type: "style-mapped",
|
|
42
|
+
style: "width",
|
|
43
|
+
mapping: {
|
|
44
|
+
auto: "auto",
|
|
45
|
+
fill: "100%",
|
|
46
|
+
stretch: "stretch",
|
|
47
|
+
min: "min-content",
|
|
48
|
+
max: "max-content",
|
|
49
|
+
0: "20rem",
|
|
50
|
+
1: "40rem",
|
|
51
|
+
2: "60rem",
|
|
52
|
+
3: "80rem",
|
|
53
|
+
4: "100rem",
|
|
54
|
+
5: "120rem"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, TODO_WARNING = "Please double check the Code 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, "Code", options);
|
|
62
|
+
shouldTransformComponent(j, root, "Code", localNames, options) && (transformImport(j, root, "Code", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement, {
|
|
63
|
+
name: { type: "JSXIdentifier", name: "Code" }
|
|
64
|
+
}).forEach((path) => {
|
|
65
|
+
let changed = !1;
|
|
66
|
+
transformAttributes(j, path, CODE_MODS, TODO_WARNING) && (changed = !0), addAttribute(j, path.node, "trim", !0) && (changed = !0), changed && markChanged();
|
|
67
|
+
}));
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export {
|
|
71
|
+
transform as default
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.js","sources":["../../../../src/transforms/latest/code/code.mods.ts","../../../../src/transforms/latest/code/code.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const CODE_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 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 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 {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {CODE_MODS} from './code.mods'\n\nconst TODO_WARNING = 'Please double check the Code 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, 'Code', options)\n\n if (!shouldTransformComponent(j, root, 'Code', localNames, options)) {\n return\n }\n\n if (transformImport(j, root, 'Code', fromPackage, toPackage)) {\n markChanged()\n }\n\n root\n .find(j.JSXOpeningElement, {\n name: {type: 'JSXIdentifier', name: 'Code'},\n })\n .forEach((path) => {\n let changed = false\n\n if (transformAttributes(j, path, CODE_MODS, TODO_WARNING)) {\n changed = true\n }\n\n if (addAttribute(j, path.node, 'trim', true)) {\n changed = true\n }\n\n if (changed) {\n markChanged()\n }\n })\n })\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,YAA2B;AAAA,EACtC,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,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,GC7CM,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,QAAQ,OAAO;AAE7D,6BAAyB,GAAG,MAAM,QAAQ,YAAY,OAAO,MAI9D,gBAAgB,GAAG,MAAM,QAAQ,aAAa,SAAS,KACzD,YAAA,GAGF,KACG,KAAK,EAAE,mBAAmB;AAAA,MACzB,MAAM,EAAC,MAAM,iBAAiB,MAAM,OAAA;AAAA,IAAM,CAC3C,EACA,QAAQ,CAAC,SAAS;AACjB,UAAI,UAAU;AAEV,0BAAoB,GAAG,MAAM,WAAW,YAAY,MACtD,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,QAAQ,EAAI,MACzC,UAAU,KAGR,WACF,YAAA;AAAA,IAEJ,CAAC;AAAA,EACL,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,91 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { transformComponent, getComponentLocalNames, shouldTransformComponent, transformImport, transformAttributes } from "../../../_chunks-es/transformComponent.js";
|
|
3
|
+
import { LAYOUT_MODS } from "../../../_chunks-es/layout-mods.js";
|
|
4
|
+
const CONTAINER_MODS = {
|
|
5
|
+
...LAYOUT_MODS,
|
|
6
|
+
alignItems: {
|
|
7
|
+
type: "style-only",
|
|
8
|
+
style: "alignItems"
|
|
9
|
+
},
|
|
10
|
+
flexDirection: {
|
|
11
|
+
type: "style-only",
|
|
12
|
+
style: "flexDirection"
|
|
13
|
+
},
|
|
14
|
+
flexWrap: {
|
|
15
|
+
type: "style-only",
|
|
16
|
+
style: "flexWrap"
|
|
17
|
+
},
|
|
18
|
+
gridAutoColumns: {
|
|
19
|
+
type: "style-only",
|
|
20
|
+
style: "gridAutoColumns"
|
|
21
|
+
},
|
|
22
|
+
gridAutoFlow: {
|
|
23
|
+
type: "style-only",
|
|
24
|
+
style: "gridAutoFlow"
|
|
25
|
+
},
|
|
26
|
+
gridAutoRows: {
|
|
27
|
+
type: "style-only",
|
|
28
|
+
style: "gridAutoRows"
|
|
29
|
+
},
|
|
30
|
+
gridTemplateColumns: {
|
|
31
|
+
type: "style-mapped",
|
|
32
|
+
style: "gridTemplateColumns",
|
|
33
|
+
mapping: {
|
|
34
|
+
0: "0px",
|
|
35
|
+
1: "repeat(1, 1fr)",
|
|
36
|
+
2: "repeat(2, 1fr)",
|
|
37
|
+
3: "repeat(3, 1fr)",
|
|
38
|
+
4: "repeat(4, 1fr)",
|
|
39
|
+
5: "repeat(5, 1fr)",
|
|
40
|
+
6: "repeat(6, 1fr)",
|
|
41
|
+
7: "repeat(7, 1fr)",
|
|
42
|
+
8: "repeat(8, 1fr)",
|
|
43
|
+
9: "repeat(9, 1fr)",
|
|
44
|
+
10: "repeat(10, 1fr)",
|
|
45
|
+
11: "repeat(11, 1fr)",
|
|
46
|
+
12: "repeat(12, 1fr)"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
gridTemplateRows: {
|
|
50
|
+
type: "style-mapped",
|
|
51
|
+
style: "gridTemplateRows",
|
|
52
|
+
mapping: {
|
|
53
|
+
0: "0px",
|
|
54
|
+
1: "repeat(1, 1fr)",
|
|
55
|
+
2: "repeat(2, 1fr)",
|
|
56
|
+
3: "repeat(3, 1fr)",
|
|
57
|
+
4: "repeat(4, 1fr)",
|
|
58
|
+
5: "repeat(5, 1fr)",
|
|
59
|
+
6: "repeat(6, 1fr)",
|
|
60
|
+
7: "repeat(7, 1fr)",
|
|
61
|
+
8: "repeat(8, 1fr)",
|
|
62
|
+
9: "repeat(9, 1fr)",
|
|
63
|
+
10: "repeat(10, 1fr)",
|
|
64
|
+
11: "repeat(11, 1fr)",
|
|
65
|
+
12: "repeat(12, 1fr)"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
justifyContent: {
|
|
69
|
+
type: "style-only",
|
|
70
|
+
style: "justifyContent"
|
|
71
|
+
},
|
|
72
|
+
width: {
|
|
73
|
+
type: "rename-only",
|
|
74
|
+
name: "size"
|
|
75
|
+
}
|
|
76
|
+
}, TODO_WARNING = "Please double check the Container migration below";
|
|
77
|
+
function transform(fileInfo, api, options) {
|
|
78
|
+
const { fromPackage, toPackage } = options || {};
|
|
79
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
80
|
+
const localNames = getComponentLocalNames(j, root, "Container", options);
|
|
81
|
+
shouldTransformComponent(j, root, "Container", localNames, options) && (transformImport(j, root, "Container", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement, {
|
|
82
|
+
name: { type: "JSXIdentifier", name: "Container" }
|
|
83
|
+
}).forEach((path) => {
|
|
84
|
+
transformAttributes(j, path, CONTAINER_MODS, TODO_WARNING) && markChanged();
|
|
85
|
+
}));
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
transform as default
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sources":["../../../../src/transforms/latest/container/container.mods.ts","../../../../src/transforms/latest/container/container.ts"],"sourcesContent":["import {LAYOUT_MODS} from '../../../constants/latest/layout-mods'\nimport type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const CONTAINER_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 width: {\n type: 'rename-only',\n name: 'size',\n },\n}\n","import {type API, type FileInfo} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {CONTAINER_MODS} from './container.mods'\n\nconst TODO_WARNING = 'Please double check the Container 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, 'Container', options)\n\n if (!shouldTransformComponent(j, root, 'Container', localNames, options)) {\n return\n }\n\n if (transformImport(j, root, 'Container', fromPackage, toPackage)) {\n markChanged()\n }\n\n root\n .find(j.JSXOpeningElement, {\n name: {type: 'JSXIdentifier', name: 'Container'},\n })\n .forEach((path) => {\n if (transformAttributes(j, path, CONTAINER_MODS, TODO_WARNING)) {\n markChanged()\n }\n })\n })\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,iBAAgC;AAAA,EAC3C,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,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,EAAA;AAEV,GClEM,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,aAAa,OAAO;AAElE,6BAAyB,GAAG,MAAM,aAAa,YAAY,OAAO,MAInE,gBAAgB,GAAG,MAAM,aAAa,aAAa,SAAS,KAC9D,YAAA,GAGF,KACG,KAAK,EAAE,mBAAmB;AAAA,MACzB,MAAM,EAAC,MAAM,iBAAiB,MAAM,YAAA;AAAA,IAAW,CAChD,EACA,QAAQ,CAAC,SAAS;AACb,0BAAoB,GAAG,MAAM,gBAAgB,YAAY,KAC3D,YAAA;AAAA,IAEJ,CAAC;AAAA,EACL,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,19 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { transformComponent, getComponentLocalNames, shouldTransformComponent, transformImport, transformAttributes } from "../../../_chunks-es/transformComponent.js";
|
|
3
|
+
import { FLEX_MODS } from "../../../_chunks-es/flex.mods.js";
|
|
4
|
+
const TODO_WARNING = "Please double check the Flex migration below";
|
|
5
|
+
function transform(fileInfo, api, options) {
|
|
6
|
+
const { fromPackage, toPackage } = options || {};
|
|
7
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
8
|
+
const localNames = getComponentLocalNames(j, root, "Flex", options);
|
|
9
|
+
shouldTransformComponent(j, root, "Flex", localNames, options) && (transformImport(j, root, "Flex", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement, {
|
|
10
|
+
name: { type: "JSXIdentifier", name: "Flex" }
|
|
11
|
+
}).forEach((path) => {
|
|
12
|
+
transformAttributes(j, path, FLEX_MODS, TODO_WARNING) && markChanged();
|
|
13
|
+
}));
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
transform as default
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=flex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex.js","sources":["../../../../src/transforms/latest/flex/flex.ts"],"sourcesContent":["import {type API, type FileInfo} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {FLEX_MODS} from './flex.mods'\n\nconst TODO_WARNING = 'Please double check the Flex 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, 'Flex', options)\n\n if (!shouldTransformComponent(j, root, 'Flex', localNames, options)) {\n return\n }\n\n if (transformImport(j, root, 'Flex', fromPackage, toPackage)) {\n markChanged()\n }\n\n root\n .find(j.JSXOpeningElement, {\n name: {type: 'JSXIdentifier', name: 'Flex'},\n })\n .forEach((path) => {\n if (transformAttributes(j, path, FLEX_MODS, TODO_WARNING)) {\n markChanged()\n }\n })\n })\n}\n"],"names":[],"mappings":";;;AAUA,MAAM,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,QAAQ,OAAO;AAE7D,6BAAyB,GAAG,MAAM,QAAQ,YAAY,OAAO,MAI9D,gBAAgB,GAAG,MAAM,QAAQ,aAAa,SAAS,KACzD,YAAA,GAGF,KACG,KAAK,EAAE,mBAAmB;AAAA,MACzB,MAAM,EAAC,MAAM,iBAAiB,MAAM,OAAA;AAAA,IAAM,CAC3C,EACA,QAAQ,CAAC,SAAS;AACb,0BAAoB,GAAG,MAAM,WAAW,YAAY,KACtD,YAAA;AAAA,IAEJ,CAAC;AAAA,EACL,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,19 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { transformComponent, getComponentLocalNames, shouldTransformComponent, transformImport, transformAttributes } from "../../../_chunks-es/transformComponent.js";
|
|
3
|
+
import { GRID_MODS } from "../../../_chunks-es/grid.mods.js";
|
|
4
|
+
const TODO_WARNING = "Please double check the Grid migration below";
|
|
5
|
+
function transform(fileInfo, api, options) {
|
|
6
|
+
const { fromPackage, toPackage } = options || {};
|
|
7
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
8
|
+
const localNames = getComponentLocalNames(j, root, "Grid", options);
|
|
9
|
+
shouldTransformComponent(j, root, "Grid", localNames, options) && (transformImport(j, root, "Grid", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement, {
|
|
10
|
+
name: { type: "JSXIdentifier", name: "Grid" }
|
|
11
|
+
}).forEach((path) => {
|
|
12
|
+
transformAttributes(j, path, GRID_MODS, TODO_WARNING) && markChanged();
|
|
13
|
+
}));
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
transform as default
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.js","sources":["../../../../src/transforms/latest/grid/grid.ts"],"sourcesContent":["import {type API, type FileInfo} from 'jscodeshift'\n\nimport type {BaseOptions} from '../../../types/BaseOptions'\nimport {getComponentLocalNames} from '../../../utils/getComponentLocalNames'\nimport {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {GRID_MODS} from './grid.mods'\n\nconst TODO_WARNING = 'Please double check the Grid 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, 'Grid', options)\n\n if (!shouldTransformComponent(j, root, 'Grid', localNames, options)) {\n return\n }\n\n if (transformImport(j, root, 'Grid', fromPackage, toPackage)) {\n markChanged()\n }\n\n root\n .find(j.JSXOpeningElement, {\n name: {type: 'JSXIdentifier', name: 'Grid'},\n })\n .forEach((path) => {\n if (transformAttributes(j, path, GRID_MODS, TODO_WARNING)) {\n markChanged()\n }\n })\n })\n}\n"],"names":[],"mappings":";;;AAUA,MAAM,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,QAAQ,OAAO;AAE7D,6BAAyB,GAAG,MAAM,QAAQ,YAAY,OAAO,MAI9D,gBAAgB,GAAG,MAAM,QAAQ,aAAa,SAAS,KACzD,YAAA,GAGF,KACG,KAAK,EAAE,mBAAmB;AAAA,MACzB,MAAM,EAAC,MAAM,iBAAiB,MAAM,OAAA;AAAA,IAAM,CAC3C,EACA,QAAQ,CAAC,SAAS;AACb,0BAAoB,GAAG,MAAM,WAAW,YAAY,KACtD,YAAA;AAAA,IAEJ,CAAC;AAAA,EACL,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,85 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { addAttribute } from "../../../_chunks-es/addAttribute.js";
|
|
3
|
+
import { transformComponent, getComponentLocalNames, shouldTransformComponent, transformImport, transformAttributes } from "../../../_chunks-es/transformComponent.js";
|
|
4
|
+
const HEADING_MODS = {
|
|
5
|
+
as: {
|
|
6
|
+
type: "warn-missing",
|
|
7
|
+
warning: "Please double check the Heading migration below. The as prop is missing and will default to h2."
|
|
8
|
+
},
|
|
9
|
+
flex: {
|
|
10
|
+
type: "style-mapped",
|
|
11
|
+
style: "flex",
|
|
12
|
+
mapping: {
|
|
13
|
+
none: "0 0 auto",
|
|
14
|
+
auto: "1 1 auto",
|
|
15
|
+
initial: "0 1 auto",
|
|
16
|
+
1: "1",
|
|
17
|
+
2: "2",
|
|
18
|
+
3: "3",
|
|
19
|
+
4: "4",
|
|
20
|
+
5: "5",
|
|
21
|
+
6: "6",
|
|
22
|
+
7: "7",
|
|
23
|
+
8: "8",
|
|
24
|
+
9: "9",
|
|
25
|
+
10: "10",
|
|
26
|
+
11: "11",
|
|
27
|
+
12: "12"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
maxWidth: {
|
|
31
|
+
type: "style-mapped",
|
|
32
|
+
style: "maxWidth",
|
|
33
|
+
mapping: {
|
|
34
|
+
auto: "none",
|
|
35
|
+
fill: "100%",
|
|
36
|
+
0: "20rem",
|
|
37
|
+
1: "40rem",
|
|
38
|
+
2: "60rem",
|
|
39
|
+
3: "80rem",
|
|
40
|
+
4: "100rem",
|
|
41
|
+
5: "120rem"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
textOverflow: {
|
|
45
|
+
type: "rename-mapped",
|
|
46
|
+
name: "truncate",
|
|
47
|
+
mapping: {
|
|
48
|
+
ellipsis: 1,
|
|
49
|
+
clip: 1
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
width: {
|
|
53
|
+
type: "style-mapped",
|
|
54
|
+
style: "width",
|
|
55
|
+
mapping: {
|
|
56
|
+
auto: "auto",
|
|
57
|
+
fill: "100%",
|
|
58
|
+
stretch: "stretch",
|
|
59
|
+
min: "min-content",
|
|
60
|
+
max: "max-content",
|
|
61
|
+
0: "20rem",
|
|
62
|
+
1: "40rem",
|
|
63
|
+
2: "60rem",
|
|
64
|
+
3: "80rem",
|
|
65
|
+
4: "100rem",
|
|
66
|
+
5: "120rem"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}, TODO_WARNING = "Please double check the Heading migration below";
|
|
70
|
+
function transform(fileInfo, api, options) {
|
|
71
|
+
const { fromPackage, toPackage } = options || {};
|
|
72
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
73
|
+
const localNames = getComponentLocalNames(j, root, "Heading", options);
|
|
74
|
+
shouldTransformComponent(j, root, "Heading", localNames, options) && (transformImport(j, root, "Heading", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement, {
|
|
75
|
+
name: { type: "JSXIdentifier", name: "Heading" }
|
|
76
|
+
}).forEach((path) => {
|
|
77
|
+
let changed = !1;
|
|
78
|
+
transformAttributes(j, path, HEADING_MODS, TODO_WARNING) && (changed = !0), addAttribute(j, path.node, "trim", !0) && (changed = !0), changed && markChanged();
|
|
79
|
+
}));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
export {
|
|
83
|
+
transform as default
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=heading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.js","sources":["../../../../src/transforms/latest/heading/heading.mods.ts","../../../../src/transforms/latest/heading/heading.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const HEADING_MODS: AttributeMods = {\n as: {\n type: 'warn-missing',\n warning:\n 'Please double check the Heading migration below. The as prop is missing and will default to h2.',\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 {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {HEADING_MODS} from './heading.mods'\n\nconst TODO_WARNING = 'Please double check the Heading 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, 'Heading', options)\n\n if (!shouldTransformComponent(j, root, 'Heading', localNames, options)) {\n return\n }\n\n if (transformImport(j, root, 'Heading', fromPackage, toPackage)) {\n markChanged()\n }\n\n root\n .find(j.JSXOpeningElement, {\n name: {type: 'JSXIdentifier', name: 'Heading'},\n })\n .forEach((path) => {\n let changed = false\n\n if (transformAttributes(j, path, HEADING_MODS, TODO_WARNING)) {\n changed = true\n }\n\n if (addAttribute(j, path.node, 'trim', true)) {\n changed = true\n }\n\n if (changed) {\n markChanged()\n }\n })\n })\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,eAA8B;AAAA,EACzC,IAAI;AAAA,IACF,MAAM;AAAA,IACN,SACE;AAAA,EAAA;AAAA,EAEJ,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,GC1DM,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,WAAW,OAAO;AAEhE,6BAAyB,GAAG,MAAM,WAAW,YAAY,OAAO,MAIjE,gBAAgB,GAAG,MAAM,WAAW,aAAa,SAAS,KAC5D,YAAA,GAGF,KACG,KAAK,EAAE,mBAAmB;AAAA,MACzB,MAAM,EAAC,MAAM,iBAAiB,MAAM,UAAA;AAAA,IAAS,CAC9C,EACA,QAAQ,CAAC,SAAS;AACjB,UAAI,UAAU;AAEV,0BAAoB,GAAG,MAAM,cAAc,YAAY,MACzD,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,QAAQ,EAAI,MACzC,UAAU,KAGR,WACF,YAAA;AAAA,IAEJ,CAAC;AAAA,EACL,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,88 @@
|
|
|
1
|
+
import "jscodeshift";
|
|
2
|
+
import { addAttribute } from "../../../_chunks-es/addAttribute.js";
|
|
3
|
+
import { transformComponent, getComponentLocalNames, shouldTransformComponent, transformImport, transformAttributes } from "../../../_chunks-es/transformComponent.js";
|
|
4
|
+
const TEXT_MODS = {
|
|
5
|
+
accent: {
|
|
6
|
+
type: "rename-mapped",
|
|
7
|
+
name: "tone",
|
|
8
|
+
mapping: {
|
|
9
|
+
true: "suggest"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
flex: {
|
|
13
|
+
type: "style-mapped",
|
|
14
|
+
style: "flex",
|
|
15
|
+
mapping: {
|
|
16
|
+
none: "0 0 auto",
|
|
17
|
+
auto: "1 1 auto",
|
|
18
|
+
initial: "0 1 auto",
|
|
19
|
+
1: "1",
|
|
20
|
+
2: "2",
|
|
21
|
+
3: "3",
|
|
22
|
+
4: "4",
|
|
23
|
+
5: "5",
|
|
24
|
+
6: "6",
|
|
25
|
+
7: "7",
|
|
26
|
+
8: "8",
|
|
27
|
+
9: "9",
|
|
28
|
+
10: "10",
|
|
29
|
+
11: "11",
|
|
30
|
+
12: "12"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
maxWidth: {
|
|
34
|
+
type: "style-mapped",
|
|
35
|
+
style: "maxWidth",
|
|
36
|
+
mapping: {
|
|
37
|
+
auto: "none",
|
|
38
|
+
fill: "100%",
|
|
39
|
+
0: "20rem",
|
|
40
|
+
1: "40rem",
|
|
41
|
+
2: "60rem",
|
|
42
|
+
3: "80rem",
|
|
43
|
+
4: "100rem",
|
|
44
|
+
5: "120rem"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
textOverflow: {
|
|
48
|
+
type: "rename-mapped",
|
|
49
|
+
name: "truncate",
|
|
50
|
+
mapping: {
|
|
51
|
+
ellipsis: 1,
|
|
52
|
+
clip: 1
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
width: {
|
|
56
|
+
type: "style-mapped",
|
|
57
|
+
style: "width",
|
|
58
|
+
mapping: {
|
|
59
|
+
auto: "auto",
|
|
60
|
+
fill: "100%",
|
|
61
|
+
stretch: "stretch",
|
|
62
|
+
min: "min-content",
|
|
63
|
+
max: "max-content",
|
|
64
|
+
0: "20rem",
|
|
65
|
+
1: "40rem",
|
|
66
|
+
2: "60rem",
|
|
67
|
+
3: "80rem",
|
|
68
|
+
4: "100rem",
|
|
69
|
+
5: "120rem"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}, TODO_WARNING = "Please double check the Text migration below";
|
|
73
|
+
function transform(fileInfo, api, options) {
|
|
74
|
+
const { fromPackage, toPackage } = options || {};
|
|
75
|
+
return transformComponent(fileInfo, api, ({ j, root, markChanged }) => {
|
|
76
|
+
const localNames = getComponentLocalNames(j, root, "Text", options);
|
|
77
|
+
shouldTransformComponent(j, root, "Text", localNames, options) && (transformImport(j, root, "Text", fromPackage, toPackage) && markChanged(), root.find(j.JSXOpeningElement, {
|
|
78
|
+
name: { type: "JSXIdentifier", name: "Text" }
|
|
79
|
+
}).forEach((path) => {
|
|
80
|
+
let changed = !1;
|
|
81
|
+
transformAttributes(j, path, TEXT_MODS, TODO_WARNING) && (changed = !0), addAttribute(j, path.node, "as", "div") && (changed = !0), addAttribute(j, path.node, "trim", !0) && (changed = !0), changed && markChanged();
|
|
82
|
+
}));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
export {
|
|
86
|
+
transform as default
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../../../src/transforms/latest/text/text.mods.ts","../../../../src/transforms/latest/text/text.ts"],"sourcesContent":["import type {AttributeMods} from '../../../types/AttributeMods'\n\n/** @internal */\nexport const TEXT_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 {shouldTransformComponent} from '../../../utils/shouldTransformComponent'\nimport {transformAttributes} from '../../../utils/transformAttributes'\nimport {transformComponent} from '../../../utils/transformComponent'\nimport {transformImport} from '../../../utils/transformImport'\nimport {TEXT_MODS} from './text.mods'\n\nconst TODO_WARNING = 'Please double check the Text 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, 'Text', options)\n\n if (!shouldTransformComponent(j, root, 'Text', localNames, options)) {\n return\n }\n\n if (transformImport(j, root, 'Text', fromPackage, toPackage)) {\n markChanged()\n }\n\n root\n .find(j.JSXOpeningElement, {\n name: {type: 'JSXIdentifier', name: 'Text'},\n })\n .forEach((path) => {\n let changed = false\n\n if (transformAttributes(j, path, TEXT_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 if (changed) {\n markChanged()\n }\n })\n })\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,YAA2B;AAAA,EACtC,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,GC5DM,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,QAAQ,OAAO;AAE7D,6BAAyB,GAAG,MAAM,QAAQ,YAAY,OAAO,MAI9D,gBAAgB,GAAG,MAAM,QAAQ,aAAa,SAAS,KACzD,YAAA,GAGF,KACG,KAAK,EAAE,mBAAmB;AAAA,MACzB,MAAM,EAAC,MAAM,iBAAiB,MAAM,OAAA;AAAA,IAAM,CAC3C,EACA,QAAQ,CAAC,SAAS;AACjB,UAAI,UAAU;AAEV,0BAAoB,GAAG,MAAM,WAAW,YAAY,MACtD,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,MAAM,KAAK,MACxC,UAAU,KAGR,aAAa,GAAG,KAAK,MAAM,QAAQ,EAAI,MACzC,UAAU,KAGR,WACF,YAAA;AAAA,IAEJ,CAAC;AAAA,EACL,CAAC;AACH;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sanity/ui-codemod",
|
|
3
|
+
"version": "1.0.0-alpha.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"keywords": [],
|
|
6
|
+
"license": "ISC",
|
|
7
|
+
"author": "",
|
|
8
|
+
"bin": {
|
|
9
|
+
"ui-codemod": "./bin/run.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"src"
|
|
14
|
+
],
|
|
15
|
+
"type": "module",
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"exports": {
|
|
18
|
+
"./transforms/latest/box": "./dist/transforms/latest/box/box.js",
|
|
19
|
+
"./latest/box": "./dist/commands/latest/box.js",
|
|
20
|
+
"./transforms/latest/card": "./dist/transforms/latest/card/card.js",
|
|
21
|
+
"./latest/card": "./dist/commands/latest/card.js",
|
|
22
|
+
"./transforms/latest/code": "./dist/transforms/latest/code/code.js",
|
|
23
|
+
"./latest/code": "./dist/commands/latest/code.js",
|
|
24
|
+
"./transforms/latest/container": "./dist/transforms/latest/container/container.js",
|
|
25
|
+
"./latest/container": "./dist/commands/latest/container.js",
|
|
26
|
+
"./transforms/latest/flex": "./dist/transforms/latest/flex/flex.js",
|
|
27
|
+
"./latest/flex": "./dist/commands/latest/flex.js",
|
|
28
|
+
"./transforms/latest/grid": "./dist/transforms/latest/grid/grid.js",
|
|
29
|
+
"./latest/grid": "./dist/commands/latest/grid.js",
|
|
30
|
+
"./transforms/latest/heading": "./dist/transforms/latest/heading/heading.js",
|
|
31
|
+
"./latest/heading": "./dist/commands/latest/heading.js",
|
|
32
|
+
"./transforms/latest/text": "./dist/transforms/latest/text/text.js",
|
|
33
|
+
"./latest/text": "./dist/commands/latest/text.js",
|
|
34
|
+
"./package.json": "./package.json"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@oclif/core": "^4.10.5",
|
|
38
|
+
"@types/jscodeshift": "^17.3.0",
|
|
39
|
+
"jscodeshift": "^17.3.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@sanity/browserslist-config": "^1.0.5",
|
|
43
|
+
"@sanity/pkg-utils": "^10.8.2",
|
|
44
|
+
"@sanity/tsconfig": "^1.0.0",
|
|
45
|
+
"@types/node": "^25.5.2",
|
|
46
|
+
"ts-node": "^10.9.2",
|
|
47
|
+
"tsx": "^4.21.0",
|
|
48
|
+
"typescript": "^5.9.3",
|
|
49
|
+
"vitest": "^4.1.1"
|
|
50
|
+
},
|
|
51
|
+
"browserslist": "extends @sanity/browserslist-config",
|
|
52
|
+
"oclif": {
|
|
53
|
+
"bin": "@sanity/ui-codemod",
|
|
54
|
+
"commands": "./dist/commands",
|
|
55
|
+
"dirname": "ui-codemod",
|
|
56
|
+
"topicSeparator": ":",
|
|
57
|
+
"topics": {
|
|
58
|
+
"latest": {
|
|
59
|
+
"description": "Migrate to latest version of UI"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"scripts": {
|
|
64
|
+
"build": "pkg build --strict --clean --check",
|
|
65
|
+
"test": "vitest run",
|
|
66
|
+
"ts:check": "tsc --noEmit"
|
|
67
|
+
}
|
|
68
|
+
}
|