diff --git a/src/loadable/assignImportedComponents.ts b/src/loadable/assignImportedComponents.ts index 2078f01f..61dc7a5d 100644 --- a/src/loadable/assignImportedComponents.ts +++ b/src/loadable/assignImportedComponents.ts @@ -3,7 +3,7 @@ import { Promised } from '../types'; import { assignMetaData } from './metadata'; import { done } from './pending'; import { LOADABLE_SIGNATURE } from './registry'; -import { toLoadable } from './toLoadable'; +import {getLoadable} from "./loadable"; type ImportedDefinition = [Promised, string, string, boolean]; @@ -15,7 +15,7 @@ export const assignImportedComponents = (set: ImportedDefinition[]) => { set.forEach((imported) => { const allowAutoLoad = !(imported[3] || !settings.fileFilter(imported[2])); - const loadable = toLoadable(imported[0], allowAutoLoad); + const loadable = getLoadable(imported[0], allowAutoLoad); assignMetaData(loadable.mark, loadable, imported[1], imported[2]); }); diff --git a/src/loadable/loadable.ts b/src/loadable/loadable.ts index 07404e59..4a4d51b5 100644 --- a/src/loadable/loadable.ts +++ b/src/loadable/loadable.ts @@ -28,7 +28,7 @@ export function executeLoadable(importFunction: DefaultImport | Loadable(importFunction: DefaultImport | Loadable): Loadable { +export function getLoadable(importFunction: DefaultImport | Loadable, autoImport: boolean = true): Loadable { if ('resolution' in importFunction) { return importFunction; } @@ -77,7 +77,7 @@ export function getLoadable(importFunction: DefaultImport | Loadable): }); } - const loadable = toLoadable(importFunction as any); + const loadable = toLoadable(importFunction as any, autoImport); LOADABLE_WEAK_SIGNATURE.set(importFunction, loadable); return loadable as any; diff --git a/src/loadable/marks.ts b/src/loadable/marks.ts index 254e33b7..ec10114b 100644 --- a/src/loadable/marks.ts +++ b/src/loadable/marks.ts @@ -52,6 +52,8 @@ export const rehydrateMarks = (marks?: string[]): Promise => { const usedMarks = new Set(); + console.log({rehydratedMarks,LOADABLE_MARKS }) + LOADABLE_MARKS.forEach(({ mark, loadable }) => { if (markerOverlap(mark, rehydratedMarks)) { mark.forEach((m) => usedMarks.add(m)); diff --git a/src/loadable/pending.ts b/src/loadable/pending.ts index c277e932..18f52d8a 100644 --- a/src/loadable/pending.ts +++ b/src/loadable/pending.ts @@ -22,6 +22,7 @@ export const isItReady = (): boolean => readyFlag; * waits for all necessary imports to be fulfilled */ export const done = (): Promise => { + console.log('pending:', pending.length); if (pending.length) { readyFlag = false; diff --git a/src/loadable/toLoadable.ts b/src/loadable/toLoadable.ts index 6cf4b06d..4a77dc14 100644 --- a/src/loadable/toLoadable.ts +++ b/src/loadable/toLoadable.ts @@ -14,6 +14,10 @@ export interface InnerLoadable extends Loadable { _probeChanges(): Promise; } +/** + * @deprecated to be used only inside {@link getLoadable} + * @internal + */ export function toLoadable(firstImportFunction: Promised, autoImport = true): Loadable { let importFunction = firstImportFunction; const loadImportedComponent = (): Promise => @@ -116,6 +120,7 @@ export function toLoadable(firstImportFunction: Promised, autoImport = tru load() { if (!this.promise) { + console.log('loading', importFunction); const promise = (this.promise = loadImportedComponent().then( (payload) => { this.done = true;