UNPKG

2.9 kBTypeScriptView Raw
1import { Convention } from "./ConventionDependenciesPlugin";
2import * as Webpack from 'webpack';
3export declare type Polyfills = "es2015" | "es2016" | "esnext" | "none";
4export declare type AureliaModuleConfig = keyof typeof configModuleNames | 'standard' | 'basic';
5export interface Options {
6 /**
7 * if a string is given, include everything inside that folder, recursively.
8 */
9 includeAll: false | string;
10 aureliaApp?: string;
11 /**
12 * A single config or a list of configurations to ensure the AureliaPlugin can bundle appropriate modules for
13 * the aurelia-loader to load at runtime.
14 *
15 * `aurelia-framework` exposes configuration helpers like `.standardConfiguration()` etc...,
16 * that load plugins (`aurelia-templating-binding`, `aurelia-templating-resources`, `aurelia-templating-router` etc...),
17 * but we can't know if they are actually used or not at build time.
18 *
19 * This config gives users the ability to indicate what are used at build time.
20 * Custom config is performed in use code and can use `.moduleName()` like normal.
21 */
22 aureliaConfig: AureliaModuleConfig | AureliaModuleConfig[];
23 /**
24 * An application can use this config to specify what PAL module to use.
25 *
26 * Possible values are:
27 * - aurelia-pal-browser
28 * - aurelia-pal-worker
29 * - aurelia-pal-nodejs
30 *
31 * By default, it'll be determined based on the webpack configuration.
32 */
33 pal?: string;
34 /**
35 * A dist folder to look for in *all* modules. Possible values for
36 * the core Aurelia modules are:
37 * - es2015
38 * - commonjs
39 * - amd
40 * - native-modules
41 *
42 * Note: application may choose to have a different dist types for their modules, and not use the above modules.
43 *
44 * Note: In the future, multiple dist with fallback may be supported to help application specify the dist with as latest syntaxes as possible.
45 */
46 dist: string;
47 entry?: string | string[];
48 features: {
49 ie?: boolean;
50 svg?: boolean;
51 unparser?: boolean;
52 polyfills?: Polyfills;
53 };
54 noHtmlLoader: boolean;
55 noInlineView: boolean;
56 noModulePathResolve: boolean;
57 noWebpackLoader: boolean;
58 moduleMethods: string[];
59 viewsFor: string;
60 viewsExtensions: string | Convention | (string | Convention)[];
61}
62export declare class AureliaPlugin {
63 options: Options;
64 constructor(options?: Partial<Options>);
65 apply(compiler: Webpack.Compiler): void;
66 addEntry(options: Webpack.WebpackOptionsNormalized, modules: string | string[]): void;
67}
68declare let configModuleNames: {
69 defaultBindingLanguage: string;
70 router: string;
71 history: string;
72 defaultResources: string;
73 eventAggregator: string;
74 developmentLogging: string;
75};
76export {};