Vigia

Upgrading postcss from 7.x to 8.x

Comparison of the public API of postcss 7.0.39 and 8.5.28, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports31
Changed signatures23
Removed class or interface members9
Changed class or interface members148
Newly deprecated0
Requirement changes (engines, peer dependencies)1
New exports25

Removed exports

importexportkindBefore
postcsspluginfunction<T>(name: string, initializer: PluginInitializer<T>): Plugin<T>
postcssvendornamespacenamespace
postcssJsonNodeinterfaceinterface
postcssJsonRootinterfaceinterface
postcssJsonRuleinterfaceinterface
postcssNodeBaseinterfaceinterface
postcssNodeRawsinterfaceinterface
postcssRuleRawsinterfaceinterface
postcssResultMapinterfaceinterface
postcssAtRuleRawsinterfaceinterface
postcssJsonAtRuleinterfaceinterface
postcssNodeSourceinterfaceinterface
postcssInputOrigininterfaceinterface
postcssJsonCommentinterfaceinterface
postcssParserInputtypestring | { toString(): string; }
postcssPreviousMapclassclass
postcssNodeNewPropsinterfaceinterface
postcssRootNewPropsinterfaceinterface
postcssRuleNewPropsinterfaceinterface
postcssContainerBaseinterfaceinterface
postcssContainerRawsinterfaceinterface
postcssJsonContainerinterfaceinterface
postcssResultMessageinterfaceinterface
postcssResultOptionsinterfaceinterface
postcssAtRuleNewPropsinterfaceinterface
postcssCommentNewPropsinterfaceinterface
postcssDeclarationRawsinterfaceinterface
postcssJsonDeclarationinterfaceinterface
postcssContainerNewPropsinterfaceinterface
postcssPluginInitializerinterfaceinterface
postcssDeclarationNewPropsinterfaceinterface

Changed signatures

exportBeforeAfter
postcss · NodeRoot | ChildNodeclass
postcss · Rootinterfaceclass
postcss · Ruleinterfaceclass
postcss · decl(defaults?: DeclarationNewProps | undefined): Declaration(defaults?: DeclarationProps | undefined): Declaration_
postcss · listnamespaceList
postcss · root(defaults?: object | undefined): Root(defaults?: RootProps | undefined): Root_
postcss · rule(defaults?: RuleNewProps | undefined): Rule(defaults?: RuleProps | undefined): Rule_
postcss · Inputinterfaceclass
postcss · parse(css: ParserInput, opts?: Pick<ProcessOptions, "map" | "from"> | undefined): Root(css: string | { toString(): string; }, opts?: Pick<ProcessOptions<Root_ | Document_>, "document" | "from" | "map" | "unsafeMap"> | undefined): Root_
postcss · AtRuleinterfaceclass
postcss · Resultinterfaceclass
postcss · atRule(defaults?: AtRuleNewProps | undefined): AtRule(defaults?: AtRuleProps | undefined): AtRule_
postcss · Commentinterfaceclass
postcss · Warninginterfaceclass
postcss · comment(defaults?: CommentNewProps | undefined): Comment(defaults?: CommentProps | undefined): Comment_
postcss · ChildNodeComment | AtRule | Declaration | RuleComment_ | AtRule_ | Declaration_ | Rule_
postcss · ContainerAtRule | Rule | Rootclass
postcss · Processorinterfaceclass
postcss · stringify(node: Node, builder: Builder): void(node: AnyNode, builder: Builder): void
postcss · LazyResultinterfaceclass
postcss · Declarationinterfaceclass
postcss · AcceptedPluginPlugin<any> | Transformer | { postcss: TransformCallback | Processor; } | ProcessorProcessor_ | { postcss: Processor_ | TransformCallback; } | OldPlugin<any> | Plugin | PluginCreator<any> | TransformCallback
postcss · CssSyntaxErrorinterfaceclass

Removed class or interface members

memberimportBefore
Plugin.postcsspostcss(root: Root, result: Result): any
Plugin.processpostcss(css: string | Result | { toString(): string; }, processOpts?: ProcessOptions | undefined, pluginOpts?: T | undefined): LazyResult
Plugin.postcssVersionpostcssstring | undefined
WarningOptions.topostcssstring | undefined
WarningOptions.mappostcssboolean | SourceMapOptions | undefined
WarningOptions.frompostcssstring | undefined
WarningOptions.parserpostcssParser | undefined
WarningOptions.syntaxpostcssSyntax | undefined
WarningOptions.stringifierpostcssStringifier | undefined

