commit node_modules and generated files
This commit is contained in:
parent
6d7a135fea
commit
34b372292b
3379 changed files with 449603 additions and 2029 deletions
185
node_modules/webpack/lib/JavascriptModulesPlugin.js
generated
vendored
Normal file
185
node_modules/webpack/lib/JavascriptModulesPlugin.js
generated
vendored
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
const Parser = require("./Parser");
|
||||
const Template = require("./Template");
|
||||
const { ConcatSource } = require("webpack-sources");
|
||||
const JavascriptGenerator = require("./JavascriptGenerator");
|
||||
const createHash = require("./util/createHash");
|
||||
|
||||
class JavascriptModulesPlugin {
|
||||
apply(compiler) {
|
||||
compiler.hooks.compilation.tap(
|
||||
"JavascriptModulesPlugin",
|
||||
(compilation, { normalModuleFactory }) => {
|
||||
normalModuleFactory.hooks.createParser
|
||||
.for("javascript/auto")
|
||||
.tap("JavascriptModulesPlugin", options => {
|
||||
return new Parser(options, "auto");
|
||||
});
|
||||
normalModuleFactory.hooks.createParser
|
||||
.for("javascript/dynamic")
|
||||
.tap("JavascriptModulesPlugin", options => {
|
||||
return new Parser(options, "script");
|
||||
});
|
||||
normalModuleFactory.hooks.createParser
|
||||
.for("javascript/esm")
|
||||
.tap("JavascriptModulesPlugin", options => {
|
||||
return new Parser(options, "module");
|
||||
});
|
||||
normalModuleFactory.hooks.createGenerator
|
||||
.for("javascript/auto")
|
||||
.tap("JavascriptModulesPlugin", () => {
|
||||
return new JavascriptGenerator();
|
||||
});
|
||||
normalModuleFactory.hooks.createGenerator
|
||||
.for("javascript/dynamic")
|
||||
.tap("JavascriptModulesPlugin", () => {
|
||||
return new JavascriptGenerator();
|
||||
});
|
||||
normalModuleFactory.hooks.createGenerator
|
||||
.for("javascript/esm")
|
||||
.tap("JavascriptModulesPlugin", () => {
|
||||
return new JavascriptGenerator();
|
||||
});
|
||||
compilation.mainTemplate.hooks.renderManifest.tap(
|
||||
"JavascriptModulesPlugin",
|
||||
(result, options) => {
|
||||
const chunk = options.chunk;
|
||||
const hash = options.hash;
|
||||
const fullHash = options.fullHash;
|
||||
const outputOptions = options.outputOptions;
|
||||
const moduleTemplates = options.moduleTemplates;
|
||||
const dependencyTemplates = options.dependencyTemplates;
|
||||
|
||||
const filenameTemplate =
|
||||
chunk.filenameTemplate || outputOptions.filename;
|
||||
|
||||
const useChunkHash = compilation.mainTemplate.useChunkHash(chunk);
|
||||
|
||||
result.push({
|
||||
render: () =>
|
||||
compilation.mainTemplate.render(
|
||||
hash,
|
||||
chunk,
|
||||
moduleTemplates.javascript,
|
||||
dependencyTemplates
|
||||
),
|
||||
filenameTemplate,
|
||||
pathOptions: {
|
||||
noChunkHash: !useChunkHash,
|
||||
contentHashType: "javascript",
|
||||
chunk
|
||||
},
|
||||
identifier: `chunk${chunk.id}`,
|
||||
hash: useChunkHash ? chunk.hash : fullHash
|
||||
});
|
||||
return result;
|
||||
}
|
||||
);
|
||||
compilation.mainTemplate.hooks.modules.tap(
|
||||
"JavascriptModulesPlugin",
|
||||
(source, chunk, hash, moduleTemplate, dependencyTemplates) => {
|
||||
return Template.renderChunkModules(
|
||||
chunk,
|
||||
m => typeof m.source === "function",
|
||||
moduleTemplate,
|
||||
dependencyTemplates,
|
||||
"/******/ "
|
||||
);
|
||||
}
|
||||
);
|
||||
compilation.chunkTemplate.hooks.renderManifest.tap(
|
||||
"JavascriptModulesPlugin",
|
||||
(result, options) => {
|
||||
const chunk = options.chunk;
|
||||
const outputOptions = options.outputOptions;
|
||||
const moduleTemplates = options.moduleTemplates;
|
||||
const dependencyTemplates = options.dependencyTemplates;
|
||||
const filenameTemplate =
|
||||
chunk.filenameTemplate || outputOptions.chunkFilename;
|
||||
|
||||
result.push({
|
||||
render: () =>
|
||||
this.renderJavascript(
|
||||
compilation.chunkTemplate,
|
||||
chunk,
|
||||
moduleTemplates.javascript,
|
||||
dependencyTemplates
|
||||
),
|
||||
filenameTemplate,
|
||||
pathOptions: {
|
||||
chunk,
|
||||
contentHashType: "javascript"
|
||||
},
|
||||
identifier: `chunk${chunk.id}`,
|
||||
hash: chunk.hash
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
);
|
||||
compilation.hooks.contentHash.tap("JavascriptModulesPlugin", chunk => {
|
||||
const outputOptions = compilation.outputOptions;
|
||||
const {
|
||||
hashSalt,
|
||||
hashDigest,
|
||||
hashDigestLength,
|
||||
hashFunction
|
||||
} = outputOptions;
|
||||
const hash = createHash(hashFunction);
|
||||
if (hashSalt) hash.update(hashSalt);
|
||||
const template = chunk.hasRuntime()
|
||||
? compilation.mainTemplate
|
||||
: compilation.chunkTemplate;
|
||||
hash.update(`${chunk.id} `);
|
||||
hash.update(chunk.ids ? chunk.ids.join(",") : "");
|
||||
template.updateHashForChunk(
|
||||
hash,
|
||||
chunk,
|
||||
compilation.moduleTemplates.javascript,
|
||||
compilation.dependencyTemplates
|
||||
);
|
||||
for (const m of chunk.modulesIterable) {
|
||||
if (typeof m.source === "function") {
|
||||
hash.update(m.hash);
|
||||
}
|
||||
}
|
||||
const digest = /** @type {string} */ (hash.digest(hashDigest));
|
||||
chunk.contentHash.javascript = digest.substr(0, hashDigestLength);
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
renderJavascript(chunkTemplate, chunk, moduleTemplate, dependencyTemplates) {
|
||||
const moduleSources = Template.renderChunkModules(
|
||||
chunk,
|
||||
m => typeof m.source === "function",
|
||||
moduleTemplate,
|
||||
dependencyTemplates
|
||||
);
|
||||
const core = chunkTemplate.hooks.modules.call(
|
||||
moduleSources,
|
||||
chunk,
|
||||
moduleTemplate,
|
||||
dependencyTemplates
|
||||
);
|
||||
let source = chunkTemplate.hooks.render.call(
|
||||
core,
|
||||
chunk,
|
||||
moduleTemplate,
|
||||
dependencyTemplates
|
||||
);
|
||||
if (chunk.hasEntryModule()) {
|
||||
source = chunkTemplate.hooks.renderWithEntry.call(source, chunk);
|
||||
}
|
||||
chunk.rendered = true;
|
||||
return new ConcatSource(source, ";");
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = JavascriptModulesPlugin;
|
||||
Loading…
Add table
Add a link
Reference in a new issue