first commit
This commit is contained in:
293
app_vue/node_modules/html-webpack-plugin/typings.d.ts
generated
vendored
Normal file
293
app_vue/node_modules/html-webpack-plugin/typings.d.ts
generated
vendored
Normal file
@ -0,0 +1,293 @@
|
||||
import { AsyncSeriesWaterfallHook } from "tapable";
|
||||
import { Compiler, Compilation } from "webpack";
|
||||
import { Options as HtmlMinifierOptions } from "html-minifier-terser";
|
||||
|
||||
export = HtmlWebpackPlugin;
|
||||
|
||||
declare class HtmlWebpackPlugin {
|
||||
constructor(options?: HtmlWebpackPlugin.Options);
|
||||
|
||||
userOptions: HtmlWebpackPlugin.Options;
|
||||
|
||||
/** Current HtmlWebpackPlugin Major */
|
||||
version: number;
|
||||
|
||||
/**
|
||||
* Options after html-webpack-plugin has been initialized with defaults
|
||||
*/
|
||||
options?: HtmlWebpackPlugin.ProcessedOptions;
|
||||
|
||||
apply(compiler: Compiler): void;
|
||||
|
||||
static getHooks(compilation: Compilation): HtmlWebpackPlugin.Hooks;
|
||||
static getCompilationHooks(compilation: Compilation): HtmlWebpackPlugin.Hooks;
|
||||
|
||||
/**
|
||||
* Static helper to create a tag object to be get injected into the dom
|
||||
*/
|
||||
static createHtmlTagObject(
|
||||
tagName: string,
|
||||
attributes?: { [attributeName: string]: string | boolean },
|
||||
innerHTML?: string,
|
||||
): HtmlWebpackPlugin.HtmlTagObject;
|
||||
|
||||
static readonly version: number;
|
||||
}
|
||||
|
||||
declare namespace HtmlWebpackPlugin {
|
||||
type MinifyOptions = HtmlMinifierOptions;
|
||||
|
||||
interface Options {
|
||||
/**
|
||||
* Emit the file only if it was changed.
|
||||
* @default true
|
||||
*/
|
||||
cache?: boolean;
|
||||
/**
|
||||
* List all entries which should be injected
|
||||
*/
|
||||
chunks?: "all" | string[];
|
||||
/**
|
||||
* Allows to control how chunks should be sorted before they are included to the html.
|
||||
* @default 'auto'
|
||||
*/
|
||||
chunksSortMode?:
|
||||
| "auto"
|
||||
// `none` is deprecated and an alias for `auto` now.
|
||||
| "none"
|
||||
| "manual"
|
||||
| ((entryNameA: string, entryNameB: string) => number);
|
||||
/**
|
||||
* List all entries which should not be injected
|
||||
*/
|
||||
excludeChunks?: string[];
|
||||
/**
|
||||
* Path to the favicon icon
|
||||
*/
|
||||
favicon?: false | string;
|
||||
/**
|
||||
* The file to write the HTML to.
|
||||
* Supports subdirectories eg: `assets/admin.html`
|
||||
* [name] will be replaced by the entry name
|
||||
* Supports a function to generate the name
|
||||
*
|
||||
* @default 'index.html'
|
||||
*/
|
||||
filename?: string | ((entryName: string) => string);
|
||||
/**
|
||||
* By default the public path is set to `auto` - that way the html-webpack-plugin will try
|
||||
* to set the publicPath according to the current filename and the webpack publicPath setting
|
||||
*/
|
||||
publicPath?: string | "auto";
|
||||
/**
|
||||
* If `true` then append a unique `webpack` compilation hash to all included scripts and CSS files.
|
||||
* This is useful for cache busting
|
||||
*/
|
||||
hash?: boolean;
|
||||
/**
|
||||
* Inject all assets into the given `template` or `templateContent`.
|
||||
*/
|
||||
inject?:
|
||||
| false // Don't inject scripts
|
||||
| true // Inject scripts into body
|
||||
| "body" // Inject scripts into body
|
||||
| "head"; // Inject scripts into head
|
||||
/**
|
||||
* Set up script loading
|
||||
* blocking will result in <script src="..."></script>
|
||||
* defer will result in <script defer src="..."></script>
|
||||
*
|
||||
* @default 'defer'
|
||||
*/
|
||||
scriptLoading?: "blocking" | "defer" | "module" | "systemjs-module";
|
||||
/**
|
||||
* Inject meta tags
|
||||
*/
|
||||
meta?:
|
||||
| false // Disable injection
|
||||
| {
|
||||
[name: string]:
|
||||
| string
|
||||
| false // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}`
|
||||
| { [attributeName: string]: string | boolean }; // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" }
|
||||
};
|
||||
/**
|
||||
* HTML Minification options accepts the following values:
|
||||
* - Set to `false` to disable minification
|
||||
* - Set to `'auto'` to enable minification only for production mode
|
||||
* - Set to custom minification according to
|
||||
* {@link https://github.com/kangax/html-minifier#options-quick-reference}
|
||||
*/
|
||||
minify?: "auto" | boolean | MinifyOptions;
|
||||
/**
|
||||
* Render errors into the HTML page
|
||||
*/
|
||||
showErrors?: boolean;
|
||||
/**
|
||||
* The `webpack` require path to the template.
|
||||
* @see https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md
|
||||
*/
|
||||
template?: string;
|
||||
/**
|
||||
* Allow to use a html string instead of reading from a file
|
||||
*/
|
||||
templateContent?:
|
||||
| false // Use the template option instead to load a file
|
||||
| string
|
||||
| ((templateParameters: {
|
||||
[option: string]: any;
|
||||
}) => string | Promise<string>)
|
||||
| Promise<string>;
|
||||
/**
|
||||
* Allows to overwrite the parameters used in the template
|
||||
*/
|
||||
templateParameters?:
|
||||
| false // Pass an empty object to the template function
|
||||
| ((
|
||||
compilation: Compilation,
|
||||
assets: {
|
||||
publicPath: string;
|
||||
js: Array<string>;
|
||||
css: Array<string>;
|
||||
manifest?: string;
|
||||
favicon?: string;
|
||||
},
|
||||
assetTags: {
|
||||
headTags: HtmlTagObject[];
|
||||
bodyTags: HtmlTagObject[];
|
||||
},
|
||||
options: ProcessedOptions,
|
||||
) => { [option: string]: any } | Promise<{ [option: string]: any }>)
|
||||
| { [option: string]: any };
|
||||
/**
|
||||
* The title to use for the generated HTML document
|
||||
*/
|
||||
title?: string;
|
||||
/**
|
||||
* Enforce self closing tags e.g. <link />
|
||||
*/
|
||||
xhtml?: boolean;
|
||||
/**
|
||||
* In addition to the options actually used by this plugin, you can use this hash to pass arbitrary data through
|
||||
* to your template.
|
||||
*/
|
||||
[option: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* The plugin options after adding default values
|
||||
*/
|
||||
interface ProcessedOptions extends Required<Options> {
|
||||
filename: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The values which are available during template execution
|
||||
*
|
||||
* Please keep in mind that the `templateParameter` options allows to change them
|
||||
*/
|
||||
interface TemplateParameter {
|
||||
compilation: Compilation;
|
||||
htmlWebpackPlugin: {
|
||||
tags: {
|
||||
headTags: HtmlTagObject[];
|
||||
bodyTags: HtmlTagObject[];
|
||||
};
|
||||
files: {
|
||||
publicPath: string;
|
||||
js: Array<string>;
|
||||
css: Array<string>;
|
||||
manifest?: string;
|
||||
favicon?: string;
|
||||
};
|
||||
options: Options;
|
||||
};
|
||||
webpackConfig: any;
|
||||
}
|
||||
|
||||
interface Hooks {
|
||||
alterAssetTags: AsyncSeriesWaterfallHook<{
|
||||
assetTags: {
|
||||
scripts: HtmlTagObject[];
|
||||
styles: HtmlTagObject[];
|
||||
meta: HtmlTagObject[];
|
||||
};
|
||||
publicPath: string;
|
||||
outputName: string;
|
||||
plugin: HtmlWebpackPlugin;
|
||||
}>;
|
||||
|
||||
alterAssetTagGroups: AsyncSeriesWaterfallHook<{
|
||||
headTags: HtmlTagObject[];
|
||||
bodyTags: HtmlTagObject[];
|
||||
outputName: string;
|
||||
publicPath: string;
|
||||
plugin: HtmlWebpackPlugin;
|
||||
}>;
|
||||
|
||||
afterTemplateExecution: AsyncSeriesWaterfallHook<{
|
||||
html: string;
|
||||
headTags: HtmlTagObject[];
|
||||
bodyTags: HtmlTagObject[];
|
||||
outputName: string;
|
||||
plugin: HtmlWebpackPlugin;
|
||||
}>;
|
||||
|
||||
beforeAssetTagGeneration: AsyncSeriesWaterfallHook<{
|
||||
assets: {
|
||||
publicPath: string;
|
||||
js: Array<string>;
|
||||
css: Array<string>;
|
||||
favicon?: string;
|
||||
manifest?: string;
|
||||
};
|
||||
outputName: string;
|
||||
plugin: HtmlWebpackPlugin;
|
||||
}>;
|
||||
|
||||
beforeEmit: AsyncSeriesWaterfallHook<{
|
||||
html: string;
|
||||
outputName: string;
|
||||
plugin: HtmlWebpackPlugin;
|
||||
}>;
|
||||
|
||||
afterEmit: AsyncSeriesWaterfallHook<{
|
||||
outputName: string;
|
||||
plugin: HtmlWebpackPlugin;
|
||||
}>;
|
||||
}
|
||||
|
||||
/**
|
||||
* A tag element according to the htmlWebpackPlugin object notation
|
||||
*/
|
||||
interface HtmlTagObject {
|
||||
/**
|
||||
* Attributes of the html tag
|
||||
* E.g. `{'disabled': true, 'value': 'demo'}`
|
||||
*/
|
||||
attributes: {
|
||||
[attributeName: string]: string | boolean | null | undefined;
|
||||
};
|
||||
/**
|
||||
* The tag name e.g. `'div'`
|
||||
*/
|
||||
tagName: string;
|
||||
/**
|
||||
* The inner HTML
|
||||
*/
|
||||
innerHTML?: string;
|
||||
/**
|
||||
* Whether this html must not contain innerHTML
|
||||
* @see https://www.w3.org/TR/html5/syntax.html#void-elements
|
||||
*/
|
||||
voidTag: boolean;
|
||||
/**
|
||||
* Meta information about the tag
|
||||
* E.g. `{'plugin': 'html-webpack-plugin'}`
|
||||
*/
|
||||
meta: {
|
||||
plugin?: string;
|
||||
[metaAttributeName: string]: any;
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user