mt-music-player
Version:
A simply web music player app.
35 lines (32 loc) • 1.05 kB
JavaScript
import url from 'url';
import path from 'path';
import Module from 'module';
const builtins = Module.builtinModules;
const JS_EXTENSIONS = new Set(['.js', '.mjs']);
export default function resolve(specifier, parentModuleURL = 'file://', defaultResolve) {
console.log(specifier, parentModuleURL);
if (builtins.includes(specifier)) {
return {
url: specifier,
format: 'builtin',
};
}
if (/^\.{0,2}[/]/.test(specifier) !== true && !specifier.startsWith('file:')) {
// For node_modules support:
return defaultResolve(specifier, parentModuleURL);
// throw new Error(
// `imports must begin with '/', './', or '../'; '${specifier}' does not`);
}
const resolved = new url.URL(specifier, parentModuleURL);
const ext = path.extname(resolved.pathname);
let result = resolved.href;
if (!JS_EXTENSIONS.has(ext)) {
// throw new Error(
// `Cannot load file with non-JavaScript file extension ${ext}.`);
result = `${resolved.href}.js`;
}
return {
url: result,
format: 'esm',
};
}