1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 'use strict';
- const createStylelint = require('./createStylelint');
- const path = require('path');
- /**
- * Resolves the effective configuation for a given file. Resolves to `undefined`
- * if no config is found.
- * @param {string} filePath - The path to the file to get the config for.
- * @param {Pick<
- * import('stylelint').LinterOptions,
- * | 'cwd'
- * | 'config'
- * | 'configBasedir'
- * | 'configFile'
- * >} [options] - The options to use when creating the Stylelint instance.
- * @returns {Promise<import('stylelint').Config | undefined>}
- */
- module.exports = async function resolveConfig(
- filePath,
- { cwd = process.cwd(), config, configBasedir, configFile } = {},
- ) {
- if (!filePath) {
- return undefined;
- }
- const stylelint = createStylelint({
- config,
- configFile,
- configBasedir,
- cwd,
- });
- const absoluteFilePath = !path.isAbsolute(filePath)
- ? path.join(cwd, filePath)
- : path.normalize(filePath);
- const configSearchPath = stylelint._options.configFile || absoluteFilePath;
- const resolved = await stylelint.getConfigForFile(configSearchPath, absoluteFilePath);
- if (!resolved) {
- return undefined;
- }
- return resolved.config;
- };
|