ESLint plugin

The essential plugin for use with the Atlassian Design System.

16.12.7

Patch Changes

16.12.6

Patch Changes

  • Updated dependencies

16.12.5

Patch Changes

16.12.4

Patch Changes

16.12.3

Patch Changes

  • 3dd2bfbb50aa5, (opens new window) - Fix use-pressable-motion to recognize semantic transitions in composed xcss arrays, including motion styles gated by platform-dst-motion-uplift-custom-button.

16.12.2

Patch Changes

  • ef9028194ebf1, (opens new window) - Mark @atlassian/preview-panel and @atlassian/preview-panels-api as deprecated; add ESLint deprecation rules in favour of @atlassian/panel-system

16.12.1

Patch Changes

  • c07f65513c732, (opens new window) - Add @atlassian/manual-trial-awareness-modal and @post-office/message-template--jira-manual-trial-awareness-modal to deprecated config. TWCG-208 experiment has been shut down.

16.12.0

Minor Changes

Patch Changes

  • Updated dependencies

16.11.3

Patch Changes

16.11.2

Patch Changes

16.11.1

Patch Changes

  • 4612437357f61, (opens new window) - Remove references to the unused @atlassian/icon-private package. Its value is dropped from the icon metadata location union, the ensure-icon-color lint rule no longer matches it, and the adoption scanner no longer scans its entrypoint.
  • Updated dependencies

16.11.0

Minor Changes

  • d82e6f76528ab, (opens new window) - Add direct subpath package exports as part of the linking-platform, search, media, and design-system barrel-removal (de-barrel) migration.

    These packages now expose their individual modules via explicit package.json exports subpaths so that consumers can import directly from the leaf module (e.g. @atlaskit/pkg/thing) instead of the package barrel/index. This adds new public entry points without changing or removing any existing exports, so it is a backwards-compatible additive change.

    No runtime behaviour changes; this is an API-surface (entry-point) addition to support tree-shaking and to unblock removal of the barrel index files.

Patch Changes

  • Updated dependencies

16.10.1

Patch Changes

16.10.0

Minor Changes

  • b2a44b7d3ce87, (opens new window) - Extend no-modal-label to disallow modalProps.label on modal entry-point triggers.

    Exclude ads-mcp get-lint-rules from content and deprecated-import ratcheting (docs embed intentional bad examples as strings).

16.9.0

Minor Changes

16.8.1

Patch Changes

  • 2866cc2465350, (opens new window) - Exclude jira eslint-plugin restricted rules from barrel import ratcheting. Exclude ads-mcp codegen from deprecated entry-point import ratcheting (docs embed example imports). Point use-pressable-motion docs at compiled Pressable.
  • Updated dependencies

16.8.0

Minor Changes

16.7.0

Minor Changes

16.6.0

Minor Changes

  • a54598e30d32b, (opens new window) - Fix de-barrelling support in several additional rules so they continue to recognize Atlaskit components when consumers import from subpath entrypoints instead of package root barrels. Updated rules:
    • use-simple-field
    • use-simple-form
    • use-field-message-wrapper
    • use-correct-field
    • use-character-counter-field
    • no-placeholder
    • no-readonly-or-disabled-inputs
    • use-should-render-to-parent
    • ensure-proper-xcss-usage
    • lozenge-badge-tag-labelling-system-migration

16.5.0

Minor Changes

16.4.0

Minor Changes

  • 8d9f7d9d4e40d, (opens new window) - Fix de-barrelling support in several rules so they continue to recognize Atlaskit components when consumers import from subpath entrypoints instead of package root barrels. Updated rules:
    • no-html-anchor
    • no-html-heading
    • no-html-image
    • no-html-code
    • no-html-text-input
    • no-html-textarea
    • no-separator-with-list-elements
    • ensure-avatar-tag-avatar-props
    • enforce-inline-styles-in-select
    • use-datetime-picker-calendar-button
    • use-drawer-label
    • use-popup-label
    • use-tag-group-label
    • use-heading-level-in-section-message
    • use-modal-dialog-close-button
    • use-heading-level-in-spotlight-card
    • use-spotlight-package

16.3.0

Minor Changes

16.2.1

Patch Changes

16.2.0

Minor Changes

16.1.1

Patch Changes

  • Updated dependencies

16.1.0

Minor Changes

16.0.1

Patch Changes

16.0.0

Major Changes

  • db02bae78813d, (opens new window) - Remove the use-primitives rule and its Box recommendation.

    This is a breaking change. After upgrading, remove @atlaskit/design-system/use-primitives from your ESLint configuration and any ESLint disable comments to avoid "Definition for rule was not found" errors.

Patch Changes

  • Updated dependencies

15.6.1

Patch Changes

  • Updated dependencies

15.6.0

Minor Changes

Patch Changes

  • Updated dependencies

15.5.0

Minor Changes

  • 62b5aa6adc358, (opens new window) - Completes deprecation guidance for the legacy WidthDetector default export.

    Use WidthObserver from @atlaskit/width-detector/width-observer instead.

15.4.0

