stylelint
Version:
A mighty CSS linter that helps you avoid errors and enforce conventions.
26 lines (19 loc) • 625 B
JavaScript
import dynamicImport from './dynamicImport.mjs';
/** @import {Plugin,PluginCreator} from 'postcss' */
/** @import {Loader} from 'stylelint' */
/**
* @param {Loader} loader
* @returns {Promise<Plugin|PluginCreator<unknown>>}
*/
export default async function getLoader(loader) {
if (typeof loader === 'string') {
let resolved;
resolved = await dynamicImport(loader, { moduleLabel: 'loader' });
resolved = resolved.default ?? resolved;
return resolved;
}
if (typeof loader === 'object' || typeof loader === 'function') {
return loader;
}
throw new Error('Loader must be a string or a PostCSS plugin');
}