UNPKG

998 BJavaScriptView Raw
1'use strict';
2// Try to get file ignorer from '.stylelintignore'
3
4const fs = require('fs');
5const path = require('path');
6const { default: ignore } = require('ignore');
7
8const DEFAULT_IGNORE_FILENAME = '.stylelintignore';
9const FILE_NOT_FOUND_ERROR_CODE = 'ENOENT';
10
11/** @typedef {import('stylelint').StylelintStandaloneOptions} StylelintOptions */
12
13/**
14 * @param {StylelintOptions} options
15 * @return {import('ignore').Ignore}
16 */
17module.exports = function (options) {
18 const ignoreFilePath = options.ignorePath || DEFAULT_IGNORE_FILENAME;
19 const absoluteIgnoreFilePath = path.isAbsolute(ignoreFilePath)
20 ? ignoreFilePath
21 : path.resolve(process.cwd(), ignoreFilePath);
22 let ignoreText = '';
23
24 try {
25 ignoreText = fs.readFileSync(absoluteIgnoreFilePath, 'utf8');
26 } catch (readError) {
27 if (readError.code !== FILE_NOT_FOUND_ERROR_CODE) throw readError;
28 }
29
30 const ignorePattern = options.ignorePattern || [];
31 const ignorer = ignore().add(ignoreText).add(ignorePattern);
32
33 return ignorer;
34};