@atlaskit/eslint-plugin-design-system 11.0.2 → 11.2.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 (38) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +49 -49
  3. package/dist/cjs/rules/no-deprecated-apis/index.js +14 -27
  4. package/dist/cjs/rules/no-legacy-icons/checks.js +14 -3
  5. package/dist/cjs/rules/no-legacy-icons/helpers.js +3 -14
  6. package/dist/cjs/rules/no-legacy-icons/index.js +3 -0
  7. package/dist/cjs/rules/use-tokens-typography/index.js +1 -1
  8. package/dist/cjs/rules/use-tokens-typography/transformers/style-object.js +37 -16
  9. package/dist/cjs/rules/use-tokens-typography/utils.js +10 -0
  10. package/dist/es2019/rules/no-deprecated-apis/index.js +15 -24
  11. package/dist/es2019/rules/no-legacy-icons/checks.js +14 -3
  12. package/dist/es2019/rules/no-legacy-icons/helpers.js +3 -14
  13. package/dist/es2019/rules/no-legacy-icons/index.js +3 -0
  14. package/dist/es2019/rules/use-tokens-typography/index.js +1 -1
  15. package/dist/es2019/rules/use-tokens-typography/transformers/style-object.js +35 -14
  16. package/dist/es2019/rules/use-tokens-typography/utils.js +3 -0
  17. package/dist/esm/rules/no-deprecated-apis/index.js +15 -27
  18. package/dist/esm/rules/no-legacy-icons/checks.js +14 -3
  19. package/dist/esm/rules/no-legacy-icons/helpers.js +3 -14
  20. package/dist/esm/rules/no-legacy-icons/index.js +3 -0
  21. package/dist/esm/rules/use-tokens-typography/index.js +1 -1
  22. package/dist/esm/rules/use-tokens-typography/transformers/style-object.js +38 -17
  23. package/dist/esm/rules/use-tokens-typography/utils.js +9 -0
  24. package/dist/types/index.codegen.d.ts +3 -9
  25. package/dist/types/rules/index.codegen.d.ts +1 -3
  26. package/dist/types/rules/no-deprecated-apis/index.d.ts +2 -5
  27. package/dist/types/rules/no-legacy-icons/helpers.d.ts +1 -0
  28. package/dist/types/rules/use-tokens-typography/utils.d.ts +80 -0
  29. package/dist/types/rules/utils/create-no-tagged-template-expression-rule/index.d.ts +1 -1
  30. package/dist/types/rules/utils/create-rule.d.ts +1 -1
  31. package/dist/types-ts4.5/index.codegen.d.ts +3 -15
  32. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -5
  33. package/dist/types-ts4.5/rules/no-deprecated-apis/index.d.ts +2 -7
  34. package/dist/types-ts4.5/rules/no-legacy-icons/helpers.d.ts +1 -0
  35. package/dist/types-ts4.5/rules/use-tokens-typography/utils.d.ts +80 -0
  36. package/dist/types-ts4.5/rules/utils/create-no-tagged-template-expression-rule/index.d.ts +1 -1
  37. package/dist/types-ts4.5/rules/utils/create-rule.d.ts +1 -1
  38. package/package.json +4 -3
