UNPKG

ember-auto-import

Version:
41 lines (40 loc) 1.72 kB
import Analyzer from './analyzer'; import type { TreeType } from './analyzer'; import { V2AddonResolver } from './package'; import type { Node } from 'broccoli-node-api'; import { type AddonInstance, type AddonMeta, type AppInstance } from '@embroider/shared-internals'; export interface AutoImportSharedAPI { isPrimary(addonInstance: AddonInstance): boolean; analyze(tree: Node, addon: AddonInstance, treeType?: TreeType, supportsFastAnalyzer?: true): Node; included(addonInstance: AddonInstance): void; addTo(tree: Node): Node; registerV2Addon(packageName: string, packageRoot: string, compatOptions?: CompatOptions): void; } export interface CompatOptions { customizeMeta?: (meta: AddonMeta) => AddonMeta; } export default class AutoImport implements AutoImportSharedAPI { private packages; private packageCache; private env; private consoleWrite; private analyzers; private bundles; private v2Addons; static register(addon: AddonInstance): void; static lookup(addon: AddonInstance): AutoImportSharedAPI; constructor(addonInstance: AddonInstance); installAppFilter(_host: AppInstance): void; isPrimary(_addon: AddonInstance): boolean; analyze(tree: Node, addon: AddonInstance, treeType?: TreeType, supportsFastAnalyzer?: true): Analyzer; registerV2Addon(packageName: string, packageRoot: string, options?: CompatOptions): void; get v2AddonResolver(): V2AddonResolver; private _renamedModules; private renamedModules; private makeBundler; private get rootPackage(); addTo(allAppTree: Node): Node; included(addonInstance: AddonInstance): void; private installBabelPlugin; private configureFingerprints; }