UNPKG

webpack

Version:

Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.

55 lines (43 loc) 1.98 kB
/* MIT License http://www.opensource.org/licenses/mit-license.php */ "use strict"; const NormalModule = require("../NormalModule"); const makeSerializable = require("../util/makeSerializable"); /** @typedef {import("../Module").BuildMeta} BuildMeta */ /** @typedef {import("../NormalModule").NormalModuleBuildInfo} NormalModuleBuildInfo */ /** @typedef {import("../NormalModule").NormalModuleCreateData} NormalModuleCreateData */ /** * Defines the build info properties specific to javascript modules. * @typedef {object} KnownJavascriptModuleBuildInfo * @property {string=} moduleConcatenationBailout using in CommonJs * @property {boolean=} needCreateRequire using in APIPlugin * @property {Set<string>=} pureFunctions names of locally declared functions known to be free of side effects * @property {boolean=} inlineExports whether this module was parsed with `optimization.inlineExports` enabled (gates inlining of its exports) */ /** @typedef {NormalModuleBuildInfo & KnownJavascriptModuleBuildInfo} JavascriptModuleBuildInfo */ /** * Defines the build meta properties specific to javascript modules. * @typedef {object} KnownJavascriptModuleBuildMeta * @property {boolean=} strictHarmonyModule * @property {boolean=} treatAsCommonJs */ /** @typedef {BuildMeta & KnownJavascriptModuleBuildMeta} JavascriptModuleBuildMeta */ /** * Module class for all `javascript/*` modules. JavaScript-specific properties should live here instead of `NormalModule`. */ class JavascriptModule extends NormalModule { /** * @param {NormalModuleCreateData} options options object */ constructor(options) { super(options); // Redeclared with the javascript specific shape /** @type {JavascriptModuleBuildInfo | undefined} */ this.buildInfo = undefined; /** @type {JavascriptModuleBuildMeta | undefined} */ this.buildMeta = undefined; } } makeSerializable(JavascriptModule, "webpack/lib/javascript/JavascriptModule"); module.exports = JavascriptModule;