@atlaskit/eslint-plugin-design-system 8.34.0 → 8.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/constellation/use-primitives-text/usage.mdx +13 -3
  3. package/dist/cjs/rules/ensure-design-token-usage/color.js +5 -0
  4. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/find-valid-jsx-usage-to-transform.js +24 -1
  5. package/dist/cjs/rules/use-primitives/transformers/compiled-styled/index.js +2 -1
  6. package/dist/cjs/rules/use-primitives-text/config/index.js +2 -1
  7. package/dist/cjs/rules/use-primitives-text/transformers/common.js +10 -1
  8. package/dist/cjs/rules/use-primitives-text/transformers/emphasis-elements.js +6 -3
  9. package/dist/cjs/rules/use-primitives-text/transformers/paragraph-elements.js +19 -4
  10. package/dist/cjs/rules/use-primitives-text/transformers/span-elements.js +6 -4
  11. package/dist/cjs/rules/use-primitives-text/transformers/strong-elements.js +6 -3
  12. package/dist/cjs/rules/utils/is-node.js +18 -1
  13. package/dist/es2019/rules/ensure-design-token-usage/color.js +6 -1
  14. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/find-valid-jsx-usage-to-transform.js +17 -3
  15. package/dist/es2019/rules/use-primitives/transformers/compiled-styled/index.js +2 -1
  16. package/dist/es2019/rules/use-primitives-text/config/index.js +2 -1
  17. package/dist/es2019/rules/use-primitives-text/transformers/common.js +9 -2
  18. package/dist/es2019/rules/use-primitives-text/transformers/emphasis-elements.js +7 -4
  19. package/dist/es2019/rules/use-primitives-text/transformers/paragraph-elements.js +20 -5
  20. package/dist/es2019/rules/use-primitives-text/transformers/span-elements.js +7 -5
  21. package/dist/es2019/rules/use-primitives-text/transformers/strong-elements.js +7 -4
  22. package/dist/es2019/rules/utils/is-node.js +17 -0
  23. package/dist/esm/rules/ensure-design-token-usage/color.js +6 -1
  24. package/dist/esm/rules/use-primitives/transformers/compiled-styled/find-valid-jsx-usage-to-transform.js +23 -2
  25. package/dist/esm/rules/use-primitives/transformers/compiled-styled/index.js +2 -1
  26. package/dist/esm/rules/use-primitives-text/config/index.js +2 -1
  27. package/dist/esm/rules/use-primitives-text/transformers/common.js +9 -2
  28. package/dist/esm/rules/use-primitives-text/transformers/emphasis-elements.js +7 -4
  29. package/dist/esm/rules/use-primitives-text/transformers/paragraph-elements.js +20 -5
  30. package/dist/esm/rules/use-primitives-text/transformers/span-elements.js +7 -5
  31. package/dist/esm/rules/use-primitives-text/transformers/strong-elements.js +7 -4
  32. package/dist/esm/rules/utils/is-node.js +17 -0
  33. package/dist/types/rules/use-primitives/config/index.d.ts +1 -1
  34. package/dist/types/rules/use-primitives/transformers/compiled-styled/find-valid-jsx-usage-to-transform.d.ts +3 -1
  35. package/dist/types/rules/use-primitives/transformers/compiled-styled/index.d.ts +1 -1
  36. package/dist/types/rules/use-primitives/transformers/emotion-css/index.d.ts +1 -2
  37. package/dist/types/rules/use-primitives-text/config/index.d.ts +1 -0
  38. package/dist/types/rules/use-primitives-text/transformers/common.d.ts +6 -0
  39. package/dist/types/rules/use-primitives-text/transformers/emphasis-elements.d.ts +2 -10
  40. package/dist/types/rules/use-primitives-text/transformers/paragraph-elements.d.ts +4 -12
  41. package/dist/types/rules/use-primitives-text/transformers/span-elements.d.ts +2 -10
  42. package/dist/types/rules/use-primitives-text/transformers/strong-elements.d.ts +2 -10
  43. package/dist/types/rules/use-tokens-typography/utils.d.ts +33 -0
  44. package/dist/types/rules/utils/is-node.d.ts +1 -0
  45. package/dist/types-ts4.5/rules/use-primitives/config/index.d.ts +1 -1
  46. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/find-valid-jsx-usage-to-transform.d.ts +3 -1
  47. package/dist/types-ts4.5/rules/use-primitives/transformers/compiled-styled/index.d.ts +1 -1
  48. package/dist/types-ts4.5/rules/use-primitives/transformers/emotion-css/index.d.ts +1 -2
  49. package/dist/types-ts4.5/rules/use-primitives-text/config/index.d.ts +1 -0
  50. package/dist/types-ts4.5/rules/use-primitives-text/transformers/common.d.ts +6 -0
  51. package/dist/types-ts4.5/rules/use-primitives-text/transformers/emphasis-elements.d.ts +2 -10
  52. package/dist/types-ts4.5/rules/use-primitives-text/transformers/paragraph-elements.d.ts +4 -12
  53. package/dist/types-ts4.5/rules/use-primitives-text/transformers/span-elements.d.ts +2 -10
  54. package/dist/types-ts4.5/rules/use-primitives-text/transformers/strong-elements.d.ts +2 -10
  55. package/dist/types-ts4.5/rules/use-tokens-typography/utils.d.ts +33 -0
  56. package/dist/types-ts4.5/rules/utils/is-node.d.ts +1 -0
  57. package/package.json +1 -1
