first commit
This commit is contained in:
41
node_modules/stylelint/lib/utils/getFileIgnorer.mjs
generated
vendored
Normal file
41
node_modules/stylelint/lib/utils/getFileIgnorer.mjs
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
import { existsSync, readFileSync } from 'node:fs';
|
||||
import { isAbsolute, resolve } from 'node:path';
|
||||
import ignore from 'ignore';
|
||||
|
||||
import { DEFAULT_IGNORE_FILENAME } from '../constants.mjs';
|
||||
|
||||
/**
|
||||
* @typedef {import('stylelint').LinterOptions} LinterOptions
|
||||
*
|
||||
* @param {Pick<LinterOptions, 'ignorePath' | 'ignorePattern'> & { cwd: string }} options
|
||||
* @returns {import('ignore').Ignore}
|
||||
*/
|
||||
export default function getFileIgnorer({ ignorePath, ignorePattern, cwd }) {
|
||||
const ignorer = ignore.default();
|
||||
const ignorePaths = [ignorePath || []].flat();
|
||||
|
||||
if (ignorePaths.length === 0) {
|
||||
ignorePaths.push(DEFAULT_IGNORE_FILENAME);
|
||||
}
|
||||
|
||||
for (const ignoreFilePath of ignorePaths) {
|
||||
const absoluteIgnoreFilePath = isAbsolute(ignoreFilePath)
|
||||
? ignoreFilePath
|
||||
: resolve(cwd, ignoreFilePath);
|
||||
|
||||
if (!existsSync(absoluteIgnoreFilePath)) continue;
|
||||
|
||||
const ignoreText = 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;
|
||||
}
|
||||
Reference in New Issue
Block a user