All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fork from Adobe's
@adobe/css-toolslibrary to@node-projects/css-toolspackage - Only ESM code in package
- Add
preserveFormattingparser option to insert whitespace AST nodes and store raw formatting properties for identity round-trip - Add
CssTypes.whitespacenode type (CssWhitespaceAST) to represent whitespace between sibling nodes - Add
identitycompiler option to reproduce original CSS exactly as parsed (round-trip fidelity), with support for AST modifications - Add
removeEmptyRulescompiler option to strip rules with empty declaration blocks - Add raw formatting properties:
rawPrelude,rawBetween,rawValue,rawSourceon relevant AST nodes - Export
CompilerOptions,ParseOptions, andCssWhitespaceASTtypes from the public API
- Switch from yarn to npm for package management
- Switch from eslint to biome for code formatting and linting
- Reformat codebase to comply with biome recommendations
- Switch from webpack to rollup for bundling
- Fix module exports to ensure proper compatibility with bundlers
- Add validation check to prevent future export issues
- Fix polynomial regular expression vulnerability on uncontrolled data
- Refactor code to enable GitHub security static analysis
- Improve parsing performance with minor optimizations
- Replace regex patterns with string search (indexOf-based) for better performance
- Add new utility functions with comprehensive unit tests
- Add improved formatting for CSS Grid template areas (#283 by @jogibear9988)
- Fix TypeScript error with ConstructorParameters in Parcel bundler (#444)
- Fix regular expression for parsing quoted values in parentheses
- Add support for CSS
@starting-styleat-rule (#319)
- Update package export configuration (#271)
- Fix ReDoS vulnerability with crafted CSS strings - CVE-2023-48631
- Fix parsing issues with
:is()and nested:nth-child()selectors (#211)
- Fix ReDoS vulnerability with crafted CSS strings - CVE-2023-26364
- Update build toolchain and dependencies
- Update package exports configuration and file structure
- Add support for CSS
@containerat-rule - Add support for CSS
@layerat-rule
- Add support for ES Modules (ESM)
- Fix
@importparsing when URL contains semicolons (#71) - Fix regression in selector parsing for attribute selectors (#77)
- Fix
globalThisconfiguration for webpack to enable UMD module usage in Node.js environments
- Fork from original css library to Adobe's
@adobe/css-toolspackage - Convert codebase from JavaScript to TypeScript
- Improve parsing performance by approximately 25%
- Update all dependencies to latest versions
- Remove source map support
- Bump major version due to major dependency updates and Node.js version requirement changes
- Fix parsing of escaped quotes in quoted strings
- Add
parsingErrorsproperty to list errors when parsing withsilent: true - Accept EOL characters and all whitespace characters in at-rules such as
@media
- Add
inputSourcemapsoption to disable input source map processing - Add
sourcemap: 'generator'option to return theSourceMapGeneratorobject - Use
inheritspackage for inheritance (fixes browser compatibility issues)
- Change error message format and add
.reasonproperty to error objects
- Add non-enumerable parent reference to each AST node
- Add support for
@custom-media,@host, and@font-faceat-rules - Allow commas inside selector functions
- Allow empty property values
- Add
node.position.contentproperty - Integrate css-parse and css-stringify libraries
- Apply original source maps from source files
- Change default
options.positionvalue totrue - Remove comments from properties and values
- Drop Component(1) support
- Fix assertion errors when selectors are missing
- Fix component.json configuration
- Update dependencies
- Update dependencies
- Update dependencies
- Fix component.json configuration
- Update css-stringify dependency
- Add Component support
- Initial release