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

42 lines
905 B
JavaScript

import { isAbsolute, join, normalize } from 'node:path';
import process from 'node:process';
import createStylelint from './createStylelint.mjs';
import getConfigForFile from './getConfigForFile.mjs';
/**
* @type {import('stylelint').PublicApi['resolveConfig']}
*/
export default async function resolveConfig(
filePath,
{
cwd = process.cwd(),
config = undefined,
configBasedir = undefined,
configFile = undefined,
} = {},
) {
if (!filePath) {
return undefined;
}
const stylelint = createStylelint({
config,
configFile,
configBasedir,
cwd,
});
const absoluteFilePath = !isAbsolute(filePath) ? join(cwd, filePath) : normalize(filePath);
const configSearchPath = stylelint._options.configFile || absoluteFilePath;
const resolved = await getConfigForFile(stylelint, configSearchPath, absoluteFilePath);
if (!resolved) {
return undefined;
}
return resolved.config;
}