@@ -13,9 +13,7 @@ export declare const plugin: {
13
13
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
14
14
  'no-custom-icons': import("eslint").Rule.RuleModule;
15
15
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
16
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [{
17
- deprecatedConfig: import("./rules/utils/types").DeprecatedConfig;
18
- }], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
16
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
19
17
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
20
18
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
21
19
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -303,9 +301,7 @@ export declare const configs: {
303
301
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
304
302
  'no-custom-icons': import("eslint").Rule.RuleModule;
305
303
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
306
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [{
307
- deprecatedConfig: import("./rules/utils/types").DeprecatedConfig;
308
- }], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
304
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
309
305
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
310
306
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
311
307
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -448,9 +444,7 @@ export declare const configs: {
448
444
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
449
445
  'no-custom-icons': import("eslint").Rule.RuleModule;
450
446
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
451
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [{
452
- deprecatedConfig: import("./rules/utils/types").DeprecatedConfig;
453
- }], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
447
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
454
448
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
455
449
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
456
450
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -8,9 +8,7 @@ export declare const rules: {
8
8
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
9
9
  'no-custom-icons': import("eslint").Rule.RuleModule;
10
10
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
11
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [{
12
- deprecatedConfig: import("./utils/types").DeprecatedConfig;
13
- }], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
11
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
14
12
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
15
13
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
16
14
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -1,8 +1,5 @@
1
- import { type TSESLint } from '@typescript-eslint/utils';
2
- import { type DeprecatedConfig } from '../utils/types';
1
+ import type { Rule } from 'eslint';
3
2
  export declare const noDeprecatedJSXAttributeMessageId = "noDeprecatedJSXAttributes";
4
3
  export declare const name = "no-deprecated-apis";
5
- declare const rule: TSESLint.RuleModule<string, [{
6
- deprecatedConfig: DeprecatedConfig;
7
- }], TSESLint.RuleListener>;
4
+ declare const rule: Rule.RuleModule;
8
5
  export default rule;
@@ -48,6 +48,7 @@ export declare const getMigrationMapObject: (iconPackage: string) => {
48
48
  name: string;
49
49
  type: string;
50
50
  package: string;
51
+ isMigrationUnsafe?: boolean | undefined;
51
52
  } | undefined;
52
53
  additionalIcons?: {
53
54
  name: string;
@@ -16,6 +16,86 @@ export type TokenValueMap = {
16
16
  };
17
17
  };
18
18
  export declare const typographyValueToToken: TokenValueMap[];
19
+ export declare function isValidTypographyToken(tokenName: string): {
20
+ attributes: {
21
+ group: string;
22
+ state: string;
23
+ introduced: string;
24
+ description: string;
25
+ deprecated?: undefined;
26
+ };
27
+ value: string;
28
+ filePath: string;
29
+ isSource: boolean;
30
+ original: {
31
+ attributes: {
32
+ group: string;
33
+ state: string;
34
+ introduced: string;
35
+ description: string;
36
+ deprecated?: undefined;
37
+ };
38
+ value: string;
39
+ };
40
+ name: string;
41
+ path: string[];
42
+ cleanName: string;
43
+ } | {
44
+ attributes: {
45
+ group: string;
46
+ state: string;
47
+ introduced: string;
48
+ description: string;
49
+ deprecated: string;
50
+ };
51
+ value: string;
52
+ filePath: string;
53
+ isSource: boolean;
54
+ original: {
55
+ attributes: {
56
+ group: string;
57
+ state: string;
58
+ introduced: string;
59
+ description: string;
60
+ deprecated: string;
61
+ };
62
+ value: string;
63
+ };
64
+ name: string;
65
+ path: string[];
66
+ cleanName: string;
67
+ } | {
68
+ attributes: {
69
+ group: string;
70
+ state: string;
71
+ introduced: string;
72
+ description: string;
73
+ deprecated?: undefined;
74
+ };
75
+ value: string;
76
+ filePath: string;
77
+ isSource: boolean;
78
+ original: {
79
+ attributes: {
80
+ group: string;
81
+ state: string;
82
+ introduced: string;
83
+ description: string;
84
+ deprecated?: undefined;
85
+ };
86
+ value: {
87
+ fontWeight: string;
88
+ fontSize: string;
89
+ lineHeight: string;
90
+ fontFamily: string;
91
+ fontStyle: string;
92
+ letterSpacing: string;
93
+ };
94
+ };
95
+ name: string;
96
+ path: string[];
97
+ cleanName: string;
98
+ } | undefined;
19
99
  export declare function findTypographyTokenForValues(fontSize: string, lineHeight?: string): TokenValueMap[];
20
100
  export declare const fontWeightTokens: {
21
101
  tokenName: string;
@@ -1,5 +1,5 @@
1
- import type { JSONSchema4 } from '@typescript-eslint/utils/dist/json-schema';
2
1
  import type { Rule } from 'eslint';
2
+ import type { JSONSchema4 } from 'json-schema';
3
3
  import { type SupportedNameChecker } from '@atlaskit/eslint-utils/is-supported-import';
4
4
  type RuleModule = Rule.RuleModule;
5
5
  export declare const noTaggedTemplateExpressionRuleSchema: JSONSchema4;
@@ -8,7 +8,7 @@ import { ESLintUtils } from '@typescript-eslint/utils';
8
8
  * @private
9
9
  * @deprecated
10
10
  */
11
- export declare const createRule: <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends import("@typescript-eslint/utils/dist/ts-eslint").RuleListener = import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>({ name, meta, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<TOptions, TMessageIds, TRuleListener>>) => import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<TMessageIds, TOptions, TRuleListener>;
11
+ export declare const createRule: <Options extends readonly unknown[], MessageIds extends string>({ name, meta, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds>>) => ESLintUtils.RuleModule<MessageIds, Options, ESLintUtils.RuleListener>;
12
12
  /**
13
13
  * Tiny wrapped over the ESLint rule module type that ensures
14
14
  * there is a docs link to our ESLint plugin documentation page,
@@ -13,11 +13,7 @@ export declare const plugin: {
13
13
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
14
14
  'no-custom-icons': import("eslint").Rule.RuleModule;
15
15
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
16
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [
17
- {
18
- deprecatedConfig: import("./rules/utils/types").DeprecatedConfig;
19
- }
20
- ], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
16
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
21
17
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
22
18
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
23
19
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -351,11 +347,7 @@ export declare const configs: {
351
347
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
352
348
  'no-custom-icons': import("eslint").Rule.RuleModule;
353
349
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
354
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [
355
- {
356
- deprecatedConfig: import("./rules/utils/types").DeprecatedConfig;
357
- }
358
- ], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
350
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
359
351
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
360
352
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
361
353
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -516,11 +508,7 @@ export declare const configs: {
516
508
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
517
509
  'no-custom-icons': import("eslint").Rule.RuleModule;
518
510
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
519
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [
520
- {
521
- deprecatedConfig: import("./rules/utils/types").DeprecatedConfig;
522
- }
523
- ], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
511
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
524
512
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
525
513
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
526
514
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -8,11 +8,7 @@ export declare const rules: {
8
8
  'no-css-tagged-template-expression': import("eslint").Rule.RuleModule;
9
9
  'no-custom-icons': import("eslint").Rule.RuleModule;
10
10
  'no-dark-theme-vr-tests': import("eslint").Rule.RuleModule;
11
- 'no-deprecated-apis': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<string, [
12
- {
13
- deprecatedConfig: import("./utils/types").DeprecatedConfig;
14
- }
15
- ], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
11
+ 'no-deprecated-apis': import("eslint").Rule.RuleModule;
16
12
  'no-deprecated-design-token-usage': import("eslint").Rule.RuleModule;
17
13
  'no-deprecated-imports': import("eslint").Rule.RuleModule;
18
14
  'no-direct-use-of-web-platform-drag-and-drop': import("eslint").Rule.RuleModule;
@@ -1,10 +1,5 @@
1
- import { type TSESLint } from '@typescript-eslint/utils';
2
- import { type DeprecatedConfig } from '../utils/types';
1
+ import type { Rule } from 'eslint';
3
2
  export declare const noDeprecatedJSXAttributeMessageId = "noDeprecatedJSXAttributes";
4
3
  export declare const name = "no-deprecated-apis";
5
- declare const rule: TSESLint.RuleModule<string, [
6
- {
7
- deprecatedConfig: DeprecatedConfig;
8
- }
9
- ], TSESLint.RuleListener>;
4
+ declare const rule: Rule.RuleModule;
10
5
  export default rule;
@@ -53,6 +53,7 @@ export declare const getMigrationMapObject: (iconPackage: string) => {
53
53
  name: string;
54
54
  type: string;
55
55
  package: string;
56
+ isMigrationUnsafe?: boolean | undefined;
56
57
  } | undefined;
57
58
  additionalIcons?: {
58
59
  name: string;
@@ -16,6 +16,86 @@ export type TokenValueMap = {
16
16
  };
17
17
  };
18
18
  export declare const typographyValueToToken: TokenValueMap[];
19
+ export declare function isValidTypographyToken(tokenName: string): {
20
+ attributes: {
21
+ group: string;
22
+ state: string;
23
+ introduced: string;
24
+ description: string;
25
+ deprecated?: undefined;
26
+ };
27
+ value: string;
28
+ filePath: string;
29
+ isSource: boolean;
30
+ original: {
31
+ attributes: {
32
+ group: string;
33
+ state: string;
34
+ introduced: string;
35
+ description: string;
36
+ deprecated?: undefined;
37
+ };
38
+ value: string;
39
+ };
40
+ name: string;
41
+ path: string[];
42
+ cleanName: string;
43
+ } | {
44
+ attributes: {
45
+ group: string;
46
+ state: string;
47
+ introduced: string;
48
+ description: string;
49
+ deprecated: string;
50
+ };
51
+ value: string;
52
+ filePath: string;
53
+ isSource: boolean;
54
+ original: {
55
+ attributes: {
56
+ group: string;
57
+ state: string;
58
+ introduced: string;
59
+ description: string;
60
+ deprecated: string;
61
+ };
62
+ value: string;
63
+ };
64
+ name: string;
65
+ path: string[];
66
+ cleanName: string;
67
+ } | {
68
+ attributes: {
69
+ group: string;
70
+ state: string;
71
+ introduced: string;
72
+ description: string;
73
+ deprecated?: undefined;
74
+ };
75
+ value: string;
76
+ filePath: string;
77
+ isSource: boolean;
78
+ original: {
79
+ attributes: {
80
+ group: string;
81
+ state: string;
82
+ introduced: string;
83
+ description: string;
84
+ deprecated?: undefined;
85
+ };
86
+ value: {
87
+ fontWeight: string;
88
+ fontSize: string;
89
+ lineHeight: string;
90
+ fontFamily: string;
91
+ fontStyle: string;
92
+ letterSpacing: string;
93
+ };
94
+ };
95
+ name: string;
96
+ path: string[];
97
+ cleanName: string;
98
+ } | undefined;
19
99
  export declare function findTypographyTokenForValues(fontSize: string, lineHeight?: string): TokenValueMap[];
20
100
  export declare const fontWeightTokens: {
21
101
  tokenName: string;
@@ -1,5 +1,5 @@
1
- import type { JSONSchema4 } from '@typescript-eslint/utils/dist/json-schema';
2
1
  import type { Rule } from 'eslint';
2
+ import type { JSONSchema4 } from 'json-schema';
3
3
  import { type SupportedNameChecker } from '@atlaskit/eslint-utils/is-supported-import';
4
4
  type RuleModule = Rule.RuleModule;
5
5
  export declare const noTaggedTemplateExpressionRuleSchema: JSONSchema4;
@@ -8,7 +8,7 @@ import { ESLintUtils } from '@typescript-eslint/utils';
8
8
  * @private
9
9
  * @deprecated
10
10
  */
11
- export declare const createRule: <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends import("@typescript-eslint/utils/dist/ts-eslint").RuleListener = import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>({ name, meta, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<TOptions, TMessageIds, TRuleListener>>) => import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<TMessageIds, TOptions, TRuleListener>;
11
+ export declare const createRule: <Options extends readonly unknown[], MessageIds extends string>({ name, meta, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds>>) => ESLintUtils.RuleModule<MessageIds, Options, ESLintUtils.RuleListener>;
12
12
  /**
13
13
  * Tiny wrapped over the ESLint rule module type that ensures
14
14
  * there is a docs link to our ESLint plugin documentation page,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atlaskit/eslint-plugin-design-system",
3
3
  "description": "The essential plugin for use with the Atlassian Design System.",
4
- "version": "11.0.2",
4
+ "version": "11.2.0",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
7
7
  "publishConfig": {
@@ -44,11 +44,11 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@atlaskit/eslint-utils": "^1.7.0",
47
- "@atlaskit/icon": "^23.0.0",
47
+ "@atlaskit/icon": "^23.1.0",
48
48
  "@atlaskit/icon-lab": "^2.0.0",
49
49
  "@atlaskit/tokens": "*",
50
50
  "@babel/runtime": "^7.0.0",
51
- "@typescript-eslint/utils": "^5.48.1",
51
+ "@typescript-eslint/utils": "^7.1.0",
52
52
  "ajv": "^6.12.6",
53
53
  "eslint-codemod-utils": "^1.8.6",
54
54
  "esquery": "^1.5.0",
@@ -70,6 +70,7 @@
70
70
  "@types/eslint__eslintrc": "^2.1.2",
71
71
  "@types/esquery": "^1.5.3",
72
72
  "@types/estraverse": "^5.1.7",
73
+ "@types/json-schema": "^7.0.15",
73
74
  "eslint": "^8.57.0",
74
75
  "jscodeshift": "^0.13.0",
75
76
  "outdent": "^0.5.0",