@atlaskit/codemod-cli 0.14.0 → 0.16.0

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.
Files changed (95) hide show
  1. package/CHANGELOG.md +72 -53
  2. package/dist/cjs/main.js +3 -3
  3. package/dist/cjs/presets/css-to-design-tokens/css-to-design-tokens.js +52 -133
  4. package/dist/cjs/presets/css-to-design-tokens/lib/colors.js +49 -0
  5. package/dist/cjs/presets/css-to-design-tokens/lib/declaration.js +29 -0
  6. package/dist/cjs/presets/css-to-design-tokens/{utils → lib}/legacy-colors.js +13 -17
  7. package/dist/cjs/presets/css-to-design-tokens/lib/logger.js +18 -0
  8. package/dist/cjs/presets/css-to-design-tokens/lib/meta.js +157 -0
  9. package/dist/cjs/presets/css-to-design-tokens/lib/tokens.js +47 -0
  10. package/dist/cjs/presets/css-to-design-tokens/lib/value.js +80 -0
  11. package/dist/cjs/presets/index.js +3 -3
  12. package/dist/cjs/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.js +118 -0
  13. package/dist/cjs/presets/migrate-to-new-buttons/codemods/next-split-imports.js +58 -0
  14. package/dist/cjs/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +45 -0
  15. package/dist/cjs/presets/migrate-to-new-buttons/utils/constants.js +35 -0
  16. package/dist/cjs/presets/styled-to-emotion/styled-to-emotion.js +1 -2
  17. package/dist/cjs/presets/theme-remove-deprecated-mixins/utils/replacements.js +2 -3
  18. package/dist/cjs/presets/theme-to-design-tokens/theme-to-design-tokens.js +2 -2
  19. package/dist/cjs/presets/theme-to-design-tokens/utils/color.js +4 -8
  20. package/dist/cjs/presets/theme-to-design-tokens/utils/css-utils.js +2 -2
  21. package/dist/cjs/presets/theme-to-design-tokens/utils/fuzzy-search.js +1 -2
  22. package/dist/cjs/presets/theme-to-design-tokens/utils/legacy-colors.js +4 -7
  23. package/dist/cjs/presets/theme-to-design-tokens/utils/named-colors.js +1 -2
  24. package/dist/cjs/presets/theme-to-design-tokens/utils/string-utils.js +1 -2
  25. package/dist/cjs/presets/theme-to-design-tokens/utils/tokens.js +3 -5
  26. package/dist/cjs/sinceRef.js +1 -2
  27. package/dist/cjs/transforms.js +6 -12
  28. package/dist/cjs/types.js +3 -5
  29. package/dist/cjs/utils.js +2 -3
  30. package/dist/es2019/presets/css-to-design-tokens/css-to-design-tokens.js +52 -116
  31. package/dist/es2019/presets/css-to-design-tokens/lib/colors.js +34 -0
  32. package/dist/es2019/presets/css-to-design-tokens/lib/declaration.js +17 -0
  33. package/dist/es2019/presets/css-to-design-tokens/{utils → lib}/legacy-colors.js +9 -10
  34. package/dist/es2019/presets/css-to-design-tokens/lib/logger.js +11 -0
  35. package/dist/es2019/presets/css-to-design-tokens/lib/meta.js +133 -0
  36. package/dist/es2019/presets/css-to-design-tokens/lib/tokens.js +24 -0
  37. package/dist/es2019/presets/css-to-design-tokens/lib/value.js +68 -0
  38. package/dist/es2019/presets/index.js +2 -1
  39. package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.js +86 -0
  40. package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-split-imports.js +44 -0
  41. package/dist/es2019/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +19 -0
  42. package/dist/es2019/presets/migrate-to-new-buttons/utils/constants.js +29 -0
  43. package/dist/es2019/presets/theme-to-design-tokens/utils/css-utils.js +2 -2
  44. package/dist/esm/main.js +3 -3
  45. package/dist/esm/presets/css-to-design-tokens/css-to-design-tokens.js +52 -132
  46. package/dist/esm/presets/css-to-design-tokens/lib/colors.js +38 -0
  47. package/dist/esm/presets/css-to-design-tokens/lib/declaration.js +19 -0
  48. package/dist/esm/presets/css-to-design-tokens/{utils → lib}/legacy-colors.js +9 -10
  49. package/dist/esm/presets/css-to-design-tokens/lib/logger.js +11 -0
  50. package/dist/esm/presets/css-to-design-tokens/lib/meta.js +146 -0
  51. package/dist/esm/presets/css-to-design-tokens/lib/tokens.js +40 -0
  52. package/dist/esm/presets/css-to-design-tokens/lib/value.js +73 -0
  53. package/dist/esm/presets/index.js +2 -1
  54. package/dist/esm/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.js +112 -0
  55. package/dist/esm/presets/migrate-to-new-buttons/codemods/next-split-imports.js +52 -0
  56. package/dist/esm/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +38 -0
  57. package/dist/esm/presets/migrate-to-new-buttons/utils/constants.js +29 -0
  58. package/dist/esm/presets/theme-to-design-tokens/theme-to-design-tokens.js +2 -2
  59. package/dist/esm/presets/theme-to-design-tokens/utils/css-utils.js +2 -2
  60. package/dist/types/main.d.ts +0 -1
  61. package/dist/types/presets/css-to-design-tokens/css-to-design-tokens.d.ts +0 -1
  62. package/dist/types/presets/css-to-design-tokens/lib/colors.d.ts +6 -0
  63. package/dist/types/presets/css-to-design-tokens/lib/declaration.d.ts +5 -0
  64. package/dist/types/presets/css-to-design-tokens/{utils → lib}/legacy-colors.d.ts +1 -1
  65. package/dist/types/presets/css-to-design-tokens/lib/logger.d.ts +4 -0
  66. package/dist/types/presets/css-to-design-tokens/lib/meta.d.ts +6 -0
  67. package/dist/types/presets/css-to-design-tokens/lib/tokens.d.ts +7 -0
  68. package/dist/types/presets/css-to-design-tokens/lib/value.d.ts +6 -0
  69. package/dist/types/presets/index.d.ts +1 -0
  70. package/dist/types/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.d.ts +3 -0
  71. package/dist/types/presets/migrate-to-new-buttons/codemods/next-split-imports.d.ts +3 -0
  72. package/dist/types/presets/migrate-to-new-buttons/migrate-to-new-buttons.d.ts +2 -0
  73. package/dist/types/presets/migrate-to-new-buttons/utils/constants.d.ts +14 -0
  74. package/dist/types-ts4.5/main.d.ts +0 -1
  75. package/dist/types-ts4.5/presets/css-to-design-tokens/css-to-design-tokens.d.ts +0 -1
  76. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/colors.d.ts +6 -0
  77. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/declaration.d.ts +5 -0
  78. package/dist/types-ts4.5/presets/css-to-design-tokens/{utils → lib}/legacy-colors.d.ts +1 -1
  79. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/logger.d.ts +4 -0
  80. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/meta.d.ts +6 -0
  81. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/tokens.d.ts +7 -0
  82. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/value.d.ts +6 -0
  83. package/dist/types-ts4.5/presets/index.d.ts +1 -0
  84. package/dist/types-ts4.5/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.d.ts +3 -0
  85. package/dist/types-ts4.5/presets/migrate-to-new-buttons/codemods/next-split-imports.d.ts +3 -0
  86. package/dist/types-ts4.5/presets/migrate-to-new-buttons/migrate-to-new-buttons.d.ts +2 -0
  87. package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/constants.d.ts +14 -0
  88. package/package.json +3 -2
  89. package/report.api.md +0 -2
  90. package/tmp/api-report-tmp.d.ts +0 -2
  91. package/dist/cjs/presets/css-to-design-tokens/utils/meta.js +0 -53
  92. package/dist/es2019/presets/css-to-design-tokens/utils/meta.js +0 -33
  93. package/dist/esm/presets/css-to-design-tokens/utils/meta.js +0 -46
  94. package/dist/types/presets/css-to-design-tokens/utils/meta.d.ts +0 -1
  95. package/dist/types-ts4.5/presets/css-to-design-tokens/utils/meta.d.ts +0 -1
