NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #927 most downloaded on npm
Algorithms to help you parse CSS from an array of tokens.
Last release 4 days ago
01 Oct 2026
Release timing varies
gaps range from 8 days to 8 months
Nearly every release is documented
notes for 26 of 26 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
26 releases · first in 2022
One column per quarter.
parseCommaSeparatedListOfComponentValues now emits empty lists for cases like foo,,bar effectively returning 3 lists of component values instead of on
October 1, 2026
parseCommaSeparatedListOfComponentValues now emits empty lists for cases like foo,,bar effectively returning 3 lists of component values instead of only 2.Throw when the nesting depth of functions and simple blocks exceeds the maximum
September 25, 2026
@csstools/css-tokenizer to 4.0.1 (patch)@csstools/css-tokenizer to 4.0.2 (patch)Updated: Support for Node 20.19.0 or later (major).
January 14, 2026
20.19.0 or later (major).commonjs API. In supported Node versions require(esm) will work without needing to make code changes.@csstools/css-tokenizer to 4.0.0 (major)Updated `@csstools/css-tokenizer` to `3.0.4` (patch)
May 27, 2025
@csstools/css-tokenizer to 3.0.4 (patch)Updated `@csstools/css-tokenizer` to `3.0.3` (patch)
November 1, 2024
@csstools/css-tokenizer to 3.0.3 (patch)TokenNode.prototype.isTokenNod()
October 23, 2024
- TokenNode.prototype.isTokenNod()
+ TokenNode.prototype.isTokenNode()
Updated `@csstools/css-tokenizer` to `3.0.2` (patch)
October 10, 2024
@csstools/css-tokenizer to 3.0.2 (patch)Updated `@csstools/css-tokenizer` to `3.0.1` (patch)
August 18, 2024
@csstools/css-tokenizer to 3.0.1 (patch)Updated: Support for Node v18+ (major).
August 3, 2024
@csstools/css-tokenizer to 3.0.0 (major)Updated `@csstools/css-tokenizer` to `2.4.1` (patch)
July 6, 2024
@csstools/css-tokenizer to 2.4.1 (patch)Add isWhiteSpaceOrCommentNode utility function.
June 29, 2024
isWhiteSpaceOrCommentNode utility function.@csstools/css-tokenizer to 2.3.2 (patch)Updated `@csstools/css-tokenizer` to `2.3.1` (patch)
May 4, 2024
@csstools/css-tokenizer to 2.3.1 (patch)Updated `@csstools/css-tokenizer` to `2.3.0` (minor)
May 4, 2024
@csstools/css-tokenizer to 2.3.0 (minor)Updated `@csstools/css-tokenizer` to `2.2.4` (patch)
March 13, 2024
@csstools/css-tokenizer to 2.2.4 (patch)Add support for multiple replacement values in replaceComponentValues
February 19, 2024
replaceComponentValuesAdd a forEach and walk function.
December 31, 2023
forEach and walk function.@csstools/css-tokenizer to 2.2.3 (patch)Only walk child nodes if they are still part of the current AST tree #1202
December 15, 2023
walk child nodes if they are still part of the current AST tree #1202walk methods safe for mutations #1204forEach method to FunctionNode and SimpleBlockNode@csstools/css-tokenizer to 2.2.2 (patch)Updated `@csstools/css-tokenizer` to `2.2.1` (patch)
September 24, 2023
@csstools/css-tokenizer to 2.2.1 (patch)Updated `@csstools/css-tokenizer` to `2.2.0` (minor)
July 24, 2023
@csstools/css-tokenizer to 2.2.0 (minor)Add sourceIndices helper function.
July 3, 2023
sourceIndices helper function.This makes it easier to get the start and end indices of a node in the source string.
This function accepts any node that can be converted into an array of tokens.
This makes it possible pass down information from a parent structure to children. e.g. you can set entry.state.isInCalcExpression = true for calc((10
June 1, 2023
state to walk methods.This makes it possible pass down information from a parent structure to children.
e.g. you can set entry.state.isInCalcExpression = true for calc((10 + 5) / 2) when walking the FunctionNode for calc.
Updated @csstools/css-tokenizer to 2.1.1 (patch)
April 10, 2023
@csstools/css-tokenizer to 2.1.1 (patch)Add replaceComponentValues utility function.
March 25, 2023
replaceComponentValues utility function.stringify utility function.Improve types declaration in package.json
January 28, 2023
types declaration in package.jsonFix: Removes UnclosedFunctionNode and UnclosedSimpleBlockNode. (breaking)
January 19, 2023
UnclosedFunctionNode and UnclosedSimpleBlockNode. (breaking)ParseError interface, this is now a subclass of Error (breaking)nameTokenValue in FunctionNode to getName (breaking)_November 14, 2022_ - Initial version
November 14, 2022
Your coding agent can read these notes before it upgrades. Set up the MCP server →