Latest Releases
Nord Design System's parts are versioned and released using Node Package Manager. NPM's organization page lists all packages available and their most recent versions.
ESLint Plugin
1.0.0 New
- New major release that updates all ESLint rules to use Tailwind CSS v4's built-in logical property utilities, replacing our previous custom utility names. ✨
- BREAKING:
logical-selectorsrule now uses Tailwind CSS v4 built-in utility names:- Padding:
pt→pbs(wasp-bs),pl→ps(wasp-is), etc. - Margin:
mt→mbs(wasm-bs),ml→ms(wasm-is), etc. - Border:
border-l→border-s(wasborder-is),border-r→border-e(wasborder-ie) - Size:
w→inline(wasis),h→block(wasbs) - Scroll:
scroll-mt→scroll-mbs(wasscroll-m-bs), etc. - Removed
py/px,my/mx,border-x/border-ymappings — TW4 already uses logical CSS. - Removed
space-x/space-ymappings — TW4 already uses logical CSS (margin-inline/margin-block). - Removed
divide-x/divide-ymappings — no custom divide utilities existed.
- Padding:
- BREAKING:
no-legacy-classesrule now outputs TW4 utility names for spacing, border, and size migrations:n-margin-is-m→n:ms-m(wasn:m-is-m)n-border-is→n:border-s(wasn:border-is)n-inline-size-full→n:inline-full(wasn:is-full)
- Release date 19.2.2026.
0.3.1
no-legacy-classes: Updates shadow migration mapping. Then-box-shadowlegacy class now migrates ton:shadow-defaultinstead ofn:shadow.- Release date 18.2.2026.
0.3.0
logical-selectors: Updated rule to handle negative value patterns. The rule now correctly detects and auto-fixes negative logical utilities (e.g.,n:-ml-m→n:-m-is-m).logical-selectors: Improved variant prefix matching. Now supports arbitrary value variants likemax-[1299px]:in addition to standard variants likehover:andn:.- Release date 11.2.2026.
0.2.2
no-legacy-classes: Simplify replacement mappings. Removes redundant mappings and consolidates the legacy class to Tailwind class conversion logic.- Release date 6.2.2026.
0.2.1
no-legacy-classes: Add conflict detection for compound class replacements. When replacing classes liken-stackorn-gridthat expand to multiple Tailwind classes, the rule now detects conflicting utilities (e.g.,n:gap-mvsn:gap-l) and resolves them intelligently:- Explicit single-output classes (e.g.,
n-gap-l) take priority over compound defaults. - Existing
n:*classes take priority over compound defaults. - For compound vs compound conflicts, the rightmost class wins.
- Explicit single-output classes (e.g.,
- Fixes duplicate
n-gridmapping that was incorrectly overwriting the layout version.
0.2.0
- Initial release of
@nordhealth/eslint-plugin- ESLint plugin for Nord Design System. - Adds
@nordhealth/logical-selectorsrule to enforce logical CSS properties (e.g.,n:p-is-minstead ofn:pl-m) for better RTL/LTR support. Auto-fixable. - Adds
@nordhealth/no-unknown-legacy-classesrule to catch typos and invalidn-*legacy classes. - Adds
@nordhealth/no-legacy-classesrule to migrate deprecatedn-*classes to Tailwindn:*equivalents. Auto-fixable. Off by default. - Includes
recommendedandvuepreset configurations with integrated better-tailwindcss rules. - Supports multiple frameworks: React, Vue, Svelte, Angular, and Astro.
- Detects classes in utility functions:
clsx,cn,cva,tv,twMerge, and more. - See ESLint Plugin documentation for usage details.
- Release date 3.2.2026.