knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
22 lines (21 loc) • 840 B
JavaScript
import { ResolverFactory } from 'oxc-resolver';
import { DEFAULT_EXTENSIONS } from '../constants.js';
import { timerify } from './Performance.js';
import { toPosix } from './path.js';
const createSyncResolver = (extensions) => {
const resolver = new ResolverFactory({
extensions,
conditionNames: ['require', 'import', 'node', 'default'],
});
return function resolveSync(specifier, baseDir) {
try {
const resolved = resolver.sync(baseDir, specifier);
if (resolved?.path)
return toPosix(resolved.path);
}
catch (_error) { }
};
};
const resolveSync = createSyncResolver([...DEFAULT_EXTENSIONS, '.json']);
export const _resolveSync = timerify(resolveSync);
export const _createSyncResolver = extensions => timerify(createSyncResolver(extensions));