UNPKG

1.2 kBJavaScriptView Raw
1'use strict';
2
3const checkAgainstRule = require('./utils/checkAgainstRule');
4const createPlugin = require('./createPlugin');
5const createStylelint = require('./createStylelint');
6const formatters = require('./formatters');
7const postcssPlugin = require('./postcssPlugin');
8const report = require('./utils/report');
9const requireRule = require('./requireRule');
10const ruleMessages = require('./utils/ruleMessages');
11const rules = require('./rules');
12const standalone = require('./standalone');
13const validateOptions = require('./utils/validateOptions');
14
15/**
16 * TODO TYPES change any to appropriated options
17 * @type {import('postcss').Plugin<any> & Partial<import('stylelint').StylelintPublicAPI>}
18 */
19const api = postcssPlugin;
20
21const requiredRules = rules.reduce(
22 /**
23 * @param {{[k: string]: any}} acc
24 * @param {string} cur
25 * @return {{[k: string]: any}}
26 */
27 (acc, cur) => {
28 acc[cur] = requireRule(cur);
29
30 return acc;
31 },
32 {},
33);
34
35api.utils = {
36 report,
37 ruleMessages,
38 validateOptions,
39 checkAgainstRule,
40};
41
42api.lint = standalone;
43api.rules = requiredRules;
44api.formatters = formatters;
45api.createPlugin = createPlugin;
46api.createLinter = createStylelint;
47
48module.exports = api;