refactor(css/ast): Refactor types related to selectors (#3460)

This commit is contained in:
Alexander Akait 2022-02-06 07:24:51 +03:00 committed by GitHub
parent be7d5cc4d5
commit cd87d965f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
607 changed files with 19925 additions and 4843 deletions

View File

@ -54,6 +54,9 @@ pub enum CombinatorValue {
/// `~`
LaterSibling,
/// `||`
Column,
}
#[ast_node("NestingSelector")]
@ -61,18 +64,40 @@ pub struct NestingSelector {
pub span: Span,
}
#[ast_node("TypeSelector")]
pub struct TypeSelector {
#[ast_node]
pub enum TypeSelector {
#[tag("TagNameSelector")]
TagName(TagNameSelector),
#[tag("UniversalSelector")]
Universal(UniversalSelector),
}
#[ast_node("TagNameSelector")]
pub struct TagNameSelector {
pub span: Span,
pub name: WqName,
}
#[ast_node("UniversalSelector")]
pub struct UniversalSelector {
pub span: Span,
pub prefix: Option<NsPrefix>,
}
#[ast_node("NsPrefix")]
pub struct NsPrefix {
pub span: Span,
/// If present, this is an identifier or "*" and is followed by a "|"
/// character
pub prefix: Option<Ident>,
/// This is an identifier or "*".
pub name: Ident,
}
#[ast_node("WqName")]
pub struct WqName {
pub span: Span,
pub prefix: Option<NsPrefix>,
pub value: Ident,
}
#[ast_node]
#[derive(Is)]
pub enum SubclassSelector {
#[tag("IdSelector")]
Id(IdSelector),
@ -81,7 +106,7 @@ pub enum SubclassSelector {
Class(ClassSelector),
#[tag("AttributeSelector")]
Attr(AttrSelector),
Attribute(AttributeSelector),
#[tag("PseudoClassSelector")]
PseudoClass(PseudoClassSelector),
@ -93,8 +118,31 @@ pub enum SubclassSelector {
At(AtSelector),
}
#[ast_node("IdSelector")]
pub struct IdSelector {
pub span: Span,
/// Does not include `#`
pub text: Ident,
}
#[ast_node("ClassSelector")]
pub struct ClassSelector {
pub span: Span,
/// Does not include `.`
pub text: Ident,
}
#[ast_node("AttributeSelector")]
pub struct AttributeSelector {
pub span: Span,
pub name: WqName,
pub matcher: Option<AttributeSelectorMatcher>,
pub value: Option<AttributeSelectorValue>,
pub modifier: Option<AttributeSelectorModifier>,
}
#[derive(StringEnum, Clone, Copy, Eq, PartialEq, PartialOrd, Ord, Hash, EqIgnoreSpan)]
pub enum AttrSelectorMatcher {
pub enum AttributeSelectorMatcherValue {
/// `=`
Equals,
@ -114,9 +162,14 @@ pub enum AttrSelectorMatcher {
Asterisk,
}
#[ast_node("AttributeSelectorMatcher")]
pub struct AttributeSelectorMatcher {
pub span: Span,
pub value: AttributeSelectorMatcherValue,
}
#[ast_node]
#[derive(Is)]
pub enum AttrSelectorValue {
pub enum AttributeSelectorValue {
#[tag("String")]
Str(Str),
@ -124,18 +177,34 @@ pub enum AttrSelectorValue {
Ident(Ident),
}
#[ast_node("AttributeSelector")]
pub struct AttrSelector {
#[ast_node("AttributeSelectorModifier")]
pub struct AttributeSelectorModifier {
pub span: Span,
pub value: Ident,
}
#[ast_node("PseudoClassSelector")]
pub struct PseudoClassSelector {
pub span: Span,
pub prefix: Option<Ident>,
pub name: Ident,
pub matcher: Option<AttrSelectorMatcher>,
pub value: Option<AttrSelectorValue>,
pub modifier: Option<char>,
pub children: Option<PseudoSelectorChildren>,
}
#[ast_node("PseudoElementSelector")]
pub struct PseudoElementSelector {
pub span: Span,
pub name: Ident,
pub children: Option<Tokens>,
}
/// Type for `@top-center`. Allowwed in only some contexts.
#[ast_node("AtSelector")]
pub struct AtSelector {
pub span: Span,
pub text: Ident,
}
#[ast_node]
#[derive(Is)]
pub enum PseudoSelectorChildren {
#[tag("Nth")]
Nth(Nth),
@ -161,7 +230,6 @@ pub struct AnPlusB {
}
#[ast_node]
#[derive(Is)]
pub enum NthValue {
#[tag("AnPlusB")]
AnPlusB(AnPlusB),
@ -169,44 +237,3 @@ pub enum NthValue {
#[tag("Ident")]
Ident(Ident),
}
#[ast_node("PseudoClassSelector")]
pub struct PseudoClassSelector {
pub span: Span,
pub name: Ident,
pub children: Option<PseudoSelectorChildren>,
}
#[ast_node("PseudoElementSelector")]
pub struct PseudoElementSelector {
pub span: Span,
pub name: Ident,
pub children: Option<Tokens>,
}
#[ast_node("IdSelector")]
pub struct IdSelector {
pub span: Span,
/// Does not include `#`
pub text: Ident,
}
#[ast_node("ClassSelector")]
pub struct ClassSelector {
pub span: Span,
/// Does not include `.`
pub text: Ident,
}
#[ast_node("TagSelector")]
pub struct TagSelector {
pub span: Span,
pub text: Ident,
}
/// Type for `@top-center`. Allowwed in only some contexts.
#[ast_node("AtSelector")]
pub struct AtSelector {
pub span: Span,
pub text: Ident,
}

View File

@ -1276,7 +1276,7 @@ where
match n {
SubclassSelector::Id(n) => emit!(self, n),
SubclassSelector::Class(n) => emit!(self, n),
SubclassSelector::Attr(n) => emit!(self, n),
SubclassSelector::Attribute(n) => emit!(self, n),
SubclassSelector::PseudoClass(n) => emit!(self, n),
SubclassSelector::PseudoElement(n) => emit!(self, n),
SubclassSelector::At(n) => emit!(self, n),
@ -1285,70 +1285,98 @@ where
#[emitter]
fn emit_type_selector(&mut self, n: &TypeSelector) -> Result {
match n {
TypeSelector::TagName(n) => emit!(self, n),
TypeSelector::Universal(n) => emit!(self, n),
}
}
#[emitter]
fn emit_tag_name_selector(&mut self, n: &TagNameSelector) -> Result {
emit!(self, n.name);
}
#[emitter]
fn emit_universal_selector(&mut self, n: &UniversalSelector) -> Result {
if let Some(prefix) = &n.prefix {
emit!(self, prefix);
punct!(self, "|");
}
emit!(self, n.name);
punct!(self, "*");
}
#[emitter]
fn emit_ns_prefix(&mut self, n: &NsPrefix) -> Result {
emit!(self, n.prefix);
punct!(self, "|");
}
#[emitter]
fn emit_wq_name(&mut self, n: &WqName) -> Result {
if n.prefix.is_some() {
emit!(self, n.prefix);
}
emit!(self, n.value);
}
#[emitter]
fn emit_id_selector(&mut self, n: &IdSelector) -> Result {
punct!(self, "#");
let ctx = Ctx { ..self.ctx };
emit!(&mut *self.with_ctx(ctx), n.text);
emit!(self, n.text);
}
#[emitter]
fn emit_class_selector(&mut self, n: &ClassSelector) -> Result {
punct!(self, ".");
let ctx = Ctx { ..self.ctx };
emit!(&mut *self.with_ctx(ctx), n.text);
emit!(self, n.text);
}
#[emitter]
fn emit_attr_selector_value(&mut self, n: &AttrSelectorValue) -> Result {
match n {
AttrSelectorValue::Str(n) => emit!(self, n),
AttrSelectorValue::Ident(n) => emit!(self, n),
}
}
#[emitter]
fn emit_attr_selector(&mut self, n: &AttrSelector) -> Result {
fn emit_attribute_selector(&mut self, n: &AttributeSelector) -> Result {
punct!(self, "[");
if let Some(prefix) = &n.prefix {
emit!(self, prefix);
punct!(self, "|");
}
emit!(self, n.name);
if let Some(matcher) = n.matcher {
self.wr.write_punct(None, matcher.as_str())?;
}
if n.matcher.is_some() {
emit!(self, n.matcher);
emit!(self, n.value);
emit!(self, n.value);
if n.modifier.is_some() {
match n.value {
Some(AttributeSelectorValue::Str(_)) => {
formatting_space!(self);
}
Some(AttributeSelectorValue::Ident(_)) => {
space!(self);
}
_ => {}
}
if let Some(m) = &n.modifier {
match n.value {
Some(AttrSelectorValue::Str(_)) => {
formatting_space!(self);
}
Some(AttrSelectorValue::Ident(_)) => {
space!(self);
}
_ => {}
emit!(self, n.modifier);
}
self.wr.write_raw_char(None, *m)?;
}
punct!(self, "]");
}
#[emitter]
fn emit_attribute_selector_matcher(&mut self, n: &AttributeSelectorMatcher) -> Result {
self.wr.write_punct(None, n.value.as_str())?;
}
#[emitter]
fn emit_attribute_selector_value(&mut self, n: &AttributeSelectorValue) -> Result {
match n {
AttributeSelectorValue::Str(n) => emit!(self, n),
AttributeSelectorValue::Ident(n) => emit!(self, n),
}
}
#[emitter]
fn emit_attribute_selector_modifier(&mut self, n: &AttributeSelectorModifier) -> Result {
emit!(self, n.value);
}
#[emitter]
fn emit_nth(&mut self, n: &Nth) -> Result {
emit!(self, n.nth);

View File

@ -1483,7 +1483,7 @@ where
allow_at_selector: true,
..self.ctx
};
let prelude = self.with_ctx(ctx).parse_selectors()?;
let prelude = self.with_ctx(ctx).parse_as::<SelectorList>()?;
let block = self.parse()?;
Ok(NestedPageRule {

File diff suppressed because it is too large Load Diff

View File

@ -61,7 +61,7 @@ where
let start_pos = self.input.cur_span()?.lo;
let start_state = self.input.state();
let prelude = self.parse_selectors();
let prelude = self.parse();
let prelude = match prelude {
Ok(v) => v,
Err(err) => {

View File

@ -1,4 +1,4 @@
use super::{input::ParserInput, Ctx, Parser};
use super::{input::ParserInput, Ctx, PResult, Parse, Parser};
use std::ops::{Deref, DerefMut};
use swc_common::Span;
@ -22,6 +22,14 @@ where
inner: self,
}
}
#[inline]
pub(super) fn parse_as<T>(&mut self) -> PResult<T>
where
Self: Parse<T>,
{
self.parse()
}
}
pub(super) struct WithCtx<'w, I: 'w + ParserInput> {

View File

@ -281,20 +281,32 @@ macro_rules! mtd {
impl Visit for SpanVisualizer<'_> {
mtd!(AtRule, visit_at_rule);
mtd!(AtSelector, visit_at_selector);
mtd!(AttrSelector, visit_attr_selector);
mtd!(BinValue, visit_bin_value);
mtd!(ClassSelector, visit_class_selector);
mtd!(Delimiter, visit_delimiter);
mtd!(SelectorList, visit_selector_list);
mtd!(ComplexSelector, visit_complex_selector);
mtd!(Combinator, visit_combinator);
mtd!(CompoundSelector, visit_compound_selector);
mtd!(TypeSelector, visit_type_selector);
mtd!(TagNameSelector, visit_tag_name_selector);
mtd!(NsPrefix, visit_ns_prefix);
mtd!(WqName, visit_wq_name);
mtd!(UniversalSelector, visit_universal_selector);
mtd!(IdSelector, visit_id_selector);
mtd!(ClassSelector, visit_class_selector);
mtd!(AttributeSelector, visit_attribute_selector);
mtd!(AttributeSelectorMatcher, visit_attribute_selector_matcher);
mtd!(AttributeSelectorValue, visit_attribute_selector_value);
mtd!(AttributeSelectorModifier, visit_attribute_selector_modifier);
mtd!(SubclassSelector, visit_subclass_selector);
mtd!(NestingSelector, visit_nesting_selector);
mtd!(PseudoClassSelector, visit_pseudo_class_selector);
mtd!(PseudoElementSelector, visit_pseudo_element_selector);
mtd!(AnPlusB, visit_an_plus_b);
mtd!(Delimiter, visit_delimiter);
mtd!(Block, visit_block);
mtd!(SimpleBlock, visit_simple_block);
mtd!(Function, visit_function);
mtd!(HexColor, visit_hex_color);
mtd!(NestingSelector, visit_nesting_selector);
mtd!(IdSelector, visit_id_selector);
mtd!(TypeSelector, visit_type_selector);
mtd!(Number, visit_number);
mtd!(Ratio, visit_ratio);
mtd!(Percent, visit_percent);
@ -302,16 +314,10 @@ impl Visit for SpanVisualizer<'_> {
mtd!(DeclarationName, visit_declaration_name);
mtd!(ImportantFlag, visit_important_flag);
mtd!(Nth, visit_nth);
mtd!(AnPlusB, visit_an_plus_b);
mtd!(PseudoClassSelector, visit_pseudo_class_selector);
mtd!(PseudoElementSelector, visit_pseudo_element_selector);
mtd!(Rule, visit_rule);
mtd!(Str, visit_str);
mtd!(QualifiedRule, visit_qualified_rule);
mtd!(Stylesheet, visit_stylesheet);
mtd!(SelectorList, visit_selector_list);
mtd!(SubclassSelector, visit_subclass_selector);
mtd!(TagSelector, visit_tag_selector);
mtd!(Ident, visit_ident);
mtd!(CustomIdent, visit_custom_ident);
mtd!(DashedIdent, visit_dashed_ident);

View File

@ -698,22 +698,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 417,
"end": 423,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 417,
"end": 423,
"ctxt": 0
},
"value": "strong",
"raw": "strong"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 417,
"end": 423,
"ctxt": 0
},
"value": "strong",
"raw": "strong"
}
}
},
"subclassSelectors": []
@ -953,22 +961,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 530,
"end": 532,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 530,
"end": 532,
"ctxt": 0
},
"value": "h1",
"raw": "h1"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 530,
"end": 532,
"ctxt": 0
},
"value": "h1",
"raw": "h1"
}
}
},
"subclassSelectors": []
@ -992,22 +1008,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 534,
"end": 536,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 534,
"end": 536,
"ctxt": 0
},
"value": "h2",
"raw": "h2"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 534,
"end": 536,
"ctxt": 0
},
"value": "h2",
"raw": "h2"
}
}
},
"subclassSelectors": []
@ -1130,16 +1154,24 @@
"end": 592,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 585,
"end": 591,
"ctxt": 0
},
"value": "hidden",
"raw": "hidden"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 585,
"end": 591,
"ctxt": 0
},
"value": "hidden",
"raw": "hidden"
}
},
"matcher": null,
"value": null,
@ -1283,22 +1315,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 663,
"end": 664,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 663,
"end": 664,
"ctxt": 0
},
"value": "p",
"raw": "p"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 663,
"end": 664,
"ctxt": 0
},
"value": "p",
"raw": "p"
}
}
},
"subclassSelectors": []
@ -1429,22 +1469,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 725,
"end": 726,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 725,
"end": 726,
"ctxt": 0
},
"value": "p",
"raw": "p"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 725,
"end": 726,
"ctxt": 0
},
"value": "p",
"raw": "p"
}
}
},
"subclassSelectors": []
@ -1569,22 +1617,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 865,
"end": 875,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 865,
"end": 875,
"ctxt": 0
},
"value": "blockquote",
"raw": "blockquote"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 865,
"end": 875,
"ctxt": 0
},
"value": "blockquote",
"raw": "blockquote"
}
}
},
"subclassSelectors": []

