@atlaskit/codemod-cli 0.9.7 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/codemod-cli
2
2
 
3
+ ## 0.10.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8d4228767b0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8d4228767b0) - Upgrade Typescript from `4.2.4` to `4.3.5`.
8
+
9
+ ## 0.10.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`6ec444547a9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6ec444547a9) - Applies various fixes to the tokens post-css codemod. Box shadows and border properties are respected syntactically
14
+
15
+ ## 0.10.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`54c548f34ca`](https://bitbucket.org/atlassian/atlassian-frontend/commits/54c548f34ca) - Adds preset codemod for css-to-design-tokens. This codemod transforms css,scss,less color usage to design tokens.
20
+
3
21
  ## 0.9.7
4
22
 
5
23
  ### Patch Changes
package/dist/cjs/main.js CHANGED
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = main;
9
9
 
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
11
 
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -387,7 +387,7 @@ function _main() {
387
387
  case 4:
388
388
  _yield$parseArgs = _context5.sent;
389
389
  packages = _yield$parseArgs.packages;
390
- _process$env$_PACKAGE = "0.9.7", _PACKAGE_VERSION_ = _process$env$_PACKAGE === void 0 ? '0.0.0-dev' : _process$env$_PACKAGE;
390
+ _process$env$_PACKAGE = "0.10.2", _PACKAGE_VERSION_ = _process$env$_PACKAGE === void 0 ? '0.0.0-dev' : _process$env$_PACKAGE;
391
391
  logger.log(_chalk.default.bgBlue(_chalk.default.black("\uD83D\uDCDA Atlassian-Frontend codemod library @ ".concat(_PACKAGE_VERSION_, " \uD83D\uDCDA"))));
392
392
 
393
393
  if (packages && packages.length > 0) {
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = transformer;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _postcss = _interopRequireDefault(require("postcss"));
19
+
20
+ var _postcssLess = _interopRequireDefault(require("postcss-less"));
21
+
22
+ var _tokenNames = _interopRequireDefault(require("@atlaskit/tokens/token-names"));
23
+
24
+ var _renameMapping = _interopRequireDefault(require("@atlaskit/tokens/rename-mapping"));
25
+
26
+ var _fuzzySearch = _interopRequireDefault(require("../theme-to-design-tokens/utils/fuzzy-search"));
27
+
28
+ var _legacyColors = require("./utils/legacy-colors");
29
+
30
+ var _meta = require("./utils/meta");
31
+
32
+ // @ts-ignore
33
+ var tokens = Object.keys(_tokenNames.default).filter(function (t) {
34
+ return !t.includes('UNSAFE') && !t.includes('interaction');
35
+ }).filter(function (t) {
36
+ return !_renameMapping.default.find(function (_ref) {
37
+ var path = _ref.path;
38
+ return t === path.replace(/\.[default]\g/, '');
39
+ });
40
+ });
41
+ var search = (0, _fuzzySearch.default)(tokens, false);
42
+
43
+ function isRule(node) {
44
+ return node.type === 'rule';
45
+ }
46
+
47
+ function getParentSelectors(node) {
48
+ if (isRule(node)) {
49
+ // @ts-expect-error
50
+ return getParentSelectors(node.parent) + ' ' + node.selector;
51
+ }
52
+
53
+ if (node.parent) {
54
+ return getParentSelectors(node.parent);
55
+ }
56
+
57
+ return '';
58
+ }
59
+
60
+ function stripVar(prop) {
61
+ return prop.substring(prop.indexOf('(') + 1).split(/\,|\)/)[0];
62
+ }
63
+
64
+ function stripLessVar(prop) {
65
+ return prop.substring(1);
66
+ }
67
+
68
+ function isColorProperty(prop) {
69
+ return prop === 'color' || prop === 'background' || prop === 'background-color' || prop === 'box-shadow' || prop === 'border' || prop === 'border-left' || prop === 'border-right' || prop === 'border-top' || prop === 'border-bottom' || prop === 'border-color';
70
+ }
71
+
72
+ function getDeclarationMeta(decl) {
73
+ if (decl.prop === 'color') {
74
+ return 'text';
75
+ }
76
+
77
+ if (decl.prop.startsWith('background')) {
78
+ return 'background';
79
+ }
80
+
81
+ if (decl.prop.includes('shadow')) {
82
+ return 'shadow';
83
+ }
84
+
85
+ if (decl.prop.includes('border')) {
86
+ return 'border';
87
+ }
88
+
89
+ return '';
90
+ }
91
+
92
+ function isDesignToken(tokenName) {
93
+ return Boolean(Object.entries(_tokenNames.default).find(function (_ref2) {
94
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
95
+ _ = _ref3[0],
96
+ value = _ref3[1];
97
+
98
+ return tokenName === value;
99
+ }));
100
+ }
101
+
102
+ function getMetaFromCssVar(tokenName) {
103
+ var meta = _legacyColors.knownVariables[tokenName];
104
+
105
+ if (!meta || meta.length === 0) {
106
+ return tokenName.split('-');
107
+ }
108
+
109
+ return meta;
110
+ }
111
+
112
+ function getMetaFromRawColor(rawColor) {
113
+ var cleanColor = rawColor.toLowerCase();
114
+
115
+ if (cleanColor.length === 4) {
116
+ cleanColor = cleanColor + cleanColor.substring(cleanColor.indexOf('#') + 1);
117
+ }
118
+
119
+ return _legacyColors.knownRawColors[cleanColor];
120
+ } // https://github.com/postcss/postcss/blob/main/docs/writing-a-plugin.md
121
+ // https://astexplorer.net/#/2uBU1BLuJ1
122
+
123
+
124
+ var plugin = function plugin() {
125
+ var processed = Symbol('processed');
126
+ return {
127
+ postcssPlugin: 'UsingTokens',
128
+ Declaration: function Declaration(decl) {
129
+ // @ts-expect-error
130
+ if (decl[processed]) {
131
+ return;
132
+ }
133
+
134
+ if (!isColorProperty(decl.prop)) {
135
+ return;
136
+ }
137
+
138
+ var searchTerms = [getDeclarationMeta(decl)].concat((0, _toConsumableArray2.default)(getParentSelectors(decl).split(/\-|\.|\,|\ |\:|\&/).filter(function (el) {
139
+ return !!el;
140
+ })));
141
+ var match;
142
+ var cssVarRe = /var\([^\)]+\)/g;
143
+ var lessVarRe = /@[a-zA-Z0-9-]+/g;
144
+ var rawColorRe = /(#([0-9a-f]{3}){1,2}|(rgba|hsla)\(\d{1,3}%?(,\s?\d{1,3}%?){2},\s?(1|0|0?\.\d+)\)|(rgb|hsl)\(\d{1,3}%?(,\s?\d{1,3}%?){2}\))/i; // CSS variables
145
+
146
+ var cssVarMatch = decl.value.match(cssVarRe);
147
+
148
+ if (cssVarMatch) {
149
+ var _getMetaFromCssVar;
150
+
151
+ match = cssVarMatch[0];
152
+
153
+ if (isDesignToken(stripVar(match))) {
154
+ return;
155
+ }
156
+
157
+ searchTerms.push.apply(searchTerms, (0, _toConsumableArray2.default)((_getMetaFromCssVar = getMetaFromCssVar(stripVar(match))) !== null && _getMetaFromCssVar !== void 0 ? _getMetaFromCssVar : []));
158
+ } // Less variables
159
+
160
+
161
+ var lassVarMatch = decl.value.match(lessVarRe);
162
+
163
+ if (lassVarMatch) {
164
+ var _getMetaFromCssVar2;
165
+
166
+ match = lassVarMatch[0];
167
+ searchTerms.push.apply(searchTerms, (0, _toConsumableArray2.default)((_getMetaFromCssVar2 = getMetaFromCssVar("--".concat(stripLessVar(match)))) !== null && _getMetaFromCssVar2 !== void 0 ? _getMetaFromCssVar2 : []));
168
+ } // Raw colors
169
+
170
+
171
+ var rawColorMatch = decl.value.match(rawColorRe);
172
+
173
+ if (rawColorMatch) {
174
+ var _getMetaFromRawColor;
175
+
176
+ match = rawColorMatch[0];
177
+ searchTerms.push.apply(searchTerms, (0, _toConsumableArray2.default)((_getMetaFromRawColor = getMetaFromRawColor(match)) !== null && _getMetaFromRawColor !== void 0 ? _getMetaFromRawColor : []));
178
+ } // Named colors
179
+
180
+
181
+ if (_legacyColors.knownColors.hasOwnProperty(decl.value)) {
182
+ var _knownColors$decl$val;
183
+
184
+ match = decl.value;
185
+ searchTerms.push.apply(searchTerms, (0, _toConsumableArray2.default)((_knownColors$decl$val = _legacyColors.knownColors[decl.value.toLowerCase()]) !== null && _knownColors$decl$val !== void 0 ? _knownColors$decl$val : []));
186
+ }
187
+
188
+ if (!match) {
189
+ console.warn("Unable to find match for declaration: ".concat(decl.prop, ": ").concat(decl.value));
190
+ return;
191
+ }
192
+
193
+ var cleanSearchTerms = (0, _meta.cleanMeta)(searchTerms).join(' ');
194
+ var results = search.get(cleanSearchTerms);
195
+ var replacement = results ? results.map(function (result) {
196
+ return result[1];
197
+ }) : ['utility.UNSAFE_util.MISSING_TOKEN'];
198
+
199
+ if (decl.prop === 'box-shadow') {
200
+ decl.value = "var(".concat(_tokenNames.default[replacement[0]], ", ").concat(decl.value, ")");
201
+ } else {
202
+ decl.value = decl.value.split(match).join("var(".concat(_tokenNames.default[replacement[0]], ", ").concat(match, ")"));
203
+ } // @ts-expect-error
204
+
205
+
206
+ decl[processed] = true;
207
+ }
208
+ };
209
+ };
210
+
211
+ function transformer(_x) {
212
+ return _transformer.apply(this, arguments);
213
+ }
214
+
215
+ function _transformer() {
216
+ _transformer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(file) {
217
+ return _regenerator.default.wrap(function _callee$(_context) {
218
+ while (1) {
219
+ switch (_context.prev = _context.next) {
220
+ case 0:
221
+ _context.next = 2;
222
+ return (0, _postcss.default)([plugin()]).process(file.source, {
223
+ syntax: _postcssLess.default
224
+ }).css;
225
+
226
+ case 2:
227
+ return _context.abrupt("return", _context.sent);
228
+
229
+ case 3:
230
+ case "end":
231
+ return _context.stop();
232
+ }
233
+ }
234
+ }, _callee);
235
+ }));
236
+ return _transformer.apply(this, arguments);
237
+ }
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.knownVariables = exports.knownRawColors = exports.knownColors = void 0;
7
+ var knownVariables = {
8
+ '--adg3-color-R50': ['danger'],
9
+ '--adg3-color-R75': ['danger'],
10
+ '--adg3-color-R100': ['danger'],
11
+ '--adg3-color-R200': ['danger'],
12
+ '--adg3-color-R300': ['danger'],
13
+ '--adg3-color-R400': ['danger'],
14
+ '--adg3-color-R500': ['danger'],
15
+ '--adg3-color-Y50': ['warning'],
16
+ '--adg3-color-Y75': ['warning'],
17
+ '--adg3-color-Y100': ['warning'],
18
+ '--adg3-color-Y200': ['warning'],
19
+ '--adg3-color-Y300': ['warning'],
20
+ '--adg3-color-Y400': ['warning'],
21
+ '--adg3-color-Y500': ['warning'],
22
+ '--adg3-color-G50': ['success'],
23
+ '--adg3-color-G75': ['success'],
24
+ '--adg3-color-G100': ['success'],
25
+ '--adg3-color-G200': ['success'],
26
+ '--adg3-color-G300': ['success'],
27
+ '--adg3-color-G400': ['success'],
28
+ '--adg3-color-G500': ['success'],
29
+ '--adg3-color-B50': ['brand'],
30
+ '--adg3-color-B75': ['brand'],
31
+ '--adg3-color-B100': ['brand'],
32
+ '--adg3-color-B200': ['brand'],
33
+ '--adg3-color-B300': ['brand'],
34
+ '--adg3-color-B400': ['brand'],
35
+ '--adg3-color-B500': ['brand'],
36
+ '--adg3-color-P50': ['discovery'],
37
+ '--adg3-color-P75': ['discovery'],
38
+ '--adg3-color-P100': ['discovery'],
39
+ '--adg3-color-P200': ['discovery'],
40
+ '--adg3-color-P300': ['discovery'],
41
+ '--adg3-color-P400': ['discovery'],
42
+ '--adg3-color-P500': ['discovery'],
43
+ '--adg3-color-T50': ['accent', 'teal'],
44
+ '--adg3-color-T75': ['accent', 'teal'],
45
+ '--adg3-color-T100': ['accent', 'teal'],
46
+ '--adg3-color-T200': ['accent', 'teal'],
47
+ '--adg3-color-T300': ['accent', 'teal'],
48
+ '--adg3-color-T400': ['accent', 'teal'],
49
+ '--adg3-color-T500': ['accent', 'teal'],
50
+ '--adg3-color-N0': ['inverse'],
51
+ '--adg3-color-N10': [],
52
+ '--adg3-color-N20': [],
53
+ '--adg3-color-N30': [],
54
+ '--adg3-color-N40': [],
55
+ '--adg3-color-N50': [],
56
+ '--adg3-color-N60': [],
57
+ '--adg3-color-N70': [],
58
+ '--adg3-color-N80': [],
59
+ '--adg3-color-N90': [],
60
+ '--adg3-color-N100': [],
61
+ '--adg3-color-N200': ['text', 'subtlest'],
62
+ '--adg3-color-N300': [],
63
+ '--adg3-color-N400': ['text', 'subtle'],
64
+ '--adg3-color-N500': [],
65
+ '--adg3-color-N600': [],
66
+ '--adg3-color-N700': ['text'],
67
+ '--adg3-color-N800': ['text'],
68
+ '--adg3-color-N900': ['text'],
69
+ '--adg3-color-N10A': [],
70
+ '--adg3-color-N20A': [],
71
+ '--adg3-color-N30A': [],
72
+ '--adg3-color-N40A': [],
73
+ '--adg3-color-N50A': [],
74
+ '--adg3-color-N60A': [],
75
+ '--adg3-color-N70A': [],
76
+ '--adg3-color-N80A': [],
77
+ '--adg3-color-N90A': [],
78
+ '--adg3-color-N100A': [],
79
+ '--adg3-color-N200A': [],
80
+ '--adg3-color-N300A': [],
81
+ '--adg3-color-N400A': [],
82
+ '--adg3-color-N500A': [],
83
+ '--adg3-color-N600A': [],
84
+ '--adg3-color-N700A': [],
85
+ '--adg3-color-N800A': [],
86
+ '--adg3-color-DN900': [],
87
+ '--adg3-color-DN800': [],
88
+ '--adg3-color-DN700': [],
89
+ '--adg3-color-DN600': [],
90
+ '--adg3-color-DN500': [],
91
+ '--adg3-color-DN400': [],
92
+ '--adg3-color-DN300': [],
93
+ '--adg3-color-DN200': [],
94
+ '--adg3-color-DN100': [],
95
+ '--adg3-color-DN90': [],
96
+ '--adg3-color-DN80': [],
97
+ '--adg3-color-DN70': [],
98
+ '--adg3-color-DN60': [],
99
+ '--adg3-color-DN50': [],
100
+ '--adg3-color-DN40': [],
101
+ '--adg3-color-DN30': [],
102
+ '--adg3-color-DN20': [],
103
+ '--adg3-color-DN10': [],
104
+ '--adg3-color-DN0': [],
105
+ '--adg3-color-DN800A': [],
106
+ '--adg3-color-DN700A': [],
107
+ '--adg3-color-DN600A': [],
108
+ '--adg3-color-DN500A': [],
109
+ '--adg3-color-DN400A': [],
110
+ '--adg3-color-DN300A': [],
111
+ '--adg3-color-DN200A': [],
112
+ '--adg3-color-DN100A': [],
113
+ '--adg3-color-DN90A': [],
114
+ '--adg3-color-DN80A': [],
115
+ '--adg3-color-DN70A': [],
116
+ '--adg3-color-DN60A': [],
117
+ '--adg3-color-DN50A': [],
118
+ '--adg3-color-DN40A': [],
119
+ '--adg3-color-DN30A': [],
120
+ '--adg3-color-DN20A': [],
121
+ '--adg3-color-DN10A': [],
122
+ '--adg3-color-background-light': ['elevation', 'surface'],
123
+ '--adg3-color-background-dark': ['elevation', 'surface'],
124
+ '--adg3-color-text-light': ['text'],
125
+ '--adg3-color-text-dark': ['text'],
126
+ '--adg3-color-subtleText-light': ['text', 'subtle'],
127
+ '--adg3-color-subtleText-dark': ['text', 'subtle'],
128
+ '--adg3-color-placeholderText-light': ['text', 'subtlest'],
129
+ '--adg3-color-placeholderText-dark': ['text', 'subtlest'],
130
+ '--adg3-color-heading-light': ['text'],
131
+ '--adg3-color-heading-dark': ['text'],
132
+ '--adg3-color-subtleHeading-light': ['text', 'subtle'],
133
+ '--adg3-color-subtleHeading-dark': ['text', 'subtle'],
134
+ '--adg3-color-codeBlock-light': ['elevation', 'surface', 'sunken'],
135
+ '--adg3-color-codeBlock-dark': ['elevation', 'surface', 'sunken'],
136
+ '--adg3-color-link-light': ['link'],
137
+ '--adg3-color-link-dark': ['link'],
138
+ '--adg3-color-linkHover-light': ['link'],
139
+ '--adg3-color-linkHover-dark': ['link'],
140
+ '--adg3-color-linkActive-light': ['link', 'pressed'],
141
+ '--adg3-color-linkActive-dark': ['link', 'pressed'],
142
+ '--adg3-color-linkOutline-light': ['link', 'focused'],
143
+ '--adg3-color-linkOutline-dark': ['link', 'focused'],
144
+ '--adg3-color-primary-light': ['brand'],
145
+ '--adg3-color-primary-dark': ['brand'],
146
+ '--adg3-color-blue-light': ['accent', 'subtler', 'blue'],
147
+ '--adg3-color-blue-dark': ['accent', 'bolder', 'blue'],
148
+ '--adg3-color-teal-light': ['accent', 'subtler', 'teal'],
149
+ '--adg3-color-teal-dark': ['accent', 'bolder', 'teal'],
150
+ '--adg3-color-purple-light': ['accent', 'subtler', 'purple'],
151
+ '--adg3-color-purple-dark': ['accent', 'bolder', 'purple'],
152
+ '--adg3-color-red-light': ['accent', 'subtler', 'red'],
153
+ '--adg3-color-red-dark': ['accent', 'bolder', 'red'],
154
+ '--adg3-color-yellow-light': ['accent', 'subtler', 'yellow'],
155
+ '--adg3-color-yellow-dark': ['accent', 'bolder', 'yellow'],
156
+ '--adg3-color-green-light': ['accent', 'subtler', 'green'],
157
+ '--adg3-color-green-dark': ['accent', 'bolder', 'green'],
158
+ '--adg3-color-N20-transparent': [],
159
+
160
+ /* Alias variables */
161
+ '--jpo-theme-color': ['brand'],
162
+ '--jpo-text-default-color': ['text'],
163
+ '--jpo-text-secondary-color': ['text', 'subtle'],
164
+ '--jpo-text-muted-color': ['text', 'disabled'],
165
+ '--jpo-text-error-color': ['text', 'danger'],
166
+ '--jpo-bg-default-color': ['elevation', 'surface'],
167
+ '--jpo-bg-reverse-color': ['background', 'inverse'],
168
+ '--jpo-bg-warning-color': ['background', 'warning', 'subtle'],
169
+ '--jpo-bg-dark-color': ['background', 'netural', 'bold'],
170
+ '--jpo-border-default-color': ['border'],
171
+ '--jpo-border-secondary-color': ['border', 'subtle']
172
+ };
173
+ exports.knownVariables = knownVariables;
174
+ var knownColors = {
175
+ aliceblue: ['blue'],
176
+ antiquewhite: [],
177
+ aqua: ['teal'],
178
+ aquamarine: ['teal'],
179
+ azure: ['teal', 'subtlest'],
180
+ beige: [],
181
+ bisque: [],
182
+ black: [],
183
+ blanchedalmond: [],
184
+ blue: ['blue'],
185
+ blueviolet: ['blue'],
186
+ brown: [],
187
+ burlywood: [],
188
+ cadetblue: ['blue'],
189
+ chartreuse: [],
190
+ chocolate: [],
191
+ coral: [],
192
+ cornflowerblue: ['blue'],
193
+ cornsilk: [],
194
+ crimson: ['accent', 'red'],
195
+ cyan: ['accent', 'teal', 'subtle'],
196
+ darkblue: ['accent', 'blue', 'bold'],
197
+ darkcyan: ['accent', 'teal', 'bold'],
198
+ darkgoldenrod: [],
199
+ darkgray: [],
200
+ darkgrey: [],
201
+ darkgreen: ['green'],
202
+ darkkhaki: [],
203
+ darkmagenta: ['magenta', 'bold'],
204
+ darkolivegreen: ['green'],
205
+ darkorange: [],
206
+ darkorchid: [],
207
+ darkred: ['accent', 'red', 'bold'],
208
+ darksalmon: [],
209
+ darkseagreen: ['green'],
210
+ darkslateblue: [],
211
+ darkslategray: [],
212
+ darkslategrey: [],
213
+ darkturquoise: ['teal', 'bold'],
214
+ darkviolet: ['purple', 'bold'],
215
+ deeppink: ['magenta'],
216
+ deepskyblue: ['blue'],
217
+ dimgray: [],
218
+ dimgrey: [],
219
+ dodgerblue: [],
220
+ firebrick: ['red', 'bold'],
221
+ floralwhite: [],
222
+ forestgreen: ['green'],
223
+ fuchsia: ['magenta', 'subtle'],
224
+ gainsboro: [],
225
+ ghostwhite: [],
226
+ gold: ['yellow'],
227
+ goldenrod: [],
228
+ gray: [],
229
+ grey: [],
230
+ green: ['green'],
231
+ greenyellow: [],
232
+ honeydew: [],
233
+ hotpink: ['magenta'],
234
+ indianred: [],
235
+ indigo: ['purple'],
236
+ ivory: [],
237
+ khaki: [],
238
+ lavender: ['purple'],
239
+ lavenderblush: ['purple'],
240
+ lawngreen: ['green'],
241
+ lemonchiffon: [],
242
+ lightblue: [],
243
+ lightcoral: [],
244
+ lightcyan: [],
245
+ lightgoldenrodyellow: [],
246
+ lightgray: [],
247
+ lightgrey: [],
248
+ lightgreen: ['green'],
249
+ lightpink: ['magenta'],
250
+ lightsalmon: ['pink', 'subtler'],
251
+ lightseagreen: ['green'],
252
+ lightskyblue: ['blue'],
253
+ lightslategray: [],
254
+ lightslategrey: [],
255
+ lightsteelblue: ['blue'],
256
+ lightyellow: [],
257
+ lime: ['green', 'subtler'],
258
+ limegreen: ['green'],
259
+ linen: [],
260
+ magenta: ['magenta'],
261
+ maroon: [],
262
+ mediumaquamarine: [],
263
+ mediumblue: [],
264
+ mediumorchid: [],
265
+ mediumpurple: [],
266
+ mediumseagreen: ['green'],
267
+ mediumslateblue: [],
268
+ mediumspringgreen: ['green'],
269
+ mediumturquoise: [],
270
+ mediumvioletred: [],
271
+ midnightblue: [],
272
+ mintcream: [],
273
+ mistyrose: [],
274
+ moccasin: [],
275
+ navajowhite: [],
276
+ navy: ['blue', 'bold'],
277
+ oldlace: [],
278
+ olive: [],
279
+ olivedrab: [],
280
+ orange: [],
281
+ orangered: [],
282
+ orchid: ['purple'],
283
+ palegoldenrod: [],
284
+ palegreen: ['green'],
285
+ paleturquoise: [],
286
+ palevioletred: [],
287
+ papayawhip: [],
288
+ peachpuff: [],
289
+ peru: [],
290
+ pink: ['magenta'],
291
+ plum: [],
292
+ powderblue: ['blue', 'subtle'],
293
+ purple: ['purple'],
294
+ red: ['accent', 'red', 'subtle'],
295
+ rosybrown: [],
296
+ royalblue: [],
297
+ saddlebrown: [],
298
+ salmon: [],
299
+ sandybrown: [],
300
+ seagreen: ['green'],
301
+ seashell: [],
302
+ sienna: [],
303
+ silver: [],
304
+ skyblue: ['blue', 'subtlest'],
305
+ slateblue: [],
306
+ slategray: [],
307
+ slategrey: [],
308
+ snow: [],
309
+ springgreen: ['green'],
310
+ steelblue: ['blue'],
311
+ tan: [],
312
+ teal: ['accent', 'teal'],
313
+ thistle: [],
314
+ tomato: ['red'],
315
+ turquoise: [],
316
+ violet: ['purple'],
317
+ wheat: [],
318
+ white: ['elevation', 'surface'],
319
+ whitesmoke: [],
320
+ yellow: ['yellow'],
321
+ yellowgreen: ['yellow']
322
+ };
323
+ exports.knownColors = knownColors;
324
+ var knownRawColors = {
325
+ '#000000': ['text'],
326
+ '#cccccc': ['border'],
327
+ '#aaaaaa': ['border'],
328
+ '#bbbbbb': ['border'],
329
+ '#ffffff': ['elevation', 'surface'],
330
+ '#f0f0f0': ['elevation', 'surface'],
331
+ '#eeeeee': ['elevation', 'surface', 'sunken'],
332
+ '#ff0000': ['danger'],
333
+ '#d04437': ['danger'],
334
+ '#c00c00': ['danger'],
335
+ '#5243aa': ['discovery'],
336
+ '#ffc712': ['warning'],
337
+ '#292929': ['text'],
338
+ '#00f00f': ['brand'],
339
+ '#3b73af': ['brand'],
340
+ '#326ca6': ['brand'],
341
+ '#0052cc': ['brand']
342
+ };
343
+ exports.knownRawColors = knownRawColors;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.cleanMeta = cleanMeta;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _tokenNames = _interopRequireDefault(require("@atlaskit/tokens/token-names"));
13
+
14
+ var getUniqueWordsFromTokens = Object.keys(_tokenNames.default).reduce(function (accum, val) {
15
+ return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split('.')));
16
+ }, []).reduce(function (accum, val) {
17
+ return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split(/(?=[A-Z])/g).map(function (e) {
18
+ return e.toLowerCase();
19
+ })));
20
+ }, []).reduce(function (accum, val) {
21
+ if (!accum.includes(val)) {
22
+ accum.push(val);
23
+ }
24
+
25
+ return accum;
26
+ }, []);
27
+
28
+ function filterDuplciateFoundations(meta) {
29
+ var foundations = ['text', 'background', 'shadow', 'border'];
30
+ var hasFoundation = false;
31
+ return meta.filter(function (val) {
32
+ if (!hasFoundation && foundations.includes(val)) {
33
+ hasFoundation = true;
34
+ return true;
35
+ }
36
+
37
+ if (hasFoundation && foundations.includes(val)) {
38
+ return false;
39
+ }
40
+
41
+ return true;
42
+ });
43
+ }
44
+
45
+ function cleanMeta(meta) {
46
+ var cleanMeta = meta.reduce(function (accum, val) {
47
+ return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(typeof val === 'string' ? val.split(/(?=[A-Z])/g).map(function (e) {
48
+ return e.toLowerCase();
49
+ }) : []));
50
+ }, []).reduce(function (accum, val) {
51
+ accum.push(val.replace(/:/g, '').replace(/,/g, '').replace('grey', 'neutral').replace('texts', 'text').replace('red', 'danger').replace('error', 'danger').replace('invalid', 'danger').replace('removed', 'danger').replace('removal', 'danger').replace('remove', 'danger').replace('focus', 'focused').replace('valid', 'success').replace('successful', 'success').replace('risk', 'warning').replace('caution', 'warning').replace('warn', 'warning').replace('primary', 'bold').replace('info', 'bold').replace('secondary', 'subtle').replace('hyperlink', 'link').replace('anchor', 'link').replace('active', 'pressed').replace('hover', 'hovered').replace('dragged', 'overlay').replace('dragging', 'overlay').replace('drag', 'overlay').replace('background-color', 'background').replace('color', 'text').replace('icons', 'icon').replace('arrow', 'icon').replace('glyph', 'icon').replace('stroke', 'border').replace('border-left', 'border').replace('border-right', 'border').replace('border-top', 'border').replace('border-bottom', 'border').replace('box-shadow', 'shadow'));
52
+ return accum;
53
+ }, []).filter(function (val) {
54
+ return getUniqueWordsFromTokens.includes(val);
55
+ }).reduce(function (accum, val) {
56
+ if (!accum.includes(val)) {
57
+ accum.push(val);
58
+ }
59
+
60
+ return accum;
61
+ }, []);
62
+ return filterDuplciateFoundations(cleanMeta);
63
+ }