| // NOTICE: This file is generated by Rollup. To modify it, |
| // please instead edit the ESM counterpart and rebuild with Rollup (npm run build). |
| 'use strict'; |
| |
| const node_fs = require('node:fs'); |
| const node_path = require('node:path'); |
| const ignore = require('ignore'); |
| const constants = require('../constants.cjs'); |
| |
| /** |
| * @typedef {import('stylelint').LinterOptions} LinterOptions |
| * |
| * @param {Pick<LinterOptions, 'ignorePath' | 'ignorePattern'> & { cwd: string }} options |
| * @returns {import('ignore').Ignore} |
| */ |
| function getFileIgnorer({ ignorePath, ignorePattern, cwd }) { |
| const ignorer = ignore(); |
| const ignorePaths = [ignorePath || []].flat(); |
| |
| if (ignorePaths.length === 0) { |
| ignorePaths.push(constants.DEFAULT_IGNORE_FILENAME); |
| } |
| |
| for (const ignoreFilePath of ignorePaths) { |
| const absoluteIgnoreFilePath = node_path.isAbsolute(ignoreFilePath) |
| ? ignoreFilePath |
| : node_path.resolve(cwd, ignoreFilePath); |
| |
| if (!node_fs.existsSync(absoluteIgnoreFilePath)) continue; |
| |
| const ignoreText = node_fs.readFileSync(absoluteIgnoreFilePath, { |
| // utf must remain lowercased to hit the fast path |
| // see nodejs/node#49888 |
| encoding: 'utf8', |
| flag: 'r', |
| }); |
| |
| ignorer.add(ignoreText); |
| } |
| |
| if (ignorePattern) ignorer.add(ignorePattern); |
| |
| return ignorer; |
| } |
| |
| module.exports = getFileIgnorer; |