npm / @shadcn/lint
@shadcn/lint
What changed in @shadcn/lint 0.1 to 0.2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
2 breaking1 new APIs and options2 behavior and defaults35 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@shadcn/lint 0.220 changes
New APIs and options 1
Adds support for Vue and Svelte.
Behavior and default changes 1
Classifies project custom theme scales, such as rounded-card, the way cn 0.4.0 merges them.
Fixes and other changes 18
Resolves a bare aliases.ui value such as src/ against the project, as the shadcn CLI does.
Reads Svelte shorthand attributes such as {className} the same way as their long form.
Font sizes from JavaScript @config modules are classified as typography rather than color.
Loads @config modules like Tailwind, allowing extensionless imports and TypeScript enums to build.
Checks variant classes keyed by computed names such as enum members.
Suggests variants only from a cva factory the component actually uses.
Matches dotted entries such as Option.some against method calls.
Allows fill-none and stroke-none in no-raw-colors.
Resolves a ui alias to a directory through wildcard package.json imports keys.
Font sizes from JavaScript @plugin modules are classified as typography rather than color.
Loads @plugin modules like Tailwind, allowing extensionless imports and TypeScript enums to build.
Judges classes by the component itself when its render prop renders a plain element.
Resolves Tailwind beside the stylesheet that imports it.
Under a Tailwind prefix, unprefixed classes are left to no-unknown-classes instead of being reported as undeclared colors.
Checks variant classes keyed by computed names such as enum members.
Suggests variants only from a tv factory the component actually uses.
Matches dotted entries such as Option.some against method calls.
Reads a barrel when its export list carries comments.
@shadcn/lint 0.120 changes
Breaking changes 2
Only Tailwind's own animate-* names now share the animate group.
Axis utilities such as px-2 now conflict with the logical sides they cover.
Behavior and default changes 1
An animate-* class classifies as motion when the theme declares --animate-<name> or CSS declares it with @utility or a selector, without requiring cn to group every animate-* name.
Fixes and other changes 17
Reads a destructured binding's own slot of its initializer.
Resolves a ui package's alias to its own name.
Fixes handling of exports patterns.
Fixes plain selectors hiding raw colors.
Fixes scoped color namespaces.
Fixes theme reading past comments.
Fixes the TypeScript parser peer warning.
Astro class:list is treated as a class site, including when its value is a Set.
Declared --text-* and --shadow-* tokens are no longer reported as raw colors.
Component names are no longer derived from a package's minified exports.
A declared @utility class is no longer treated as a misspelling.
Classes are attributed to the component rendered by a render prop.
Classes on the trigger are retained when a render prop cannot be read.
Tailwind 3 utility names such as flex-grow and flex-shrink are classified.
When tailwind.css is a partial, base utilities are read from a discovered entry.
Theme imports resolve from a pnpm-linked package's real path.
Variant names are read through a type alias and a props union.