Minor Changes

  • 0af52c9020b98, (opens new window) - Add expand-motion-shorthand rule to @atlaskit/eslint-plugin-design-system so it is documented on the design system website. Expands transition and animation CSS shorthand properties into their individual sub-properties so values can be replaced with motion tokens.

    Deprecate the compiled/expand-motion-shorthand rule in @atlaskit/eslint-plugin-platform in favour of @atlaskit/design-system/expand-motion-shorthand.

Patch Changes

  • Updated dependencies

15.3.0

Minor Changes

15.2.0

Minor Changes

15.1.2

Patch Changes

  • Updated dependencies

15.1.1

Patch Changes

  • 2b3eee14e8063, (opens new window) - Update lozenge-badge-tag-labelling-system-migration ESLint rule and codemod for the new Lozenge API.
    • Lozenges no longer migrate to <Tag>. The <Lozenge> component stays as <Lozenge>.
    • Legacy appearance values are now auto-fixed in-place to new semantic values: defaultneutral, inprogressinformation, movedwarning, removeddanger, newdiscovery. The value success is unchanged.
    • isBold is intentionally not flagged: while the feature flag platform-dst-lozenge-tag-badge-visual-uplifts is OFF, users still need isBold to render subtle Lozenges. It will be cleaned up in a separate pass after rollout.

15.1.0

Minor Changes

  • c6fce4a43355c, (opens new window) - Add new use-tokens-motion ESLint rule to enforce the use of motion design tokens for durations and easing values. This rule was moved from @atlaskit/eslint-plugin-platform (compiled/use-motion-token-values) to the design-system plugin as a first-class rule.

15.0.0

Major Changes

  • f2dc9097319f0, (opens new window) - ### Dropped support for legacy Typescript 4 types. Typescript 5 is now the new minimum.

    Removes the typesVersions property and dist/types-ts4.5 directory from the dist.

    Types are now exclusively via the "types": "dist/types/index.d.ts" property.

    - "typesVersions": { - ">=4.5 <4.9": { - "*": [ - "dist/types-ts4.5/*", - "dist/types-ts4.5/index.d.ts" - ] - } - },

Patch Changes

  • Updated dependencies

14.4.0

Minor Changes

14.3.2

Patch Changes

14.3.1

Patch Changes

  • Updated dependencies

14.3.0

Minor Changes

14.2.0

Minor Changes

14.1.0

Minor Changes

14.0.0

Major Changes

Patch Changes

  • Updated dependencies

13.44.2

Patch Changes

  • Updated dependencies

13.44.1

Patch Changes

  • Updated dependencies

13.44.0

Minor Changes

  • bc69c1d196bae, (opens new window) - Removed shouldEnforceFallbacks option from the use-tokens-typography rule. The auto-fixer no longer adds fontFallback imports from @atlaskit/theme/typography.

Patch Changes

  • Updated dependencies

13.43.2

Patch Changes

  • Updated dependencies

13.43.1

Patch Changes

13.43.0

Minor Changes

13.42.0

Minor Changes

  • 0daada0469ab8, (opens new window) - Remove @atlaskit/icon/migration-map entry point, IconMigrationMap and IconMigrationSizeGuidance types from @atlaskit/icon, and @atlaskit/icon-lab/migration-map entry point. These were only needed to support the legacy glyph icon migration path which has now been fully completed. Remove the no-legacy-icons ESLint rule from @atlaskit/eslint-plugin-design-system as @atlaskit/icon/glyph and @atlaskit/icon/core/migration no longer exist.

Patch Changes

  • Updated dependencies

13.41.3

Patch Changes

13.41.2

Patch Changes

  • 5e06fddfce409, (opens new window) - Rename codemod to next-icon-spacing-to-flex-primitive (now discoverable via npx @atlaskit/codemod-cli) and update no-icon-spacing-prop ESLint rule to generate Flex wrapper instead of Box.
  • Updated dependencies

13.41.1

Patch Changes

13.41.0

Minor Changes

13.40.4

Patch Changes

13.40.3

Patch Changes

13.40.2

Patch Changes

13.40.1

Patch Changes

  • Updated dependencies

13.40.0

Minor Changes

13.39.0

Minor Changes

  • 4467a975004be, (opens new window) - Adds the rule use-side-nav-items-package, for assisting with the migration of side nav item components to the package @atlaskit/side-nav-items.

13.38.1

Patch Changes

  • 414f1cb19fe79, (opens new window) - Fix ensure-design-token-usage so Tag’s color prop is allowed when scope lookup fails by adding an AST fallback for imports from @atlaskit/tag.

13.38.0

Minor Changes

  • 93ff2e6c56a27, (opens new window) - The ensure-design-token-usage ESLint rule now allows color prop with string values (e.g., "red", "blue") on Tag components imported from @atlaskit/tag or its sub-entrypoints (e.g., @atlaskit/tag/simple-tag, @atlaskit/tag/removable-tag)

13.37.0

Minor Changes

  • 37d704adec380, (opens new window) - Adds the ensure-avatar-tag-avatar-props eslint rule which ensures that the avatar prop on AvatarTag does not include controlled props (size, borderColor, appearance). These are managed internally by AvatarTag based on the type prop.

