@workday/canvas-kit-codemod 13.2.43 → 13.2.45
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/es6/v13.2/mapping/index.d.ts +1 -0
- package/dist/es6/v13.2/mapping/index.d.ts.map +1 -1
- package/dist/es6/v13.2/mapping/index.js +30 -0
- package/dist/es6/v13.2/migrateColorTokens.d.ts.map +1 -1
- package/dist/es6/v13.2/migrateColorTokens.js +13 -4
- package/dist/es6/v13.2/migrateDepthTokens.d.ts.map +1 -1
- package/dist/es6/v13.2/migrateDepthTokens.js +15 -7
- package/dist/es6/v13.2/migrateOtherTokens.d.ts.map +1 -1
- package/dist/es6/v13.2/migrateOtherTokens.js +15 -54
- package/dist/es6/v13.2/migrateTypeTokens.d.ts.map +1 -1
- package/dist/es6/v13.2/migrateTypeTokens.js +42 -18
- package/dist/es6/v13.2/utils/filterOutImports.d.ts +4 -1
- package/dist/es6/v13.2/utils/filterOutImports.d.ts.map +1 -1
- package/dist/es6/v13.2/utils/filterOutImports.js +16 -5
- package/dist/es6/v13.2/utils/getImports.d.ts +3 -0
- package/dist/es6/v13.2/utils/getImports.d.ts.map +1 -0
- package/dist/es6/v13.2/utils/getImports.js +12 -0
- package/dist/es6/v13.2/utils/index.d.ts +1 -0
- package/dist/es6/v13.2/utils/index.d.ts.map +1 -1
- package/dist/es6/v13.2/utils/index.js +1 -0
- package/dist/es6/v13.2/utils/transformObjectPropertyRecursively.d.ts +1 -1
- package/dist/es6/v13.2/utils/transformObjectPropertyRecursively.d.ts.map +1 -1
- package/dist/es6/v13.2/utils/transformObjectPropertyRecursively.js +151 -33
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/mapping/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/mapping/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UA6BxB,CAAC;AAqFF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFV,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DxB,CAAC"}
|
|
@@ -1,4 +1,34 @@
|
|
|
1
1
|
import { generateLevelTokens } from '../utils/generateLevelTokens';
|
|
2
|
+
export const paletteNames = [
|
|
3
|
+
'cinnamon',
|
|
4
|
+
'peach',
|
|
5
|
+
'chiliMango',
|
|
6
|
+
'cantaloupe',
|
|
7
|
+
'sourLemon',
|
|
8
|
+
'juicyPear',
|
|
9
|
+
'kiwi',
|
|
10
|
+
'greenApple',
|
|
11
|
+
'watermelon',
|
|
12
|
+
'jewel',
|
|
13
|
+
'toothpaste',
|
|
14
|
+
'blueberry',
|
|
15
|
+
'plum',
|
|
16
|
+
'berrySmoothie',
|
|
17
|
+
'blackberry',
|
|
18
|
+
'islandPunch',
|
|
19
|
+
'grapeSoda',
|
|
20
|
+
'pomegranate',
|
|
21
|
+
'fruitPunch',
|
|
22
|
+
'rootBeer',
|
|
23
|
+
'toastedMarshmallow',
|
|
24
|
+
'licorice',
|
|
25
|
+
'soap',
|
|
26
|
+
'frenchVanilla',
|
|
27
|
+
'blackPepper',
|
|
28
|
+
'coconut',
|
|
29
|
+
'cappuccino',
|
|
30
|
+
'dragonFruit',
|
|
31
|
+
];
|
|
2
32
|
const typeLevelsMap = {
|
|
3
33
|
subtext: {
|
|
4
34
|
small: generateLevelTokens(['subtext', 'small']),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrateColorTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateColorTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"migrateColorTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateColorTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAC,MAAM,aAAa,CAAC;AAkBlD,QAAA,MAAM,SAAS,EAAE,SAsKhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { addMissingImports, filterOutImports, transformObjectPropertyRecursively, varToMemberExpression, } from './utils';
|
|
2
|
-
import { mapping } from './mapping';
|
|
1
|
+
import { addMissingImports, filterOutImports, getImports, transformObjectPropertyRecursively, varToMemberExpression, } from './utils';
|
|
2
|
+
import { mapping, paletteNames } from './mapping';
|
|
3
3
|
const canvasImportSources = [
|
|
4
4
|
'@workday/canvas-kit-styling',
|
|
5
5
|
'@workday/canvas-kit-react/tokens',
|
|
@@ -15,7 +15,7 @@ const transform = (file, api) => {
|
|
|
15
15
|
source: { value: (value) => canvasImportSources.includes(value) },
|
|
16
16
|
})
|
|
17
17
|
.forEach(nodePath => {
|
|
18
|
-
importDeclaration = { ...importDeclaration, ...
|
|
18
|
+
importDeclaration = { ...importDeclaration, ...getImports(nodePath) };
|
|
19
19
|
});
|
|
20
20
|
if (!Object.values(importDeclaration).includes('colors')) {
|
|
21
21
|
return root.toSource();
|
|
@@ -91,7 +91,9 @@ const transform = (file, api) => {
|
|
|
91
91
|
return j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, token)]);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
if ((map === null || map === void 0 ? void 0 : map.type) === 'base' &&
|
|
94
|
+
if ((map === null || map === void 0 ? void 0 : map.type) === 'base' &&
|
|
95
|
+
lowestProperty.type === 'Identifier' &&
|
|
96
|
+
paletteNames.some(name => lowestProperty.name.includes(name))) {
|
|
95
97
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['base'] });
|
|
96
98
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
97
99
|
return j.callExpression(j.identifier('cssVar'), [
|
|
@@ -101,6 +103,13 @@ const transform = (file, api) => {
|
|
|
101
103
|
}
|
|
102
104
|
return nodePath.value;
|
|
103
105
|
});
|
|
106
|
+
root
|
|
107
|
+
.find(j.ImportDeclaration, {
|
|
108
|
+
source: { value: (value) => canvasImportSources.includes(value) },
|
|
109
|
+
})
|
|
110
|
+
.forEach(nodePath => {
|
|
111
|
+
filterOutImports({ root, j }, nodePath, 'colors');
|
|
112
|
+
});
|
|
104
113
|
return root.toSource();
|
|
105
114
|
};
|
|
106
115
|
export default transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrateDepthTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateDepthTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAWtC,QAAA,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"migrateDepthTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateDepthTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAWtC,QAAA,MAAM,SAAS,EAAE,SA6KhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addMissingImports, filterOutImports } from './utils';
|
|
1
|
+
import { addMissingImports, filterOutImports, getImports } from './utils';
|
|
2
2
|
const canvasImportSources = [
|
|
3
3
|
'@workday/canvas-kit-styling',
|
|
4
4
|
'@workday/canvas-kit-react/tokens',
|
|
@@ -14,7 +14,7 @@ const transform = (file, api) => {
|
|
|
14
14
|
source: { value: (value) => canvasImportSources.includes(value) },
|
|
15
15
|
})
|
|
16
16
|
.forEach(nodePath => {
|
|
17
|
-
importDeclaration = { ...importDeclaration, ...
|
|
17
|
+
importDeclaration = { ...importDeclaration, ...getImports(nodePath) };
|
|
18
18
|
});
|
|
19
19
|
if (!Object.values(importDeclaration).includes('depth')) {
|
|
20
20
|
return root.toSource();
|
|
@@ -25,7 +25,7 @@ const transform = (file, api) => {
|
|
|
25
25
|
type: 'MemberExpression',
|
|
26
26
|
object: {
|
|
27
27
|
type: 'Identifier',
|
|
28
|
-
name: 'depth',
|
|
28
|
+
name: (name) => importDeclaration[name] === 'depth',
|
|
29
29
|
},
|
|
30
30
|
property: {
|
|
31
31
|
type: 'NumericLiteral',
|
|
@@ -36,17 +36,18 @@ const transform = (file, api) => {
|
|
|
36
36
|
const argument = nodePath.value.argument;
|
|
37
37
|
if (argument.type === 'MemberExpression' && argument.property.type === 'NumericLiteral') {
|
|
38
38
|
const depthValue = argument.property.value;
|
|
39
|
+
const isDepthNotZero = depthValue > 0;
|
|
39
40
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
40
|
-
if (
|
|
41
|
+
if (isDepthNotZero) {
|
|
41
42
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
42
43
|
}
|
|
43
|
-
return
|
|
44
|
+
return isDepthNotZero
|
|
44
45
|
? j.objectProperty(j.identifier('boxShadow'), j.callExpression(j.identifier('cssVar'), [
|
|
45
46
|
j.memberExpression(j.memberExpression(j.identifier('system'), j.identifier('depth')), j.numericLiteral(depthValue), true),
|
|
46
47
|
]))
|
|
47
48
|
: j.objectProperty(j.identifier('boxShadow'), j.literal('none'));
|
|
48
49
|
}
|
|
49
|
-
return nodePath;
|
|
50
|
+
return nodePath.value;
|
|
50
51
|
});
|
|
51
52
|
root
|
|
52
53
|
.find(j.MemberExpression, (value) => {
|
|
@@ -69,7 +70,7 @@ const transform = (file, api) => {
|
|
|
69
70
|
j.memberExpression(j.memberExpression(j.identifier('system'), j.identifier('depth')), j.numericLiteral(value), true),
|
|
70
71
|
]);
|
|
71
72
|
}
|
|
72
|
-
return nodePath;
|
|
73
|
+
return nodePath.value;
|
|
73
74
|
});
|
|
74
75
|
root
|
|
75
76
|
.find(j.MemberExpression, (value) => {
|
|
@@ -103,6 +104,13 @@ const transform = (file, api) => {
|
|
|
103
104
|
}
|
|
104
105
|
return nodePath.value;
|
|
105
106
|
});
|
|
107
|
+
root
|
|
108
|
+
.find(j.ImportDeclaration, {
|
|
109
|
+
source: { value: (value) => canvasImportSources.includes(value) },
|
|
110
|
+
})
|
|
111
|
+
.forEach(nodePath => {
|
|
112
|
+
filterOutImports({ root, j }, nodePath, 'depth');
|
|
113
|
+
});
|
|
106
114
|
return root.toSource();
|
|
107
115
|
};
|
|
108
116
|
export default transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrateOtherTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateOtherTokens.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"migrateOtherTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateOtherTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAC,MAAM,aAAa,CAAC;AAmBlD,QAAA,MAAM,SAAS,EAAE,SAgHhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { addMissingImports, filterOutImports,
|
|
2
|
-
import { mapping
|
|
1
|
+
import { addMissingImports, filterOutImports, getImports, transformObjectPropertyRecursively, } from './utils';
|
|
2
|
+
import { mapping } from './mapping';
|
|
3
3
|
const canvasImportSources = [
|
|
4
4
|
'@workday/canvas-kit-styling',
|
|
5
5
|
'@workday/canvas-kit-react/tokens',
|
|
@@ -18,7 +18,7 @@ const transform = (file, api) => {
|
|
|
18
18
|
.forEach(nodePath => {
|
|
19
19
|
importDeclaration = {
|
|
20
20
|
...importDeclaration,
|
|
21
|
-
...
|
|
21
|
+
...getImports(nodePath),
|
|
22
22
|
};
|
|
23
23
|
});
|
|
24
24
|
if (!Object.values(importDeclaration).some(value => tokens.includes(value))) {
|
|
@@ -35,57 +35,7 @@ const transform = (file, api) => {
|
|
|
35
35
|
const stylesDeclaration = nodePath.value.arguments[0];
|
|
36
36
|
const isCanvasKitStyling = importDeclaration[name] === 'createStyles' || importDeclaration[name] === 'createStencil';
|
|
37
37
|
if ((stylesDeclaration === null || stylesDeclaration === void 0 ? void 0 : stylesDeclaration.type) === 'ObjectExpression') {
|
|
38
|
-
|
|
39
|
-
var _a;
|
|
40
|
-
if (property.type === 'ObjectProperty' &&
|
|
41
|
-
property.key.type === 'Identifier' &&
|
|
42
|
-
property.value.type === 'MemberExpression' &&
|
|
43
|
-
property.value.object.type === 'Identifier' &&
|
|
44
|
-
property.value.property.type === 'Identifier' &&
|
|
45
|
-
tokens.includes(importDeclaration[property.value.object.name])) {
|
|
46
|
-
const key = property.key.name;
|
|
47
|
-
const tokens = (_a = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === key))) === null || _a === void 0 ? void 0 : _a[1];
|
|
48
|
-
const { property: value } = property.value;
|
|
49
|
-
const colorToken = tokens === null || tokens === void 0 ? void 0 : tokens[value.name];
|
|
50
|
-
if (colorToken) {
|
|
51
|
-
if (!isCanvasKitStyling) {
|
|
52
|
-
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
53
|
-
}
|
|
54
|
-
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
55
|
-
return j.objectProperty(j.identifier(key), isCanvasKitStyling
|
|
56
|
-
? varToMemberExpression(j, colorToken)
|
|
57
|
-
: j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, colorToken)]));
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (property.type === 'ObjectProperty' && property.value.type === 'TemplateLiteral') {
|
|
61
|
-
const templateLiteral = property.value;
|
|
62
|
-
const transformedQuasis = templateLiteral.quasis.map((quasi) => quasi);
|
|
63
|
-
const transformedExpressions = templateLiteral.expressions.map((expr) => {
|
|
64
|
-
var _a;
|
|
65
|
-
if (expr.type === 'MemberExpression' &&
|
|
66
|
-
expr.object.type === 'Identifier' &&
|
|
67
|
-
expr.property.type === 'Identifier' &&
|
|
68
|
-
tokens.includes(importDeclaration[expr.object.name])) {
|
|
69
|
-
const tokens = (_a = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === property.key.name))) === null || _a === void 0 ? void 0 : _a[1];
|
|
70
|
-
const colorToken = tokens === null || tokens === void 0 ? void 0 : tokens[expr.property.name];
|
|
71
|
-
if (colorToken) {
|
|
72
|
-
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
73
|
-
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
74
|
-
return j.callExpression(j.identifier('cssVar'), [
|
|
75
|
-
varToMemberExpression(j, colorToken),
|
|
76
|
-
]);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return expr;
|
|
80
|
-
});
|
|
81
|
-
return j.objectProperty(property.key, j.templateLiteral(transformedQuasis, transformedExpressions));
|
|
82
|
-
}
|
|
83
|
-
if (property.type === 'ObjectProperty' && property.value.type === 'ObjectExpression') {
|
|
84
|
-
return j.objectProperty(property.key, j.objectExpression(property.value.properties.map(transformProperty)));
|
|
85
|
-
}
|
|
86
|
-
return property;
|
|
87
|
-
};
|
|
88
|
-
stylesDeclaration.properties = stylesDeclaration.properties.map(transformProperty);
|
|
38
|
+
stylesDeclaration.properties = stylesDeclaration.properties.map((prop) => transformObjectPropertyRecursively({ j, root }, prop, importDeclaration, isCanvasKitStyling, [...tokens]));
|
|
89
39
|
}
|
|
90
40
|
});
|
|
91
41
|
root
|
|
@@ -107,6 +57,10 @@ const transform = (file, api) => {
|
|
|
107
57
|
if (['space', 'borderRadius'].includes(importedName) &&
|
|
108
58
|
(map === null || map === void 0 ? void 0 : map.type) === 'system' &&
|
|
109
59
|
lowestProperty.type === 'Identifier') {
|
|
60
|
+
const newValue = map.keys[lowestProperty.name];
|
|
61
|
+
if (!newValue) {
|
|
62
|
+
return nodePath.value;
|
|
63
|
+
}
|
|
110
64
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
111
65
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
112
66
|
return j.callExpression(j.identifier('cssVar'), [
|
|
@@ -116,6 +70,13 @@ const transform = (file, api) => {
|
|
|
116
70
|
}
|
|
117
71
|
return nodePath.value;
|
|
118
72
|
});
|
|
73
|
+
root
|
|
74
|
+
.find(j.ImportDeclaration, {
|
|
75
|
+
source: { value: (value) => canvasImportSources.includes(value) },
|
|
76
|
+
})
|
|
77
|
+
.forEach(nodePath => {
|
|
78
|
+
filterOutImports({ root, j }, nodePath, tokens);
|
|
79
|
+
});
|
|
119
80
|
return root.toSource();
|
|
120
81
|
};
|
|
121
82
|
export default transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrateTypeTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateTypeTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAC,MAAM,aAAa,CAAC;AASpE,QAAA,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"migrateTypeTokens.d.ts","sourceRoot":"","sources":["../../../lib/v13.2/migrateTypeTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAC,MAAM,aAAa,CAAC;AASpE,QAAA,MAAM,SAAS,EAAE,SA6OhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addMissingImports, filterOutImports, varToMemberExpression } from './utils';
|
|
1
|
+
import { addMissingImports, filterOutImports, getImports, varToMemberExpression } from './utils';
|
|
2
2
|
import { typeProps } from './mapping/typeProps';
|
|
3
3
|
import { mapping } from './mapping';
|
|
4
4
|
const canvasImportSources = ['@workday/canvas-kit-styling', '@workday/canvas-kit-react/tokens'];
|
|
@@ -12,7 +12,7 @@ const transform = (file, api) => {
|
|
|
12
12
|
source: { value: (value) => canvasImportSources.includes(value) },
|
|
13
13
|
})
|
|
14
14
|
.forEach(nodePath => {
|
|
15
|
-
importDeclaration = { ...importDeclaration, ...
|
|
15
|
+
importDeclaration = { ...importDeclaration, ...getImports(nodePath) };
|
|
16
16
|
});
|
|
17
17
|
if (!Object.values(importDeclaration).includes('type')) {
|
|
18
18
|
return root.toSource();
|
|
@@ -40,14 +40,26 @@ const transform = (file, api) => {
|
|
|
40
40
|
const object = argument.object;
|
|
41
41
|
const level = object.property.name;
|
|
42
42
|
const size = argument.property.name;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
const mapKeys = mapping.type.keys.levels.values;
|
|
44
|
+
const levelKeys = mapKeys[level] || {};
|
|
45
|
+
const tokens = levelKeys[size];
|
|
46
|
+
if (tokens) {
|
|
47
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
48
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
49
|
+
const properties = typeProps
|
|
50
|
+
.filter(prop => tokens[prop])
|
|
51
|
+
.map((key) => {
|
|
52
|
+
const tokenValue = tokens[key];
|
|
53
|
+
if (!tokenValue) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return j.objectProperty(j.identifier(key), j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, tokenValue)]));
|
|
57
|
+
})
|
|
58
|
+
.filter((prop) => prop !== null);
|
|
59
|
+
// Replace the spread element with individual properties
|
|
60
|
+
return properties;
|
|
61
|
+
}
|
|
62
|
+
return nodePath.value;
|
|
51
63
|
});
|
|
52
64
|
root
|
|
53
65
|
.find(j.MemberExpression, (value) => {
|
|
@@ -80,7 +92,7 @@ const transform = (file, api) => {
|
|
|
80
92
|
return j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, value)]);
|
|
81
93
|
}
|
|
82
94
|
}
|
|
83
|
-
return nodePath;
|
|
95
|
+
return nodePath.value;
|
|
84
96
|
});
|
|
85
97
|
root
|
|
86
98
|
.find(j.MemberExpression, (value) => {
|
|
@@ -104,7 +116,10 @@ const transform = (file, api) => {
|
|
|
104
116
|
const lowestPropertyValue = lowestProperty.type === 'Identifier' ? lowestProperty.name : lowestProperty.value;
|
|
105
117
|
const innerKey = innerProperty.name;
|
|
106
118
|
if (mainProperty.name === 'properties') {
|
|
107
|
-
const { name, values } = mapping.type.keys[innerKey];
|
|
119
|
+
const { name, values } = mapping.type.keys[innerKey] || {};
|
|
120
|
+
if (!name || !values) {
|
|
121
|
+
return nodePath.value;
|
|
122
|
+
}
|
|
108
123
|
const newValue = values[lowestPropertyValue];
|
|
109
124
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
110
125
|
if (newValue.includes('.')) {
|
|
@@ -123,17 +138,26 @@ const transform = (file, api) => {
|
|
|
123
138
|
const { values } = mapping.type.keys.levels;
|
|
124
139
|
const levels = values[innerKey];
|
|
125
140
|
const lowestKey = lowestPropertyValue;
|
|
126
|
-
const tokens = levels[lowestKey];
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
141
|
+
const tokens = levels === null || levels === void 0 ? void 0 : levels[lowestKey];
|
|
142
|
+
if (tokens) {
|
|
143
|
+
const props = Object.entries(tokens).map(([key, value]) => {
|
|
144
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
145
|
+
return j.property('init', j.identifier(key), j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, value)]));
|
|
146
|
+
});
|
|
147
|
+
return j.objectExpression(props);
|
|
148
|
+
}
|
|
132
149
|
}
|
|
133
150
|
}
|
|
134
151
|
}
|
|
135
152
|
return nodePath.value;
|
|
136
153
|
});
|
|
154
|
+
root
|
|
155
|
+
.find(j.ImportDeclaration, {
|
|
156
|
+
source: { value: (value) => canvasImportSources.includes(value) },
|
|
157
|
+
})
|
|
158
|
+
.forEach(nodePath => {
|
|
159
|
+
filterOutImports({ root, j }, nodePath, 'type');
|
|
160
|
+
});
|
|
137
161
|
return root.toSource();
|
|
138
162
|
};
|
|
139
163
|
export default transform;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { ASTPath, ImportDeclaration } from 'jscodeshift';
|
|
2
2
|
type ImportType = 'colors' | 'depth' | 'space' | 'type' | 'borderRadius';
|
|
3
|
-
export declare const filterOutImports: (
|
|
3
|
+
export declare const filterOutImports: ({ root, j }: {
|
|
4
|
+
root: any;
|
|
5
|
+
j: any;
|
|
6
|
+
}, nodePath: ASTPath<ImportDeclaration>, type: ImportType | ImportType[]) => Record<string, string>;
|
|
4
7
|
export {};
|
|
5
8
|
//# sourceMappingURL=filterOutImports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterOutImports.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/filterOutImports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEvD,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC;AASzE,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"filterOutImports.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/filterOutImports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEvD,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC;AASzE,eAAO,MAAM,gBAAgB;UACT,GAAG;OAAK,GAAG;aACnB,QAAQ,iBAAiB,CAAC,QAC9B,UAAU,GAAG,UAAU,EAAE,2BA0ChC,CAAC"}
|
|
@@ -4,18 +4,29 @@ const canvasImportSources = [
|
|
|
4
4
|
'@workday/canvas-space-web',
|
|
5
5
|
'@workday/canvas-depth-web',
|
|
6
6
|
];
|
|
7
|
-
export const filterOutImports = (nodePath, type) => {
|
|
7
|
+
export const filterOutImports = ({ root, j }, nodePath, type) => {
|
|
8
8
|
var _a, _b;
|
|
9
9
|
const importName = {};
|
|
10
10
|
nodePath.value.specifiers = (_a = nodePath.value.specifiers) === null || _a === void 0 ? void 0 : _a.filter(specifier => {
|
|
11
11
|
if (specifier.type === 'ImportSpecifier' && specifier.local) {
|
|
12
|
+
let isInstanceExist = false;
|
|
12
13
|
const localName = specifier.local.name.toString();
|
|
13
14
|
const importedName = specifier.imported.name.toString();
|
|
14
15
|
importName[localName] = importedName;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
root
|
|
17
|
+
.find(j.MemberExpression, {
|
|
18
|
+
object: {
|
|
19
|
+
name: importedName,
|
|
20
|
+
},
|
|
21
|
+
})
|
|
22
|
+
.forEach(() => {
|
|
23
|
+
isInstanceExist = true;
|
|
24
|
+
});
|
|
25
|
+
return (isInstanceExist ||
|
|
26
|
+
!(((typeof type === 'string' && importedName.toLowerCase().includes(type)) ||
|
|
27
|
+
type.includes(importedName)) &&
|
|
28
|
+
typeof nodePath.value.source.value === 'string' &&
|
|
29
|
+
canvasImportSources.includes(nodePath.value.source.value)));
|
|
19
30
|
}
|
|
20
31
|
return true;
|
|
21
32
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getImports.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/getImports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,UAAU,aAAc,QAAQ,iBAAiB,CAAC,2BAa9D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const getImports = (nodePath) => {
|
|
2
|
+
var _a;
|
|
3
|
+
const importName = {};
|
|
4
|
+
(_a = nodePath.value.specifiers) === null || _a === void 0 ? void 0 : _a.forEach(specifier => {
|
|
5
|
+
if (specifier.type === 'ImportSpecifier' && specifier.local) {
|
|
6
|
+
const localName = specifier.local.name.toString();
|
|
7
|
+
const importedName = specifier.imported.name.toString();
|
|
8
|
+
importName[localName] = importedName;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
return importName;
|
|
12
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const transformObjectPropertyRecursively: ({ j, root }: any, property: any, importDeclaration: {
|
|
2
2
|
[key: string]: any;
|
|
3
|
-
}, isCanvasKitStyling?: boolean) => any;
|
|
3
|
+
}, isCanvasKitStyling?: boolean, tokenTypes?: string[]) => any;
|
|
4
4
|
//# sourceMappingURL=transformObjectPropertyRecursively.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformObjectPropertyRecursively.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/transformObjectPropertyRecursively.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformObjectPropertyRecursively.d.ts","sourceRoot":"","sources":["../../../../lib/v13.2/utils/transformObjectPropertyRecursively.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kCAAkC,gBAClC,GAAG,YACJ,GAAG;;wBAEQ,OAAO,eACf,MAAM,EAAE,KACpB,GA2UF,CAAC"}
|
|
@@ -1,26 +1,60 @@
|
|
|
1
|
-
import { systemColors } from '../mapping';
|
|
1
|
+
import { mapping, paletteNames, systemColors } from '../mapping';
|
|
2
2
|
import { addMissingImports } from './addMissingImports';
|
|
3
3
|
import { varToMemberExpression } from './varToMemberExpression';
|
|
4
|
-
export const transformObjectPropertyRecursively = ({ j, root }, property, importDeclaration, isCanvasKitStyling) => {
|
|
4
|
+
export const transformObjectPropertyRecursively = ({ j, root }, property, importDeclaration, isCanvasKitStyling, tokenTypes) => {
|
|
5
5
|
var _a, _b, _c;
|
|
6
|
+
// Helper to create object property preserving computed flag
|
|
7
|
+
const createObjectProperty = (key, value) => {
|
|
8
|
+
var _a, _b, _c;
|
|
9
|
+
const prop = j.objectProperty(key, value);
|
|
10
|
+
// Preserve computed flag: if explicitly true, or if key is not a simple literal/identifier
|
|
11
|
+
if (property.computed === true ||
|
|
12
|
+
(((_a = property.key) === null || _a === void 0 ? void 0 : _a.type) !== 'Identifier' &&
|
|
13
|
+
((_b = property.key) === null || _b === void 0 ? void 0 : _b.type) !== 'StringLiteral' &&
|
|
14
|
+
((_c = property.key) === null || _c === void 0 ? void 0 : _c.type) !== 'NumericLiteral')) {
|
|
15
|
+
prop.computed = true;
|
|
16
|
+
}
|
|
17
|
+
return prop;
|
|
18
|
+
};
|
|
6
19
|
if (property.type === 'ObjectProperty' &&
|
|
7
20
|
property.key.type === 'Identifier' &&
|
|
8
21
|
property.value.type === 'MemberExpression' &&
|
|
9
22
|
property.value.object.type === 'Identifier' &&
|
|
10
|
-
property.value.property.type === 'Identifier'
|
|
11
|
-
importDeclaration[property.value.object.name]
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
property.value.property.type === 'Identifier') {
|
|
24
|
+
const importedTokenName = importDeclaration[property.value.object.name];
|
|
25
|
+
// Handle colors tokens
|
|
26
|
+
if (importedTokenName === 'colors' && (!tokenTypes || tokenTypes.includes('colors'))) {
|
|
27
|
+
const key = property.key.name;
|
|
28
|
+
const tokens = (_a = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === key))) === null || _a === void 0 ? void 0 : _a[1];
|
|
29
|
+
const { property: value } = property.value;
|
|
30
|
+
const colorToken = tokens === null || tokens === void 0 ? void 0 : tokens[value.name];
|
|
31
|
+
if (colorToken) {
|
|
32
|
+
if (!isCanvasKitStyling) {
|
|
33
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
34
|
+
}
|
|
35
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
36
|
+
return createObjectProperty(property.key, isCanvasKitStyling
|
|
37
|
+
? varToMemberExpression(j, colorToken)
|
|
38
|
+
: j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, colorToken)]));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Handle space and borderRadius tokens
|
|
42
|
+
if (tokenTypes &&
|
|
43
|
+
tokenTypes.includes(importedTokenName) &&
|
|
44
|
+
['space', 'borderRadius'].includes(importedTokenName)) {
|
|
45
|
+
const map = mapping[importedTokenName];
|
|
46
|
+
const propertyName = property.value.property.name;
|
|
47
|
+
if ((map === null || map === void 0 ? void 0 : map.type) === 'system' && map.keys) {
|
|
48
|
+
const newValue = map.keys[propertyName];
|
|
49
|
+
if (newValue) {
|
|
50
|
+
if (!isCanvasKitStyling) {
|
|
51
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
52
|
+
}
|
|
53
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
54
|
+
const tokenPath = j.memberExpression(j.memberExpression(j.identifier(map.type), j.identifier(map.name)), j.identifier(newValue));
|
|
55
|
+
return createObjectProperty(property.key, isCanvasKitStyling ? tokenPath : j.callExpression(j.identifier('cssVar'), [tokenPath]));
|
|
56
|
+
}
|
|
19
57
|
}
|
|
20
|
-
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
21
|
-
return j.objectProperty(j.identifier(key), isCanvasKitStyling
|
|
22
|
-
? varToMemberExpression(j, colorToken)
|
|
23
|
-
: j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, colorToken)]));
|
|
24
58
|
}
|
|
25
59
|
}
|
|
26
60
|
if (property.type === 'ObjectProperty' && property.value.type === 'TemplateLiteral') {
|
|
@@ -28,21 +62,72 @@ export const transformObjectPropertyRecursively = ({ j, root }, property, import
|
|
|
28
62
|
const transformedQuasis = templateLiteral.quasis.map((quasi) => quasi);
|
|
29
63
|
const transformedExpressions = templateLiteral.expressions.map((expr) => {
|
|
30
64
|
var _a;
|
|
65
|
+
if (expr.type === 'CallExpression') {
|
|
66
|
+
expr.arguments = expr.arguments.map((arg) => {
|
|
67
|
+
var _a;
|
|
68
|
+
if (arg.type === 'MemberExpression' &&
|
|
69
|
+
arg.object.type === 'Identifier' &&
|
|
70
|
+
arg.object.name === 'colors' &&
|
|
71
|
+
arg.property.type === 'Identifier') {
|
|
72
|
+
const keyName = property.key.type === 'Identifier' ? property.key.name : null;
|
|
73
|
+
const tokens = keyName
|
|
74
|
+
? (_a = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === keyName))) === null || _a === void 0 ? void 0 : _a[1]
|
|
75
|
+
: {};
|
|
76
|
+
const colorToken = tokens === null || tokens === void 0 ? void 0 : tokens[arg.property.name];
|
|
77
|
+
if (colorToken) {
|
|
78
|
+
return isCanvasKitStyling
|
|
79
|
+
? varToMemberExpression(j, colorToken)
|
|
80
|
+
: j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, colorToken)]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return arg;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
31
86
|
if (expr.type === 'MemberExpression' &&
|
|
32
87
|
expr.object.type === 'Identifier' &&
|
|
33
|
-
expr.property.type === 'Identifier'
|
|
34
|
-
importDeclaration[expr.object.name]
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
88
|
+
expr.property.type === 'Identifier') {
|
|
89
|
+
const importedTokenName = importDeclaration[expr.object.name];
|
|
90
|
+
// Handle colors tokens
|
|
91
|
+
if (importedTokenName === 'colors' && (!tokenTypes || tokenTypes.includes('colors'))) {
|
|
92
|
+
const keyName = property.key.type === 'Identifier' ? property.key.name : null;
|
|
93
|
+
const tokens = keyName
|
|
94
|
+
? (_a = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === keyName))) === null || _a === void 0 ? void 0 : _a[1]
|
|
95
|
+
: null;
|
|
96
|
+
const colorToken = tokens === null || tokens === void 0 ? void 0 : tokens[expr.property.name];
|
|
97
|
+
if (colorToken) {
|
|
98
|
+
if (!isCanvasKitStyling) {
|
|
99
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
100
|
+
}
|
|
101
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
102
|
+
return isCanvasKitStyling
|
|
103
|
+
? varToMemberExpression(j, colorToken)
|
|
104
|
+
: j.callExpression(j.identifier('cssVar'), [varToMemberExpression(j, colorToken)]);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Handle space and borderRadius tokens
|
|
108
|
+
if (tokenTypes &&
|
|
109
|
+
tokenTypes.includes(importedTokenName) &&
|
|
110
|
+
['space', 'borderRadius'].includes(importedTokenName)) {
|
|
111
|
+
const map = mapping[importedTokenName];
|
|
112
|
+
const propertyName = expr.property.name;
|
|
113
|
+
if ((map === null || map === void 0 ? void 0 : map.type) === 'system' && map.keys) {
|
|
114
|
+
const newValue = map.keys[propertyName];
|
|
115
|
+
if (newValue) {
|
|
116
|
+
if (!isCanvasKitStyling) {
|
|
117
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
118
|
+
}
|
|
119
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
120
|
+
const tokenPath = j.memberExpression(j.memberExpression(j.identifier(map.type), j.identifier(map.name)), j.identifier(newValue));
|
|
121
|
+
return isCanvasKitStyling
|
|
122
|
+
? tokenPath
|
|
123
|
+
: j.callExpression(j.identifier('cssVar'), [tokenPath]);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
41
126
|
}
|
|
42
127
|
}
|
|
43
128
|
return expr;
|
|
44
129
|
});
|
|
45
|
-
return
|
|
130
|
+
return createObjectProperty(property.key, j.templateLiteral(transformedQuasis, transformedExpressions));
|
|
46
131
|
}
|
|
47
132
|
if (property.type === 'ObjectProperty' && property.value.type === 'ConditionalExpression') {
|
|
48
133
|
const { test, consequent, alternate } = property.value;
|
|
@@ -54,23 +139,56 @@ export const transformObjectPropertyRecursively = ({ j, root }, property, import
|
|
|
54
139
|
alternate.object.type === 'Identifier' &&
|
|
55
140
|
alternate.property.type === 'Identifier' &&
|
|
56
141
|
importDeclaration[alternate.object.name] === 'colors') {
|
|
57
|
-
const
|
|
58
|
-
const
|
|
142
|
+
const keyName = property.key.type === 'Identifier' ? property.key.name : null;
|
|
143
|
+
const consequentTokens = keyName
|
|
144
|
+
? (_b = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === keyName))) === null || _b === void 0 ? void 0 : _b[1]
|
|
145
|
+
: null;
|
|
146
|
+
const alternateTokens = keyName
|
|
147
|
+
? (_c = Object.entries(systemColors).find(([blockKey]) => blockKey.split(',').some(prop => prop === keyName))) === null || _c === void 0 ? void 0 : _c[1]
|
|
148
|
+
: null;
|
|
59
149
|
const consequentColorToken = consequentTokens === null || consequentTokens === void 0 ? void 0 : consequentTokens[consequent.property.name];
|
|
60
150
|
const alternateColorToken = alternateTokens === null || alternateTokens === void 0 ? void 0 : alternateTokens[alternate.property.name];
|
|
61
151
|
if (consequentColorToken && alternateColorToken) {
|
|
62
|
-
|
|
152
|
+
if (!isCanvasKitStyling) {
|
|
153
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
154
|
+
}
|
|
63
155
|
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['system'] });
|
|
64
|
-
return
|
|
65
|
-
varToMemberExpression(j, consequentColorToken)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
156
|
+
return createObjectProperty(property.key, j.conditionalExpression(test, isCanvasKitStyling
|
|
157
|
+
? varToMemberExpression(j, consequentColorToken)
|
|
158
|
+
: j.callExpression(j.identifier('cssVar'), [
|
|
159
|
+
varToMemberExpression(j, consequentColorToken),
|
|
160
|
+
]), isCanvasKitStyling
|
|
161
|
+
? varToMemberExpression(j, alternateColorToken)
|
|
162
|
+
: j.callExpression(j.identifier('cssVar'), [
|
|
163
|
+
varToMemberExpression(j, alternateColorToken),
|
|
164
|
+
])));
|
|
69
165
|
}
|
|
70
166
|
}
|
|
71
167
|
}
|
|
72
168
|
if (property.type === 'ObjectProperty' && property.value.type === 'ObjectExpression') {
|
|
73
|
-
return
|
|
169
|
+
return createObjectProperty(property.key, j.objectExpression(property.value.properties.map((prop) => transformObjectPropertyRecursively({ j, root }, prop, importDeclaration, isCanvasKitStyling, tokenTypes))));
|
|
170
|
+
}
|
|
171
|
+
if (property.type === 'ObjectProperty' &&
|
|
172
|
+
property.key.type === 'Identifier' &&
|
|
173
|
+
property.value.type === 'MemberExpression' &&
|
|
174
|
+
property.value.object.type === 'Identifier' &&
|
|
175
|
+
property.value.property.type === 'Identifier') {
|
|
176
|
+
const importedTokenName = importDeclaration[property.value.object.name];
|
|
177
|
+
// Handle colors tokens
|
|
178
|
+
if (importedTokenName === 'colors' && (!tokenTypes || tokenTypes.includes('colors'))) {
|
|
179
|
+
const { property: value } = property.value;
|
|
180
|
+
if (paletteNames.some(name => value.name.includes(name))) {
|
|
181
|
+
if (!isCanvasKitStyling) {
|
|
182
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-kit-styling', specifiers: ['cssVar'] });
|
|
183
|
+
}
|
|
184
|
+
addMissingImports({ j, root }, { importPath: '@workday/canvas-tokens-web', specifiers: ['base'] });
|
|
185
|
+
return createObjectProperty(property.key, isCanvasKitStyling
|
|
186
|
+
? j.memberExpression(j.identifier('base'), j.identifier(value.name))
|
|
187
|
+
: j.callExpression(j.identifier('cssVar'), [
|
|
188
|
+
j.memberExpression(j.identifier('base'), j.identifier(value.name)),
|
|
189
|
+
]));
|
|
190
|
+
}
|
|
191
|
+
}
|
|
74
192
|
}
|
|
75
193
|
return property;
|
|
76
194
|
};
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@workday/canvas-kit-codemod",
|
|
3
3
|
"author": "Workday, Inc. (https://www.workday.com)",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
|
-
"version": "13.2.
|
|
5
|
+
"version": "13.2.45",
|
|
6
6
|
"description": "A collection of codemods for use on Workday Canvas Kit packages.",
|
|
7
7
|
"main": "dist/es6/index.js",
|
|
8
8
|
"sideEffects": false,
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"resolutions": {
|
|
47
47
|
"recast": "0.20.4"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "1d32cb999f95570395e24e89c7a739e5a4e18cee"
|
|
50
50
|
}
|