View File

@ -730,6 +730,18 @@ error: TypeSelector
23 | strong { font-weight: bold; }
| ^^^^^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:23:5
|
23 | strong { font-weight: bold; }
| ^^^^^^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:23:5
|
23 | strong { font-weight: bold; }
| ^^^^^^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:23:5
|
@ -988,6 +1000,18 @@ error: TypeSelector
30 | h1, h2 { color: maroon; }
| ^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:30:9
|
30 | h1, h2 { color: maroon; }
| ^^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:30:9
|
30 | h1, h2 { color: maroon; }
| ^^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:30:9
|
@ -1012,6 +1036,18 @@ error: TypeSelector
30 | h1, h2 { color: maroon; }
| ^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:30:13
|
30 | h1, h2 { color: maroon; }
| ^^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:30:13
|
30 | h1, h2 { color: maroon; }
| ^^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:30:13
|
@ -1132,12 +1168,18 @@ error: SubclassSelector
35 | [hidden] { display: none; }
| ^^^^^^^^
error: AttrSelector
error: AttributeSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:35:5
|
35 | [hidden] { display: none; }
| ^^^^^^^^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:35:6
|
35 | [hidden] { display: none; }
| ^^^^^^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:35:6
|
@ -1312,6 +1354,18 @@ error: TypeSelector
40 | p { margin-block: 0.75em; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:40:9
|
40 | p { margin-block: 0.75em; }
| ^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:40:9
|
40 | p { margin-block: 0.75em; }
| ^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:40:9
|
@ -1444,6 +1498,18 @@ error: TypeSelector
44 | p { color: #222; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:44:9
|
44 | p { color: #222; }
| ^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:44:9
|
44 | p { color: #222; }
| ^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:44:9
|
@ -1573,6 +1639,18 @@ error: TypeSelector
50 | blockquote { color: rebeccapurple; }
| ^^^^^^^^^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/layer/input.css:50:5
|
50 | blockquote { color: rebeccapurple; }
| ^^^^^^^^^^
error: WqName
--> $DIR/tests/fixture/at-rule/layer/input.css:50:5
|
50 | blockquote { color: rebeccapurple; }
| ^^^^^^^^^^
error: Ident
--> $DIR/tests/fixture/at-rule/layer/input.css:50:5
|

View File

@ -87,22 +87,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 32,
"end": 35,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 32,
"end": 35,
"ctxt": 0
},
"value": "div",
"raw": "div"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 32,
"end": 35,
"ctxt": 0
},
"value": "div",
"raw": "div"
}
}
},
"subclassSelectors": []
@ -236,22 +244,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 102,
"end": 106,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 102,
"end": 106,
"ctxt": 0
},
"value": "body",
"raw": "body"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 102,
"end": 106,
"ctxt": 0
},
"value": "body",
"raw": "body"
}
}
},
"subclassSelectors": []
@ -427,22 +443,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 188,
"end": 195,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 188,
"end": 195,
"ctxt": 0
},
"value": "article",
"raw": "article"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 188,
"end": 195,
"ctxt": 0
},
"value": "article",
"raw": "article"
}
}
},
"subclassSelectors": []

