Upgrading postcss 6 to 7
Review needed6.0.23 → 7.0.39Security3New6Changed5Fixed21Other6
Review neededUpgrade verdict
5 changed defaults and 3 security fixes.
In plain terms
- Backport ReDoS vulnerabilities from PostCSS 8.
- Regular Expression Denial of Service in postcss
- Regular Expression Denial of Service in postcss
Must act 3 items need code or config changes
Node.js requirement changed in 7.0.0: >=4.0.0 → >=6.0.0.
Adds picocolors ^0.2.1.
Drops chalk, supports-color.
Installs 2 packages in all (was 8).
What you must change
Security3
Backport ReDoS vulnerabilities from PostCSS 8.
Regular Expression Denial of Service in postcss
Moderate · CVSS 5.3Regular Expression Denial of Service in postcss
Moderate · CVSS 5.3API changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- removed:
call postcss.Parse(css?: string, opts?: postcss.SourceMapOptions): Root - removed:
call postcss.Stringifier.Builder(str: string, node?: Node, str2?: string): void - removed:
call postcss.Stringify(node?: postcss.Node, builder?: any): postcss.Result | void - removed:
class postcss.Stringifier - removed:
constructor postcss.Stringifier(builder?: Stringifier.Builder) - removed:
function postcss.parse(css: string | { toString(): string } | LazyResult | Result, options?: { from?: string; map?: postcss.SourceMapOptions }): Root - removed:
function postcss.stringify(node: Node, builder: Stringifier.Builder): void - removed:
interface postcss.Parse - removed:
interface postcss.Stringifier.Builder - removed:
interface postcss.Stringify - removed:
method postcss.LazyResult.catch(onRejected: (error: Error) => void): Function | any - removed:
method postcss.LazyResult.then(onFulfilled: (result: Result) => void, onRejected?: (error: Error) => void): Function | any - removed:
method postcss.Stringifier.atrule(node: any, semicolon: any): void - removed:
method postcss.Stringifier.beforeAfter(node: any, detect: any): any - removed:
method postcss.Stringifier.block(node: any, start: any): void - removed:
method postcss.Stringifier.body(node: any): void - removed:
method postcss.Stringifier.comment(node: any): void - removed:
method postcss.Stringifier.decl(node: any, semicolon: any): void - removed:
method postcss.Stringifier.raw(node: Node, own: string, detect?: string): any - removed:
method postcss.Stringifier.rawBeforeClose(root: any): any - removed:
method postcss.Stringifier.rawBeforeComment(root: any, node: any): any - removed:
method postcss.Stringifier.rawBeforeDecl(root: any, node: any): any - removed:
method postcss.Stringifier.rawBeforeOpen(root: any): any - removed:
method postcss.Stringifier.rawBeforeRule(root: any): any - removed:
method postcss.Stringifier.rawColon(root: any): any - removed:
method postcss.Stringifier.rawEmptyBody(root: any): any - removed:
method postcss.Stringifier.rawIndent(root: any): any - removed:
method postcss.Stringifier.rawSemicolon(root: any): any - removed:
method postcss.Stringifier.rawValue(node: any, prop: any): any - removed:
method postcss.Stringifier.root(node: any): void - removed:
method postcss.Stringifier.rule(node: any): void - removed:
method postcss.Stringifier.stringify(node: Node, semicolon?: boolean): void - removed:
namespace postcss.Stringifier - removed:
property postcss.ProcessOptions.safe?: boolean - removed:
property postcss.ResultMessage.browsers?: string[] - removed:
property postcss.ResultMessage.text?: string - removed:
property postcss.SourceMapOptions.safe?: boolean - removed:
property postcss.Stringifier.builder: Stringifier.Builder - changed:
call postcss.TransformCallback(root: Root, result?: Result): void | Function | any → call postcss.TransformCallback(root: Root, result: Result): Promise<any> | any - changed:
interface postcss.ProcessOptions extends Syntax → interface postcss.ProcessOptions - changed:
method postcss.ContainerBase.each(callback: (node: ChildNode, index: number) => any): boolean | void → method postcss.ContainerBase.each(callback: (node: ChildNode, index: number) => boolean): boolean - changed:
method postcss.ContainerBase.every(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => any, thisArg?: any): boolean → method postcss.ContainerBase.every(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean - changed:
method postcss.ContainerBase.some(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean, thisArg?: any): boolean → method postcss.ContainerBase.some(callback: (node: ChildNode, index: number, nodes: ChildNode[]) => boolean): boolean - changed:
method postcss.ContainerBase.walk(callback: (node: ChildNode, index: number) => any): boolean | void → method postcss.ContainerBase.walk(callback: (node: ChildNode, index: number) => boolean): boolean - changed:
method postcss.ContainerBase.walkAtRules(callback: (atRule: AtRule, index: number) => any): boolean | void → method postcss.ContainerBase.walkAtRules(callback: (atRule: AtRule, index: number) => boolean): boolean - changed:
method postcss.ContainerBase.walkAtRules(nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => any): boolean | void → method postcss.ContainerBase.walkAtRules(callback: (atRule: AtRule, index: number) => void): void - changed:
method postcss.ContainerBase.walkComments(callback: (comment: Comment, indexed: number) => any): void | boolean → method postcss.ContainerBase.walkComments(callback: (comment: Comment, indexed: number) => boolean): boolean - changed:
method postcss.ContainerBase.walkDecls(callback: (decl: Declaration, index: number) => any): boolean | void → method postcss.ContainerBase.walkDecls(callback: (decl: Declaration, index: number) => boolean): boolean - changed:
method postcss.ContainerBase.walkDecls(propFilter: string | RegExp, callback?: (decl: Declaration, index: number) => any): boolean | void → method postcss.ContainerBase.walkDecls(callback: (decl: Declaration, index: number) => void): void - changed:
method postcss.ContainerBase.walkRules(callback: (atRule: Rule, index: number) => any): boolean | void → method postcss.ContainerBase.walkRules(callback: (atRule: Rule, index: number) => boolean): boolean - changed:
method postcss.ContainerBase.walkRules(selectorFilter: any, callback?: (atRule: Rule, index: number) => any): boolean | void → method postcss.ContainerBase.walkRules(callback: (atRule: Rule, index: number) => void): void - changed:
method postcss.ContainerBase.walkRules(selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => any): boolean | void → method postcss.ContainerBase.walkRules(selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => boolean): boolean - changed:
method postcss.Input.origin(line: number, column: number): InputOrigin → method postcss.Input.origin(line: number, column: number): InputOrigin | false - changed:
method postcss.LazyResult.warnings(): ResultMessage[] → method postcss.LazyResult.warnings(): Warning[] - changed:
method postcss.NodeBase.next(): ChildNode | void → method postcss.NodeBase.next(): ChildNode | undefined - changed:
method postcss.NodeBase.prev(): ChildNode | void → method postcss.NodeBase.prev(): ChildNode | undefined - changed:
method postcss.NodeBase.raw(prop: string, defaultType?: string): any → method postcss.NodeBase.raw(prop: string, defaultType?: string): string - changed:
method postcss.NodeBase.toString(): string → method postcss.NodeBase.toString(stringifier?: Stringifier | Syntax): string - changed:
method postcss.Processor.process(css: string | { toString(): string } | Result, options?: ProcessOptions): LazyResult → method postcss.Processor.process(css: ParserInput | Result | LazyResult | Root, options?: ProcessOptions): LazyResult - changed:
method postcss.Result.warnings(): ResultMessage[] → method postcss.Result.warnings(): Warning[] - changed:
property postcss.Input.file: string → property postcss.Input.file?: string - changed:
property postcss.Input.id: string → property postcss.Input.id?: string - changed:
property postcss.NodeBase.source: NodeSource → property postcss.NodeBase.source?: NodeSource - changed:
property postcss.Plugin.process: (css: string | { toString(): string } | Result, opts?: any) => LazyResult → property postcss.Plugin.process: (css: string | { toString(): string } | Result, processOpts?: ProcessOptions, pluginOpts?: T) => LazyResult - changed:
property postcss.ProcessOptions.map?: postcss.SourceMapOptions → property postcss.ProcessOptions.map?: SourceMapOptions | boolean - changed:
property postcss.ProcessOptions.parser?: Parse | Syntax → property postcss.ProcessOptions.parser?: Parser - changed:
property postcss.ProcessOptions.stringifier?: Stringify | Syntax → property postcss.ProcessOptions.stringifier?: Stringifier - changed:
property postcss.ResultMessage.plugin?: string → property postcss.ResultMessage.plugin: string - changed:
property postcss.Rule.selectors?: string[] → property postcss.Rule.selectors: string[] - changed:
property postcss.SourceMapOptions.annotation?: boolean | string → property postcss.SourceMapOptions.annotation?: string | boolean - changed:
property postcss.Syntax.parse?: Parse → property postcss.Syntax.parse?: Parser - changed:
property postcss.Syntax.stringify?: Stringify → property postcss.Syntax.stringify?: Stringifier - added:
call postcss.Builder(part: string, node?: Node, type?: 'start' | 'end'): void - added:
call postcss.Parser(css: ParserInput, opts?: Pick<ProcessOptions, 'map' | 'from'>): Root - added:
call postcss.Stringifier(node: Node, builder: Builder): void - added:
const postcss.parse: Parser - added:
const postcss.stringify: Stringifier - added:
index postcss.ResultMessage[others: string]: any - added:
interface postcss.Builder - added:
interface postcss.Parser - added:
interface postcss.Stringifier - added:
method postcss.ContainerBase.each(callback: (node: ChildNode, index: number) => void): void - added:
method postcss.ContainerBase.walk(callback: (node: ChildNode, index: number) => void): void - added:
method postcss.ContainerBase.walkAtRules(nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => boolean): boolean - added:
method postcss.ContainerBase.walkAtRules(nameFilter: string | RegExp, callback: (atRule: AtRule, index: number) => void): void - added:
method postcss.ContainerBase.walkComments(callback: (comment: Comment, indexed: number) => void): void - added:
method postcss.ContainerBase.walkDecls(propFilter: string | RegExp, callback: (decl: Declaration, index: number) => boolean): boolean - added:
method postcss.ContainerBase.walkDecls(propFilter: string | RegExp, callback: (decl: Declaration, index: number) => void): void - added:
method postcss.ContainerBase.walkRules(selectorFilter: string | RegExp, callback: (atRule: Rule, index: number) => void): void - added:
method postcss.PreviousMap.getAnnotationURL(sourceMapString: string): string - added:
property postcss.Input.hasBOM: boolean - added:
property postcss.LazyResult.catch: Promise<Result>['catch'] - added:
property postcss.LazyResult.then: Promise<Result>['then'] - added:
property postcss.SourceMapOptions.from?: string - added:
type postcss.ParserInput = string | { toString(): string }