13.36.2

Patch Changes

  • Updated dependencies

13.36.1

Patch Changes

  • 3c3757717bc78, (opens new window) - Introduced a temporary feature to the no-unsafe-design-token-usage rule to allow token fallbacks for tokens specified in UNSAFE_ignoreTokens even if fallbackUsage is set to 'none'. This should not be used and exists only to aid migration. It will be removed in the near future.

13.36.0

Minor Changes

  • 3147ae92ea7bd, (opens new window) - Updates lozenge-badge-tag-labelling-system-migration eslint rule to include the migration_fallback prop so that teams can adopt the Tag API without triggering an immediate visual change.

13.35.1

Patch Changes

  • Updated dependencies

13.35.0

Minor Changes

13.34.1

Patch Changes

  • Updated dependencies

13.34.0

Minor Changes

13.33.0

Minor Changes

13.32.0

Minor Changes

Patch Changes

  • Updated dependencies

13.31.0

Minor Changes

  • 7de53802511d2, (opens new window) - Adds tag migration to the labelling system visual uplift migration eslint rule. Renaming lozenge-isBold-and-lozenge-badge-appearance-migration to lozenge-badge-tag-labelling-system-migration.

13.30.1

Patch Changes

13.30.0

Minor Changes

  • 24edc07c201e2, (opens new window) - use-tokens-typography now only matches and supports tokens from the refreshed typography theme. Changes include:
    • font.body.UNSAFE_small will no longer be suggested in autofixes.
    • Both 11px and 12px will now be autofixed to the font.body.small token.
    • Heading tokens will only be suggested if bold font weights (700 or 653) are used.

Patch Changes

  • Updated dependencies

13.29.3

Patch Changes

13.29.2

Patch Changes

  • Updated dependencies

13.29.1

Patch Changes

13.29.0

Minor Changes

13.28.0

Minor Changes

13.27.1

Patch Changes

13.27.0

Minor Changes

13.26.0

Minor Changes

  • 35453fb5a0310, (opens new window) - Updates the lozenge-appearance-and-isBold-migration to be lozenge-isBold-and-lozenge-badge-appearance-migration to help migrate deprecated Badge usages to the new API as part of the Labelling System Phase 1 migration as well as lozenge.

13.25.0

Minor Changes

Patch Changes

  • Updated dependencies

13.24.2

Patch Changes

13.24.1

Patch Changes

13.24.0

Minor Changes

  • 6346354ff2153, (opens new window) - Add a new rule lozenge-appearance-and-isbold-migration to help migrate deprecated Lozenge usages to the new API or Tag component as part of the Labelling System Phase 1 migration

13.23.4

Patch Changes

  • f0d92beae2f40, (opens new window) - Removes utility icons entrypoints from the '@atlaskit/icon' package. Migrates related packages to update their imports.
  • Updated dependencies

13.23.3

Patch Changes

  • Updated dependencies

13.23.2

Patch Changes

13.23.1

Patch Changes

13.23.0

Minor Changes

13.22.0

Minor Changes

  • 4df3a43323a47, (opens new window) - Added turnOffAutoFixer configuration option to the no-deprecated-imports rule, allowing users to disable automatic code fixes while still reporting deprecated import violations.

13.21.3

Patch Changes

  • Updated dependencies

13.21.2

Patch Changes

13.21.1

Patch Changes

13.21.0

Minor Changes

  • 8a95abe487d79, (opens new window) - - Added use-tokens-shape rule to enforce borderRadius and borderWidth values.
    • Updated ensure-design-token-usage rule to apply correct shape tokens. Note this rule should not be used for shape - instead use the use-tokens-shape rule instead.

13.20.1

Patch Changes

13.20.0

Minor Changes

13.19.6

Patch Changes

13.19.5

Patch Changes

  • Updated dependencies

13.19.4

Patch Changes

13.19.3

Patch Changes

  • Updated dependencies

13.19.2

Patch Changes

13.19.1

Patch Changes

13.19.0

Minor Changes

13.18.1

Patch Changes

13.18.0

Minor Changes

Patch Changes

  • Updated dependencies

13.17.3

Patch Changes

  • Updated dependencies

13.17.2

Patch Changes

  • Updated dependencies

13.17.1

Patch Changes

13.17.0

Minor Changes

13.16.1

Patch Changes

13.16.0

Minor Changes

Patch Changes

  • Updated dependencies

13.15.0

Minor Changes

Patch Changes

  • Updated dependencies

13.14.2

Patch Changes

13.14.1

Patch Changes

  • Updated dependencies

13.14.0

Minor Changes

13.13.0

Minor Changes

13.12.0

Minor Changes

13.11.0

Minor Changes

13.10.0

Minor Changes

13.9.0

Minor Changes

13.8.0

Minor Changes

13.7.0

Minor Changes

Patch Changes

13.6.0

Minor Changes

13.5.0

Minor Changes

13.4.1

Patch Changes

13.4.0

Minor Changes

13.3.0

Minor Changes

