UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

50 lines (49 loc) • 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var domainsToLint = ['color', 'spacing', 'shape']; var ruleMeta = { name: 'ensure-design-token-usage', hasSuggestions: true, schema: { type: 'array', items: { type: 'object', properties: { applyImport: { type: 'boolean' }, shouldEnforceFallbacks: { type: 'boolean' }, domains: { type: 'array', items: { enum: domainsToLint } }, exceptions: { type: 'array' } } } }, type: 'problem', fixable: 'code', docs: { description: 'Enforces usage of design tokens rather than hard-coded values.', recommended: true, severity: 'error' }, messages: { noRawRadiusValues: 'The use of shape tokens is preferred over the direct application of border properties.\n\n@meta <<{{payload}}>>', noRawSpacingValues: 'The use of spacing primitives or tokens is preferred over the direct application of spacing properties.\n\n@meta <<{{payload}}>>', autofixesPossible: 'Automated corrections available for spacing values. Apply autofix to replace values with appropriate tokens', noCalcUsage: 'The use of space tokens is preferred over using the CSS calc function. If using a value that is not aligned to the spacing scale, consider aligning to the scale and using tokens instead.', hardCodedColor: "Colors can be sourced from the global theme using the token function.", legacyElevation: "Elevations can be sourced from the global theme using the token function made of both a background and shadow. Use \"card\" for card elevations, and \"overlay\" for anything else that should appear elevated." } }; var _default = exports.default = ruleMeta;