UNPKG

ember-auto-import

Version:
47 lines (46 loc) 1.39 kB
import Analyzer, { LiteralImport, TemplateImport } from './analyzer'; import Package from './package'; import BundleConfig from './bundle-config'; export interface ResolvedImport { requestedSpecifier: string; resolvedSpecifier: string; packageName: string; packageRoot: string; importedBy: LiteralImport[]; } export interface ResolvedTemplateImport { cookedQuasis: string[]; expressionNameHints: string[]; packageName: string; packageRoot: string; importedBy: TemplateImport[]; } export interface BundleDependencies { staticImports: ResolvedImport[]; staticTemplateImports: ResolvedTemplateImport[]; dynamicImports: ResolvedImport[]; dynamicTemplateImports: ResolvedTemplateImport[]; } export interface SplitterOptions { bundles: BundleConfig; analyzers: Map<Analyzer, Package>; } export default class Splitter { private options; private lastImports; private lastDeps; private packageVersions; constructor(options: SplitterOptions); deps(): Promise<Map<string, BundleDependencies>>; private importsChanged; private computeTargets; private handleLiteralImport; private handleTemplateImport; private versionOfPackage; private assertSafeVersion; private computeDeps; private sortDependencies; private sortBundle; private chooseBundle; private bundleFor; }