13.2.0

Minor Changes

Patch Changes

  • Updated dependencies

13.1.2

Patch Changes

13.1.1

Patch Changes

13.1.0

Minor Changes

13.0.4

Patch Changes

13.0.3

Patch Changes

  • Updated dependencies

13.0.2

Patch Changes

13.0.1

Patch Changes

  • #119942, (opens new window) d5163d608020e, (opens new window) - "Modify the no-unsafe-design-token-usage rule to exclude the getTokenValue function when used in 'none' mode for fallbackUsage. This adjustment is necessary because the getTokenValue function is not covered by the build-time @atlaskit/tokens/babel-plugin by design. As a result, using this function without a fallback can be unsafe, as it defaults to a blank value if applied on a webpage where the ADS theme is not enabled."

13.0.0

Major Changes

Patch Changes

  • Updated dependencies

12.2.0

Minor Changes

Patch Changes

  • Updated dependencies

12.1.0

Minor Changes

12.0.0

Major Changes

  • #111194, (opens new window) 2e69750df9b79, (opens new window) - Typography lint rules enable all patterns by default:
    • use-tokens-typography enables all patterns by default. Set lint rule config to patterns: ['style-object'] for old default behaviour.
    • use-primitives-text and use-heading enables the enableUnsafeReport option by default. Set lint rule config to enableUnsafeReport: false for old default behaviour.

11.10.0

Minor Changes

Patch Changes

11.9.0

Minor Changes

11.8.4

Patch Changes

11.8.3

Patch Changes

11.8.2

Patch Changes

11.8.1

Patch Changes

11.8.0

Minor Changes

11.7.0

Minor Changes

Patch Changes

  • Updated dependencies

11.6.1

Patch Changes

11.6.0

Minor Changes

11.5.0

Minor Changes

11.4.1

Patch Changes

11.4.0

Minor Changes

11.3.0

Minor Changes

Patch Changes

11.2.0

Minor Changes

  • #175583, (opens new window) 75911cb003bd5, (opens new window) - #### no-legacy-icons

    Add new shouldUseSafeMigrationMode flag to no-legacy-icons rule. When set to true, the autofixer will only attempt to migrate icons that are visually similar and do not include secondary colors or sizes other than medium.

    Additionally, the autofixer will no longer attempt to explicity add color="currentColor" for every migration as this is now the default.

    no-deprecated-apis

    Refactored to fix type errors and match code style of other rules.

Patch Changes

  • Updated dependencies

11.1.0

Minor Changes

11.0.2

Patch Changes

11.0.1

Patch Changes

11.0.0

Major Changes

10.26.0

Minor Changes

Patch Changes

  • Updated dependencies

10.25.0

Minor Changes

  • #165487, (opens new window) 0e99fc2e1f211, (opens new window) - Add new rule for @atlaskit/datetime-picker. Ensures that the calendar button is used when possible to ensure the picker is accessible. Part of AUTOMAT campaign to migrate all AFM instances of date picker and date time picker to use new shouldShowCalendarButton prop.

10.24.1

Patch Changes

10.24.0

Minor Changes

10.23.2

Patch Changes

10.23.1

Patch Changes

10.23.0

Minor Changes

10.22.1

Patch Changes

10.22.0

Minor Changes

10.21.0

Minor Changes

10.20.0

Minor Changes

10.19.0

Minor Changes

10.18.2

Patch Changes

10.18.1

Patch Changes

10.18.0

Minor Changes

10.17.3

Patch Changes

10.17.2

Patch Changes

10.17.1

Patch Changes

10.17.0

Minor Changes

10.16.0

Minor Changes

10.15.0

Minor Changes

  • #127511, (opens new window) db30e29344013, (opens new window) - Widening range of react and react-dom peer dependencies from ^16.8.0 || ^17.0.0 || ~18.2.0 to the wider range of ``^16.8.0 || ^17.0.0 || ^18.0.0` (where applicable).

    This change has been done to enable usage of react@18.3 as well as to have a consistent peer dependency range for react and react-dom for /platform packages.

Patch Changes

  • Updated dependencies

10.14.0

Minor Changes

  • #128926, (opens new window) 5df26d24db3c7, (opens new window) - - Remove config for rules that do not belong in this plugin long-term: '@atlaskit/design-system/no-empty-styled-expression', '@atlaskit/design-system/no-exported-css', '@atlaskit/design-system/no-exported-keyframes' — they may be removed in a future release and prefer @atlaskit/eslint-plugin/ui-styling-standard/recommended for this type of rules in the future.
    • Reconfigure '@atlaskit/design-system/no-invalid-css-map' to work properly of the box alongside ADS.

10.13.0

Minor Changes

Patch Changes

10.12.5

Patch Changes

10.12.4

Patch Changes

10.12.3

Patch Changes

10.12.2

Patch Changes

10.12.1

Patch Changes

10.12.0

Minor Changes

10.11.2

Patch Changes

10.11.1

Patch Changes

10.11.0

Minor Changes

10.10.2

Patch Changes

10.10.1

Patch Changes

10.10.0

