'use strict'; const resolveConfig = require('./resolveConfig'); const globby = require('globby'); /** @typedef {import('stylelint').Config} StylelintConfig */ /** * @param {import('stylelint').LinterOptions} options * @returns {Promise} */ module.exports = async function printConfig({ cwd = process.cwd(), code, config, configBasedir, configFile, globbyOptions, files, }) { const isCodeNotFile = code !== undefined; if (!files || files.length !== 1 || isCodeNotFile) { return Promise.reject( new Error('The --print-config option must be used with exactly one file path.'), ); } const filePath = files[0]; if (globby.hasMagic(filePath)) { return Promise.reject(new Error('The --print-config option does not support globs.')); } return ( (await resolveConfig(filePath, { cwd: (globbyOptions && globbyOptions.cwd) || cwd, config, configBasedir, configFile, })) || null ); };