@rushstack/webpack5-module-minifier-plugin 5.4.29 → 5.4.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.36.2"
8
+ "packageVersion": "7.36.3"
9
9
  }
10
10
  ]
11
11
  }
@@ -39,7 +39,7 @@ function rehydrateAsset(compilation, asset, moduleMap, banner, emitRenderInfo) {
39
39
  charOffset += separator.size();
40
40
  lastStart = Constants_1.CHUNK_MODULE_REGEX.lastIndex;
41
41
  if (moduleSource) {
42
- const charLength = moduleSource.source.size();
42
+ const charLength = moduleSource.source.source().length;
43
43
  if (emitRenderInfo) {
44
44
  asset.renderInfo.set(moduleSource.id, {
45
45
  charOffset,
@@ -1 +1 @@
1
- {"version":3,"file":"RehydrateAsset.js","sourceRoot":"","sources":["../src/RehydrateAsset.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport type { sources } from 'webpack';\nimport type { Compilation } from 'webpack';\n\nimport { CHUNK_MODULE_TOKEN, CHUNK_MODULE_REGEX } from './Constants';\nimport type { IAssetInfo, IModuleMap, IModuleInfo } from './ModuleMinifierPlugin.types';\n\n/**\n * Rehydrates an asset with minified modules.\n * @param asset - The asset\n * @param moduleMap - The minified modules\n * @param banner - A banner to inject for license information\n * @public\n */\nexport function rehydrateAsset(\n compilation: Compilation,\n asset: IAssetInfo,\n moduleMap: IModuleMap,\n banner: string,\n emitRenderInfo?: boolean\n): sources.Source {\n const { source: assetSource } = asset;\n const {\n webpack: { sources, WebpackError }\n } = compilation.compiler;\n\n const assetCode: string = assetSource.source().toString();\n\n const tokenIndex: number = assetCode.indexOf(CHUNK_MODULE_TOKEN);\n if (tokenIndex < 0) {\n // This is not a JS asset.\n return assetSource;\n }\n\n const { CachedSource, ConcatSource, ReplaceSource } = sources;\n\n CHUNK_MODULE_REGEX.lastIndex = -1;\n let lastStart: number = 0;\n\n const cachedAssetSource: sources.CachedSource = new CachedSource(assetSource);\n\n const source: sources.ConcatSource = new ConcatSource(banner);\n let charOffset: number = banner.length;\n\n // RegExp.exec uses null or an array as the return type, explicitly\n let match: RegExpExecArray | null = null;\n while ((match = CHUNK_MODULE_REGEX.exec(assetCode))) {\n const hash: string = match[1];\n\n const moduleSource: IModuleInfo | undefined = moduleMap.get(hash);\n if (moduleSource === undefined) {\n compilation.errors.push(new WebpackError(`Missing module source for ${hash} in ${asset.fileName}!`));\n }\n\n const separator: sources.ReplaceSource = extractSegmentFromSource(\n ReplaceSource,\n cachedAssetSource,\n lastStart,\n match.index\n );\n\n source.add(separator);\n charOffset += separator.size();\n\n lastStart = CHUNK_MODULE_REGEX.lastIndex;\n\n if (moduleSource) {\n const charLength: number = moduleSource.source.size();\n\n if (emitRenderInfo) {\n asset.renderInfo.set(moduleSource.id, {\n charOffset,\n charLength\n });\n }\n\n source.add(moduleSource.source);\n charOffset += charLength;\n } else {\n const errorModule: string = `()=>{throw new Error(\\`Missing module with hash \"${hash}\"\\`)}`;\n\n source.add(errorModule);\n charOffset += errorModule.length;\n }\n\n source.add('\\n');\n charOffset += 1;\n }\n\n source.add(extractSegmentFromSource(ReplaceSource, cachedAssetSource, lastStart, Infinity));\n\n return new CachedSource(source);\n}\n\n// In order to preserve source maps during substitution, have to use a ConcatSource instead of a ReplaceSource, so need to extract the segements from the original\nfunction extractSegmentFromSource(\n replaceSourceConstructor: typeof sources.ReplaceSource,\n source: sources.Source,\n start: number,\n end: number\n): sources.ReplaceSource {\n const result: sources.ReplaceSource = new replaceSourceConstructor(source);\n result.replace(end, Infinity, '');\n result.replace(0, start - 1, '');\n return result;\n}\n"]}
1
+ {"version":3,"file":"RehydrateAsset.js","sourceRoot":"","sources":["../src/RehydrateAsset.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport type { sources } from 'webpack';\nimport type { Compilation } from 'webpack';\n\nimport { CHUNK_MODULE_TOKEN, CHUNK_MODULE_REGEX } from './Constants';\nimport type { IAssetInfo, IModuleMap, IModuleInfo } from './ModuleMinifierPlugin.types';\n\n/**\n * Rehydrates an asset with minified modules.\n * @param asset - The asset\n * @param moduleMap - The minified modules\n * @param banner - A banner to inject for license information\n * @public\n */\nexport function rehydrateAsset(\n compilation: Compilation,\n asset: IAssetInfo,\n moduleMap: IModuleMap,\n banner: string,\n emitRenderInfo?: boolean\n): sources.Source {\n const { source: assetSource } = asset;\n const {\n webpack: { sources, WebpackError }\n } = compilation.compiler;\n\n const assetCode: string = assetSource.source().toString();\n\n const tokenIndex: number = assetCode.indexOf(CHUNK_MODULE_TOKEN);\n if (tokenIndex < 0) {\n // This is not a JS asset.\n return assetSource;\n }\n\n const { CachedSource, ConcatSource, ReplaceSource } = sources;\n\n CHUNK_MODULE_REGEX.lastIndex = -1;\n let lastStart: number = 0;\n\n const cachedAssetSource: sources.CachedSource = new CachedSource(assetSource);\n\n const source: sources.ConcatSource = new ConcatSource(banner);\n let charOffset: number = banner.length;\n\n // RegExp.exec uses null or an array as the return type, explicitly\n let match: RegExpExecArray | null = null;\n while ((match = CHUNK_MODULE_REGEX.exec(assetCode))) {\n const hash: string = match[1];\n\n const moduleSource: IModuleInfo | undefined = moduleMap.get(hash);\n if (moduleSource === undefined) {\n compilation.errors.push(new WebpackError(`Missing module source for ${hash} in ${asset.fileName}!`));\n }\n\n const separator: sources.ReplaceSource = extractSegmentFromSource(\n ReplaceSource,\n cachedAssetSource,\n lastStart,\n match.index\n );\n\n source.add(separator);\n charOffset += separator.size();\n\n lastStart = CHUNK_MODULE_REGEX.lastIndex;\n\n if (moduleSource) {\n const charLength: number = moduleSource.source.source().length;\n\n if (emitRenderInfo) {\n asset.renderInfo.set(moduleSource.id, {\n charOffset,\n charLength\n });\n }\n\n source.add(moduleSource.source);\n charOffset += charLength;\n } else {\n const errorModule: string = `()=>{throw new Error(\\`Missing module with hash \"${hash}\"\\`)}`;\n\n source.add(errorModule);\n charOffset += errorModule.length;\n }\n\n source.add('\\n');\n charOffset += 1;\n }\n\n source.add(extractSegmentFromSource(ReplaceSource, cachedAssetSource, lastStart, Infinity));\n\n return new CachedSource(source);\n}\n\n// In order to preserve source maps during substitution, have to use a ConcatSource instead of a ReplaceSource, so need to extract the segements from the original\nfunction extractSegmentFromSource(\n replaceSourceConstructor: typeof sources.ReplaceSource,\n source: sources.Source,\n start: number,\n end: number\n): sources.ReplaceSource {\n const result: sources.ReplaceSource = new replaceSourceConstructor(source);\n result.replace(end, Infinity, '');\n result.replace(0, start - 1, '');\n return result;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/webpack5-module-minifier-plugin",
3
- "version": "5.4.29",
3
+ "version": "5.4.31",
4
4
  "description": "This plugin splits minification of webpack compilations into smaller units.",
5
5
  "main": "lib/index.js",
6
6
  "typings": "dist/webpack5-module-minifier-plugin.d.ts",
@@ -22,7 +22,7 @@
22
22
  "@types/tapable": "1.0.6",
23
23
  "@types/estree": "0.0.50",
24
24
  "tapable": "2.2.1",
25
- "@rushstack/worker-pool": "0.3.32"
25
+ "@rushstack/worker-pool": "0.3.34"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/heft-jest": "1.0.1",
@@ -30,9 +30,9 @@
30
30
  "memfs": "3.4.3",
31
31
  "webpack": "~5.82.1",
32
32
  "@rushstack/eslint-config": "3.3.2",
33
- "@rushstack/heft": "0.57.0",
34
- "@rushstack/heft-node-rig": "2.2.17",
35
- "@rushstack/module-minifier": "0.3.33"
33
+ "@rushstack/heft": "0.58.0",
34
+ "@rushstack/heft-node-rig": "2.2.19",
35
+ "@rushstack/module-minifier": "0.3.35"
36
36
  },
37
37
  "sideEffects": false,
38
38
  "peerDependenciesMeta": {