Minor Changes

10.9.0

Minor Changes

10.8.2

Patch Changes

10.8.1

Patch Changes

10.8.0

Minor Changes

10.7.2

Patch Changes

10.7.1

Patch Changes

10.7.0

Minor Changes

10.6.1

Patch Changes

10.6.0

Minor Changes

10.5.0

Minor Changes

10.4.5

Patch Changes

10.4.4

Patch Changes

10.4.3

Patch Changes

10.4.2

Patch Changes

10.4.1

Patch Changes

10.4.0

Minor Changes

10.3.1

Patch Changes

10.3.0

Minor Changes

10.2.1

Patch Changes

10.2.0

Minor Changes

10.1.0

Minor Changes

10.0.1

Patch Changes

10.0.0

Major Changes

  • #96329, (opens new window) 16e879f9ab10, (opens new window) - Renamed the no-html-button-element rule to no-html-button. This rule is not yet in use, so it should not be a breaking change. The new name reflects the broadened scope of the rule to not only include <button> elements, but other forms of HTML buttons such as <input type="button" /> and role="button".

Minor Changes

9.7.0

Minor Changes

9.6.0

Minor Changes

9.5.2

Patch Changes

9.5.1

Patch Changes

9.5.0

Minor Changes

9.4.1

Patch Changes

9.4.0

Minor Changes

9.3.1

Patch Changes

9.3.0

Minor Changes

Patch Changes

9.2.5

Patch Changes

9.2.4

Patch Changes

9.2.3

Patch Changes

9.2.2

Patch Changes

  • #86321, (opens new window) b353b26e22b6, (opens new window) - Improvements for no-*-tagged-template-expression rules:
    • Fixed a bug that could produce syntax errors when mixins were present in nested selectors.
    • Disabled autofixing styled components usages with mixins in nested selectors, as there is no general equivalent.
    • Disabled autofixing function interpolations with non-expression bodies.

9.2.1

Patch Changes

9.2.0

Minor Changes

9.1.0

Minor Changes

9.0.0

Major Changes

  • #83454, (opens new window) be8b7ad6ff8e, (opens new window) - Remove name autofixer from consistent-css-prop-usage. Variables for css / xcss / cssMap functions will no longer be required to end with "Styles".

    [BREAKING] Some rule options have been changed:

    • fixNamesOnly and autoFixNames have been removed, as there is no longer an autofixer that enforces variable names.
      • If you use fixNamesOnly: true, we recommend switching to using autoFix: false.
      • Users of the autoFixNames option should remove this from their configuration.
    • autoFix option has been added. This controls whether the remaining autofixers should run or not (e.g. hoisting css function calls, wrapping objects in css function calls), and is true by default.

8.38.0

Minor Changes

8.37.3

Patch Changes

8.37.2

Patch Changes

  • #80662, (opens new window) 4833299b00d4, (opens new window) - For no-css-tagged-template-expression and no-styled-tagged-template-expression:

    • When importing from Emotion, stop applying autofixer when the styles contain !important.
    • When importing from any library, stop applying autofixer when a selector contains a tagged template interpolation (previously only styled-components).
  • #81697, (opens new window) cf3483e7e87d, (opens new window) - Adding a missing license entry to the package.json for this package. This package was already licensed under Apache-2.0 (see LICENSE file), so this change is not changing it's license.

8.37.1

Patch Changes

8.37.0

Minor Changes

8.36.3

Patch Changes

8.36.2

Patch Changes

8.36.1

Patch Changes

8.36.0

Minor Changes

8.35.1

Patch Changes

8.35.0

Minor Changes

Patch Changes

  • Updated dependencies

8.34.0

Minor Changes

8.33.0

Minor Changes

8.32.2

Patch Changes

8.32.1

Patch Changes

8.32.0

Minor Changes

8.31.0

Minor Changes

8.30.0

Minor Changes

8.29.1

Patch Changes

8.29.0

Minor Changes

8.28.0

Minor Changes

8.27.0

Minor Changes

  • #72966, (opens new window) ec187f466e23, (opens new window) - Update consistent-css-prop-usage to incorporate some updates previously made to the @compiled/eslint-plugin equivalent.

    1. Add autofixer to add the css function for the following scenario:
    const styles = { ... }; <div css={styles} />

    Note that this autofixer will not run if local variables are used inside the style object (e.g. { height: makeTaller ? '5px' : '2px' }), or if there are spread elements, template literals, and other tricky-to-parse code. These continue to require fixing manually.

    (This rule would previously only autofix if the file was originally <div css={{ ... }} />) 2. Add import { css } from '@compiled/react' (or xcss) automatically when fixing. The package from which to import the css function can be specified through the importSource option. 3. Add excludeReactComponents to exclude linting React components (i.e. components that start with uppercase). Sometimes it may not be desirable to have this rule apply to React components (e.g. @atlaskit/button), which could either use the Emotion or Compiled APIs when they expose a css prop. Passing a function from the wrong library can result in the styling erroneously not being applied. 4. Treat { ... } as const statements the same way as { ... } objects. 5. Add fixNamesOnly to disable all autofixers except the autofixer that adds styles to the end of existing style variables. For example, in <div css={buttonComponent} />; const buttonComponent = css({ ... }), buttonComponent will continue to be renamed to buttonComponentStyles. Autofixers that will be disabled include hoisting the styles to the top-most scope, and adding the css function call around style objects.

