Skip to content

wrong handling of punctuation between comma separated function calls #91

@papandreou

Description

@papandreou
  • Webpack Version: n/a
  • Operating System (or Browser): Ubuntu Linux 18.10
  • Node Version: 10.16.2
  • postcss-values-parser Version: 3.0.5

How Do We Reproduce?

require('postcss-values-parser').parse('local(foo),local(bar)')

Expected Behavior

Should come out as a func node followed by a punctuation node (the comma) and another func node.

Actual Behavior

Root {
  raws: { semicolon: false, after: '' },
  type: 'root',
  nodes:
   [ Func {
       raws: [Object],
       name: 'local',
       type: 'func',
       isColor: false,
       nodes: [Array],
       parent: [Circular],
       source: [Object],
       params: '(foo)' },
     Func {
       raws: [Object],
       name: ',local', // <-- that comma should have been its own token
       type: 'func',
       isColor: false,
       nodes: [Array],
       parent: [Circular],
       source: [Object],
       params: '(bar)' } ],
  source: [...]
}

I haven't done a thorough reading of the CSS syntax module spec, but I'm fairly sure that the spacing around the comma is optional. I've also seen cssnano compress font-family values to omit it between local(...) tokens like these.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions