refactor: Still trying to reorganize edit mode to be more robust
Some checks failed
Test Suite / code-quality (push) Has been cancelled
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Some checks failed
Test Suite / code-quality (push) Has been cancelled
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
This commit is contained in:
9
node_modules/@csstools/css-parser-algorithms/CHANGELOG.md
generated
vendored
Normal file
9
node_modules/@csstools/css-parser-algorithms/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changes to CSS Parser Algorithms
|
||||
|
||||
### 3.0.5
|
||||
|
||||
_May 27, 2025_
|
||||
|
||||
- Updated [`@csstools/css-tokenizer`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer) to [`3.0.4`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer/CHANGELOG.md#304) (patch)
|
||||
|
||||
[Full CHANGELOG](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md)
|
||||
20
node_modules/@csstools/css-parser-algorithms/LICENSE.md
generated
vendored
Normal file
20
node_modules/@csstools/css-parser-algorithms/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright 2022 Romain Menke, Antonio Laguna <antonio@laguna.es>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
119
node_modules/@csstools/css-parser-algorithms/README.md
generated
vendored
Normal file
119
node_modules/@csstools/css-parser-algorithms/README.md
generated
vendored
Normal file
@@ -0,0 +1,119 @@
|
||||
# CSS Parser Algorithms <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-parser-algorithms.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]
|
||||
[<img alt="Discord" src="https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white">][discord]
|
||||
|
||||
Implemented from : https://www.w3.org/TR/2021/CRD-css-syntax-3-20211224/
|
||||
|
||||
## API
|
||||
|
||||
[Read the API docs](./docs/css-parser-algorithms.md)
|
||||
|
||||
## Usage
|
||||
|
||||
Add [CSS Parser Algorithms] to your project:
|
||||
|
||||
```bash
|
||||
npm install @csstools/css-parser-algorithms @csstools/css-tokenizer --save-dev
|
||||
```
|
||||
|
||||
[CSS Parser Algorithms] only accepts tokenized CSS.
|
||||
It must be used together with `@csstools/css-tokenizer`.
|
||||
|
||||
|
||||
```js
|
||||
import { tokenizer, TokenType } from '@csstools/css-tokenizer';
|
||||
import { parseComponentValue } from '@csstools/css-parser-algorithms';
|
||||
|
||||
const myCSS = `@media only screen and (min-width: 768rem) {
|
||||
.foo {
|
||||
content: 'Some content!' !important;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const t = tokenizer({
|
||||
css: myCSS,
|
||||
});
|
||||
|
||||
const tokens = [];
|
||||
|
||||
{
|
||||
while (!t.endOfFile()) {
|
||||
tokens.push(t.nextToken());
|
||||
}
|
||||
|
||||
tokens.push(t.nextToken()); // EOF-token
|
||||
}
|
||||
|
||||
const options = {
|
||||
onParseError: ((err) => {
|
||||
throw err;
|
||||
}),
|
||||
};
|
||||
|
||||
const result = parseComponentValue(tokens, options);
|
||||
|
||||
console.log(result);
|
||||
```
|
||||
|
||||
### Available functions
|
||||
|
||||
- [`parseComponentValue`](https://www.w3.org/TR/css-syntax-3/#parse-component-value)
|
||||
- [`parseListOfComponentValues`](https://www.w3.org/TR/css-syntax-3/#parse-list-of-component-values)
|
||||
- [`parseCommaSeparatedListOfComponentValues`](https://www.w3.org/TR/css-syntax-3/#parse-comma-separated-list-of-component-values)
|
||||
|
||||
### Utilities
|
||||
|
||||
#### `gatherNodeAncestry`
|
||||
|
||||
The AST does not expose the entire ancestry of each node.
|
||||
The walker methods do provide access to the current parent, but also not the entire ancestry.
|
||||
|
||||
To gather the entire ancestry for a a given sub tree of the AST you can use `gatherNodeAncestry`.
|
||||
The result is a `Map` with the child nodes as keys and the parents as values.
|
||||
This allows you to lookup any ancestor of any node.
|
||||
|
||||
```js
|
||||
import { parseComponentValue } from '@csstools/css-parser-algorithms';
|
||||
|
||||
const result = parseComponentValue(tokens, options);
|
||||
const ancestry = gatherNodeAncestry(result);
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
```ts
|
||||
{
|
||||
onParseError?: (error: ParseError) => void
|
||||
}
|
||||
```
|
||||
|
||||
#### `onParseError`
|
||||
|
||||
The parser algorithms are forgiving and won't stop when a parse error is encountered.
|
||||
Parse errors also aren't tokens.
|
||||
|
||||
To receive parsing error information you can set a callback.
|
||||
|
||||
Parser errors will try to inform you about the point in the parsing logic the error happened.
|
||||
This tells you the kind of error.
|
||||
|
||||
## Goals and non-goals
|
||||
|
||||
Things this package aims to be:
|
||||
- specification compliant CSS parser
|
||||
- a reliable low level package to be used in CSS sub-grammars
|
||||
|
||||
What it is not:
|
||||
- opinionated
|
||||
- fast
|
||||
- small
|
||||
- a replacement for PostCSS (PostCSS is fast and also an ecosystem)
|
||||
|
||||
[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test
|
||||
[discord]: https://discord.gg/bUadyRwkJS
|
||||
[npm-url]: https://www.npmjs.com/package/@csstools/css-parser-algorithms
|
||||
|
||||
[CSS Parser Algorithms]: https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms
|
||||
65
node_modules/@csstools/css-parser-algorithms/package.json
generated
vendored
Normal file
65
node_modules/@csstools/css-parser-algorithms/package.json
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "@csstools/css-parser-algorithms",
|
||||
"description": "Algorithms to help you parse CSS from an array of tokens.",
|
||||
"version": "3.0.5",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Antonio Laguna",
|
||||
"email": "antonio@laguna.es",
|
||||
"url": "https://antonio.laguna.es"
|
||||
},
|
||||
{
|
||||
"name": "Romain Menke",
|
||||
"email": "romainmenke@gmail.com"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/csstools"
|
||||
},
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/csstools"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"type": "module",
|
||||
"main": "dist/index.cjs",
|
||||
"module": "dist/index.mjs",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"default": "./dist/index.cjs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"CHANGELOG.md",
|
||||
"LICENSE.md",
|
||||
"README.md",
|
||||
"dist"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"@csstools/css-tokenizer": "^3.0.4"
|
||||
},
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms#readme",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/csstools/postcss-plugins.git",
|
||||
"directory": "packages/css-parser-algorithms"
|
||||
},
|
||||
"bugs": "https://github.com/csstools/postcss-plugins/issues",
|
||||
"keywords": [
|
||||
"css",
|
||||
"parser"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user