@atlaskit/eslint-plugin-design-system 8.37.3 → 8.38.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 (67) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -0
  3. package/constellation/index/usage.mdx +1 -0
  4. package/constellation/use-tokens-space/usage.mdx +30 -0
  5. package/dist/cjs/ast-nodes/object-entry.js +35 -0
  6. package/dist/cjs/ast-nodes/object.js +12 -0
  7. package/dist/cjs/presets/all.codegen.js +2 -1
  8. package/dist/cjs/rules/index.codegen.js +3 -1
  9. package/dist/cjs/rules/use-tokens-space/index.js +54 -0
  10. package/dist/cjs/rules/use-tokens-space/transformers/index.js +12 -0
  11. package/dist/cjs/rules/use-tokens-space/transformers/style-property/index.js +130 -0
  12. package/dist/cjs/rules/use-tokens-space/transformers/style-property/style-map.js +80 -0
  13. package/dist/cjs/rules/use-tokens-space/transformers/style-property/supported.js +14 -0
  14. package/dist/cjs/rules/use-tokens-space/transformers/style-property/upsert-import-declaration.js +37 -0
  15. package/dist/cjs/rules/use-tokens-space/utils/index.js +12 -0
  16. package/dist/cjs/rules/use-tokens-space/utils/is-string-or-number.js +9 -0
  17. package/dist/es2019/ast-nodes/object-entry.js +37 -3
  18. package/dist/es2019/ast-nodes/object.js +12 -0
  19. package/dist/es2019/presets/all.codegen.js +2 -1
  20. package/dist/es2019/rules/index.codegen.js +3 -1
  21. package/dist/es2019/rules/use-tokens-space/index.js +38 -0
  22. package/dist/es2019/rules/use-tokens-space/transformers/index.js +1 -0
  23. package/dist/es2019/rules/use-tokens-space/transformers/style-property/index.js +121 -0
  24. package/dist/es2019/rules/use-tokens-space/transformers/style-property/style-map.js +152 -0
  25. package/dist/es2019/rules/use-tokens-space/transformers/style-property/supported.js +8 -0
  26. package/dist/es2019/rules/use-tokens-space/transformers/style-property/upsert-import-declaration.js +30 -0
  27. package/dist/es2019/rules/use-tokens-space/utils/index.js +1 -0
  28. package/dist/es2019/rules/use-tokens-space/utils/is-string-or-number.js +3 -0
  29. package/dist/esm/ast-nodes/object-entry.js +37 -3
  30. package/dist/esm/ast-nodes/object.js +12 -0
  31. package/dist/esm/presets/all.codegen.js +2 -1
  32. package/dist/esm/rules/index.codegen.js +3 -1
  33. package/dist/esm/rules/use-tokens-space/index.js +48 -0
  34. package/dist/esm/rules/use-tokens-space/transformers/index.js +1 -0
  35. package/dist/esm/rules/use-tokens-space/transformers/style-property/index.js +120 -0
  36. package/dist/esm/rules/use-tokens-space/transformers/style-property/style-map.js +73 -0
  37. package/dist/esm/rules/use-tokens-space/transformers/style-property/supported.js +8 -0
  38. package/dist/esm/rules/use-tokens-space/transformers/style-property/upsert-import-declaration.js +29 -0
  39. package/dist/esm/rules/use-tokens-space/utils/index.js +1 -0
  40. package/dist/esm/rules/use-tokens-space/utils/is-string-or-number.js +3 -0
  41. package/dist/types/ast-nodes/object-entry.d.ts +12 -2
  42. package/dist/types/ast-nodes/object.d.ts +1 -0
  43. package/dist/types/index.codegen.d.ts +1 -0
  44. package/dist/types/presets/all.codegen.d.ts +2 -1
  45. package/dist/types/rules/index.codegen.d.ts +1 -0
  46. package/dist/types/rules/use-tokens-space/index.d.ts +3 -0
  47. package/dist/types/rules/use-tokens-space/transformers/index.d.ts +1 -0
  48. package/dist/types/rules/use-tokens-space/transformers/style-property/index.d.ts +26 -0
  49. package/dist/types/rules/use-tokens-space/transformers/style-property/style-map.d.ts +7 -0
  50. package/dist/types/rules/use-tokens-space/transformers/style-property/supported.d.ts +6 -0
  51. package/dist/types/rules/use-tokens-space/transformers/style-property/upsert-import-declaration.d.ts +14 -0
  52. package/dist/types/rules/use-tokens-space/utils/index.d.ts +1 -0
  53. package/dist/types/rules/use-tokens-space/utils/is-string-or-number.d.ts +1 -0
  54. package/dist/types-ts4.5/ast-nodes/object-entry.d.ts +12 -2
  55. package/dist/types-ts4.5/ast-nodes/object.d.ts +1 -0
  56. package/dist/types-ts4.5/index.codegen.d.ts +1 -0
  57. package/dist/types-ts4.5/presets/all.codegen.d.ts +2 -1
  58. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -0
  59. package/dist/types-ts4.5/rules/use-tokens-space/index.d.ts +3 -0
  60. package/dist/types-ts4.5/rules/use-tokens-space/transformers/index.d.ts +1 -0
  61. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/index.d.ts +26 -0
  62. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/style-map.d.ts +7 -0
  63. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/supported.d.ts +6 -0
  64. package/dist/types-ts4.5/rules/use-tokens-space/transformers/style-property/upsert-import-declaration.d.ts +14 -0
  65. package/dist/types-ts4.5/rules/use-tokens-space/utils/index.d.ts +1 -0
  66. package/dist/types-ts4.5/rules/use-tokens-space/utils/is-string-or-number.d.ts +1 -0
  67. package/package.json +1 -1