@@ -0,0 +1,5 @@
1
+ export declare function isColorRelatedProperty(prop: string): boolean;
2
+ export declare function isCssDeclaration(prop: string): boolean;
3
+ export declare function extractCssVarName(prop: string): string;
4
+ export declare function extractLessVarName(prop: string): string;
5
+ export declare function splitCssValue(value: string): RegExpMatchArray | null;
@@ -1,3 +1,3 @@
1
1
  export declare const knownVariables: Record<string, string[]>;
2
- export declare const knownColors: Record<string, string[]>;
2
+ export declare const knownNamedColors: Record<string, string[]>;
3
3
  export declare const knownRawColors: Record<string, string[]>;
@@ -0,0 +1,4 @@
1
+ export declare const logger: {
2
+ warn(message: string): void;
3
+ error(message: string): void;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { Declaration } from 'postcss';
2
+ export declare function cleanMeta(meta: string[]): string[];
3
+ export declare function getBaseDeclarationMeta(decl: Declaration): string[];
4
+ export declare function getCssVarMeta(cssVariable: string): string[];
5
+ export declare function getRawColorMeta(rawColor: string): string[];
6
+ export declare function getNamedColorMeta(namedColor: string): string[];
@@ -0,0 +1,7 @@
1
+ import designTokens from '@atlaskit/tokens/token-names';
2
+ type DesignTokensMap = typeof designTokens;
3
+ type DesignTokenJs = keyof DesignTokensMap;
4
+ type DesignTokenCss = DesignTokensMap[DesignTokenJs];
5
+ declare const MISSING_TOKEN_NAME = "MISSING_TOKEN";
6
+ export default function findToken(meta: string[]): DesignTokenCss | typeof MISSING_TOKEN_NAME;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ interface Value {
2
+ getReplacement: (additionalMeta?: string[]) => string;
3
+ getMeta: () => string[];
4
+ }
5
+ export default function parseValue(value: string): Value | null;
6
+ export {};
@@ -6,5 +6,6 @@ import './styled-to-emotion/styled-to-emotion';
6
6
  import './theme-to-design-tokens/theme-to-design-tokens';
7
7
  import './theme-remove-deprecated-mixins/theme-remove-deprecated-mixins';
8
8
  import './css-to-design-tokens/css-to-design-tokens';
9
+ import './migrate-to-new-buttons/migrate-to-new-buttons';
9
10
  declare const presets: string[];
10
11
  export default presets;
@@ -0,0 +1,3 @@
1
+ import type { API, FileInfo } from 'jscodeshift';
2
+ declare const transformer: (file: FileInfo, api: API) => string;
3
+ export default transformer;
@@ -0,0 +1,3 @@
1
+ import type { API, FileInfo } from 'jscodeshift';
2
+ declare const transformer: (file: FileInfo, api: API) => string;
3
+ export default transformer;
@@ -0,0 +1,2 @@
1
+ import type { API, FileInfo } from 'jscodeshift';
2
+ export default function transformer(file: FileInfo, api: API): Promise<string>;
@@ -0,0 +1,14 @@
1
+ export declare const PRINT_SETTINGS: {
2
+ quote: "single";
3
+ };
4
+ export declare const NEW_BUTTON_VARIANTS: {
5
+ [key: string]: {
6
+ import: string;
7
+ as: string;
8
+ };
9
+ };
10
+ export declare const NEW_BUTTON_ENTRY_POINT = "@atlaskit/button/unsafe";
11
+ export declare const entryPointsMapping: {
12
+ [key: string]: string;
13
+ };
14
+ export declare const BUTTON_TYPES: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/codemod-cli",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "description": "A cli for distributing codemods for atlassian-frontend components and services",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -32,7 +32,7 @@
32
32
  "codemod-cli": "./bin/codemod-cli.js"
33
33
  },
