Upgrading stylelint from 17.x to 18.x
Comparison of the public API of stylelint 17.16.0 and 18.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.
Summary
| Removed import paths | 0 |
|---|---|
| Removed exports | 0 |
| Changed signatures | 6 |
| Removed class or interface members | 0 |
| Changed class or interface members | 0 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 1 |
| New exports | 1 |
Removed exports
None detected.
Changed signatures
| export | Before | After |
|---|---|---|
stylelint · CoreRules | { 'alpha-value-notation': CoreRule<"number" | "percentage", { exceptProperties: OneOrMany<StringOrRegex>; }, AutofixMessage>; 'annotation-no-unknown': CoreRule<true, { ignoreAnnotations: OneOrMany<StringOrRegex>; }, RejectedMessage<[annotation: string]>>; 'at-rule-allowed-list': CoreRule<OneOrMany<StringOrRegex>, {}, RejectedMessage<[atRule: string]>>; 'at-rule-descriptor-no-unknown': CoreRule<true, {}, RejectedMessage<[atRule: string, descriptor: string]>>; 'at-rule-descriptor-value-no-unknown': CoreRule<true, {}, RejectedMessage<[descriptor: string, value: string]>>; 'at-rule-disallowed-list… | { 'alpha-value-notation': CoreRule<"number" | "percentage", { exceptProperties: OneOrMany<StringOrRegex>; }, AutofixMessage>; 'annotation-no-unknown': CoreRule<true, { ignoreAnnotations: OneOrMany<StringOrRegex>; }, RejectedMessage<[annotation: string]>>; 'at-charset-rule-no-invalid': CoreRule<true, {}, RejectedMessage<[reason: string]>>; 'at-rule-allowed-list': CoreRule<OneOrMany<StringOrRegex>, {}, RejectedMessage<[atRule: string]>>; 'at-rule-descriptor-no-unknown': CoreRule<true, {}, RejectedMessage<[atRule: string, descriptor: string]>>; 'at-rule-descriptor-value-no-unknown': CoreRule<true… |
stylelint · InternalApi | { _options: LinterOptions & { cwd: string; }; _extendExplorer: any; _configExplorer: any; _specifiedConfigCache: Map<Config, Map<string, any>>; _augmentedConfigCache: Map<string, any>; _postcssResultCache: Map<string, PostCSS.Result>; _compiledOverridesCache: Map<string, CompiledOverride[]>; _fileCache: FileCache; } | { _options: LinterOptions & { cwd: string; }; _extendExplorer: any; _configExplorer: any; _specifiedConfigCache: Map<Config, Map<string, any>>; _augmentedConfigCache: Map<string, any>; _postcssResultCache: Map<string, { result: PostCSS.Result; code: string; }>; _compiledOverridesCache: Map<string, CompiledOverride[]>; _fileCache: FileCache; _referenceFilesCache: Map<string, Promise<string[]>>; _referenceRootsCache: ReferenceRootsCache; } |
stylelint · RuleContext | { configurationComment?: string | undefined; fix?: boolean | undefined; newline?: string | undefined; } | { configurationComment?: string | undefined; newline?: string | undefined; } |
stylelint · LinterResult | { cwd: string; results: LintResult[]; errored: boolean; report: string; code?: string | undefined; maxWarningsExceeded?: { maxWarnings: number; foundWarnings: number; } | undefined; reportedDisables: DisableOptionsReport; descriptionlessDisables?: DisableOptionsReport | undefined; needlessDisables?: DisableOptionsReport | undefined; invalidScopeDisables?: DisableOptionsReport | undefined; ruleMetadata: { [ruleName: string]: Partial<RuleMeta>; }; } | { cwd: string; results: LintResult[]; errored: boolean; report: string; code?: string | undefined; maxWarningsExceeded?: { maxWarnings: number; foundWarnings: number; } | undefined; color?: boolean | undefined; reportedDisables: DisableOptionsReport; descriptionlessDisables?: DisableOptionsReport | undefined; needlessDisables?: DisableOptionsReport | undefined; invalidScopeDisables?: DisableOptionsReport | undefined; ruleMetadata: { [ruleName: string]: Partial<RuleMeta>; }; } |
stylelint · LinterOptions | { abortSignal?: AbortSignal | undefined; files?: OneOrMany<string> | undefined; globbyOptions?: any; cache?: boolean | undefined; cacheLocation?: string | undefined; cacheStrategy?: string | undefined; code?: string | undefined; codeFilename?: string | undefined; config?: Config | undefined; configFile?: string | undefined; configBasedir?: string | undefined; cwd?: string | undefined; ignoreDisables?: boolean | undefined; ignorePath?: OneOrMany<string> | undefined; ignorePattern?: string[] | undefined; reportDescriptionlessDisables?: boolean | undefined; reportNeedlessDisables?: boolean | unde… | { abortSignal?: AbortSignal | undefined; files?: OneOrMany<string> | undefined; globbyOptions?: GlobbyOptions | undefined; cache?: boolean | undefined; cacheLocation?: string | undefined; cacheStrategy?: string | undefined; code?: string | undefined; codeFilename?: string | undefined; config?: Config | undefined; configFile?: string | undefined; configBasedir?: string | undefined; cwd?: string | undefined; ignoreDisables?: boolean | undefined; ignorePath?: OneOrMany<string> | undefined; ignorePattern?: string[] | undefined; reportDescriptionlessDisables?: boolean | undefined; reportNeedlessDis… |
stylelint · ShorthandProperties | "animation" | "background" | "border" | "border-block" | "border-block-end" | "border-block-start" | "border-inline" | "border-inline-end" | "border-inline-start" | "border-bottom" | "border-color" | "border-image" | "border-left" | "border-radius" | "border-right" | "border-style" | "border-top" | "border-width" | "column-rule" | "columns" | "flex" | "flex-flow" | "font" | "font-synthesis" | "font-variant" | "gap" | "grid" | "grid-area" | "grid-column" | "grid-gap" | "grid-row" | "grid-template" | "inset" | "inset-block" | "inset-inline" | "list-style" | "margin" | "margin-block" | "margin-in… | "animation" | "background" | "border" | "border-block" | "border-block-end" | "border-block-start" | "border-inline" | "border-inline-end" | "border-inline-start" | "border-bottom" | "border-color" | "border-image" | "border-left" | "border-radius" | "border-right" | "border-style" | "border-top" | "border-width" | "column-rule" | "columns" | "contain-intrinsic-size" | "flex" | "flex-flow" | "font" | "font-synthesis" | "font-variant" | "gap" | "grid" | "grid-area" | "grid-column" | "grid-gap" | "grid-row" | "grid-template" | "inset" | "inset-block" | "inset-inline" | "list-style" | "margin" | … |
Removed class or interface members
None detected.
Changed class or interface members
None detected.
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
| Before | After | |
|---|---|---|
engines.node | >=20.19.0 | ^22.22.2 || ^24.15.0 || >=26.0.0 |
New exports (1)
| import | export | kind |
|---|---|---|
stylelint | GlobbyOptions | type |
Give your AI agent these facts
Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Add to CursorAdd to VS Code★ Star on GitHub
Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests
Frequently asked questions
What are the breaking changes when upgrading stylelint from 17 to 18?
Between stylelint 17.16.0 and 18.0.0, Vigia found 0 removed exports, 6 changed signatures and 0 removed or changed class or interface members.
What became deprecated in stylelint 18?
0 exports or members are newly marked as deprecated in stylelint 18.0.0.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/stylelint/upgrade?from=17.16.0&to=18.0.0