@@ -0,0 +1,73 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ var _tokenMap;
3
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-16054
4
+ var tokenMap = (_tokenMap = {
5
+ '-2px': 'space.negative.025',
6
+ '-4px': 'space.negative.050',
7
+ '-6px': 'space.negative.075',
8
+ '-8px': 'space.negative.100',
9
+ '-12px': 'space.negative.150',
10
+ '-16px': 'space.negative.200',
11
+ '-20px': 'space.negative.250',
12
+ '-24px': 'space.negative.300',
13
+ '-32px': 'space.negative.400'
14
+ }, _defineProperty(_tokenMap, -2, 'space.negative.025'), _defineProperty(_tokenMap, -4, 'space.negative.050'), _defineProperty(_tokenMap, -6, 'space.negative.075'), _defineProperty(_tokenMap, -8, 'space.negative.100'), _defineProperty(_tokenMap, -12, 'space.negative.150'), _defineProperty(_tokenMap, -16, 'space.negative.200'), _defineProperty(_tokenMap, -20, 'space.negative.250'), _defineProperty(_tokenMap, -24, 'space.negative.300'), _defineProperty(_tokenMap, -32, 'space.negative.400'), _defineProperty(_tokenMap, '2px', 'space.025'), _defineProperty(_tokenMap, '4px', 'space.050'), _defineProperty(_tokenMap, '6px', 'space.075'), _defineProperty(_tokenMap, '8px', 'space.100'), _defineProperty(_tokenMap, '12px', 'space.150'), _defineProperty(_tokenMap, '16px', 'space.200'), _defineProperty(_tokenMap, '20px', 'space.250'), _defineProperty(_tokenMap, '24px', 'space.300'), _defineProperty(_tokenMap, '32px', 'space.400'), _defineProperty(_tokenMap, '40px', 'space.500'), _defineProperty(_tokenMap, '48px', 'space.600'), _defineProperty(_tokenMap, '64px', 'space.800'), _defineProperty(_tokenMap, '80px', 'space.1000'), _defineProperty(_tokenMap, 2, 'space.025'), _defineProperty(_tokenMap, 4, 'space.050'), _defineProperty(_tokenMap, 6, 'space.075'), _defineProperty(_tokenMap, 8, 'space.100'), _defineProperty(_tokenMap, 12, 'space.150'), _defineProperty(_tokenMap, 16, 'space.200'), _defineProperty(_tokenMap, 20, 'space.250'), _defineProperty(_tokenMap, 24, 'space.300'), _defineProperty(_tokenMap, 32, 'space.400'), _defineProperty(_tokenMap, 40, 'space.500'), _defineProperty(_tokenMap, 48, 'space.600'), _defineProperty(_tokenMap, 64, 'space.800'), _defineProperty(_tokenMap, 80, 'space.1000'), _defineProperty(_tokenMap, '-0.125rem', 'space.negative.025'), _defineProperty(_tokenMap, '-0.25rem', 'space.negative.050'), _defineProperty(_tokenMap, '-0.375rem', 'space.negative.075'), _defineProperty(_tokenMap, '-0.5rem', 'space.negative.100'), _defineProperty(_tokenMap, '-0.75rem', 'space.negative.150'), _defineProperty(_tokenMap, '-1rem', 'space.negative.200'), _defineProperty(_tokenMap, '-1.25rem', 'space.negative.250'), _defineProperty(_tokenMap, '-1.5rem', 'space.negative.300'), _defineProperty(_tokenMap, '-2rem', 'space.negative.400'), _defineProperty(_tokenMap, '0.125rem', 'space.025'), _defineProperty(_tokenMap, '0.25rem', 'space.050'), _defineProperty(_tokenMap, '0.375rem', 'space.075'), _defineProperty(_tokenMap, '0.5rem', 'space.100'), _defineProperty(_tokenMap, '0.75rem', 'space.150'), _defineProperty(_tokenMap, '1rem', 'space.200'), _defineProperty(_tokenMap, '1.25rem', 'space.250'), _defineProperty(_tokenMap, '1.5rem', 'space.300'), _defineProperty(_tokenMap, '2rem', 'space.400'), _defineProperty(_tokenMap, '2.5rem', 'space.500'), _defineProperty(_tokenMap, '3rem', 'space.600'), _defineProperty(_tokenMap, '4rem', 'space.800'), _defineProperty(_tokenMap, '5rem', 'space.1000'), _defineProperty(_tokenMap, '-0.125em', 'space.negative.025'), _defineProperty(_tokenMap, '-0.25em', 'space.negative.050'), _defineProperty(_tokenMap, '-0.375em', 'space.negative.075'), _defineProperty(_tokenMap, '-0.5em', 'space.negative.100'), _defineProperty(_tokenMap, '-0.75em', 'space.negative.150'), _defineProperty(_tokenMap, '-1em', 'space.negative.200'), _defineProperty(_tokenMap, '-1.25em', 'space.negative.250'), _defineProperty(_tokenMap, '-1.5em', 'space.negative.300'), _defineProperty(_tokenMap, '-2em', 'space.negative.400'), _defineProperty(_tokenMap, '0.125em', 'space.025'), _defineProperty(_tokenMap, '0.25em', 'space.050'), _defineProperty(_tokenMap, '0.375em', 'space.075'), _defineProperty(_tokenMap, '0.5em', 'space.100'), _defineProperty(_tokenMap, '0.75em', 'space.150'), _defineProperty(_tokenMap, '1em', 'space.200'), _defineProperty(_tokenMap, '1.25em', 'space.250'), _defineProperty(_tokenMap, '1.5em', 'space.300'), _defineProperty(_tokenMap, '2em', 'space.400'), _defineProperty(_tokenMap, '2.5em', 'space.500'), _defineProperty(_tokenMap, '3em', 'space.600'), _defineProperty(_tokenMap, '4em', 'space.800'), _defineProperty(_tokenMap, '5em', 'space.1000'), _tokenMap);
15
+ export var styleMap = {
16
+ 'column-gap': tokenMap,
17
+ columnGap: tokenMap,
18
+ gap: tokenMap,
19
+ 'grid-column-gap': tokenMap,
20
+ 'grid-row-gap': tokenMap,
21
+ gridColumnGap: tokenMap,
22
+ gridRowGap: tokenMap,
23
+ 'margin-block-end': tokenMap,
24
+ 'margin-block-start': tokenMap,
25
+ 'margin-block': tokenMap,
26
+ 'margin-bottom': tokenMap,
27
+ 'margin-inline-end': tokenMap,
28
+ 'margin-inline-start': tokenMap,
29
+ 'margin-inline': tokenMap,
30
+ 'margin-left': tokenMap,
31
+ 'margin-right': tokenMap,
32
+ 'margin-top': tokenMap,
33
+ 'outline-offset': tokenMap,
34
+ outlineOffset: tokenMap,
35
+ 'padding-block-end': tokenMap,
36
+ 'padding-block-start': tokenMap,
37
+ 'padding-block': tokenMap,
38
+ 'padding-bottom': tokenMap,
39
+ 'padding-inline-end': tokenMap,
40
+ 'padding-inline-start': tokenMap,
41
+ 'padding-inline': tokenMap,
42
+ 'padding-left': tokenMap,
43
+ 'padding-right': tokenMap,
44
+ 'padding-top': tokenMap,
45
+ 'row-gap': tokenMap,
46
+ rowGap: tokenMap,
47
+ margin: tokenMap,
48
+ marginBlock: tokenMap,
49
+ marginBlockEnd: tokenMap,
50
+ marginBlockStart: tokenMap,
51
+ marginBottom: tokenMap,
52
+ marginInline: tokenMap,
53
+ marginInlineEnd: tokenMap,
54
+ marginInlineStart: tokenMap,
55
+ marginLeft: tokenMap,
56
+ marginRight: tokenMap,
57
+ marginTop: tokenMap,
58
+ padding: tokenMap,
59
+ paddingBlock: tokenMap,
60
+ paddingBlockEnd: tokenMap,
61
+ paddingBlockStart: tokenMap,
62
+ paddingBottom: tokenMap,
63
+ paddingInline: tokenMap,
64
+ paddingInlineEnd: tokenMap,
65
+ paddingInlineStart: tokenMap,
66
+ paddingLeft: tokenMap,
67
+ paddingRight: tokenMap,
68
+ paddingTop: tokenMap
69
+ // bottom: tokenMap,
70
+ // left: tokenMap,
71
+ // right: tokenMap,
72
+ // top: tokenMap,
73
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ values: {
3
+ ignore: ['auto', 'initial', 'inherit', 'unset', 'revert', 'revert-layer', 'none',
4
+ // outline-offset can be set to none
5
+ // Currently the DST opinion is that 0 is valid. It doesn't need to be converted to `space.0`
6
+ 0, '0', '0px', '0em', '0rem']
7
+ }
8
+ };
@@ -0,0 +1,29 @@
1
+ import * as ast from '../../../../ast-nodes';
2
+
3
+ /**
4
+ * Currently this is defined here because it's not very general purpose.
5
+ * If we were to move this to `ast-nodes`, half the implementation would be in `Root`,
6
+ * and the other half would be in `Import`.
7
+ *
8
+ * TODO: Refactor and move to `ast-nodes`
9
+ *
10
+ * Note: It does not handle default imports, namespace imports, or aliased imports.
11
+ */
12
+ export var upsertImportDeclaration = function upsertImportDeclaration(_ref, context, fixer) {
13
+ var module = _ref.module,
14
+ specifiers = _ref.specifiers;
15
+ // Find any imports that match the packageName
16
+ var root = context.getSourceCode().ast.body;
17
+ var importDeclarations = ast.Root.findImportsByModule(root, module);
18
+
19
+ // The import doesn't exist yet, we can just insert a whole new one
20
+ if (importDeclarations.length === 0) {
21
+ return ast.Root.insertImport(root, {
22
+ module: module,
23
+ specifiers: specifiers
24
+ }, fixer);
25
+ }
26
+
27
+ // The import exists so, modify the existing one
28
+ return ast.Import.insertNamedSpecifiers(importDeclarations[0], specifiers, fixer);
29
+ };
@@ -0,0 +1 @@
1
+ export { isStringOrNumber } from './is-string-or-number';
@@ -0,0 +1,3 @@
1
+ export var isStringOrNumber = function isStringOrNumber(value) {
2
+ return typeof value === 'string' || typeof value === 'number';
3
+ };
@@ -1,7 +1,17 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { Property, SpreadElement } from 'eslint-codemod-utils';
3
- declare const ObjectEntry: {
3
+ export declare const ObjectEntry: {
4
+ getProperty(node: Property): {
5
+ type: 'Identifier';
6
+ value: string;
7
+ } | {
8
+ type: 'Literal';
9
+ value: string;
10
+ } | {
11
+ type: undefined;
12
+ value: undefined;
13
+ };
14
+ getValue(node: Property): string | number | bigint | true | RegExp | undefined;
4
15
  deleteEntry(node: Property | SpreadElement, context: Rule.RuleContext, fixer: Rule.RuleFixer): Rule.Fix;
5
16
  getPropertyName(node: Property | SpreadElement): string | undefined;
6
17
  };
7
- export { ObjectEntry };
@@ -48,5 +48,6 @@ declare const ASTObjectExpression: {
48
48
  * Will result in `{ padding: 'space.100', margin: 'space.200'}`.
49
49
  */
50
50
  appendEntry(node: ObjectExpression, key: string, value: string, fixer: Rule.RuleFixer): Rule.Fix;
51
+ recurse(node: ObjectExpression, callback: Function): void;
51
52
  };
52
53
  export { ASTObjectExpression as Object };
@@ -32,6 +32,7 @@ export declare const configs: {
32
32
  '@atlaskit/design-system/use-href-in-link-item': string;
33
33
  '@atlaskit/design-system/use-primitives': string;
34
34
  '@atlaskit/design-system/use-primitives-text': string;
35
+ '@atlaskit/design-system/use-tokens-space': string;
35
36
  '@atlaskit/design-system/use-tokens-typography': string;
36
37
  '@atlaskit/design-system/use-visually-hidden': string;
37
38
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::d90c2cf5e100daf98915f9467f2e5663>>
3
+ * @codegen <<SignedSource::d95217b658f807294de3c81123068bf1>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -35,6 +35,7 @@ declare const _default: {
35
35
  '@atlaskit/design-system/use-href-in-link-item': string;
36
36
  '@atlaskit/design-system/use-primitives': string;
37
37
  '@atlaskit/design-system/use-primitives-text': string;
38
+ '@atlaskit/design-system/use-tokens-space': string;
38
39
  '@atlaskit/design-system/use-tokens-typography': string;
39
40
  '@atlaskit/design-system/use-visually-hidden': string;
40
41
  };
@@ -32,6 +32,7 @@ declare const _default: {
32
32
  'use-href-in-link-item': import("eslint").Rule.RuleModule;
33
33
  'use-primitives': import("eslint").Rule.RuleModule;
34
34
  'use-primitives-text': import("eslint").Rule.RuleModule;
35
+ 'use-tokens-space': import("eslint").Rule.RuleModule;
35
36
  'use-tokens-typography': import("eslint").Rule.RuleModule;
36
37
  'use-visually-hidden': import("eslint").Rule.RuleModule;
37
38
  };
@@ -0,0 +1,3 @@
1
+ import type { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
@@ -0,0 +1 @@
1
+ export { StyleProperty } from './style-property';
@@ -0,0 +1,26 @@
1
+ import type { Rule } from 'eslint';
2
+ import { Property } from 'eslint-codemod-utils';
3
+ type Ref = {
4
+ node: Property;
5
+ token?: string;
6
+ fallback?: string | number;
7
+ };
8
+ type Check = {
9
+ success: false;
10
+ ref: undefined;
11
+ } | {
12
+ success: true;
13
+ ref: Ref;
14
+ };
15
+ export declare const StyleProperty: {
16
+ lint(node: Rule.Node, { context }: {
17
+ context: Rule.RuleContext;
18
+ }): void;
19
+ _check(node: Rule.Node): Check;
20
+ /**
21
+ * All required validation steps have been taken care of before this
22
+ * transformer is called, so it just goes ahead providing all necessary fixes
23
+ */
24
+ _fix(ref: Ref, context: Rule.RuleContext): (fixer: Rule.RuleFixer) => Rule.Fix[];
25
+ };
26
+ export {};
@@ -0,0 +1,7 @@
1
+ declare const tokenMap: {
2
+ [key: string]: string;
3
+ };
4
+ export declare const styleMap: {
5
+ [key: string]: typeof tokenMap;
6
+ };
7
+ export {};
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ values: {
3
+ ignore: (string | number)[];
4
+ };
5
+ };
6
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import type { Rule } from 'eslint';
2
+ /**
3
+ * Currently this is defined here because it's not very general purpose.
4
+ * If we were to move this to `ast-nodes`, half the implementation would be in `Root`,
5
+ * and the other half would be in `Import`.
6
+ *
7
+ * TODO: Refactor and move to `ast-nodes`
8
+ *
9
+ * Note: It does not handle default imports, namespace imports, or aliased imports.
10
+ */
11
+ export declare const upsertImportDeclaration: ({ module, specifiers, }: {
12
+ module: string;
13
+ specifiers: string[];
14
+ }, context: Rule.RuleContext, fixer: Rule.RuleFixer) => Rule.Fix | undefined;
@@ -0,0 +1 @@
1
+ export { isStringOrNumber } from './is-string-or-number';
@@ -0,0 +1 @@
1
+ export declare const isStringOrNumber: (value: string | number | bigint | true | RegExp | undefined) => value is string | number;
@@ -1,7 +1,17 @@
1
1
  import type { Rule } from 'eslint';
2
2
  import { Property, SpreadElement } from 'eslint-codemod-utils';
3
- declare const ObjectEntry: {
3
+ export declare const ObjectEntry: {
4
+ getProperty(node: Property): {
5
+ type: 'Identifier';
6
+ value: string;
7
+ } | {
8
+ type: 'Literal';
9
+ value: string;
10
+ } | {
11
+ type: undefined;
12
+ value: undefined;
13
+ };
14
+ getValue(node: Property): string | number | bigint | true | RegExp | undefined;
4
15
  deleteEntry(node: Property | SpreadElement, context: Rule.RuleContext, fixer: Rule.RuleFixer): Rule.Fix;
5
16
  getPropertyName(node: Property | SpreadElement): string | undefined;
6
17
  };
7
- export { ObjectEntry };
@@ -48,5 +48,6 @@ declare const ASTObjectExpression: {
48
48
  * Will result in `{ padding: 'space.100', margin: 'space.200'}`.
49
49
  */
50
50
  appendEntry(node: ObjectExpression, key: string, value: string, fixer: Rule.RuleFixer): Rule.Fix;
51
+ recurse(node: ObjectExpression, callback: Function): void;
51
52
  };
52
53
  export { ASTObjectExpression as Object };
@@ -32,6 +32,7 @@ export declare const configs: {
32
32
  '@atlaskit/design-system/use-href-in-link-item': string;
33
33
  '@atlaskit/design-system/use-primitives': string;
34
34
  '@atlaskit/design-system/use-primitives-text': string;
35
+ '@atlaskit/design-system/use-tokens-space': string;
35
36
  '@atlaskit/design-system/use-tokens-typography': string;
36
37
  '@atlaskit/design-system/use-visually-hidden': string;
37
38
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::d90c2cf5e100daf98915f9467f2e5663>>
3
+ * @codegen <<SignedSource::d95217b658f807294de3c81123068bf1>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -35,6 +35,7 @@ declare const _default: {
35
35
  '@atlaskit/design-system/use-href-in-link-item': string;
36
36
  '@atlaskit/design-system/use-primitives': string;
37
37
  '@atlaskit/design-system/use-primitives-text': string;
38
+ '@atlaskit/design-system/use-tokens-space': string;
38
39
  '@atlaskit/design-system/use-tokens-typography': string;
39
40
  '@atlaskit/design-system/use-visually-hidden': string;
40
41
  };
@@ -36,6 +36,7 @@ declare const _default: {
36
36
  'use-href-in-link-item': import("eslint").Rule.RuleModule;
37
37
  'use-primitives': import("eslint").Rule.RuleModule;
38
38
  'use-primitives-text': import("eslint").Rule.RuleModule;
39
+ 'use-tokens-space': import("eslint").Rule.RuleModule;
39
40
  'use-tokens-typography': import("eslint").Rule.RuleModule;
40
41
  'use-visually-hidden': import("eslint").Rule.RuleModule;
41
42
  };
@@ -0,0 +1,3 @@
1
+ import type { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
@@ -0,0 +1 @@
1
+ export { StyleProperty } from './style-property';
@@ -0,0 +1,26 @@
1
+ import type { Rule } from 'eslint';
2
+ import { Property } from 'eslint-codemod-utils';
3
+ type Ref = {
4
+ node: Property;
5
+ token?: string;
6
+ fallback?: string | number;
7
+ };
8
+ type Check = {
9
+ success: false;
10
+ ref: undefined;
11
+ } | {
12
+ success: true;
13
+ ref: Ref;
14
+ };
15
+ export declare const StyleProperty: {
16
+ lint(node: Rule.Node, { context }: {
17
+ context: Rule.RuleContext;
18
+ }): void;
19
+ _check(node: Rule.Node): Check;
20
+ /**
21
+ * All required validation steps have been taken care of before this
22
+ * transformer is called, so it just goes ahead providing all necessary fixes
23
+ */
24
+ _fix(ref: Ref, context: Rule.RuleContext): (fixer: Rule.RuleFixer) => Rule.Fix[];
25
+ };
26
+ export {};
@@ -0,0 +1,7 @@
1
+ declare const tokenMap: {
2
+ [key: string]: string;
3
+ };
4
+ export declare const styleMap: {
5
+ [key: string]: typeof tokenMap;
6
+ };
7
+ export {};
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ values: {
3
+ ignore: (string | number)[];
4
+ };
5
+ };
6
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import type { Rule } from 'eslint';
2
+ /**
3
+ * Currently this is defined here because it's not very general purpose.
4
+ * If we were to move this to `ast-nodes`, half the implementation would be in `Root`,
5
+ * and the other half would be in `Import`.
6
+ *
7
+ * TODO: Refactor and move to `ast-nodes`
8
+ *
9
+ * Note: It does not handle default imports, namespace imports, or aliased imports.
10
+ */
11
+ export declare const upsertImportDeclaration: ({ module, specifiers, }: {
12
+ module: string;
13
+ specifiers: string[];
14
+ }, context: Rule.RuleContext, fixer: Rule.RuleFixer) => Rule.Fix | undefined;
@@ -0,0 +1 @@
1
+ export { isStringOrNumber } from './is-string-or-number';
@@ -0,0 +1 @@
1
+ export declare const isStringOrNumber: (value: string | number | bigint | true | RegExp | undefined) => value is string | number;
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.37.3",
4
+ "version": "8.38.0",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
7
7
  "publishConfig": {