@@ -20,6 +20,6 @@ export declare const CompiledStyled: {
20
20
  * All required validation steps have been taken care of before this
21
21
  * transformer is called, so it just goes ahead providing all necessary fixes
22
22
  */
23
- _fix(refs: Refs, context: Rule.RuleContext): (fixer: Rule.RuleFixer) => Rule.Fix[];
23
+ _fix(refs: Refs, context: Rule.RuleContext): Rule.ReportFixer;
24
24
  };
25
25
  export {};
@@ -5,12 +5,11 @@ interface MetaData {
5
5
  context: Rule.RuleContext;
6
6
  config: RuleConfig;
7
7
  }
8
- type FixFunction = (fixer: Rule.RuleFixer) => Rule.Fix[];
9
8
  export declare const EmotionCSS: {
10
9
  lint(node: Rule.Node, { context, config }: MetaData): void;
11
10
  _check(node: Rule.Node, { context, config }: MetaData): boolean;
12
11
  _fix(node: JSXElement, { context }: {
13
12
  context: Rule.RuleContext;
14
- }): FixFunction;
13
+ }): Rule.ReportFixer;
15
14
  };
16
15
  export {};
@@ -1,6 +1,7 @@
1
1
  type Pattern = 'paragraph-elements' | 'span-elements' | 'strong-elements' | 'emphasis-elements';
2
2
  export interface RuleConfig {
3
3
  patterns: Pattern[];
4
+ inheritColor: boolean;
4
5
  }
5
6
  export declare const getConfig: (overrides: Partial<RuleConfig>) => Required<RuleConfig>;
6
7
  export {};
@@ -1,5 +1,11 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { JSXElement } from 'eslint-codemod-utils';
3
+ import { RuleConfig } from '../config';
4
+ export type MetaData = {
5
+ context: Rule.RuleContext;
6
+ config: RuleConfig;
7
+ };
3
8
  export declare function updateTestIdAttributeFix(node: JSXElement, fixer: Rule.RuleFixer): Rule.Fix | undefined;
9
+ export declare function addColorInheritAttributeFix(node: JSXElement, config: RuleConfig, fixer: Rule.RuleFixer): Rule.Fix | undefined;
4
10
  export declare const allowedAttrs: string[];
5
11
  export declare function hasTextChildrenOnly(node: JSXElement): boolean;
@@ -1,16 +1,8 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { JSXElement } from 'eslint-codemod-utils';
3
- import { RuleConfig } from '../config';
4
- interface MetaData {
5
- context: Rule.RuleContext;
6
- config: RuleConfig;
7
- }
8
- type FixFunction = (fixer: Rule.RuleFixer) => Rule.Fix[];
3
+ import { type MetaData } from './common';
9
4
  export declare const EmphasisElements: {
10
5
  lint(node: Rule.Node, { context, config }: MetaData): void;
11
6
  _check(node: JSXElement, { context, config }: MetaData): boolean;
12
- _fix(node: JSXElement, { context }: {
13
- context: Rule.RuleContext;
14
- }): FixFunction;
7
+ _fix(node: JSXElement, { context, config }: MetaData): Rule.ReportFixer;
15
8
  };
16
- export {};
@@ -1,17 +1,12 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { JSXElement } from 'eslint-codemod-utils';
3
- import { RuleConfig } from '../config';
4
- type MetaData = {
5
- context: Rule.RuleContext;
6
- config: RuleConfig;
7
- };
3
+ import { type MetaData } from './common';
8
4
  type CheckResult = {
9
5
  success: boolean;
10
6
  refs: {
11
7
  siblings: JSXElement['children'];
12
8
  };
13
9
  };
