electron-webpack
Version:
> Because setting up `webpack` in the `electron` environment shouldn't be difficult.
65 lines (64 loc) • 3.11 kB
TypeScript
/// <reference types="webpack" />
import BluebirdPromise from "bluebird-lst";
import "source-map-support/register";
import { Configuration, Plugin, Rule } from "webpack";
import { ConfigurationEnv, ConfigurationType, ElectronWebpackConfiguration, PackageMetadata, PartConfiguration } from "./core";
export { ElectronWebpackConfiguration } from "./core";
export declare function getAppConfiguration(env: ConfigurationEnv): BluebirdPromise<(Configuration | null)[]>;
export declare function getMainConfiguration(env: ConfigurationEnv): Promise<Configuration | null>;
export declare function getRendererConfiguration(env: ConfigurationEnv): Promise<Configuration | null>;
export declare function getDllConfiguration(env: ConfigurationEnv): Promise<Configuration | null>;
export declare function getTestConfiguration(env: ConfigurationEnv): Promise<Configuration>;
export declare class WebpackConfigurator {
readonly type: ConfigurationType;
readonly env: ConfigurationEnv;
readonly electronWebpackConfiguration: ElectronWebpackConfiguration;
readonly metadata: PackageMetadata;
readonly projectDir: string;
private electronVersionPromise;
readonly isRenderer: boolean;
readonly isProduction: boolean;
readonly isTest: boolean;
readonly sourceDir: string;
readonly commonSourceDirectory: string;
readonly debug: any;
config: Configuration;
readonly rules: Array<Rule>;
readonly plugins: Array<Plugin>;
readonly extensions: Array<string>;
electronVersion: string;
readonly entryFiles: Array<string>;
constructor(type: ConfigurationType, env: ConfigurationEnv, electronWebpackConfiguration: ElectronWebpackConfiguration, metadata: PackageMetadata);
/**
* Returns null if code processing for type is disabled.
*/
getSourceDirectory(type: ConfigurationType): string | null;
getPartConfiguration(type: ConfigurationType): PartConfiguration | null | undefined;
readonly commonDistDirectory: string;
hasDependency(name: string): boolean;
hasDevDependency(name: string): boolean;
/**
* Returns the names of devDependencies that match a given string or regex.
* If no matching dependencies are found, an empty array is returned.
*
* @return list of matching dependency names, e.g. `['babel-preset-react', 'babel-preset-stage-0']`
*/
getMatchingDevDependencies(options?: GetMatchingDevDependenciesOptions): string[];
configure(entry?: {
[key: string]: any;
} | null): Promise<Configuration>;
private applyCustomModifications();
private computeExternals();
}
export declare function createConfigurator(type: ConfigurationType, env: ConfigurationEnv | null): Promise<WebpackConfigurator>;
export declare function configure(type: ConfigurationType, env: ConfigurationEnv | null): Promise<Configuration | null>;
export interface GetMatchingDevDependenciesOptions {
/**
* The list of prefixes to include, e.g. `["babel-preset-"]`.
*/
includes?: Array<string>;
/**
* The list of names to exclude.
*/
excludes?: Array<string>;
}