@embroider/macros
Version:
Standardized build-time macros for ember apps.
52 lines (51 loc) • 1.86 kB
TypeScript
import type { PluginItem } from '@babel/core';
import type { FirstTransformParams } from './glimmer/ast-transform';
export type SourceOfConfig = (config: object) => {
readonly name: string;
readonly root: string;
readonly version: string;
};
export type Merger = (configs: object[], params: {
sourceOfConfig: SourceOfConfig;
}) => object;
export default class MacrosConfig {
private origAppRoot;
static for(key: any, appRoot: string): MacrosConfig;
private mode;
private globalConfig;
private isDevelopingPackageRoots;
enableRuntimeMode(): void;
enablePackageDevelopment(packageRoot: string): void;
private _importSyncImplementation;
get importSyncImplementation(): "cjs" | "eager";
set importSyncImplementation(value: 'cjs' | 'eager');
private constructor();
private get packageCache();
private get appRoot();
private _configWritable;
private configs;
private configSources;
private mergers;
setConfig(fromPath: string, packageName: string, config: object): void;
setOwnConfig(fromPath: string, config: object): void;
setGlobalConfig(fromPath: string, key: string, value: object): void;
private internalSetConfig;
useMerger(fromPath: string, merger: Merger): void;
private cachedUserConfigs;
private get userConfigs();
private makeConfigSourcer;
babelPluginConfig(appOrAddonInstance?: any): PluginItem[];
static astPlugins(owningPackageRoot?: string): {
plugins: Function[];
setConfig: (config: MacrosConfig) => void;
lazyParams: FirstTransformParams;
};
static transforms(owningPackageRoot?: string): {
plugins: Function[];
setConfig: (config: MacrosConfig) => void;
lazyParams: FirstTransformParams;
};
private mergerFor;
private resolvePackage;
finalize(): void;
}