Skip to content
File

Blob: worker/dev/register-aliases.mjs

javascript20 lines
1import { registerHooks } from 'node:module';
2import { pathToFileURL } from 'node:url';
3import { aliases } from './aliases.ts';
4 
5const roots = Object.entries(aliases).map(([alias, directory]) => [
6 `${alias}/`,
7 pathToFileURL(`${directory}/`),
8]);
9 
10registerHooks({
11 resolve(specifier, context, nextResolve) {
12 for (const [prefix, root] of roots) {
13 if (specifier.startsWith(prefix)) {
14 return nextResolve(new URL(specifier.slice(prefix.length), root).href, context);
15 }
16 }
17 return nextResolve(specifier, context);
18 },
19});