14
- type FixFunction = (fixer: Rule.RuleFixer) => Rule.Fix[];
15
10
  export declare const ParagraphElements: {
16
11
  lint(node: Rule.Node, { context, config }: MetaData): void;
17
12
  _check(node: JSXElement & {
@@ -19,14 +14,11 @@ export declare const ParagraphElements: {
19
14
  }, { context, config }: MetaData): CheckResult;
20
15
  _fixSingle(node: JSXElement & {
21
16
  parent: Rule.Node;
22
- }, { context }: {
23
- context: Rule.RuleContext;
24
- }): FixFunction;
17
+ }, { context, config }: MetaData): Rule.ReportFixer;
25
18
  _fixMultiple(node: JSXElement & {
26
19
  parent: Rule.Node;
27
- }, { context, refs }: {
28
- context: Rule.RuleContext;
20
+ }, { context, config, refs }: MetaData & {
29
21
  refs: CheckResult['refs'];
30
- }): FixFunction;
22
+ }): Rule.ReportFixer;
31
23
  };
32
24
  export {};
@@ -1,16 +1,8 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { JSXElement } from 'eslint-codemod-utils';
3
- import { RuleConfig } from '../config';
4
- interface MetaData {
5
- context: Rule.RuleContext;
6
- config: RuleConfig;
7
- }
8
- type FixFunction = (fixer: Rule.RuleFixer) => Rule.Fix[];
3
+ import { type MetaData } from './common';
9
4
  export declare const SpanElements: {
10
5
  lint(node: Rule.Node, { context, config }: MetaData): void;
11
6
  _check(node: JSXElement, { context, config }: MetaData): boolean;
12
- _fix(node: JSXElement, { context }: {
13
- context: Rule.RuleContext;
14
- }): FixFunction;
7
+ _fix(node: JSXElement, { context, config }: MetaData): Rule.ReportFixer;
15
8
  };
16
- export {};
@@ -1,16 +1,8 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { JSXElement } from 'eslint-codemod-utils';
3
- import { RuleConfig } from '../config';
4
- interface MetaData {
5
- context: Rule.RuleContext;
6
- config: RuleConfig;
7
- }
8
- type FixFunction = (fixer: Rule.RuleFixer) => Rule.Fix[];
3
+ import { type MetaData } from './common';
9
4
  export declare const StrongElements: {
10
5
  lint(node: Rule.Node, { context, config }: MetaData): void;
11
6
  _check(node: JSXElement, { context, config }: MetaData): boolean;
12
- _fix(node: JSXElement, { context }: {
13
- context: Rule.RuleContext;
14
- }): FixFunction;
7
+ _fix(node: JSXElement, { context, config }: MetaData): Rule.ReportFixer;
15
8
  };
16
- export {};
@@ -126,6 +126,39 @@ export declare const fontFamilyTokens: ({
126
126
  name: string;
127
127
  path: string[];
128
128
  cleanName: string;
129
+ } | {
130
+ attributes: {
131
+ group: string;
132
+ state: string;
133
+ introduced: string;
134
+ deprecated: string;
135
+ description: string;
136
+ responsiveSmallerVariant?: undefined;
137
+ };
138
+ value: string;
139
+ filePath: string;
140
+ isSource: boolean;
141
+ original: {
142
+ attributes: {
143
+ group: string;
144
+ state: string;
145
+ introduced: string;
146
+ deprecated: string;
147
+ description: string;
148
+ responsiveSmallerVariant?: undefined;
149
+ };
150
+ value: {
151
+ fontWeight: string;
152
+ fontSize: string;
153
+ lineHeight: string;
154
+ fontFamily: string;
155
+ fontStyle: string;
156
+ letterSpacing: string;
157
+ };
158
+ };
159
+ name: string;
160
+ path: string[];
161
+ cleanName: string;
129
162
  } | {
130
163
  attributes: {
131
164
  group: string;
@@ -5,6 +5,7 @@ export declare const isDecendantOfType: (node: Rule.Node, type: Rule.Node['type'
5
5
  export declare const isPropertyKey: (node: Rule.Node) => boolean;
6
6
  export declare const isDecendantOfStyleJsxAttribute: (node: Rule.Node) => boolean;
7
7
  export declare const isDecendantOfSvgElement: (node: Rule.Node) => boolean;
8
+ export declare const isDecendantOfPrimitive: (node: Rule.Node, context: Rule.RuleContext) => boolean;
8
9
  export declare const isCssInJsTemplateNode: (node?: Expression | null) => node is TaggedTemplateExpression;
9
10
  export declare const isCssInJsCallNode: (node?: Expression | null) => node is CallExpression;
10
11
  export declare const isCssInJsObjectNode: (node?: Expression | null) => node is CallExpression;
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": "8.34.0",
4
+ "version": "8.36.1",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
7
7
  "registry": "https://registry.npmjs.org/"