8.26.0

Minor Changes

  • #71429, (opens new window) 457122c5d002, (opens new window) - Add some ESLint rules from Compiled CSS-in-JS, and adapt them for the UI Styling Standard.

    Rules added:

    • no-empty-styled-expression: ban styled({}) usages
    • no-exported-css and no-exported-keyframes: ban css and keyframes function calls that are exported
    • no-invalid-css-map: ban usages of the Compiled/@atlaskit/css cssMap function call that are not valid

    Changes made:

    • Add them to monorepo, modify to use the existing utility functions
    • Add support for CSS-in-JS libraries other than Compiled (styled-components, Emotion, @atlaskit/css, etc.) and xcss where appropriate

8.25.2

Patch Changes

8.25.1

Patch Changes

8.25.0

Minor Changes

8.24.0

Minor Changes

8.23.4

Patch Changes

8.23.3

Patch Changes

8.23.2

Patch Changes

8.23.1

Patch Changes

8.23.0

Minor Changes

Patch Changes

  • Updated dependencies

8.22.0

Minor Changes

8.21.0

Minor Changes

8.20.0

Minor Changes

Patch Changes

8.19.2

Patch Changes

8.19.1

Patch Changes

8.19.0

Minor Changes

8.18.1

Patch Changes

8.18.0

Minor Changes

8.17.0

Minor Changes

8.16.0

Minor Changes

8.15.5

Patch Changes

8.15.4

Patch Changes

8.15.3

Patch Changes

8.15.2

Patch Changes

8.15.1

Patch Changes

8.15.0

Minor Changes

  • #43258, (opens new window) 0004d49c240, (opens new window) - Adds a new argument fallbackUsage which replaces shouldEnforceFallbacks. This new argument is an enum which represents the three possible states this rule can be configured with.
    • forced: Fallbacks must always been in use
    • none: Fallbacks must never been in use. (Fixer will remove any value provided )
    • optional: (new) Fallbacks are optional

8.14.1

Patch Changes

8.14.0

Minor Changes

8.13.1

Patch Changes

8.13.0

Minor Changes

8.12.1

Patch Changes

8.12.0

Minor Changes

  • #41346, (opens new window) b7e50f54fb3, (opens new window) - Changed the no-unsupported-drag-and-drop-libraries to 'problem' type with 'error' severity. Therefore an error will now be thrown when a drag and drop package that is not Pragmatic drag and drop is imported in packages that have the rule enabled.

8.11.0

Minor Changes

8.10.1

Patch Changes

8.10.0

Minor Changes

8.9.0

Minor Changes

8.8.1

Patch Changes

8.8.0

Minor Changes

8.7.1

Patch Changes

8.7.0

Minor Changes

8.6.0

Minor Changes

Patch Changes

  • Updated dependencies

8.5.0

Minor Changes

8.4.5

Patch Changes

8.4.4

Patch Changes

8.4.3

Patch Changes

8.4.2

Patch Changes

8.4.1

Patch Changes

8.4.0

Minor Changes

8.3.0

Minor Changes

8.2.2

Patch Changes

8.2.1

Patch Changes

  • #37733, (opens new window) 52b35a6b571, (opens new window) - - Fixed an issue where the ensure-design-token-usage rule may incorrectly report variables that reference tokens as an error.
    • Fixed an issue where the ensure-design-token-usage rule may handle expressions that span multiple lines in template literals incorrectly.

8.2.0

Minor Changes

8.1.0

Minor Changes

  • #37066, (opens new window) 4f9c29b2f9f, (opens new window) - Added the no-nested-styles rule which disallows usage of nested styles. The no-nested-styles rule also disallows media queries that contain min-width or max-width. The Atlassian Design System media object should be used instead. Other forms of media queries are still allowed.

8.0.2

Patch Changes

8.0.1

Patch Changes

8.0.0

Major Changes

  • #36273, (opens new window) 3919464ef44, (opens new window) - Removed ensure-design-token-usage-spacing. Use ensure-design-token-usage instead. See release notes for v7.0.0 for more info.

    ensure-design-token-usage now errors against spacing properties by default.

    If the domains option is provided it will override any defaults, for example the following will ignore defaults and only error for color:

    rules: { '@atlaskit/design-system/ensure-design-token-usage': [ 'error', { domains: ['color'], shouldEnforceFallbacks: false }, ], },

    You can use ensure-design-token-usage/preview to warn about spacing properties until you are ready to set the main rule to error:

    rules: { '@atlaskit/design-system/ensure-design-token-usage/preview': [ 'warn', { domains: ['spacing'], shouldEnforceFallbacks: false }, ], '@atlaskit/design-system/ensure-design-token-usage': [ 'error', { domains: ['color'], shouldEnforceFallbacks: false }, ], },

    In many cases eslint --fix will automatically apply migrations from hardcoded values and gridSize to space tokens.

