Thanks to visit codestin.com
Credit goes to github.com

Skip to content

☂️ CSS Parser #268

@ematipico

Description

@ematipico

Description

This is an umbrella issue to track the works of the CSS parser.

The lexer of the CSS parser should be ready, so now it's time to start working on the parser itself.

We should already have a basic syntax, although it's possible that some grammar or cases are not covered, so it's highly* suggested to always make sure we have to nodes to represent a specific grammar.

Resources:

Let's remember that Biome parser needs to be recoverable, so we have to consider invalid cases and ensure that the parser can recover itself and resume parsing in a fancy matter.

How to contribute

Before starting, please wait for us to implement the testing infrastructure. In the meantime, you can take a look at the JS parser and JSON parser to understand how the parsing works, the internal APIs, the recovery system, etc.

In this very issue, add a comment saying you want to work on a specific task(s). We will create the issue for you and eventually assign it to:

Note

In order to have the issue assigned to you, you must comment on the issue.,

Prior work

You can the previous Rome's (TS) implementation of the parser: https://github.com/rome/tools/blob/archived-js/internal/css-parser/parser/rules.ts

Before starting

  • Create a new test infrastructure for the CSS parser
  • Write instructions to run the CSS test infra

CSS parser tasks

Parsing at-rules

At-rules are very strict, and they have a determined syntax. Let us adhere to that.

Ideas

... more to come

Metadata

Metadata

Labels

A-ParserArea: parserL-CSSLanguage: CSSS-Help-wantedStatus: you're familiar with the code base and want to help the project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions