2.2.3
- Resolves an issue where the parser would not reduce multiple spaces between an
ampersand and another simple selector in lossy mode (thanks to @adam-26).
2.2.2
- No longer hangs on an unescaped semicolon; instead the parser will throw
an exception for these cases.
2.2.1
- Allows a consumer to specify whitespace tokens when creating a new Node
(thanks to @Semigradsky).
2.2.0
- Added a new option to normalize whitespace when parsing the selector string
(thanks to @adam-26).
2.1.1
- Better unquoted value handling within attribute selectors
(thanks to @evilebottnawi).
2.1.0
- Added: Use string constants for all node types & expose them on the main
parser instance (thanks to @Aweary).
# 2.0.0
This release contains the following breaking changes:
- Renamed all
eachInside
iterators to walk
. For example, eachTag
is now
walkTags
, and eachInside
is now walk
.
- Renamed
Node#removeSelf()
to Node#remove()
.
- Renamed
Container#remove()
to Container#removeChild()
.
- Renamed
Node#raw
to Node#raws
(thanks to @davidtheclark).
- Now parses
&
as the nesting selector, rather than a tag selector.
- Fixes misinterpretation of Sass interpolation (e.g.
#{foo}
) as an
id selector (thanks to @davidtheclark).
and;
- Fixes parsing of attribute selectors with equals signs in them
(e.g.
[data-attr="foo=bar"]
) (thanks to @montmanu).
- Adds
quoted
and raw.unquoted
properties to attribute nodes
(thanks to @davidtheclark).
1.3.3
- Fixes an infinite loop on
)
and ]
tokens when they had no opening pairs.
Now postcss-selector-parser will throw when it encounters these lone tokens.
# 1.3.2
- Now uses plain integers rather than
str.charCodeAt(0)
for compiled builds.
1.3.1
- Update flatten to v1.x (thanks to @shinnn).
1.3.0
- Adds a new node type,
String
, to fix a crash on selectors such as
foo:bar("test")
.
1.2.1
- Fixes a crash when the parser encountered a trailing combinator.
1.2.0
- A more descriptive error is thrown when the parser expects to find a
pseudo-class/pseudo-element (thanks to @ashelley).
- Adds support for line/column locations for selector nodes, as well as a
Node#sourceIndex
method (thanks to @davidtheclark).
1.1.4
- Fixes a crash when a selector started with a
>
combinator. The module will
now no longer throw if a selector has a leading/trailing combinator node.
1.1.3
- Fixes a crash on
@
tokens.
1.1.2
- Fixes an infinite loop caused by using parentheses in a non-pseudo element
context.
1.1.1
- Fixes a crash when a backslash ended a selector string.
1.1.0
- Adds support for replacing multiple nodes at once with
replaceWith
(thanks to @jonathantneal).
- Parser no longer throws on sequential IDs and trailing commas, to support
parsing of selector hacks.
1.0.1
- Fixes using
insertAfter
and insertBefore
during iteration.
1.0.0
- Adds
clone
and replaceWith
methods to nodes.
- Adds
insertBefore
and insertAfter
to containers.
- Stabilises API.
0.0.5
- Fixes crash on extra whitespace inside a pseudo selector's parentheses.
- Adds sort function to the container class.
- Enables the parser to pass its input through without transforming.
- Iteration-safe
each
and eachInside
.
0.0.4
- Tidy up redundant duplication.
- Fixes a bug where the parser would loop infinitely on universal selectors
inside pseudo selectors.
- Adds
length
getter and eachInside
, map
, reduce
to the container class.
- When a selector has been removed from the tree, the root node will no longer
cast it to a string.
- Adds node type iterators to the container class (e.g.
eachComment
).
- Adds filter function to the container class.
- Adds split function to the container class.
- Create new node types by doing
parser.id(opts)
etc.
- Adds support for pseudo classes anywhere in the selector.
0.0.3
- Adds
next
and prev
to the node class.
- Adds
first
and last
getters to the container class.
- Adds
every
and some
iterators to the container class.
- Add
empty
alias for removeAll
.
- Combinators are now types of node.
- Fixes the at method so that it is not an alias for
index
.
- Tidy up creation of new nodes in the parser.
- Refactors how namespaces are handled for consistency & less redundant code.
- Refactors AST to use
nodes
exclusively, and eliminates excessive nesting.
- Fixes nested pseudo parsing.
- Fixes whitespace parsing.
0.0.2
- Adds support for namespace selectors.
- Adds support for selectors joined by escaped spaces - such as
.\31\ 0
.
0.0.1