7.0.3

Patch Changes

7.0.2

Patch Changes

7.0.1

Patch Changes

7.0.0

Major Changes

  • #35383, (opens new window) 177c8c14160, (opens new window) - Merged the ensure-design-token-usage and ensure-design-token-usage-spacing rules into a single rule: ensure-design-token-usage. This rule enforces color and space tokens and will be extended to enforce domains such as typography and shape in the future. The rule accepts a domains option which allows you to specify which domains to lint, currently defaulting to 'color' and 'space'. This rule defaults to error.

    To update to this version:

    • If you are using the ensure-design-token-usage rule, add the domains property with a value of ['color']:

      rules: { '@atlaskit/design-system/ensure-design-token-usage': [ 'error', { domains: ['color'], shouldEnforceFallbacks: false }, ], },
    • If you are using the ensure-design-token-usage-spacing rule, remove any references to it and add 'spacing' to the domains array above.

      rules: { '@atlaskit/design-system/ensure-design-token-usage': [ 'error', { domains: ['color', 'spacing'], shouldEnforceFallbacks: false }, ], },
    • If you are not using either of these rules, no changes are required.

    Added a new rule ensure-design-token-usage/preview which is a direct clone of ensure-design-token-usage, but defaults to warn. Through this rule you can specify domains to enforce tokens for, but with a warning rather than a blocking error. This is intended to ease the introduction of certain tokens into a codebase.

6.2.1

Patch Changes

6.2.0

Minor Changes

6.1.0

Minor Changes

6.0.1

Patch Changes

6.0.0

Major Changes

5.5.0

Minor Changes

5.4.2

Patch Changes

5.4.1

Patch Changes

5.4.0

Minor Changes

Patch Changes

5.3.2

Patch Changes

5.3.1

Patch Changes

5.3.0

Minor Changes

5.2.0

Minor Changes

5.1.0

Minor Changes

Patch Changes

  • Updated dependencies

5.0.3

Patch Changes

5.0.2

Patch Changes

5.0.1

Patch Changes

5.0.0

Major Changes

  • #32576, (opens new window) b910bbe6130, (opens new window) - The following rules are now included in the recommended preset as errors:

    • ensure-design-token-usage
    • no-deprecated-apis
    • no-deprecated-imports
    • no-unsafe-design-token-usage

    The following rules are now included in the recommended preset as warnings:

    • no-deprecated-design-token-usage

Minor Changes

4.20.0

Minor Changes

4.19.1

Patch Changes

4.19.0

Minor Changes

4.18.0

Minor Changes

4.17.1

Patch Changes

4.17.0

Minor Changes

4.16.5

Patch Changes

  • #30785, (opens new window) c82e6ef389c, (opens new window) - Fix bug when replacing shorthand css property values with tokens, values without corresponding token won't be replaced. Also, allow styled2 alias to be matched in object styles for the spacing rule, given Jira frontend uses that alias extensively

4.16.4

Patch Changes

4.16.3

Patch Changes

4.16.2

Patch Changes

4.16.1

Patch Changes

4.16.0

Minor Changes

4.15.6

Patch Changes

4.15.5

Patch Changes

4.15.4

Patch Changes

4.15.3

Patch Changes

4.15.2

Patch Changes

4.15.1

Patch Changes

4.15.0

Minor Changes

4.14.1

Patch Changes

4.14.0

Minor Changes

4.13.10

Patch Changes

4.13.9

Patch Changes

  • Updated dependencies

4.13.8

Patch Changes

4.13.7

Patch Changes

4.13.6

Patch Changes

4.13.5

Patch Changes

4.13.4

Patch Changes

  • Updated dependencies

4.13.3

Patch Changes

4.13.2

Patch Changes

4.13.1

Patch Changes

4.13.0

Minor Changes

4.12.4

Patch Changes

4.12.3

Patch Changes

4.12.2

Patch Changes

4.12.1

Patch Changes

4.12.0

Minor Changes

4.11.2

Patch Changes

4.11.1

Patch Changes

4.11.0

Minor Changes

4.10.1

Patch Changes

4.10.0

Minor Changes

4.9.0

Minor Changes

4.8.2

Patch Changes

4.8.1

Patch Changes

4.8.0

Minor Changes

4.7.2

Patch Changes

4.7.1

Patch Changes

4.7.0

Minor Changes

4.6.0

Minor Changes

4.5.0

Minor Changes

4.4.6

Patch Changes

  • Updated dependencies

4.4.5

Patch Changes

4.4.4

Patch Changes

4.4.3

Patch Changes

4.4.2

Patch Changes

4.4.1

Patch Changes

  • #20390, (opens new window) 236e6040fb9, (opens new window) - Fixes a bug in the rule ensure-design-token-usage where some color value types were not being detected as hardcoded color usage. This affected Styled Components and Emotion CSS prop syntaxes.

    These color types have been fixed:

    • rgb
    • rgba
    • hsl
    • hsla
    • lch
    • lab
    • color()

4.4.0

