| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 'use strict';const path = require('path');const createStylelint = require('./createStylelint');const lintSource = require('./lintSource');/** @typedef {import('stylelint').PostcssPluginOptions} PostcssPluginOptions *//** @typedef {import('stylelint').Config} StylelintConfig *//** * @type {import('postcss').PluginCreator<PostcssPluginOptions>} * */module.exports = (options = {}) => {	const [cwd, tailoredOptions] = isConfig(options)		? [process.cwd(), { config: options }]		: [options.cwd || process.cwd(), options];	const stylelint = createStylelint(tailoredOptions);	return {		postcssPlugin: 'stylelint',		Once(root, { result }) {			let filePath = root.source && root.source.input.file;			if (filePath && !path.isAbsolute(filePath)) {				filePath = path.join(cwd, filePath);			}			return lintSource(stylelint, {				filePath,				existingPostcssResult: result,			});		},	};};module.exports.postcss = true;/** * @param {PostcssPluginOptions} options * @returns {options is StylelintConfig} */function isConfig(options) {	return 'rules' in options;}
 |