Skip to content

Upgrading postcss 6 to 7

Review needed6.0.23 → 7.0.39Security3New6Changed5Fixed21Other6

Review neededUpgrade verdict

5 changed defaults and 3 security fixes.

  • Backport ReDoS vulnerabilities from PostCSS 8.
  • Regular Expression Denial of Service in postcss
  • Regular Expression Denial of Service in postcss
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).

Security3
Backport ReDoS vulnerabilities from PostCSS 8.
Regular Expression Denial of Service in postcss
Moderate · CVSS 5.3
Regular Expression Denial of Service in postcss
Moderate · CVSS 5.3

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 }