SEO Tweaks
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import path from 'node:path';
|
||||
import { fileURLToPath, pathToFileURL } from 'node:url';
|
||||
import { existsSync } from 'node:fs';
|
||||
|
||||
const projectRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
||||
const libRoot = path.join(projectRoot, 'src', 'lib');
|
||||
|
||||
export function resolve(specifier, context, nextResolve) {
|
||||
if (specifier.startsWith('$lib/')) {
|
||||
const relative = specifier.slice('$lib/'.length);
|
||||
const candidates = [
|
||||
path.join(libRoot, relative + '.ts'),
|
||||
path.join(libRoot, relative + '.js'),
|
||||
path.join(libRoot, relative, 'index.ts'),
|
||||
path.join(libRoot, relative, 'index.js'),
|
||||
];
|
||||
for (const candidate of candidates) {
|
||||
if (existsSync(candidate)) {
|
||||
return nextResolve(pathToFileURL(candidate).href, context);
|
||||
}
|
||||
}
|
||||
}
|
||||
return nextResolve(specifier, context);
|
||||
}
|
||||
Reference in New Issue
Block a user