-
Notifications
You must be signed in to change notification settings - Fork 0
develop #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Replace css-tree with @eslint/css-tree v3.6.6 - Add var() detection to skip validation for CSS custom properties - Update all imports across 8 files - Fix TypeScript types for walk() callbacks - Remove @types/css-tree dependency Resolves issue where properties containing var() would report validation errors even though expansion was successful. CSS variables are runtime values that cannot be validated at parse time.
- Update bundle size: ~68KB (ESM), ~73KB (CJS) minified + brotli - Remove css-tree from installation (now bundled dependency) - Update test count: 973 tests - Update acknowledgments to @eslint/css-tree - Add accurate performance metrics
- Keep @eslint/css-tree link to upstream repo - Add b_values link for CSS value expansion/validation work
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates the CSS parsing dependency from css-tree to @eslint/css-tree v3.6.6 and adds support for CSS custom properties (variables using var()). The migration resolves validation errors that occurred when CSS variables were present in property values.
Key Changes:
- Replaced
css-treewith@eslint/css-treeas a bundled dependency (moved from peerDependencies to dependencies) - Added
containsVar()function to detect and skip validation for CSS custom properties since they cannot be validated at parse time - Fixed TypeScript types for
csstree.walk()callbacks across 8 files to use proper type guards
Reviewed Changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| package.json | Moved @eslint/css-tree from peerDependencies to dependencies; removed @types/css-tree devDependency |
| pnpm-lock.yaml | Updated package resolutions for @eslint/css-tree v3.6.6 and mdn-data v2.23.0 |
| src/core/validate.ts | Added containsVar() function to detect CSS variables and skip validation; updated import to @eslint/css-tree |
| src/internal/layer-parser-utils.ts | Updated import and fixed walk() callback type from csstree.Value to csstree.CssNode with type guard |
| src/internal/is-value-node.ts | Updated import to @eslint/css-tree |
| src/handlers/transition/transition-layers.ts | Updated import and fixed walk() callback type with proper type guard |
| src/handlers/mask/mask-layers.ts | Updated import and fixed walk() callback type with proper type guard |
| src/handlers/grid/expand.ts | Updated import and fixed walk() callback type with proper type guard |
| src/handlers/background/background-layers.ts | Updated import and fixed walk() callback type with proper type guard |
| src/handlers/animation/animation-layers.ts | Updated import and fixed walk() callback type with proper type guard |
| README.md | Updated bundle sizes, installation instructions (removed css-tree requirement), test count, and acknowledgments |
| docs.llm/llm_src.txt | Synchronized with source code changes across all modified files |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fix: migrate to @eslint/css-tree to support CSS variables (var())
Resolves issue where properties containing var() would report validation
errors even though expansion was successful. CSS variables are runtime
values that cannot be validated at parse time.
docs: update bundle sizes and dependencies in README
docs: update comment to reference @eslint/css-tree
docs: link to b_values fork in acknowledgments
docs: add separate acknowledgment for b_values