'use strict'; // Try to get file ignorer from '.stylelintignore' const fs = require('fs'); const path = require('path'); const { default: ignore } = require('ignore'); const DEFAULT_IGNORE_FILENAME = '.stylelintignore'; const FILE_NOT_FOUND_ERROR_CODE = 'ENOENT'; /** @typedef {import('stylelint').StylelintStandaloneOptions} StylelintOptions */ /** * @param {StylelintOptions} options * @return {import('ignore').Ignore} */ module.exports = function (options) { const ignoreFilePath = options.ignorePath || DEFAULT_IGNORE_FILENAME; const absoluteIgnoreFilePath = path.isAbsolute(ignoreFilePath) ? ignoreFilePath : path.resolve(process.cwd(), ignoreFilePath); let ignoreText = ''; try { ignoreText = fs.readFileSync(absoluteIgnoreFilePath, 'utf8'); } catch (readError) { if (readError.code !== FILE_NOT_FOUND_ERROR_CODE) throw readError; } const ignorePattern = options.ignorePattern || []; const ignorer = ignore().add(ignoreText).add(ignorePattern); return ignorer; };