将 stylelint 从 17.x 升级到 18.x
根据 TypeScript 类型自动比较 stylelint 17.16.0 与 18.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。
概要
| 已删除的导入路径 | 0 |
|---|---|
| 已删除的导出 | 0 |
| 已修改的签名 | 6 |
| 已删除的类或接口成员 | 0 |
| 已修改的类或接口成员 | 0 |
| 新增弃用 | 0 |
| 要求变化(engines、peer 依赖) | 1 |
| 新增导出 | 1 |
已删除的导出
未发现。
已修改的签名
| export | 之前 | 之后 |
|---|---|---|
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" | … |
已删除的类或接口成员
未发现。
已修改的类或接口成员
未发现。
新增弃用
未发现。
要求变化(engines、peer 依赖)
| 之前 | 之后 | |
|---|---|---|
engines.node | >=20.19.0 | ^22.22.2 || ^24.15.0 || >=26.0.0 |
新增导出 (1)
| import | export | kind |
|---|---|---|
stylelint | GlobbyOptions | type |
把这些数据交给你的 AI 智能体
Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
添加到 Cursor添加到 VS Code★ 在 GitHub 上加星
任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }常见问题
将 stylelint 从 17 升级到 18 有哪些不兼容变更?
在 stylelint 17.16.0 与 18.0.0 之间,Vigia 发现 0 个已删除的导出、6 个已修改的签名,以及 0 个已删除或修改的类或接口成员。
stylelint 18 中弃用了哪些内容?
stylelint 18.0.0 中有 0 个导出或成员新被标记为弃用。
供智能体使用
GET https://vigia.coredls.cloud/v1/packages/npm/stylelint/upgrade?from=17.16.0&to=18.0.0