34
34
  "dependencies": {
35
- "@atlaskit/tokens": "^1.17.0",
35
+ "@atlaskit/tokens": "^1.28.0",
36
36
  "@babel/runtime": "^7.0.0",
37
37
  "@codeshift/utils": "^0.2.4",
38
38
  "@types/jscodeshift": "^0.11.0",
@@ -49,6 +49,7 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",
52
+ "@types/glob": "^7.1.3",
52
53
  "ts-node": "^10.9.1",
53
54
  "typescript": "~4.9.5"
54
55
  },
package/report.api.md CHANGED
@@ -15,8 +15,6 @@
15
15
  <!--SECTION START: Main Entry Types-->
16
16
 
17
17
  ```ts
18
- /// <reference types="node" />
19
-
20
18
  // @public (undocumented)
21
19
  type CliFlags = {
22
20
  transform?: string;
@@ -4,8 +4,6 @@
4
4
 
5
5
  ```ts
6
6
 
7
- /// <reference types="node" />
8
-
9
7
  // @public (undocumented)
10
8
  type CliFlags = {
11
9
  transform?: string;
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.cleanMeta = cleanMeta;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _tokenNames = _interopRequireDefault(require("@atlaskit/tokens/token-names"));
10
- var getUniqueWordsFromTokens = Object.keys(_tokenNames.default).reduce(function (accum, val) {
11
- return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split('.')));
12
- }, []).reduce(function (accum, val) {
13
- return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split(/(?=[A-Z])/g).map(function (e) {
14
- return e.toLowerCase();
15
- })));
16
- }, []).reduce(function (accum, val) {
17
- if (!accum.includes(val)) {
18
- accum.push(val);
19
- }
20
- return accum;
21
- }, []);
22
- function filterDuplciateFoundations(meta) {
23
- var foundations = ['text', 'background', 'shadow', 'border'];
24
- var hasFoundation = false;
25
- return meta.filter(function (val) {
26
- if (!hasFoundation && foundations.includes(val)) {
27
- hasFoundation = true;
28
- return true;
29
- }
30
- if (hasFoundation && foundations.includes(val)) {
31
- return false;
32
- }
33
- return true;
34
- });
35
- }
36
- function cleanMeta(meta) {
37
- var cleanMeta = meta.reduce(function (accum, val) {
38
- return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(typeof val === 'string' ? val.split(/(?=[A-Z])/g).map(function (e) {
39
- return e.toLowerCase();
40
- }) : []));
41
- }, []).reduce(function (accum, val) {
42
- 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'));
43
- return accum;
44
- }, []).filter(function (val) {
45
- return getUniqueWordsFromTokens.includes(val);
46
- }).reduce(function (accum, val) {
47
- if (!accum.includes(val)) {
48
- accum.push(val);
49
- }
50
- return accum;
51
- }, []);
52
- return filterDuplciateFoundations(cleanMeta);
53
- }
@@ -1,33 +0,0 @@
1
- import designTokens from '@atlaskit/tokens/token-names';
2
- const getUniqueWordsFromTokens = Object.keys(designTokens).reduce((accum, val) => [...accum, ...val.split('.')], []).reduce((accum, val) => [...accum, ...val.split(/(?=[A-Z])/g).map(e => e.toLowerCase())], []).reduce((accum, val) => {
3
- if (!accum.includes(val)) {
4
- accum.push(val);
5
- }
6
- return accum;
7
- }, []);
8
- function filterDuplciateFoundations(meta) {
9
- const foundations = ['text', 'background', 'shadow', 'border'];
10
- let hasFoundation = false;
11
- return meta.filter(val => {
12
- if (!hasFoundation && foundations.includes(val)) {
13
- hasFoundation = true;
14
- return true;
15
- }
16
- if (hasFoundation && foundations.includes(val)) {
17
- return false;
18
- }
19
- return true;
20
- });
21
- }
22
- export function cleanMeta(meta) {
23
- const cleanMeta = meta.reduce((accum, val) => [...accum, ...(typeof val === 'string' ? val.split(/(?=[A-Z])/g).map(e => e.toLowerCase()) : [])], []).reduce((accum, val) => {
24
- 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'));
25
- return accum;
26
- }, []).filter(val => getUniqueWordsFromTokens.includes(val)).reduce((accum, val) => {
27
- if (!accum.includes(val)) {
28
- accum.push(val);
29
- }
30
- return accum;
31
- }, []);
32
- return filterDuplciateFoundations(cleanMeta);
33
- }
@@ -1,46 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import designTokens from '@atlaskit/tokens/token-names';
3
- var getUniqueWordsFromTokens = Object.keys(designTokens).reduce(function (accum, val) {
4
- return [].concat(_toConsumableArray(accum), _toConsumableArray(val.split('.')));
5
- }, []).reduce(function (accum, val) {
6
- return [].concat(_toConsumableArray(accum), _toConsumableArray(val.split(/(?=[A-Z])/g).map(function (e) {
7
- return e.toLowerCase();
8
- })));
9
- }, []).reduce(function (accum, val) {
10
- if (!accum.includes(val)) {
11
- accum.push(val);
12
- }
13
- return accum;
14
- }, []);
15
- function filterDuplciateFoundations(meta) {
16
- var foundations = ['text', 'background', 'shadow', 'border'];
17
- var hasFoundation = false;
18
- return meta.filter(function (val) {
19
- if (!hasFoundation && foundations.includes(val)) {
20
- hasFoundation = true;
21
- return true;
22
- }
23
- if (hasFoundation && foundations.includes(val)) {
24
- return false;
25
- }
26
- return true;
27
- });
28
- }
29
- export function cleanMeta(meta) {
30
- var cleanMeta = meta.reduce(function (accum, val) {
31
- return [].concat(_toConsumableArray(accum), _toConsumableArray(typeof val === 'string' ? val.split(/(?=[A-Z])/g).map(function (e) {
32
- return e.toLowerCase();
33
- }) : []));
34
- }, []).reduce(function (accum, val) {
35
- 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'));
36
- return accum;
37
- }, []).filter(function (val) {
38
- return getUniqueWordsFromTokens.includes(val);
39
- }).reduce(function (accum, val) {
40
- if (!accum.includes(val)) {
41
- accum.push(val);
42
- }
43
- return accum;
44
- }, []);
45
- return filterDuplciateFoundations(cleanMeta);
46
- }
@@ -1 +0,0 @@
1
- export declare function cleanMeta(meta: string[]): string[];
@@ -1 +0,0 @@
1
- export declare function cleanMeta(meta: string[]): string[];