fix: handle import of ESM plugins

This commit is contained in:
Gregor Martynus 2023-01-14 13:49:42 -08:00
parent 0ff4dee493
commit f6c978cd9e

View File

@ -53,7 +53,19 @@ export async function loadPlugin({ cwd }, name, pluginsPath) {
: __dirname; : __dirname;
// See https://github.com/mysticatea/eslint-plugin-node/issues/250 // See https://github.com/mysticatea/eslint-plugin-node/issues/250
return isFunction(name) ? name : (await import(resolveFrom.silent(basePath, name) || resolveFrom(cwd, name))).default; if (isFunction(name)) {
return name;
}
const { default: cjsExport, ...esmNamedExports } = await import(
resolveFrom.silent(basePath, name) || resolveFrom(cwd, name)
);
if (cjsExport) {
return cjsExport;
}
return esmNamedExports;
} }
export function parseConfig(plugin) { export function parseConfig(plugin) {