@regru/webpack-babel-multi-target-plugin
Version:
A Webpack plugin that works with Babel to allow deployment of ES2015 builds targeted to modern browsers, with an ES5 fallback for legacy browsers.
34 lines (33 loc) • 1.44 kB
TypeScript
import { Compiler, ExternalsElement, Loader, Plugin } from 'webpack';
import { BabelTarget } from './babel-target';
import { BabelMultiTargetLoader } from './babel.multi.target.loader';
/**
* @internalapi
*/
export declare class TargetingPlugin implements Plugin {
private targets;
private exclude;
private readonly externals;
private babelLoaderPath;
private babelLoaders;
private remainingTargets;
private readonly doNotTarget;
constructor(targets: BabelTarget[], exclude: RegExp[], doNotTarget: RegExp[], externals: ExternalsElement | ExternalsElement[]);
apply(compiler: Compiler): void;
private getBlindTarget;
targetLazyModules(resolveContext: any): Promise<any>;
wrapResolveDependencies(resolveContext: any): Promise<any>;
targetModule(module: any): void;
private targetDependency;
targetDependencies(babelTarget: BabelTarget, context: any): void;
afterResolve(resolveContext: any): Promise<void>;
checkResolveTarget(resolveContext: any, hasLoader: boolean): void;
private targetChunkNames;
replaceLoaders(resolveContext: any, loaders: BabelMultiTargetLoader[]): void;
isTargetedRequest(context: any, request: string): boolean;
private isExternalRequest;
isTranspiledRequest(resolveContext: any): boolean;
getTargetFromContext(context: any): BabelTarget;
private getTargetedBabelLoader;
static loader(loader?: Loader): Loader;
}