| 
									
										
										
										
											2023-04-01 00:45:36 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Sean Larkin @TheLarkInn | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "use strict"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-01 00:26:38 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"javascript/auto">} | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const JAVASCRIPT_MODULE_TYPE_AUTO = "javascript/auto"; | 
					
						
							| 
									
										
										
										
											2023-04-01 01:56:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-01 00:26:38 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"javascript/dynamic">} | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const JAVASCRIPT_MODULE_TYPE_DYNAMIC = "javascript/dynamic"; | 
					
						
							| 
									
										
										
										
											2023-04-01 01:56:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-01 00:26:38 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"javascript/esm">} | 
					
						
							|  |  |  |  * This is the module type used for _strict_ ES Module syntax. This means that all legacy formats | 
					
						
							|  |  |  |  * that webpack supports (CommonJS, AMD, SystemJS) are not supported. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const JAVASCRIPT_MODULE_TYPE_ESM = "javascript/esm"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"json">} | 
					
						
							|  |  |  |  * This is the module type used for JSON files. JSON files are always parsed as ES Module. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const JSON_MODULE_TYPE = "json"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-01 01:56:32 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"webassembly/async">} | 
					
						
							|  |  |  |  * This is the module type used for WebAssembly modules. In webpack 5 they are always treated as async modules. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBASSEMBLY_MODULE_TYPE_ASYNC = "webassembly/async"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"webassembly/sync">} | 
					
						
							|  |  |  |  * This is the module type used for WebAssembly modules. In webpack 4 they are always treated as sync modules. | 
					
						
							|  |  |  |  * There is a legacy option to support this usage in webpack 5 and up. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBASSEMBLY_MODULE_TYPE_SYNC = "webassembly/sync"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-25 20:16:42 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"css">} | 
					
						
							| 
									
										
										
										
											2023-04-26 06:19:06 +08:00
										 |  |  |  * This is the module type used for CSS files. | 
					
						
							| 
									
										
										
										
											2023-04-25 20:16:42 +08:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2023-04-26 06:19:06 +08:00
										 |  |  | const CSS_MODULE_TYPE = "css"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"css/global">} | 
					
						
							|  |  |  |  * This is the module type used for CSS modules files where you need to use `:local` in selector list to hash classes. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const CSS_MODULE_TYPE_GLOBAL = "css/global"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"css/module">} | 
					
						
							|  |  |  |  * This is the module type used for CSS modules files, by default all classes are hashed. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const CSS_MODULE_TYPE_MODULE = "css/module"; | 
					
						
							| 
									
										
										
										
											2023-04-25 20:16:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-05 07:19:11 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"asset">} | 
					
						
							|  |  |  |  * This is the module type used for automatically choosing between `asset/inline`, `asset/resource` based on asset size limit (8096). | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const ASSET_MODULE_TYPE = "asset"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"asset/inline">} | 
					
						
							|  |  |  |  * This is the module type used for assets that are inlined as a data URI. This is the equivalent of `url-loader`. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const ASSET_MODULE_TYPE_INLINE = "asset/inline"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"asset/resource">} | 
					
						
							|  |  |  |  * This is the module type used for assets that are copied to the output directory. This is the equivalent of `file-loader`. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const ASSET_MODULE_TYPE_RESOURCE = "asset/resource"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"asset/source">} | 
					
						
							|  |  |  |  * This is the module type used for assets that are imported as source code. This is the equivalent of `raw-loader`. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const ASSET_MODULE_TYPE_SOURCE = "asset/source"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"asset/raw-data-url">} | 
					
						
							|  |  |  |  * TODO: Document what this asset type is for. See css-loader tests for its usage. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const ASSET_MODULE_TYPE_RAW_DATA_URL = "asset/raw-data-url"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"runtime">} | 
					
						
							|  |  |  |  * This is the module type used for the webpack runtime abstractions. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBPACK_MODULE_TYPE_RUNTIME = "runtime"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"fallback-module">} | 
					
						
							|  |  |  |  * This is the module type used for the ModuleFederation feature's FallbackModule class. | 
					
						
							|  |  |  |  * TODO: Document this better. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBPACK_MODULE_TYPE_FALLBACK = "fallback-module"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"remote-module">} | 
					
						
							|  |  |  |  * This is the module type used for the ModuleFederation feature's RemoteModule class. | 
					
						
							|  |  |  |  * TODO: Document this better. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBPACK_MODULE_TYPE_REMOTE = "remote-module"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"provide-module">} | 
					
						
							|  |  |  |  * This is the module type used for the ModuleFederation feature's ProvideModule class. | 
					
						
							|  |  |  |  * TODO: Document this better. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBPACK_MODULE_TYPE_PROVIDE = "provide-module"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"consume-shared-module">} | 
					
						
							|  |  |  |  * This is the module type used for the ModuleFederation feature's ConsumeSharedModule class. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE = "consume-shared-module"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * @type {Readonly<"lazy-compilation-proxy">} | 
					
						
							|  |  |  |  * Module type used for `experiments.lazyCompilation` feature. See `LazyCompilationPlugin` for more information. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | const WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY = "lazy-compilation-proxy"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** @typedef {"javascript/auto" | "javascript/dynamic" | "javascript/esm"} JavaScriptModuleTypes */ | 
					
						
							|  |  |  | /** @typedef {"json"} JSONModuleType */ | 
					
						
							|  |  |  | /** @typedef {"webassembly/async" | "webassembly/sync"} WebAssemblyModuleTypes */ | 
					
						
							|  |  |  | /** @typedef {"css" | "css/global" | "css/module"} CSSModuleTypes */ | 
					
						
							|  |  |  | /** @typedef {"asset" | "asset/inline" | "asset/resource" | "asset/source" | "asset/raw-data-url"} AssetModuleTypes */ | 
					
						
							|  |  |  | /** @typedef {"runtime" | "fallback-module" | "remote-module" | "provide-module" | "consume-shared-module" | "lazy-compilation-proxy"} WebpackModuleTypes */ | 
					
						
							|  |  |  | /** @typedef {JavaScriptModuleTypes | JSONModuleType | WebAssemblyModuleTypes | CSSModuleTypes | AssetModuleTypes | WebpackModuleTypes} ModuleTypes */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exports.ASSET_MODULE_TYPE = ASSET_MODULE_TYPE; | 
					
						
							|  |  |  | exports.ASSET_MODULE_TYPE_RAW_DATA_URL = ASSET_MODULE_TYPE_RAW_DATA_URL; | 
					
						
							|  |  |  | exports.ASSET_MODULE_TYPE_SOURCE = ASSET_MODULE_TYPE_SOURCE; | 
					
						
							|  |  |  | exports.ASSET_MODULE_TYPE_RESOURCE = ASSET_MODULE_TYPE_RESOURCE; | 
					
						
							|  |  |  | exports.ASSET_MODULE_TYPE_INLINE = ASSET_MODULE_TYPE_INLINE; | 
					
						
							| 
									
										
										
										
											2023-04-01 00:26:38 +08:00
										 |  |  | exports.JAVASCRIPT_MODULE_TYPE_AUTO = JAVASCRIPT_MODULE_TYPE_AUTO; | 
					
						
							|  |  |  | exports.JAVASCRIPT_MODULE_TYPE_DYNAMIC = JAVASCRIPT_MODULE_TYPE_DYNAMIC; | 
					
						
							|  |  |  | exports.JAVASCRIPT_MODULE_TYPE_ESM = JAVASCRIPT_MODULE_TYPE_ESM; | 
					
						
							|  |  |  | exports.JSON_MODULE_TYPE = JSON_MODULE_TYPE; | 
					
						
							| 
									
										
										
										
											2023-04-01 01:56:32 +08:00
										 |  |  | exports.WEBASSEMBLY_MODULE_TYPE_ASYNC = WEBASSEMBLY_MODULE_TYPE_ASYNC; | 
					
						
							|  |  |  | exports.WEBASSEMBLY_MODULE_TYPE_SYNC = WEBASSEMBLY_MODULE_TYPE_SYNC; | 
					
						
							| 
									
										
										
										
											2023-04-26 06:19:06 +08:00
										 |  |  | exports.CSS_MODULE_TYPE = CSS_MODULE_TYPE; | 
					
						
							|  |  |  | exports.CSS_MODULE_TYPE_GLOBAL = CSS_MODULE_TYPE_GLOBAL; | 
					
						
							|  |  |  | exports.CSS_MODULE_TYPE_MODULE = CSS_MODULE_TYPE_MODULE; | 
					
						
							| 
									
										
										
										
											2023-05-05 07:19:11 +08:00
										 |  |  | exports.WEBPACK_MODULE_TYPE_RUNTIME = WEBPACK_MODULE_TYPE_RUNTIME; | 
					
						
							|  |  |  | exports.WEBPACK_MODULE_TYPE_FALLBACK = WEBPACK_MODULE_TYPE_FALLBACK; | 
					
						
							|  |  |  | exports.WEBPACK_MODULE_TYPE_REMOTE = WEBPACK_MODULE_TYPE_REMOTE; | 
					
						
							|  |  |  | exports.WEBPACK_MODULE_TYPE_PROVIDE = WEBPACK_MODULE_TYPE_PROVIDE; | 
					
						
							|  |  |  | exports.WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE = | 
					
						
							|  |  |  | 	WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE; | 
					
						
							|  |  |  | exports.WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY = | 
					
						
							|  |  |  | 	WEBPACK_MODULE_TYPE_LAZY_COMPILATION_PROXY; |