mirror of https://github.com/webpack/webpack.git
				
				
				
			improvements
This commit is contained in:
		
							parent
							
								
									fb45e38fa4
								
							
						
					
					
						commit
						9915088cbc
					
				|  | @ -9,6 +9,7 @@ const RuntimeGlobals = require("./RuntimeGlobals"); | |||
| const Template = require("./Template"); | ||||
| const propertyAccess = require("./util/propertyAccess"); | ||||
| 
 | ||||
| /** @typedef {import("../declarations/WebpackOptions").OutputOptions} OutputOptions */ | ||||
| /** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */ | ||||
| /** @typedef {import("./ChunkGraph")} ChunkGraph */ | ||||
| /** @typedef {import("./Module")} Module */ | ||||
|  | @ -25,7 +26,7 @@ const arrayEquals = (a, b) => { | |||
| 
 | ||||
| class RuntimeTemplate { | ||||
| 	/** | ||||
| 	 * @param {TODO} outputOptions the compilation output options | ||||
| 	 * @param {OutputOptions} outputOptions the compilation output options | ||||
| 	 * @param {RequestShortener} requestShortener the request shortener | ||||
| 	 */ | ||||
| 	constructor(outputOptions, requestShortener) { | ||||
|  |  | |||
|  | @ -40,7 +40,7 @@ class AssetJavascriptGenerator extends Generator { | |||
| 	 * @returns {Source} generated code | ||||
| 	 */ | ||||
| 	generate(module, { chunkGraph, runtimeTemplate, runtimeRequirements }) { | ||||
| 		const filename = module.resource; | ||||
| 		const filename = module.nameForCondition(); | ||||
| 		const { assetModuleFilename } = runtimeTemplate.outputOptions; | ||||
| 		const url = this.mainTemplate.getAssetPath(assetModuleFilename, { | ||||
| 			module, | ||||
|  | @ -67,12 +67,9 @@ class AssetJavascriptGenerator extends Generator { | |||
| 	 * @returns {number} estimate size of the module | ||||
| 	 */ | ||||
| 	getSize(module, type) { | ||||
| 		const originalSource = module._cachedSources.get("javascript").source; | ||||
| 
 | ||||
| 		if (!originalSource) { | ||||
| 			return 0; | ||||
| 		} | ||||
| 		return originalSource.size(); | ||||
| 		// it's only estimated so this number is probably fine
 | ||||
| 		// Example: m.exports=r.p+"0123456789012345678901.ext"
 | ||||
| 		return 42; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
| "use strict"; | ||||
| 
 | ||||
| const Generator = require("../Generator"); | ||||
| const RuntimeModule = require("../RuntimeModule"); | ||||
| const { compareModulesById } = require("../util/comparators"); | ||||
| const AssetGenerator = require("./AssetGenerator"); | ||||
| const AssetJavascriptGenerator = require("./AssetJavascriptGenerator"); | ||||
|  | @ -24,11 +23,7 @@ const AssetParser = require("./AssetParser"); | |||
| const type = "asset"; | ||||
| const plugin = "AssetModulesPlugin"; | ||||
| 
 | ||||
| class AssetModulesPlugin extends RuntimeModule { | ||||
| 	constructor() { | ||||
| 		super("url"); | ||||
| 	} | ||||
| 
 | ||||
| class AssetModulesPlugin { | ||||
| 	/** | ||||
| 	 * @param {Compiler} compiler webpack compiler | ||||
| 	 * @returns {void} | ||||
|  | @ -51,7 +46,7 @@ class AssetModulesPlugin extends RuntimeModule { | |||
| 				compilation.mainTemplate.hooks.renderManifest.tap( | ||||
| 					plugin, | ||||
| 					(result, options) => { | ||||
| 						const { mainTemplate, chunkGraph, moduleGraph } = compilation; | ||||
| 						const { chunkGraph, moduleGraph } = compilation; | ||||
| 						const { | ||||
| 							chunk, | ||||
| 							moduleTemplates, | ||||
|  | @ -75,9 +70,7 @@ class AssetModulesPlugin extends RuntimeModule { | |||
| 											chunk, | ||||
| 											chunkGraph, | ||||
| 											moduleGraph, | ||||
| 											mainTemplate, | ||||
| 											dependencyTemplates, | ||||
| 											outputOptions, | ||||
| 											runtimeTemplate | ||||
| 										}), | ||||
| 									filenameTemplate, | ||||
|  | @ -99,15 +92,10 @@ class AssetModulesPlugin extends RuntimeModule { | |||
| 		); | ||||
| 	} | ||||
| 
 | ||||
| 	/* eslint-disable valid-jsdoc */ | ||||
| 	// not compatible with Intersection
 | ||||
| 	/** | ||||
| 	 * @typedef {{outputOptions: TODO}} OutputOptionsType | ||||
| 	 * @typedef {{mainTemplate: MainTemplate}} MainTemplateType | ||||
| 	 * @typedef {RenderContext & MainTemplateType & OutputOptionsType} RenderContextType | ||||
| 	 * @param {Module} module the module to render | ||||
| 	 * @param {ModuleTemplate} moduleTemplate the module template | ||||
| 	 * @param {RenderContextType} renderContext the render context | ||||
| 	 * @param {RenderContext} renderContext the render context | ||||
| 	 * @returns {Source} the rendered source | ||||
| 	 */ | ||||
| 	/* eslint-enable */ | ||||
|  |  | |||
|  | @ -141,9 +141,9 @@ Built at: 1970-04-20 12:42:42 | |||
| c9fc77a744ca46b7fe30.jpg   10.9 KiB   {179}  [emitted]  main | ||||
| Entrypoint main = bundle.js c9fc77a744ca46b7fe30.jpg 2971bea717d1ea440379.png 44af8fe384aadccba06e.svg | ||||
|  [10] ./index.js 111 bytes {179} [built] | ||||
| [359] ./images/file.jpg 10.9 KiB (asset) 68 bytes (javascript) {179} [built] | ||||
| [440] ./images/file.png 25.9 KiB (asset) 68 bytes (javascript) {179} [built] | ||||
| [811] ./images/file.svg 656 bytes (asset) 68 bytes (javascript) {179} [built] | ||||
| [359] ./images/file.jpg 10.9 KiB (asset) 42 bytes (javascript) {179} [built] | ||||
| [440] ./images/file.png 25.9 KiB (asset) 42 bytes (javascript) {179} [built] | ||||
| [811] ./images/file.svg 656 bytes (asset) 42 bytes (javascript) {179} [built] | ||||
|     + 4 hidden modules" | ||||
| `; | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,8 +1,5 @@ | |||
| module.exports = { | ||||
| 	mode: "development", | ||||
| 	output: { | ||||
| 		assetModuleFilename: "images/file[ext]" | ||||
| 	}, | ||||
| 	module: { | ||||
| 		rules: [ | ||||
| 			{ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue