first commit
This commit is contained in:
76
node_modules/stylelint/lib/getConfigForFile.cjs
generated
vendored
Normal file
76
node_modules/stylelint/lib/getConfigForFile.cjs
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
// 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 path = require('node:path');
|
||||
const process = require('node:process');
|
||||
const cosmiconfig = require('cosmiconfig');
|
||||
const augmentConfig = require('./augmentConfig.cjs');
|
||||
const configurationError = require('./utils/configurationError.cjs');
|
||||
|
||||
const IS_TEST = process.env.NODE_ENV === 'test';
|
||||
const STOP_DIR = IS_TEST ? process.cwd() : undefined;
|
||||
|
||||
/** @import {Config as StylelintConfig, CosmiconfigResult as StylelintCosmiconfigResult, InternalApi as StylelintInternalApi} from 'stylelint' */
|
||||
|
||||
/**
|
||||
* @param {StylelintInternalApi} stylelint
|
||||
* @param {string} [searchPath]
|
||||
* @param {string} [filePath]
|
||||
* @returns {Promise<StylelintCosmiconfigResult>}
|
||||
*/
|
||||
async function getConfigForFile(
|
||||
stylelint,
|
||||
searchPath = stylelint._options.cwd,
|
||||
filePath,
|
||||
) {
|
||||
const optionsConfig = stylelint._options.config;
|
||||
const cwd = stylelint._options.cwd;
|
||||
|
||||
if (optionsConfig) {
|
||||
const filePathAsCacheKey = filePath ?? '';
|
||||
/** @type {Map<string, StylelintCosmiconfigResult>} */
|
||||
const cachedForFiles = stylelint._specifiedConfigCache.get(optionsConfig) ?? new Map();
|
||||
const cached = cachedForFiles.get(filePathAsCacheKey);
|
||||
|
||||
if (cached) {
|
||||
return cached;
|
||||
}
|
||||
|
||||
const augmentedResult = await augmentConfig.augmentConfigFull(stylelint, filePath, {
|
||||
config: optionsConfig,
|
||||
// Add the extra path part so that we can get the directory without being
|
||||
// confused
|
||||
filepath: path.join(cwd, 'argument-config'),
|
||||
});
|
||||
|
||||
cachedForFiles.set(filePathAsCacheKey, augmentedResult);
|
||||
stylelint._specifiedConfigCache.set(optionsConfig, cachedForFiles);
|
||||
|
||||
return augmentedResult;
|
||||
}
|
||||
|
||||
const configExplorer = cosmiconfig.cosmiconfig('stylelint', {
|
||||
transform: (cosmiconfigResult) => augmentConfig.augmentConfigFull(stylelint, filePath, cosmiconfigResult),
|
||||
stopDir: STOP_DIR,
|
||||
searchStrategy: 'global', // for backward compatibility
|
||||
});
|
||||
|
||||
let config = stylelint._options.configFile
|
||||
? await configExplorer.load(stylelint._options.configFile)
|
||||
: await configExplorer.search(searchPath);
|
||||
|
||||
if (!config) {
|
||||
config = await configExplorer.search(cwd);
|
||||
}
|
||||
|
||||
if (!config) {
|
||||
return Promise.reject(
|
||||
configurationError(`No configuration provided${searchPath ? ` for ${searchPath}` : ''}`),
|
||||
);
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
module.exports = getConfigForFile;
|
||||
Reference in New Issue
Block a user