Files
Nikolay Vitkov 2a1b3b34b1 Update StyleLint to v16
Stylelint v16 deprecated CJS so I moved our lint script to ESM,
and fixed all the deprecation warning.
The only place I needed to silence them were tests,
as we import CJS there.

Bug: none
Change-Id: Iae4d2df76c855a9738b774a2d035f22509770215
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6138610
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
2025-01-03 02:57:06 -08:00

44 lines
981 B
JavaScript

import process from 'node:process';
import globby from 'globby';
import resolveConfig from './resolveConfig.mjs';
/** @import {Config as StylelintConfig} from 'stylelint' */
/**
* @param {import('stylelint').LinterOptions} options
* @returns {Promise<StylelintConfig | null>}
*/
export default async function printConfig({
cwd = process.cwd(),
code,
config,
configBasedir,
configFile,
globbyOptions,
files,
}) {
const isCodeNotFile = code !== undefined;
const filePath = files && files[0];
if (!files || files.length !== 1 || !filePath || isCodeNotFile) {
return Promise.reject(
new Error('The --print-config option must be used with exactly one file path.'),
);
}
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
);
}