stylelint
- Version 16.12.0
- Published
- 1.52 MB
- 38 dependencies
- MIT license
Install
npm i stylelint
yarn add stylelint
pnpm add stylelint
Overview
A mighty CSS linter that helps you avoid errors and enforce conventions.
Index
Variables
variable stylelint
const stylelint: any;
Type Aliases
type Config
type Config = { extends?: ConfigExtends; plugins?: ConfigPlugins; pluginFunctions?: { [pluginName: string]: Rule; }; ignoreFiles?: ConfigIgnoreFiles; ignorePatterns?: string; rules?: ConfigRules; quiet?: boolean; formatter?: FormatterType | Formatter; defaultSeverity?: Severity; ignoreDisables?: boolean; reportNeedlessDisables?: DisableSettings; reportInvalidScopeDisables?: DisableSettings; reportDescriptionlessDisables?: DisableSettings; reportUnscopedDisables?: DisableSettings; configurationComment?: string; overrides?: ConfigOverride[]; customSyntax?: CustomSyntax; processors?: ConfigProcessors; /** @internal */ _processorFunctions?: Map<string, ReturnType<Processor>['postprocess']>; allowEmptyInput?: boolean; cache?: boolean; fix?: boolean; validate?: boolean;};
Configuration.
type CoreRule
type CoreRule<P extends Primary, S extends Secondary = any> = Rule<P, S>;
type CssSyntaxError
type CssSyntaxError = { file?: string; input: { column: number; file?: string; line: number; source: string; }; /** * The line of the inclusive start position of the error. */ line: number; /** * The column of the inclusive start position of the error. */ column: number; /** * The line of the exclusive end position of the error. */ endLine?: number; /** * The column of the exclusive end position of the error. */ endColumn?: number; message: string; name: string; reason: string; source: string;};
A CSS syntax error.
type FixerData
type FixerData = { range?: Range; fixed: boolean;};
type Formatters
type Formatters = { readonly compact: Promise<Formatter>; /** @deprecated */ readonly github: Promise<Formatter>; readonly json: Promise<Formatter>; readonly string: Promise<Formatter>; readonly tap: Promise<Formatter>; readonly unix: Promise<Formatter>; readonly verbose: Promise<Formatter>;};
type LinterOptions
type LinterOptions = { files?: OneOrMany<string>; globbyOptions?: GlobbyOptions; cache?: boolean; cacheLocation?: string; cacheStrategy?: string; code?: string; codeFilename?: string; config?: Config; configFile?: string; configBasedir?: string; /** * The working directory to resolve files from. Defaults to the * current working directory. */ cwd?: string; ignoreDisables?: boolean; ignorePath?: OneOrMany<string>; ignorePattern?: string[]; reportDescriptionlessDisables?: boolean; reportNeedlessDisables?: boolean; reportInvalidScopeDisables?: boolean; reportUnscopedDisables?: boolean; maxWarnings?: number; customSyntax?: CustomSyntax; /** @internal */ _defaultFormatter?: FormatterType; formatter?: FormatterType | Formatter; disableDefaultIgnores?: boolean; fix?: boolean; allowEmptyInput?: boolean; quiet?: boolean; quietDeprecationWarnings?: boolean; validate?: boolean;};
Linter options.
type LinterResult
type LinterResult = { /** * The working directory from which the linter was run when the * results were generated. */ cwd: string; results: LintResult[]; errored: boolean; /** * @deprecated Use `report` for the formatted problems, or use `code` * for the autofixed code instead. This will be removed in the next major version. */ output: string; /** @internal To show the deprecation warning. */ _output?: string; /** @internal To show the deprecation warning. */ _outputWarned?: boolean; /** * A string that contains the formatted problems. */ report: string; /** * A string that contains the autofixed code, if the `fix` option is set to `true` * and the `code` option is provided. */ code?: string; maxWarningsExceeded?: { maxWarnings: number; foundWarnings: number; }; reportedDisables: DisableOptionsReport; descriptionlessDisables?: DisableOptionsReport; needlessDisables?: DisableOptionsReport; invalidScopeDisables?: DisableOptionsReport; /** * Each rule metadata by name. */ ruleMetadata: { [ruleName: string]: Partial<RuleMeta> };};
A linter result.
type LintResult
type LintResult = { source?: string; deprecations: { text: string; reference?: string; }[]; invalidOptionWarnings: { text: string; }[]; parseErrors: (PostCSS.Warning & { stylelintType: Extract<StylelintWarningType, 'parseError'>; })[]; errored?: boolean; warnings: Warning[]; ignored?: boolean; /** * Internal use only. Do not use or rely on this property. It may * change at any time. * @internal */ _postcssResult?: PostcssResult;};
A lint result.
type OneOrMany
type OneOrMany<S> = S | S[];
type Plugin
type Plugin = | { default?: { ruleName: string; rule: Rule } } | { ruleName: string; rule: Rule };
A Stylelint plugin.
type Position
type Position = { line: number; column: number;};
type Primary
type Primary = number | true | OneOrMany<StringOrRegex> | Record<string, any>;
type Problem
type Problem = { ruleName: string; result: PostcssResult; message: RuleMessage; messageArgs?: Parameters<RuleMessageFunc> | undefined; node: PostCSS.Node; /** * The inclusive start index of the problem, relative to the node's * source text. */ index?: number; /** * The exclusive end index of the problem, relative to the node's * source text. */ endIndex?: number; /** * The inclusive start position of the problem, relative to the * node's source text. If provided, this will be used instead of * `index`. */ start?: Position; /** * The exclusive end position of the problem, relative to the * node's source text. If provided, this will be used instead of * `endIndex`. */ end?: Position; word?: string; line?: number; /** * Optional severity override for the problem. */ severity?: RuleSeverity; fix?: () => void | undefined | never;};
A lint problem.
type Processor
type Processor = () => { name: string; postprocess: (result: LintResult, root?: PostCSS.Root) => void;};
WARNING: This is an experimental feature. The API may change in the future.
type PublicApi
type PublicApi = PostCSS.PluginCreator<PostcssPluginOptions> & { /** * Runs Stylelint with the given options and returns a Promise that * resolves to the results. * * @param options - A lint options object * @returns A lint result */ lint: (options: LinterOptions) => Promise<LinterResult>;
/** * Available rules. */ rules: { readonly [name in keyof CoreRules]: Promise<CoreRules[name]> };
/** * Result report formatters by name. */ formatters: Formatters;
/** * Creates a Stylelint plugin. */ createPlugin: (ruleName: string, rule: Rule) => Plugin;
/** * The Stylelint "internal API" is passed among functions * so that methods on a Stylelint instance can invoke * each other while sharing options and caches. * * @internal */ _createLinter: (options: LinterOptions) => InternalApi;
/** * Resolves the effective configuration for a given file. Resolves to * `undefined` if no config is found. * * @param filePath - The path to the file to get the config for. * @param options - The options to use when creating the Stylelint instance. * @returns A resolved config or `undefined`. */ resolveConfig: ( filePath: string, options?: Pick< LinterOptions, 'cwd' | 'config' | 'configBasedir' | 'configFile' > ) => Promise<Config | undefined>;
/** * Utility functions. */ utils: Utils;
/** * Reference objects. */ reference: { longhandSubPropertiesOfShorthandProperties: LonghandSubPropertiesOfShorthandProperties; };};
The Stylelint public API.
type Rule
type Rule<P = any, S = any> = RuleBase<P, S> & { ruleName: string; messages: RuleMessages; primaryOptionArray?: boolean; meta?: RuleMeta;};
A rule.
type RuleContext
type RuleContext = { configurationComment?: string | undefined; fix?: boolean | undefined; newline?: string | undefined;};
A rule context.
type Secondary
type Secondary = Record<string, any>;
type Severity
type Severity = 'warning' | 'error';
Rule severity.
type StringOrRegex
type StringOrRegex = string | RegExp;
type StylelintWarningType
type StylelintWarningType = 'deprecation' | 'invalidOption' | 'parseError';
type Utils
type Utils = { /** * Report a problem. * * This function accounts for `disabledRanges` attached to the result. * That is, if the reported problem is within a disabledRange, * it is ignored. Otherwise, it is attached to the result as a * postcss warning. * * It also accounts for the rule's severity. * * You *must* pass *either* a node or a line number. * * @param problem - A problem */ report: (problem: Problem) => void;
/** * Given an object of problem messages, return another * that provides the same messages postfixed with the rule * that has been violated. * * @param ruleName - A rule name * @param messages - An object whose keys are message identifiers * and values are either message strings or functions that return message strings * @returns New message object, whose messages will be marked with the rule name */ ruleMessages: <T extends RuleMessages, R extends { [K in keyof T]: T[K] }>( ruleName: string, messages: T ) => R;
/** * Validate a rule's options. * * See existing rules for examples. * * @param result - PostCSS result * @param ruleName - A rule name * @param optionDescriptions - Each optionDescription can have the following properties: * - `actual` (required): the actual passed option value or object. * - `possible` (required): a schema representation of what values are * valid for those options. `possible` should be an object if the * options are an object, with corresponding keys; if the options are not an * object, `possible` isn't, either. All `possible` value representations * should be **arrays of either values or functions**. Values are === checked * against `actual`. Functions are fed `actual` as an argument and their * return value is interpreted: truthy = valid, falsy = invalid. * - `optional` (optional): If this is `true`, `actual` can be undefined. * @returns Whether or not the options are valid (`true` = valid) */ validateOptions: ( result: PostcssResult, ruleName: string, ...optionDescriptions: RuleOptions[] ) => boolean;
/** * Useful for third-party code (e.g. plugins) to run a PostCSS Root * against a specific rule and do something with the warnings. */ checkAgainstRule: <T, O extends Object>( options: { ruleName: string; ruleSettings: ConfigRuleSettings<T, O>; root: PostCSS.Root; result?: PostcssResult; context?: RuleContext; }, callback: (warning: PostCSS.Warning) => void ) => Promise<void>;};
Utility functions.
type Warning
type Warning = { /** * The line of the inclusive start position of the warning. */ line: number; /** * The column of the inclusive start position of the warning. */ column: number; /** * The line of the exclusive end position of the warning. */ endLine?: number; /** * The column of the exclusive end position of the warning. */ endColumn?: number; rule: string; severity: Severity; text: string; url?: string; stylelintType?: StylelintWarningType;};
A lint warning.
Package Files (1)
Dependencies (38)
- @csstools/css-parser-algorithms
- @csstools/css-tokenizer
- @csstools/media-query-list-parser
- @csstools/selector-specificity
- @dual-bundle/import-meta-resolve
- balanced-match
- colord
- cosmiconfig
- css-functions-list
- css-tree
- debug
- fast-glob
- fastest-levenshtein
- file-entry-cache
- global-modules
- globby
- globjoin
- html-tags
- ignore
- imurmurhash
- is-plain-object
- known-css-properties
- mathml-tag-names
- meow
- micromatch
- normalize-path
- picocolors
- postcss
- postcss-resolve-nested-selector
- postcss-safe-parser
- postcss-selector-parser
- postcss-value-parser
- resolve-from
- string-width
- supports-hyperlinks
- svg-tags
- table
- write-file-atomic
Dev Dependencies (44)
- @changesets/cli
- @changesets/get-github-info
- @jest/globals
- @stylelint/prettier-config
- @stylelint/remark-preset
- @types/balanced-match
- @types/css-tree
- @types/debug
- @types/file-entry-cache
- @types/global-modules
- @types/globjoin
- @types/imurmurhash
- @types/micromatch
- @types/normalize-path
- @types/postcss-less
- @types/postcss-resolve-nested-selector
- @types/postcss-safe-parser
- @types/svg-tags
- @types/write-file-atomic
- benchmark
- common-tags
- deepmerge
- eslint
- eslint-config-stylelint
- eslint-plugin-import
- eslint-plugin-jest
- husky
- jest
- jest-preset-stylelint
- jest-watch-typeahead
- lint-staged
- np
- npm-run-all
- patch-package
- postcss-html
- postcss-import
- postcss-less
- postcss-sass
- postcss-scss
- prettier
- remark-cli
- rollup
- sugarss
- typescript
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/stylelint
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/stylelint)
- HTML<a href="https://www.jsdocs.io/package/stylelint"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 3427 ms. - Missing or incorrect documentation? Open an issue for this package.