aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/@csstools/css-syntax-patches-for-csstree/README.md
blob: 00e214f6290b6cdefa4d4b7e4851c8da4f823486 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# CSS Syntax Patches For CSSTree <img src="https://cssdb.org/images/css.svg" alt="for CSS" width="90" height="90" align="right">

[<img alt="npm version" src="https://img.shields.io/npm/v/@csstools/css-syntax-patches-for-csstree.svg" height="20">][npm-url]
[<img alt="Build Status" src="https://github.com/csstools/postcss-plugins/actions/workflows/test.yml/badge.svg?branch=main" height="20">][cli-url]

Patch [csstree](https://github.com/csstree/csstree) syntax definitions with the latest data from CSS specifications.  

## Usage

```bash
npm install @csstools/css-syntax-patches-for-csstree
```

```js
import { fork } from 'css-tree';
import syntax_patches from '@csstools/css-syntax-patches-for-csstree' with { type: 'json' };

const forkedLexer = fork({
	atrules: syntax_patches.next.atrules,
	properties: syntax_patches.next.properties,
	types: syntax_patches.next.types,
}).lexer;
```

## `next`

```js
import syntax_patches from '@csstools/css-syntax-patches-for-csstree' with { type: 'json' };

console.log(syntax_patches.next);
//                         ^^^^
```

CSS specifications are often still in flux and various parts might change or disappear altogether.  
Specifications also contains parts that haven't been implemented yet in a browser.  
Only CSS that is widely adopted can be expected to be stable.

The `next` grouping contains a combination of what is currently valid in browsers and the progress in various specifications.

_In the future more groupings might be added._

[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test
[npm-url]: https://www.npmjs.com/package/@csstools/css-syntax-patches-for-csstree