eslint-plugin-vue-scoped-css
Version:
ESLint plugin for Scoped CSS in Vue.js
31 lines (30 loc) • 2.11 kB
TypeScript
import * as postcss from "postcss";
import { CSSSelectorParser } from "./selector/css-selector-parser";
import type { VCSSCommentNode, VCSSNode, VCSSContainerNode } from "../ast";
import { VCSSStyleSheet } from "../ast";
import type { SourceCode, LineAndColumnData, PostCSSNode, PostCSSRoot, SourceLocation, PostCSSRule, PostCSSAtRule, PostCSSDeclaration, PostCSSComment } from "../../types";
export declare class CSSParser {
protected readonly sourceCode: SourceCode;
protected commentContainer: VCSSCommentNode[];
private _selectorParser;
private readonly lang;
private anyErrors;
constructor(sourceCode: SourceCode, lang: string);
parse(css: string, offsetLocation: LineAndColumnData): VCSSStyleSheet;
private addError;
private collectErrors;
protected get selectorParser(): CSSSelectorParser;
private _postcssNodeToASTNode;
protected parseInternal(css: string): postcss.Root;
protected createSelectorParser(): CSSSelectorParser;
protected convertRootNode(node: PostCSSRoot, loc: SourceLocation, start: number, end: number): VCSSNode | null;
protected convertRuleNode(node: PostCSSRule, loc: SourceLocation, start: number, end: number, parent: VCSSContainerNode): VCSSNode | null;
protected parseRuleRawsBetween(node: PostCSSRule, astNode: VCSSNode): void;
protected convertAtruleNode(node: PostCSSAtRule, loc: SourceLocation, start: number, end: number, parent: VCSSContainerNode): VCSSNode | null;
private parseAtruleRawsAfterName;
private parseAtruleRawsBetween;
protected convertDeclNode(node: PostCSSDeclaration, loc: SourceLocation, start: number, end: number, parent: VCSSContainerNode): VCSSNode | null;
protected convertCommentNode(node: PostCSSComment, loc: SourceLocation, start: number, end: number, parent: VCSSContainerNode): VCSSNode | null;
protected convertUnknownTypeNode(node: PostCSSNode, loc: SourceLocation, start: number, end: number, parent: VCSSContainerNode): VCSSNode | null;
protected getRaw<N extends PostCSSNode, K extends keyof N["raws"] & string>(node: N, keyName: K): N["raws"][K];
}