Changed class or interface members

memberBeforeAfter
Root.each(callback: (node: ChildNode, index: number) => void): void | (callback: (node: ChildNode, index: number) => boolean): boolean(callback: (node: ChildNode, index: number) => false | void): false | undefined
Root.rawsNodeRawsRootRaws
Root.root(): Root(): Root_
Root.some(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean(condition: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean
Root.walk(callback: (node: ChildNode, index: number) => void): void | (callback: (node: ChildNode, index: number) => boolean): boolean(callback: (node: ChildNode, index: number) => false | void): false | undefined
Root.warn(result: Result, text: string, opts?: WarningOptions | undefined): void(result: Result_<Root_ | Document_>, message: string, options?: WarningOptions | undefined): Warning_
Root.after(newNode: string | object | Node | Node[]): Root(newNode: string | Node | ChildProps | readonly Node[] | undefined): Root_
Root.clone(overrides?: object | undefined): Root(overrides?: Partial<RootProps> | undefined): Root_
Root.error(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError_
Root.every(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean(condition: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean
Root.nodesChildNode[] | undefinedChildNode[]
Root.append(...nodes: (string | object | Node)[]): Root(...nodes: NewChild[]): Root_
Root.before(newNode: string | object | Node | Node[]): Root(newNode: string | Node | ChildProps | readonly Node[] | undefined): Root_
Root.parentvoidDocument_ | undefined
Root.remove(): Root(): Root_
Root.sourceNodeSource | undefinedSource | undefined
Root.prepend(...nodes: (string | object | Node)[]): Root(...nodes: NewChild[]): Root_
Root.toResult(options?: { to?: string | undefined; map?: SourceMapOptions | undefined; } | undefined): Result(options?: ProcessOptions<Root_ | Document_> | undefined): Result_<Root_ | Document_>
Root.toString(stringifier?: Stringifier | Syntax | undefined): string(stringifier?: Stringifier | Syntax<Root_ | Document_> | undefined): string
Root.removeAll(): Root(): Root_
Root.walkDecls(propFilter: string | RegExp, callback: (decl: Declaration, index: number) => void): void | (callback: (decl: Declaration, index: number) => void): void | (propFilter: string | RegExp, callback: (decl: Declaration, index: number) => boolean): boolean | (callback: (decl: Declaration, index: number) =…(propFilter: string | RegExp, callback: (decl: Declaration_, index: number) => false | void): false | undefined | (callback: (decl: Declaration_, index: number) => false | void): false | undefined
Root.walkRules(selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => void): void | (callback: (atRule: Rule, index: number) => void): void | (selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => boolean): boolean | (callback: (atRule: Rule, index: number) => boolean): …(selectorFilter: string | RegExp, callback: (rule: Rule_, index: number) => false | void): false | undefined | (callback: (rule: Rule_, index: number) => false | void): false | undefined
Root.cloneAfter(overrides?: object | undefined): Root(overrides?: Partial<RootProps> | undefined): Root_
Root.cloneBefore(overrides?: object | undefined): Root(overrides?: Partial<RootProps> | undefined): Root_
Root.insertAfter(oldNode: number | ChildNode, newNode: string | object | ChildNode): Root(oldNode: number | ChildNode, newNode: NewChild): Root_
Root.removeChild(child: number | ChildNode): Root(child: number | ChildNode): Root_
Root.replaceWith(...nodes: (object | Node)[]): Root(...nodes: NewChild[]): Root_
Root.walkAtRules(nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => void): void | (callback: (atRule: AtRule, index: number) => void): void | (nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => boolean): boolean | (callback: (atRule: AtRule, index: number) => boolean): …(nameFilter: string | RegExp, callback: (atRule: AtRule_, index: number) => false | void): false | undefined | (callback: (atRule: AtRule_, index: number) => false | void): false | undefined
Root.insertBefore(oldNode: number | ChildNode, newNode: string | object | ChildNode): Root(oldNode: number | ChildNode, newNode: NewChild): Root_
Root.walkComments(callback: (comment: Comment, indexed: number) => void): void | (callback: (comment: Comment, indexed: number) => boolean): boolean(callback: (comment: Comment_, indexed: number) => false | void): false | undefined
Root.replaceValues(pattern: string | RegExp, options: { props?: string[] | undefined; fast?: string | undefined; }, callbackOrReplaceValue: string | ((substring: string, ...args: any[]) => string)): Root | (pattern: string | RegExp, callbackOrReplaceValue: string | ((substring: string, ...args: any[]) => string)): Ro…(pattern: string | RegExp, replaced: string | ((substring: string, ...args: any[]) => string)): Root_ | (pattern: string | RegExp, options: ValueOptions, replaced: string | ((substring: string, ...args: any[]) => string)): Root_
Rule.each(callback: (node: ChildNode, index: number) => void): void | (callback: (node: ChildNode, index: number) => boolean): boolean(callback: (node: ChildNode, index: number) => false | void): false | undefined
Rule.rawsNodeRawsRuleRaws
Rule.root(): Root(): Root_
Rule.some(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean(condition: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean
Rule.walk(callback: (node: ChildNode, index: number) => void): void | (callback: (node: ChildNode, index: number) => boolean): boolean(callback: (node: ChildNode, index: number) => false | void): false | undefined
Rule.warn(result: Result, text: string, opts?: WarningOptions | undefined): void(result: Result_<Root_ | Document_>, message: string, options?: WarningOptions | undefined): Warning_
Rule.after(newNode: string | object | Node | Node[]): Rule(newNode: string | Node | ChildProps | readonly Node[] | undefined): Rule_
Rule.clone(overrides?: object | undefined): Rule(overrides?: Partial<RuleProps> | undefined): Rule_
Rule.error(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError_
Rule.every(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean(condition: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean
Rule.nodesChildNode[] | undefinedChildNode[]
Rule.append(...nodes: (string | object | Node)[]): Rule(...nodes: NewChild[]): Rule_
Rule.before(newNode: string | object | Node | Node[]): Rule(newNode: string | Node | ChildProps | readonly Node[] | undefined): Rule_
Rule.parentContainerContainerWithChildren | undefined
Rule.remove(): Rule(): Rule_
Rule.sourceNodeSource | undefinedSource | undefined
Rule.prepend(...nodes: (string | object | Node)[]): Rule(...nodes: NewChild[]): Rule_
Rule.toString(stringifier?: Stringifier | Syntax | undefined): string(stringifier?: Stringifier | Syntax<Root_ | Document_> | undefined): string
Rule.removeAll(): Rule(): Rule_
Rule.walkDecls(propFilter: string | RegExp, callback: (decl: Declaration, index: number) => void): void | (callback: (decl: Declaration, index: number) => void): void | (propFilter: string | RegExp, callback: (decl: Declaration, index: number) => boolean): boolean | (callback: (decl: Declaration, index: number) =…(propFilter: string | RegExp, callback: (decl: Declaration_, index: number) => false | void): false | undefined | (callback: (decl: Declaration_, index: number) => false | void): false | undefined
Rule.walkRules(selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => void): void | (callback: (atRule: Rule, index: number) => void): void | (selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => boolean): boolean | (callback: (atRule: Rule, index: number) => boolean): …(selectorFilter: string | RegExp, callback: (rule: Rule_, index: number) => false | void): false | undefined | (callback: (rule: Rule_, index: number) => false | void): false | undefined
Rule.cloneAfter(overrides?: object | undefined): Rule(overrides?: Partial<RuleProps> | undefined): Rule_
Rule.cloneBefore(overrides?: object | undefined): Rule(overrides?: Partial<RuleProps> | undefined): Rule_
Rule.insertAfter(oldNode: number | ChildNode, newNode: string | object | ChildNode): Rule(oldNode: number | ChildNode, newNode: NewChild): Rule_
Rule.removeChild(child: number | ChildNode): Rule(child: number | ChildNode): Rule_
Rule.replaceWith(...nodes: (object | Node)[]): Rule(...nodes: NewChild[]): Rule_
Rule.walkAtRules(nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => void): void | (callback: (atRule: AtRule, index: number) => void): void | (nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => boolean): boolean | (callback: (atRule: AtRule, index: number) => boolean): …(nameFilter: string | RegExp, callback: (atRule: AtRule_, index: number) => false | void): false | undefined | (callback: (atRule: AtRule_, index: number) => false | void): false | undefined
Rule.insertBefore(oldNode: number | ChildNode, newNode: string | object | ChildNode): Rule(oldNode: number | ChildNode, newNode: NewChild): Rule_
Rule.walkComments(callback: (comment: Comment, indexed: number) => void): void | (callback: (comment: Comment, indexed: number) => boolean): boolean(callback: (comment: Comment_, indexed: number) => false | void): false | undefined
Rule.replaceValues(pattern: string | RegExp, options: { props?: string[] | undefined; fast?: string | undefined; }, callbackOrReplaceValue: string | ((substring: string, ...args: any[]) => string)): Rule | (pattern: string | RegExp, callbackOrReplaceValue: string | ((substring: string, ...args: any[]) => string)): Ru…(pattern: string | RegExp, replaced: string | ((substring: string, ...args: any[]) => string)): Rule_ | (pattern: string | RegExp, options: ValueOptions, replaced: string | ((substring: string, ...args: any[]) => string)): Rule_
Input.mapPreviousMapPreviousMap_
Input.origin(line: number, column: number): false | InputOrigin(line: number, column: number, endLine?: number | undefined, endColumn?: number | undefined): false | FilePosition
AtRule.each(callback: (node: ChildNode, index: number) => void): void | (callback: (node: ChildNode, index: number) => boolean): boolean(callback: (node: ChildNode, index: number) => false | void): false | undefined
AtRule.rawsNodeRawsAtRuleRaws
AtRule.root(): Root(): Root_
AtRule.some(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean(condition: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean
AtRule.walk(callback: (node: ChildNode, index: number) => void): void | (callback: (node: ChildNode, index: number) => boolean): boolean(callback: (node: ChildNode, index: number) => false | void): false | undefined
AtRule.warn(result: Result, text: string, opts?: WarningOptions | undefined): void(result: Result_<Root_ | Document_>, message: string, options?: WarningOptions | undefined): Warning_
AtRule.after(newNode: string | object | Node | Node[]): AtRule(newNode: string | Node | ChildProps | readonly Node[] | undefined): AtRule_
AtRule.clone(overrides?: object | undefined): AtRule(overrides?: Partial<AtRuleProps> | undefined): AtRule_
AtRule.error(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError_
AtRule.every(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean(condition: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean
AtRule.append(...nodes: (string | object | Node)[]): AtRule(...nodes: NewChild[]): AtRule_
AtRule.before(newNode: string | object | Node | Node[]): AtRule(newNode: string | Node | ChildProps | readonly Node[] | undefined): AtRule_
AtRule.parentContainerContainerWithChildren | undefined
AtRule.remove(): AtRule(): AtRule_
AtRule.sourceNodeSource | undefinedSource | undefined
AtRule.prepend(...nodes: (string | object | Node)[]): AtRule(...nodes: NewChild[]): AtRule_
AtRule.toString(stringifier?: Stringifier | Syntax | undefined): string(stringifier?: Stringifier | Syntax<Root_ | Document_> | undefined): string
AtRule.removeAll(): AtRule(): AtRule_
AtRule.walkDecls(propFilter: string | RegExp, callback: (decl: Declaration, index: number) => void): void | (callback: (decl: Declaration, index: number) => void): void | (propFilter: string | RegExp, callback: (decl: Declaration, index: number) => boolean): boolean | (callback: (decl: Declaration, index: number) =…(propFilter: string | RegExp, callback: (decl: Declaration_, index: number) => false | void): false | undefined | (callback: (decl: Declaration_, index: number) => false | void): false | undefined
AtRule.walkRules(selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => void): void | (callback: (atRule: Rule, index: number) => void): void | (selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => boolean): boolean | (callback: (atRule: Rule, index: number) => boolean): …(selectorFilter: string | RegExp, callback: (rule: Rule_, index: number) => false | void): false | undefined | (callback: (rule: Rule_, index: number) => false | void): false | undefined
AtRule.cloneAfter(overrides?: object | undefined): AtRule(overrides?: Partial<AtRuleProps> | undefined): AtRule_
AtRule.cloneBefore(overrides?: object | undefined): AtRule(overrides?: Partial<AtRuleProps> | undefined): AtRule_
AtRule.insertAfter(oldNode: number | ChildNode, newNode: string | object | ChildNode): AtRule(oldNode: number | ChildNode, newNode: NewChild): AtRule_
AtRule.removeChild(child: number | ChildNode): AtRule(child: number | ChildNode): AtRule_
AtRule.replaceWith(...nodes: (object | Node)[]): AtRule(...nodes: NewChild[]): AtRule_
AtRule.walkAtRules(nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => void): void | (callback: (atRule: AtRule, index: number) => void): void | (nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => boolean): boolean | (callback: (atRule: AtRule, index: number) => boolean): …(nameFilter: string | RegExp, callback: (atRule: AtRule_, index: number) => false | void): false | undefined | (callback: (atRule: AtRule_, index: number) => false | void): false | undefined
AtRule.insertBefore(oldNode: number | ChildNode, newNode: string | object | ChildNode): AtRule(oldNode: number | ChildNode, newNode: NewChild): AtRule_
AtRule.walkComments(callback: (comment: Comment, indexed: number) => void): void | (callback: (comment: Comment, indexed: number) => boolean): boolean(callback: (comment: Comment_, indexed: number) => false | void): false | undefined
AtRule.replaceValues(pattern: string | RegExp, options: { props?: string[] | undefined; fast?: string | undefined; }, callbackOrReplaceValue: string | ((substring: string, ...args: any[]) => string)): AtRule | (pattern: string | RegExp, callbackOrReplaceValue: string | ((substring: string, ...args: any[]) => string)): …(pattern: string | RegExp, replaced: string | ((substring: string, ...args: any[]) => string)): AtRule_ | (pattern: string | RegExp, options: ValueOptions, replaced: string | ((substring: string, ...args: any[]) => string)): AtRule_
Plugin.postcssPluginstring | undefinedstring
Result.mapResultMapany
Result.optsResultOptions | undefinedResultOptions
Result.rootRoot | undefinedRootNode
Result.warn(message: string, options?: WarningOptions | undefined): void(message: string, options?: WarningOptions | undefined): Warning_
Result.messagesResultMessage[]Message[]
Result.warnings(): Warning[](): Warning_[]
Result.processorProcessor | undefinedProcessor_
Syntax.parseParser | undefinedParser<RootNode> | undefined
Comment.rawsNodeRawsCommentRaws
Comment.root(): Root(): Root_
Comment.warn(result: Result, text: string, opts?: WarningOptions | undefined): void(result: Result_<Root_ | Document_>, message: string, options?: WarningOptions | undefined): Warning_
Comment.after(newNode: string | object | Node | Node[]): Comment(newNode: string | Node | ChildProps | readonly Node[] | undefined): Comment_
Comment.clone(overrides?: object | undefined): Comment(overrides?: Partial<CommentProps> | undefined): Comment_
Comment.error(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError_
Comment.before(newNode: string | object | Node | Node[]): Comment(newNode: string | Node | ChildProps | readonly Node[] | undefined): Comment_
Comment.parentContainerContainer_<ChildNode> | undefined
Comment.remove(): Comment(): Comment_
Comment.sourceNodeSource | undefinedSource | undefined
Comment.toString(stringifier?: Stringifier | Syntax | undefined): string(stringifier?: Stringifier | Syntax<Root_ | Document_> | undefined): string
Comment.cloneAfter(overrides?: object | undefined): Comment(overrides?: Partial<CommentProps> | undefined): Comment_
Comment.cloneBefore(overrides?: object | undefined): Comment(overrides?: Partial<CommentProps> | undefined): Comment_
Comment.replaceWith(...nodes: (object | Node)[]): Comment(...nodes: NewChild[]): Comment_
Processor.use(plugin: AcceptedPlugin): Processor(plugin: AcceptedPlugin): Processor_
Processor.pluginsPlugin<any>[](Plugin | TransformCallback | Transformer)[]
Processor.process(css: Root | Result | LazyResult | ParserInput, options?: ProcessOptions | undefined): LazyResult(css: string | Root_ | Result_<Root_ | Document_> | { toString(): string; } | LazyResult_<Root_ | Document_>): LazyResult_<Root_ | Document_> | NoWorkResult_ | <RootNode extends Document | Root = Root_>(css: string | Root_ | Result_<Root_ | Document_> | LazyResult_<Root_ | Document_> | { toString():…
LazyResult.mapResultMapany
LazyResult.rootRootRootNode
LazyResult.then<TResult1 = Result, TResult2 = never>(onfulfilled?: ((value: Result) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2><TResult1 = Result_<RootNode>, TResult2 = never>(onfulfilled?: ((value: Result_<RootNode>) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>
LazyResult.catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<Result | TResult><TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<Result_<RootNode> | TResult>
LazyResult.messagesResultMessage[]Message[]
LazyResult.warnings(): Warning[](): Warning_[]
LazyResult.processorProcessorProcessor_
Declaration.rawsNodeRawsDeclarationRaws
Declaration.root(): Root(): Root_
Declaration.warn(result: Result, text: string, opts?: WarningOptions | undefined): void(result: Result_<Root_ | Document_>, message: string, options?: WarningOptions | undefined): Warning_
Declaration.after(newNode: string | object | Node | Node[]): Declaration(newNode: string | Node | ChildProps | readonly Node[] | undefined): Declaration_
Declaration.clone(overrides?: object | undefined): Declaration(overrides?: Partial<DeclarationProps> | undefined): Declaration_
Declaration.error(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError(message: string, options?: NodeErrorOptions | undefined): CssSyntaxError_
Declaration.before(newNode: string | object | Node | Node[]): Declaration(newNode: string | Node | ChildProps | readonly Node[] | undefined): Declaration_
Declaration.parentContainerContainerWithChildren | undefined
Declaration.remove(): Declaration(): Declaration_
Declaration.sourceNodeSource | undefinedSource | undefined
Declaration.toString(stringifier?: Stringifier | Syntax | undefined): string(stringifier?: Stringifier | Syntax<Root_ | Document_> | undefined): string
Declaration.cloneAfter(overrides?: object | undefined): Declaration(overrides?: Partial<DeclarationProps> | undefined): Declaration_
Declaration.cloneBefore(overrides?: object | undefined): Declaration(overrides?: Partial<DeclarationProps> | undefined): Declaration_
Declaration.replaceWith(...nodes: (object | Node)[]): Declaration(...nodes: NewChild[]): Declaration_
Transformer.postcssPluginstring | undefinedstring
Transformer.postcssVersionstring | undefinedstring
CssSyntaxError.namestring"CssSyntaxError"
CssSyntaxError.inputInputOrigin | undefinedFilePosition | undefined
ProcessOptions.parserParser | undefinedParser<RootNode> | Syntax<RootNode> | undefined
ProcessOptions.syntaxSyntax | undefinedSyntax<RootNode> | undefined
ProcessOptions.stringifierStringifier | undefinedStringifier | Syntax<RootNode> | undefined
SourceMapOptions.prevanystring | boolean | object | ((file: string) => string) | undefined
SourceMapOptions.annotationstring | boolean | undefinedstring | boolean | ((file: string, root: Root_) => string) | undefined

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node>=6.0.0^10 || ^12 || >=14
New exports (25)
importexportkind
postcssSourceinterface
postcssAnyNodetype
postcssHelperstype
postcssMessageinterface
postcssPostcsstype
postcssdefaultfunction
postcssDocumentclass
postcssNewChildtype
postcssPositioninterface
postcssdocumentfunction
postcssfromJSONvariable
postcssNodePropsinterface
postcssOldPlugininterface
postcssRootPropsinterface
postcssRulePropstype
postcssSourceMaptype
postcssChildPropstype
postcssAtRulePropsinterface
postcssCommentPropsinterface
postcssFilePositioninterface
postcssJSONHydratorinterface
postcssDocumentPropsinterface
postcssPluginCreatorinterface
postcssContainerPropsinterface
postcssDeclarationPropsinterface

Frequently asked questions

What are the breaking changes when upgrading postcss from 7 to 8?

Between postcss 7.0.39 and 8.5.28, Vigia found 31 removed exports, 23 changed signatures and 157 removed or changed class or interface members.

What became deprecated in postcss 8?

0 exports or members are newly marked as deprecated in postcss 8.5.28.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/postcss/upgrade?from=7.0.39&to=8.5.28