refactor: circular deps part 12

This commit is contained in:
Nathan Walker
2025-07-09 12:16:50 -07:00
parent 33d967b5b2
commit ee03774ec0
6 changed files with 74 additions and 45 deletions

View File

@ -0,0 +1,39 @@
export type ModuleListProvider = () => string[];
let appForModuleResolverCallback: () => void;
export function prepareAppForModuleResolver(callback: () => void) {
appForModuleResolverCallback = callback;
}
export function initAppForModuleResolver() {
console.log('initAppForModuleResolver has callback?', appForModuleResolverCallback);
if (appForModuleResolverCallback) {
appForModuleResolverCallback();
appForModuleResolverCallback = undefined;
}
}
export interface ModuleNameResolverType {
resolveModuleName(path: string, ext: string): string;
clearCache(): void;
}
let resolverInstance: ModuleNameResolverType;
export function getResolveInstance() {
return resolverInstance;
}
/**
* Used to set a global singular instance of ModuleNameResolver
* @param resolver instance
*/
export function _setResolver(resolver: ModuleNameResolverType) {
resolverInstance = resolver;
}
export function clearResolverCache() {
if (resolverInstance) {
resolverInstance.clearCache();
}
}