Minor Changes

Patch Changes

  • Updated dependencies

4.3.0

Minor Changes

Patch Changes

  • Updated dependencies

4.2.1

Patch Changes

4.2.0

Minor Changes

4.1.1

Patch Changes

  • 19d72473dfb, (opens new window) - The no-unsafe-design-token-usage eslint rule now respects the new token naming conventions when auto-fixing by correctly formatting token ids.
  • Updated dependencies

4.1.0

Minor Changes

  • #18168, (opens new window) 52fbe80eeb5, (opens new window) - Moved logic for detecting deprecated tokens out of no-unsafe-design-token-usage and moves it into a new rule: no-deprecated-token-usage. This rule is solely reponsible for catching usage of deprecated tokens. In most cases this allows consumers to set this rule to "warn", allowing iterative migration to new token names rather than in a big bang.

Patch Changes

  • Updated dependencies

4.0.1

Patch Changes

4.0.0

Major Changes

  • #15998, (opens new window) a2f953f3814, (opens new window) - Previously the ensure-design-token-usage eslint rule contained all checks relating to token use. This has now been split up into two separate rules:

    ensure-design-token-usage now covers:

    • legacyElevation — warns about old usages of the elevation mixins or styles, which instead should use the card or overlay tokens.
    • hardCodedColor — warns about use of hard-coded colors such as color: colors.B100, which instead should be wrapped in a token() call. This covers the majority of cases in existing codebases when first adopting tokens.

    no-unsafe-design-token-usage (new) covers the remaining rules:

    • directTokenUsage — warns against using the CSS Custom Property name that is output in the browser by the token() call. Eg. directly using var(--ds-accent-subtleBlue) is bad.
    • staticToken — warns when tokens aren't used inline. Inlining the token usages helps with static analysis, which unlocks future improvements. Eg. pulling the token out into a const like css={ color: token(primaryButtonText) } is bad.
    • invalidToken — warns when using a token that doesn't exist (not one that's been renamed, see the next point).
    • tokenRenamed — warns when using a token that's been renamed in a subsequent release.
    • tokenFallbackEnforced — warns if a fallback for the token call is not provided. Eg. call with the fallback like this token('color.background.disabled', N10) instead of token('color.background.disabled').
    • tokenFallbackRestricted — the opposite of tokenFallbackEnforced. Eg. do not pass in a fallback like this token('color.background.disabled', N10) and instead only include the token token('color.background.disabled').

    Upgrading — some instances of \\eslint-disable may need to be changed to the new rule. If you have failing lint rules after only bumping this package then switch those ignores to use no-unsafe-design-token-usage instead.

Patch Changes

3.2.0

Minor Changes

3.1.0

Minor Changes

3.0.0

Patch Changes

  • Updated dependencies

2.0.1

Patch Changes

  • #14319, (opens new window) b6a55ffa092, (opens new window) - Introduces fixes for various edge-cases and false positives:

    • Objects that are not considered "style blocks" are now ignored. Style blocks are considered as objects assigned to variables with names containing either "style", "css", or "theme" and type annotations including "CSSProperties" or "CSSObject".
    • Hexadecimal colors using the 0x notation are now ignored

    Increasing the linting surface-area:

    • Colors used in shorthand css property values will now be linted against. (ie border: solid 1px red)
    • Strings passed directly into JSX attributes (props) are now linted (ie <Button color="red" />)

    General improvements:

    • Color names will now only match against "whole" words. Meaning strings that inadvertently include color names like the "tan" in "standard" will no longer fail.

    • Template literal styles are now linted against property values only. Meaning css property names that include colors like white-space: nowrap used in template literals will no longer error

    • Increased test coverage

  • Updated dependencies

2.0.0

Patch Changes

  • Updated dependencies

1.1.0

Minor Changes

Patch Changes

  • Updated dependencies

1.0.0

Minor Changes

Patch Changes

  • Updated dependencies

0.0.6

Patch Changes

0.0.5

Patch Changes

0.0.4

Patch Changes

  • #12528, (opens new window) 1926dba3536, (opens new window) - Adds, removes & renames tokens

    Adds:

    • color.backgroundSelect

    Renames:

    • color.borderTextHighlighted to color.bordertextSelected
    • elevation.base to evelation.backgroundDefault
    • elevation.flatSecondary to elevation.backgroundSunken
    • elevation.backgroundCard to color.backgroundCard
    • elevation.backgroundOverlay to color.backgroundOverlay
    • elevation.borderOverlay to color.borderOverlay
    • elevation.shadowCard to shadow.card
    • elevation.shadowOverlay to shadow.overlay

    Removes:

    • elevation.boarderFlatPrimary

    Updates:

    • elevation.shadowOverlay value to DN100
    • color.textWarning in light mode to O800
    • color.iconBorderWarning in light mode to O600
  • Updated dependencies

0.0.3

Patch Changes

0.0.2

Patch Changes

0.0.1

Patch Changes

Was this page helpful?
We use this feedback to improve our documentation.
© 2026 AtlassianTrademark, (opens new window)Privacy, (opens new window)License