View File

@ -134,6 +134,18 @@ error: TypeSelector
2 | div {
| ^^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/supports/input.css:2:5
|
2 | div {
| ^^^
error: WqName
--> $DIR/tests/fixture/at-rule/supports/input.css:2:5
|
2 | div {
| ^^^
error: Ident
--> $DIR/tests/fixture/at-rule/supports/input.css:2:5
|
@ -309,6 +321,18 @@ error: TypeSelector
8 | body {
| ^^^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/supports/input.css:8:5
|
8 | body {
| ^^^^
error: WqName
--> $DIR/tests/fixture/at-rule/supports/input.css:8:5
|
8 | body {
| ^^^^
error: Ident
--> $DIR/tests/fixture/at-rule/supports/input.css:8:5
|
@ -508,6 +532,18 @@ error: TypeSelector
13 | article {
| ^^^^^^^
error: TagNameSelector
--> $DIR/tests/fixture/at-rule/supports/input.css:13:9
|
13 | article {
| ^^^^^^^
error: WqName
--> $DIR/tests/fixture/at-rule/supports/input.css:13:9
|
13 | article {
| ^^^^^^^
error: Ident
--> $DIR/tests/fixture/at-rule/supports/input.css:13:9
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -46,6 +46,18 @@ error: TypeSelector
1 | a {
| ^
error: TagNameSelector
--> $DIR/tests/fixture/bom/input.css:1:1
|
1 | a {
| ^
error: WqName
--> $DIR/tests/fixture/bom/input.css:1:1
|
1 | a {
| ^
error: Ident
--> $DIR/tests/fixture/bom/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 13,
"end": 14,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 13,
"end": 14,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 13,
"end": 14,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []
@ -136,22 +144,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 132,
"end": 135,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 132,
"end": 135,
"ctxt": 0
},
"value": "div",
"raw": "div"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 132,
"end": 135,
"ctxt": 0
},
"value": "div",
"raw": "div"
}
}
},
"subclassSelectors": []
@ -265,22 +281,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 237,
"end": 238,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 237,
"end": 238,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 237,
"end": 238,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -55,6 +55,18 @@ error: TypeSelector
1 | /* comment */a/* comment */
| ^
error: TagNameSelector
--> $DIR/tests/fixture/comment/input.css:1:14
|
1 | /* comment */a/* comment */
| ^
error: WqName
--> $DIR/tests/fixture/comment/input.css:1:14
|
1 | /* comment */a/* comment */
| ^
error: Ident
--> $DIR/tests/fixture/comment/input.css:1:14
|
@ -147,6 +159,18 @@ error: TypeSelector
9 | div {
| ^^^
error: TagNameSelector
--> $DIR/tests/fixture/comment/input.css:9:1
|
9 | div {
| ^^^
error: WqName
--> $DIR/tests/fixture/comment/input.css:9:1
|
9 | div {
| ^^^
error: Ident
--> $DIR/tests/fixture/comment/input.css:9:1
|
@ -268,6 +292,18 @@ error: TypeSelector
18 | a {
| ^
error: TagNameSelector
--> $DIR/tests/fixture/comment/input.css:18:1
|
18 | a {
| ^
error: WqName
--> $DIR/tests/fixture/comment/input.css:18:1
|
18 | a {
| ^
error: Ident
--> $DIR/tests/fixture/comment/input.css:18:1
|

View File

@ -348,22 +348,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 98,
"end": 100,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 98,
"end": 100,
"ctxt": 0
},
"value": "h1",
"raw": "h1"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 98,
"end": 100,
"ctxt": 0
},
"value": "h1",
"raw": "h1"
}
}
},
"subclassSelectors": []

View File

@ -313,6 +313,18 @@ error: TypeSelector
10 | #foo h1 {
| ^^
error: TagNameSelector
--> $DIR/tests/fixture/dashed-ident/input.css:10:6
|
10 | #foo h1 {
| ^^
error: WqName
--> $DIR/tests/fixture/dashed-ident/input.css:10:6
|
10 | #foo h1 {
| ^^
error: Ident
--> $DIR/tests/fixture/dashed-ident/input.css:10:6
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -49,6 +49,18 @@ error: TypeSelector
1 | a {
| ^
error: TagNameSelector
--> $DIR/tests/fixture/declaration-list/input.css:1:1
|
1 | a {
| ^
error: WqName
--> $DIR/tests/fixture/declaration-list/input.css:1:1
|
1 | a {
| ^
error: Ident
--> $DIR/tests/fixture/declaration-list/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
}
}
},
"subclassSelectors": []

View File

@ -58,6 +58,18 @@ error: TypeSelector
1 | div {
| ^^^
error: TagNameSelector
--> $DIR/tests/fixture/declaration/input.css:1:1
|
1 | div {
| ^^^
error: WqName
--> $DIR/tests/fixture/declaration/input.css:1:1
|
1 | div {
| ^^^
error: Ident
--> $DIR/tests/fixture/declaration/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -46,6 +46,18 @@ error: TypeSelector
1 | a {
| ^
error: TagNameSelector
--> $DIR/tests/fixture/delim/backslash/input.css:1:1
|
1 | a {
| ^
error: WqName
--> $DIR/tests/fixture/delim/backslash/input.css:1:1
|
1 | a {
| ^
error: Ident
--> $DIR/tests/fixture/delim/backslash/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -58,6 +58,18 @@ error: TypeSelector
1 | a {
| ^
error: TagNameSelector
--> $DIR/tests/fixture/dimension/basic/input.css:1:1
|
1 | a {
| ^
error: WqName
--> $DIR/tests/fixture/dimension/basic/input.css:1:1
|
1 | a {
| ^
error: Ident
--> $DIR/tests/fixture/dimension/basic/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { color: #112333 }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/-4j83DwgJa0nPQIjlb0RIA/input.css:1:1
|
1 | a { color: #112333 }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-4j83DwgJa0nPQIjlb0RIA/input.css:1:1
|
1 | a { color: #112333 }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-4j83DwgJa0nPQIjlb0RIA/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 4,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 4,
"ctxt": 0
},
"value": "-",
"raw": "\\2d "
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 4,
"ctxt": 0
},
"value": "-",
"raw": "\\2d "
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | \2d {}
| ^^^^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/-8o_H6sq86TDAHqF7YO0hg/input.css:1:1
|
1 | \2d {}
| ^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-8o_H6sq86TDAHqF7YO0hg/input.css:1:1
|
1 | \2d {}
| ^^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-8o_H6sq86TDAHqF7YO0hg/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
}
}
},
"subclassSelectors": [

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | div::before::after::selection::first-line::first-letter {color:red}
| ^^^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/input.css:1:1
|
1 | div::before::after::selection::first-line::first-letter {color:red}
| ^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/input.css:1:1
|
1 | div::before::after::selection::first-line::first-letter {color:red}
| ^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { width: +.10; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/-JoxoRcnA-zaaEC7RjXKvQ/input.css:1:1
|
1 | a { width: +.10; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-JoxoRcnA-zaaEC7RjXKvQ/input.css:1:1
|
1 | a { width: +.10; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-JoxoRcnA-zaaEC7RjXKvQ/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { width: -.10%; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/-edvtxlXMemv5jnGeyueBA/input.css:1:1
|
1 | a { width: -.10%; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-edvtxlXMemv5jnGeyueBA/input.css:1:1
|
1 | a { width: -.10%; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-edvtxlXMemv5jnGeyueBA/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { box-shadow: rgb(255, 0, 17) 0 0 1 inset }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/-gboAEi1zyjFW5mtEM24Rg/input.css:1:1
|
1 | a { box-shadow: rgb(255, 0, 17) 0 0 1 inset }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-gboAEi1zyjFW5mtEM24Rg/input.css:1:1
|
1 | a { box-shadow: rgb(255, 0, 17) 0 0 1 inset }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-gboAEi1zyjFW5mtEM24Rg/input.css:1:1
|

View File

@ -46,25 +46,41 @@
"end": 5,
"ctxt": 0
},
"prefix": {
"type": "Identifier",
"name": {
"type": "WqName",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "*",
"raw": "*"
},
"name": {
"type": "Identifier",
"span": {
"start": 3,
"end": 4,
"ctxt": 0
},
"value": "b",
"raw": "b"
"prefix": {
"type": "NsPrefix",
"span": {
"start": 1,
"end": 3,
"ctxt": 0
},
"prefix": {
"type": "Identifier",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "*",
"raw": "*"
}
},
"value": {
"type": "Identifier",
"span": {
"start": 3,
"end": 4,
"ctxt": 0
},
"value": "b",
"raw": "b"
}
},
"matcher": null,
"value": null,

View File

@ -40,12 +40,24 @@ error: SubclassSelector
1 | [*|b]{}
| ^^^^^
error: AttrSelector
error: AttributeSelector
--> $DIR/tests/fixture/esbuild/misc/-shTP60AAG6a4mCJUpV1cQ/input.css:1:1
|
1 | [*|b]{}
| ^^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/-shTP60AAG6a4mCJUpV1cQ/input.css:1:2
|
1 | [*|b]{}
| ^^^
error: NsPrefix
--> $DIR/tests/fixture/esbuild/misc/-shTP60AAG6a4mCJUpV1cQ/input.css:1:2
|
1 | [*|b]{}
| ^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/-shTP60AAG6a4mCJUpV1cQ/input.css:1:2
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { margin: 0 1 0 1 }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/07tvJxvZrgDeTmptOclErA/input.css:1:1
|
1 | a { margin: 0 1 0 1 }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/07tvJxvZrgDeTmptOclErA/input.css:1:1
|
1 | a { margin: 0 1 0 1 }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/07tvJxvZrgDeTmptOclErA/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: 10p\32x }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/0LKvnY2GhG7ss8EXa0t6tQ/input.css:1:1
|
1 | a { value: 10p\32x }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/0LKvnY2GhG7ss8EXa0t6tQ/input.css:1:1
|
1 | a { value: 10p\32x }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/0LKvnY2GhG7ss8EXa0t6tQ/input.css:1:1
|

View File

@ -46,18 +46,34 @@
"end": 8,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "b",
"raw": "b"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "b",
"raw": "b"
}
},
"matcher": {
"type": "AttributeSelectorMatcher",
"span": {
"start": 2,
"end": 3,
"ctxt": 0
},
"value": "="
},
"matcher": "=",
"value": {
"type": "String",
"span": {

View File

@ -40,18 +40,36 @@ error: SubclassSelector
1 | [b="0c"] {}
| ^^^^^^^^
error: AttrSelector
error: AttributeSelector
--> $DIR/tests/fixture/esbuild/misc/0Zlgi2sdsFfTrdnWOHUqeg/input.css:1:1
|
1 | [b="0c"] {}
| ^^^^^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/0Zlgi2sdsFfTrdnWOHUqeg/input.css:1:2
|
1 | [b="0c"] {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/0Zlgi2sdsFfTrdnWOHUqeg/input.css:1:2
|
1 | [b="0c"] {}
| ^
error: AttributeSelectorMatcher
--> $DIR/tests/fixture/esbuild/misc/0Zlgi2sdsFfTrdnWOHUqeg/input.css:1:3
|
1 | [b="0c"] {}
| ^
error: AttributeSelectorValue
--> $DIR/tests/fixture/esbuild/misc/0Zlgi2sdsFfTrdnWOHUqeg/input.css:1:4
|
1 | [b="0c"] {}
| ^^^^
error: Str
--> $DIR/tests/fixture/esbuild/misc/0Zlgi2sdsFfTrdnWOHUqeg/input.css:1:4
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 5,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 5,
"ctxt": 0
},
"value": "--",
"raw": "-\\2d "
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 5,
"ctxt": 0
},
"value": "--",
"raw": "-\\2d "
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | -\2d {}
| ^^^^^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/0yo6flt6jo-UA8rUEFjrWA/input.css:1:1
|
1 | -\2d {}
| ^^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/0yo6flt6jo-UA8rUEFjrWA/input.css:1:1
|
1 | -\2d {}
| ^^^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/0yo6flt6jo-UA8rUEFjrWA/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
}
}
},
"subclassSelectors": [

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | div#id {}
| ^^^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/10VLLYwNo7xaTisP9r9Kfg/input.css:1:1
|
1 | div#id {}
| ^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/10VLLYwNo7xaTisP9r9Kfg/input.css:1:1
|
1 | div#id {}
| ^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/10VLLYwNo7xaTisP9r9Kfg/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { border-radius: 1 2 3 4; border-top-right-radius: 5 6; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/12EwJCu6DsfOEJubQW9jLg/input.css:1:1
|
1 | a { border-radius: 1 2 3 4; border-top-right-radius: 5 6; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/12EwJCu6DsfOEJubQW9jLg/input.css:1:1
|
1 | a { border-radius: 1 2 3 4; border-top-right-radius: 5 6; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/12EwJCu6DsfOEJubQW9jLg/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: id\65nt }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/1naykwaIKZc6zuHRNIccLQ/input.css:1:1
|
1 | a { value: id\65nt }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/1naykwaIKZc6zuHRNIccLQ/input.css:1:1
|
1 | a { value: id\65nt }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/1naykwaIKZc6zuHRNIccLQ/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": [

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a:after { content: 'a\ b' }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/input.css:1:1
|
1 | a:after { content: 'a\ b' }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/input.css:1:1
|
1 | a:after { content: 'a\ b' }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: \66n() }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/36qnNuIUvbIrMnJKDxwE5A/input.css:1:1
|
1 | a { value: \66n() }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/36qnNuIUvbIrMnJKDxwE5A/input.css:1:1
|
1 | a { value: \66n() }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/36qnNuIUvbIrMnJKDxwE5A/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { color: #ABCD }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/39pbt1sIeFh8WWhCalZS4g/input.css:1:1
|
1 | a { color: #ABCD }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/39pbt1sIeFh8WWhCalZS4g/input.css:1:1
|
1 | a { color: #ABCD }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/39pbt1sIeFh8WWhCalZS4g/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { color: #ABBBCCDD }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/3EgMpLwjJNG0ht4U_r6cnw/input.css:1:1
|
1 | a { color: #ABBBCCDD }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/3EgMpLwjJNG0ht4U_r6cnw/input.css:1:1
|
1 | a { color: #ABBBCCDD }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/3EgMpLwjJNG0ht4U_r6cnw/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { color: #abcf }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/3JGye8AhworwNFoUL1gKbg/input.css:1:1
|
1 | a { color: #abcf }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/3JGye8AhworwNFoUL1gKbg/input.css:1:1
|
1 | a { color: #abcf }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/3JGye8AhworwNFoUL1gKbg/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { width: 0.1%; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/3OV2jH0hrt2_2jOv6t4wvA/input.css:1:1
|
1 | a { width: 0.1%; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/3OV2jH0hrt2_2jOv6t4wvA/input.css:1:1
|
1 | a { width: 0.1%; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/3OV2jH0hrt2_2jOv6t4wvA/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: \69 dent }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/485Ns9qQHa89OJU5Lhjx-Q/input.css:1:1
|
1 | a { value: \69 dent }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/485Ns9qQHa89OJU5Lhjx-Q/input.css:1:1
|
1 | a { value: \69 dent }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/485Ns9qQHa89OJU5Lhjx-Q/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: #\30hash }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/486QvEO8dmLFsXYp6xgKVw/input.css:1:1
|
1 | a { value: #\30hash }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/486QvEO8dmLFsXYp6xgKVw/input.css:1:1
|
1 | a { value: #\30hash }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/486QvEO8dmLFsXYp6xgKVw/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { width: 0.0; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/4Tjjgepnha63E4UiXXDNEA/input.css:1:1
|
1 | a { width: 0.0; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/4Tjjgepnha63E4UiXXDNEA/input.css:1:1
|
1 | a { width: 0.0; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/4Tjjgepnha63E4UiXXDNEA/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": [

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a/**/.b {}
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/4UaOTazLwrr9gd5xkBBlnw/input.css:1:1
|
1 | a/**/.b {}
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/4UaOTazLwrr9gd5xkBBlnw/input.css:1:1
|
1 | a/**/.b {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/4UaOTazLwrr9gd5xkBBlnw/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { padding: 0 1 0px 1px }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/4WSp4-HbKB-f1GLF00sf6A/input.css:1:1
|
1 | a { padding: 0 1 0px 1px }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/4WSp4-HbKB-f1GLF00sf6A/input.css:1:1
|
1 | a { padding: 0 1 0px 1px }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/4WSp4-HbKB-f1GLF00sf6A/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 3,
"ctxt": 0
},
"value": "div",
"raw": "div"
}
}
},
"subclassSelectors": [

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | div#--0 {}
| ^^^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/52obp49U0CyYOskQAEoIJw/input.css:1:1
|
1 | div#--0 {}
| ^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/52obp49U0CyYOskQAEoIJw/input.css:1:1
|
1 | div#--0 {}
| ^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/52obp49U0CyYOskQAEoIJw/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: 10\2cx }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/53OltIbJ-YBXtSKedVvYwA/input.css:1:1
|
1 | a { value: 10\2cx }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/53OltIbJ-YBXtSKedVvYwA/input.css:1:1
|
1 | a { value: 10\2cx }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/53OltIbJ-YBXtSKedVvYwA/input.css:1:1
|

View File

@ -46,18 +46,34 @@
"end": 11,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 1,
"end": 5,
"ctxt": 0
},
"value": "attr",
"raw": "attr"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 1,
"end": 5,
"ctxt": 0
},
"value": "attr",
"raw": "attr"
}
},
"matcher": {
"type": "AttributeSelectorMatcher",
"span": {
"start": 5,
"end": 6,
"ctxt": 0
},
"value": "="
},
"matcher": "=",
"value": {
"type": "String",
"span": {

View File

@ -40,18 +40,36 @@ error: SubclassSelector
1 | [attr="-a"] {}
| ^^^^^^^^^^^
error: AttrSelector
error: AttributeSelector
--> $DIR/tests/fixture/esbuild/misc/54mhLGCwQMwsuiVkiTzAAQ/input.css:1:1
|
1 | [attr="-a"] {}
| ^^^^^^^^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/54mhLGCwQMwsuiVkiTzAAQ/input.css:1:2
|
1 | [attr="-a"] {}
| ^^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/54mhLGCwQMwsuiVkiTzAAQ/input.css:1:2
|
1 | [attr="-a"] {}
| ^^^^
error: AttributeSelectorMatcher
--> $DIR/tests/fixture/esbuild/misc/54mhLGCwQMwsuiVkiTzAAQ/input.css:1:6
|
1 | [attr="-a"] {}
| ^
error: AttributeSelectorValue
--> $DIR/tests/fixture/esbuild/misc/54mhLGCwQMwsuiVkiTzAAQ/input.css:1:7
|
1 | [attr="-a"] {}
| ^^^^
error: Str
--> $DIR/tests/fixture/esbuild/misc/54mhLGCwQMwsuiVkiTzAAQ/input.css:1:7
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { width: +0.1; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/5al65IRQbw_x4yG3ke74fQ/input.css:1:1
|
1 | a { width: +0.1; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/5al65IRQbw_x4yG3ke74fQ/input.css:1:1
|
1 | a { width: +0.1; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/5al65IRQbw_x4yG3ke74fQ/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { value: x\, }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/5cnGKjYPm1XBeqTmw3oCag/input.css:1:1
|
1 | a { value: x\, }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/5cnGKjYPm1XBeqTmw3oCag/input.css:1:1
|
1 | a { value: x\, }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/5cnGKjYPm1XBeqTmw3oCag/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []
@ -76,22 +84,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 6,
"end": 7,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 6,
"end": 7,
"ctxt": 0
},
"value": "b",
"raw": "b"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 6,
"end": 7,
"ctxt": 0
},
"value": "b",
"raw": "b"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a~/**/b {}
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/5nNFwUYmVb5_MMMzIvIeQg/input.css:1:1
|
1 | a~/**/b {}
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/5nNFwUYmVb5_MMMzIvIeQg/input.css:1:1
|
1 | a~/**/b {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/5nNFwUYmVb5_MMMzIvIeQg/input.css:1:1
|
@ -64,6 +76,18 @@ error: TypeSelector
1 | a~/**/b {}
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/5nNFwUYmVb5_MMMzIvIeQg/input.css:1:7
|
1 | a~/**/b {}
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/5nNFwUYmVb5_MMMzIvIeQg/input.css:1:7
|
1 | a~/**/b {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/5nNFwUYmVb5_MMMzIvIeQg/input.css:1:7
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { color: #1234 }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/5yer6GUWydidDHrfgacUkA/input.css:1:1
|
1 | a { color: #1234 }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/5yer6GUWydidDHrfgacUkA/input.css:1:1
|
1 | a { color: #1234 }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/5yer6GUWydidDHrfgacUkA/input.css:1:1
|

View File

@ -46,18 +46,34 @@
"end": 11,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 1,
"end": 8,
"ctxt": 0
},
"value": "attr~",
"raw": "attr\\7e"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 1,
"end": 8,
"ctxt": 0
},
"value": "attr~",
"raw": "attr\\7e"
}
},
"matcher": {
"type": "AttributeSelectorMatcher",
"span": {
"start": 8,
"end": 9,
"ctxt": 0
},
"value": "="
},
"matcher": "=",
"value": {
"type": "Identifier",
"span": {

View File

@ -40,18 +40,36 @@ error: SubclassSelector
1 | [attr\7e=x] {}
| ^^^^^^^^^^^
error: AttrSelector
error: AttributeSelector
--> $DIR/tests/fixture/esbuild/misc/62BQJI-uDjHXNJ7kyL8HiA/input.css:1:1
|
1 | [attr\7e=x] {}
| ^^^^^^^^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/62BQJI-uDjHXNJ7kyL8HiA/input.css:1:2
|
1 | [attr\7e=x] {}
| ^^^^^^^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/62BQJI-uDjHXNJ7kyL8HiA/input.css:1:2
|
1 | [attr\7e=x] {}
| ^^^^^^^
error: AttributeSelectorMatcher
--> $DIR/tests/fixture/esbuild/misc/62BQJI-uDjHXNJ7kyL8HiA/input.css:1:9
|
1 | [attr\7e=x] {}
| ^
error: AttributeSelectorValue
--> $DIR/tests/fixture/esbuild/misc/62BQJI-uDjHXNJ7kyL8HiA/input.css:1:10
|
1 | [attr\7e=x] {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/62BQJI-uDjHXNJ7kyL8HiA/input.css:1:10
|

View File

@ -46,18 +46,34 @@
"end": 10,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "b",
"raw": "b"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "b",
"raw": "b"
}
},
"matcher": {
"type": "AttributeSelectorMatcher",
"span": {
"start": 3,
"end": 5,
"ctxt": 0
},
"value": "$="
},
"matcher": "$=",
"value": {
"type": "String",
"span": {

View File

@ -40,18 +40,36 @@ error: SubclassSelector
1 | [b $= "c"] {}
| ^^^^^^^^^^
error: AttrSelector
error: AttributeSelector
--> $DIR/tests/fixture/esbuild/misc/6IWHWiWjsuGkPiPAp2KmoA/input.css:1:1
|
1 | [b $= "c"] {}
| ^^^^^^^^^^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/6IWHWiWjsuGkPiPAp2KmoA/input.css:1:2
|
1 | [b $= "c"] {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/6IWHWiWjsuGkPiPAp2KmoA/input.css:1:2
|
1 | [b $= "c"] {}
| ^
error: AttributeSelectorMatcher
--> $DIR/tests/fixture/esbuild/misc/6IWHWiWjsuGkPiPAp2KmoA/input.css:1:4
|
1 | [b $= "c"] {}
| ^^
error: AttributeSelectorValue
--> $DIR/tests/fixture/esbuild/misc/6IWHWiWjsuGkPiPAp2KmoA/input.css:1:7
|
1 | [b $= "c"] {}
| ^^^
error: Str
--> $DIR/tests/fixture/esbuild/misc/6IWHWiWjsuGkPiPAp2KmoA/input.css:1:7
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { color: white }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/6WYwXsqP1SJOa-6oDBobzQ/input.css:1:1
|
1 | a { color: white }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/6WYwXsqP1SJOa-6oDBobzQ/input.css:1:1
|
1 | a { color: white }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/6WYwXsqP1SJOa-6oDBobzQ/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a { width: .0%; }
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/6aNPFn_YOBL4koYvV-g8pQ/input.css:1:1
|
1 | a { width: .0%; }
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/6aNPFn_YOBL4koYvV-g8pQ/input.css:1:1
|
1 | a { width: .0%; }
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/6aNPFn_YOBL4koYvV-g8pQ/input.css:1:1
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": []
@ -76,22 +84,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 2,
"end": 3,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 2,
"end": 3,
"ctxt": 0
},
"value": "b",
"raw": "b"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 2,
"end": 3,
"ctxt": 0
},
"value": "b",
"raw": "b"
}
}
},
"subclassSelectors": []

View File

@ -40,6 +40,18 @@ error: TypeSelector
1 | a+b {}
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/6fufNZ3PA6_-pNwY-IP61Q/input.css:1:1
|
1 | a+b {}
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/6fufNZ3PA6_-pNwY-IP61Q/input.css:1:1
|
1 | a+b {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/6fufNZ3PA6_-pNwY-IP61Q/input.css:1:1
|
@ -64,6 +76,18 @@ error: TypeSelector
1 | a+b {}
| ^
error: TagNameSelector
--> $DIR/tests/fixture/esbuild/misc/6fufNZ3PA6_-pNwY-IP61Q/input.css:1:3
|
1 | a+b {}
| ^
error: WqName
--> $DIR/tests/fixture/esbuild/misc/6fufNZ3PA6_-pNwY-IP61Q/input.css:1:3
|
1 | a+b {}
| ^
error: Ident
--> $DIR/tests/fixture/esbuild/misc/6fufNZ3PA6_-pNwY-IP61Q/input.css:1:3
|

View File

@ -38,22 +38,30 @@
},
"nestingSelector": null,
"typeSelector": {
"type": "TypeSelector",
"type": "TagNameSelector",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Identifier",
"type": "WqName",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
"prefix": null,
"value": {
"type": "Identifier",
"span": {
"start": 0,
"end": 1,
"ctxt": 0
},
"value": "a",
"raw": "a"
}
}
},
"subclassSelectors": [

Some files were not shown because too many files have changed in this diff Show More