diff --git a/lib/core/pluginLoader.js b/lib/core/pluginLoader.js index 1a5911131..871e8b111 100644 --- a/lib/core/pluginLoader.js +++ b/lib/core/pluginLoader.js @@ -1,10 +1,9 @@ import path from 'node:path'; import { readdir as _readdir } from 'node:fs'; import { promisify } from 'node:util'; - +import { fileURLToPath } from 'node:url'; import { importGlobalSilent } from 'import-global'; const readdir = promisify(_readdir); -const __dirname = path.dirname(import.meta.url); const defaultPlugins = new Set([ 'browsertime', @@ -23,6 +22,10 @@ const defaultPlugins = new Set([ 'remove' ]); +const currentFilePath = fileURLToPath(import.meta.url); +const __dirname = path.dirname(currentFilePath); + +// Construct a normal path const pluginsDir = path.join(__dirname, '..', 'plugins'); export async function parsePluginNames(options) { @@ -49,7 +52,7 @@ export async function parsePluginNames(options) { return pluginNames; }; - const files = await readdir(new URL(pluginsDir)); + const files = await readdir(pluginsDir); const builtins = files.map(name => path.basename(name, '.js')); // eslint-disable-next-line unicorn/no-array-callback-reference