@atlassian/webresource-webpack-plugin 7.0.6 → 7.1.0
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.
- package/CHANGELOG.md +9 -0
- package/dist/AppResources.d.ts +11 -6
- package/dist/AppResources.js +22 -22
- package/dist/AppResources.js.map +1 -1
- package/dist/WebpackHelpers.d.ts +8 -6
- package/dist/WebpackHelpers.js +70 -51
- package/dist/WebpackHelpers.js.map +1 -1
- package/dist/WebpackRuntimeHelpers.d.ts +0 -2
- package/dist/WebpackRuntimeHelpers.js +1 -12
- package/dist/WebpackRuntimeHelpers.js.map +1 -1
- package/dist/WrmPlugin.d.ts +18 -2
- package/dist/WrmPlugin.js +207 -58
- package/dist/WrmPlugin.js.map +1 -1
- package/dist/helpers/bundler-bridge.d.ts +8 -0
- package/dist/helpers/bundler-bridge.js +23 -0
- package/dist/helpers/bundler-bridge.js.map +1 -0
- package/dist/helpers/peer-dependency-checker.d.ts +1 -0
- package/dist/helpers/peer-dependency-checker.js +33 -0
- package/dist/helpers/peer-dependency-checker.js.map +1 -0
- package/dist/shims/empty-wrm-module.d.ts +1 -0
- package/dist/shims/empty-wrm-module.js +3 -0
- package/dist/shims/empty-wrm-module.js.map +1 -0
- package/dist/types/extracted-webpack-types.d.ts +2 -1
- package/dist/types/types.d.ts +2 -1
- package/jest.config.js +17 -3
- package/package.json +15 -10
- package/dist/webpack-modules/EmptyExportsModule.d.ts +0 -14
- package/dist/webpack-modules/EmptyExportsModule.js +0 -28
- package/dist/webpack-modules/EmptyExportsModule.js.map +0 -1
- package/dist/webpack-modules/ProvidedExternalDependencyModule.d.ts +0 -20
- package/dist/webpack-modules/ProvidedExternalDependencyModule.js +0 -36
- package/dist/webpack-modules/ProvidedExternalDependencyModule.js.map +0 -1
- package/dist/webpack-modules/WrmDependencyModule.d.ts +0 -6
- package/dist/webpack-modules/WrmDependencyModule.js +0 -17
- package/dist/webpack-modules/WrmDependencyModule.js.map +0 -1
- package/dist/webpack-modules/WrmResourceModule.d.ts +0 -10
- package/dist/webpack-modules/WrmResourceModule.js +0 -29
- package/dist/webpack-modules/WrmResourceModule.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [7.1.0](https://bitbucket.org/atlassianlabs/fe-server/branches/compare/@atlassian/webresource-webpack-plugin@7.1.0..@atlassian/webresource-webpack-plugin@7.0.6) (2025-12-05)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **@atlassian/webresource-webpack-plugin:** rspack support ([b66c5d8](https://bitbucket.org/atlassianlabs/fe-server/commits/b66c5d8be61d4c1a295c02cf9efaac940219eb7f))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
### [7.0.6](https://bitbucket.org/atlassianlabs/fe-server/branches/compare/@atlassian/webresource-webpack-plugin@7.0.6..@atlassian/webresource-webpack-plugin@7.0.5) (2025-09-12)
|
|
7
16
|
|
|
8
17
|
|
package/dist/AppResources.d.ts
CHANGED
|
@@ -1,34 +1,39 @@
|
|
|
1
1
|
import type { Chunk, Compilation, Compiler } from 'webpack';
|
|
2
2
|
import type { Entrypoint } from './types/extracted-webpack-types';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ChunkResourceDescriptor, ConsolidatedOptions, DependencyMap, WrmResourceMap } from './types/types';
|
|
4
4
|
type SplitChunkDependenciesKeyMap = Map<Chunk, {
|
|
5
5
|
key: string;
|
|
6
6
|
dependency: string;
|
|
7
7
|
}>;
|
|
8
8
|
export type AppResourceParams = {
|
|
9
9
|
assetsUUID: string;
|
|
10
|
-
assetNames: AssetNames;
|
|
11
10
|
options: ConsolidatedOptions;
|
|
12
11
|
compiler: Compiler;
|
|
13
12
|
compilation: Compilation;
|
|
13
|
+
dependencyModuleMap: DependencyMap;
|
|
14
|
+
resourceModuleMap: WrmResourceMap;
|
|
15
|
+
resourceAssetsMap: DependencyMap;
|
|
14
16
|
};
|
|
15
17
|
export default class AppResources {
|
|
16
18
|
private readonly assetsUUID;
|
|
17
19
|
private readonly compiler;
|
|
18
20
|
private readonly compilation;
|
|
19
|
-
private
|
|
21
|
+
private readonly dependencyModuleMap;
|
|
22
|
+
private readonly resourceModuleMap;
|
|
23
|
+
private readonly resourceAssetsMap;
|
|
20
24
|
private options;
|
|
21
25
|
/**
|
|
22
26
|
* @param assetsUUID unique hash to identify the assets web-resource
|
|
23
|
-
* @param assetNames full module filepaths -> relative filepath
|
|
24
27
|
* @param options WrmPlugin configuration
|
|
25
28
|
* @param compiler Webpack compiler
|
|
26
29
|
* @param compilation Webpack compilation
|
|
30
|
+
* @param dependencyModuleMap map of module identifier -> set of web-resource dependencies
|
|
31
|
+
* @param resourceModuleMap map of resource identifier -> set of web-resource external resources
|
|
32
|
+
* @param resourceAssetsMap map of resource identifier -> set of asset files referenced by that resource
|
|
27
33
|
*/
|
|
28
|
-
constructor({ assetsUUID,
|
|
34
|
+
constructor({ assetsUUID, options, compiler, compilation, dependencyModuleMap, resourceModuleMap, resourceAssetsMap, }: AppResourceParams);
|
|
29
35
|
getSingleRuntimeFiles(): string[];
|
|
30
36
|
getAssetResourceDescriptor(): ChunkResourceDescriptor;
|
|
31
|
-
getDependencyResourcesFromChunk(chunk: Chunk): string[];
|
|
32
37
|
getWebresourceKeyForChunk(chunk: Chunk, transform: (id: string, name: string) => string): string;
|
|
33
38
|
/**
|
|
34
39
|
* Every entrypoint has an attribute called "chunks".
|
package/dist/AppResources.js
CHANGED
|
@@ -14,17 +14,21 @@ const RUNTIME_WR_KEY = 'common-runtime';
|
|
|
14
14
|
class AppResources {
|
|
15
15
|
/**
|
|
16
16
|
* @param assetsUUID unique hash to identify the assets web-resource
|
|
17
|
-
* @param assetNames full module filepaths -> relative filepath
|
|
18
17
|
* @param options WrmPlugin configuration
|
|
19
18
|
* @param compiler Webpack compiler
|
|
20
19
|
* @param compilation Webpack compilation
|
|
20
|
+
* @param dependencyModuleMap map of module identifier -> set of web-resource dependencies
|
|
21
|
+
* @param resourceModuleMap map of resource identifier -> set of web-resource external resources
|
|
22
|
+
* @param resourceAssetsMap map of resource identifier -> set of asset files referenced by that resource
|
|
21
23
|
*/
|
|
22
|
-
constructor({ assetsUUID,
|
|
24
|
+
constructor({ assetsUUID, options, compiler, compilation, dependencyModuleMap, resourceModuleMap, resourceAssetsMap, }) {
|
|
23
25
|
this.assetsUUID = assetsUUID;
|
|
24
|
-
this.assetNames = assetNames;
|
|
25
26
|
this.options = options;
|
|
26
27
|
this.compiler = compiler;
|
|
27
28
|
this.compilation = compilation;
|
|
29
|
+
this.dependencyModuleMap = dependencyModuleMap;
|
|
30
|
+
this.resourceModuleMap = resourceModuleMap;
|
|
31
|
+
this.resourceAssetsMap = resourceAssetsMap;
|
|
28
32
|
}
|
|
29
33
|
getSingleRuntimeFiles() {
|
|
30
34
|
const files = this.getEntryPoints()
|
|
@@ -36,16 +40,12 @@ class AppResources {
|
|
|
36
40
|
return Array.from(files);
|
|
37
41
|
}
|
|
38
42
|
getAssetResourceDescriptor() {
|
|
39
|
-
|
|
40
|
-
const assetFiles = Object.keys(this.compilation.assets).filter((p) => !/\.(js|css|soy)(\.map)?$/.test(p));
|
|
43
|
+
const assetFiles = (0, WebpackHelpers_1.getAllAssetFiles)(this.compilation);
|
|
41
44
|
return {
|
|
42
45
|
attributes: { key: `assets-${this.assetsUUID}` },
|
|
43
46
|
resources: assetFiles,
|
|
44
47
|
};
|
|
45
48
|
}
|
|
46
|
-
getDependencyResourcesFromChunk(chunk) {
|
|
47
|
-
return Array.from(chunk.auxiliaryFiles);
|
|
48
|
-
}
|
|
49
49
|
getWebresourceKeyForChunk(chunk, transform) {
|
|
50
50
|
const chunkId = String(chunk.id);
|
|
51
51
|
const chunkName = chunk.name ? String(chunk.name) : chunkId;
|
|
@@ -99,27 +99,28 @@ class AppResources {
|
|
|
99
99
|
* These include - like other chunk-descriptors their assets and external resources etc.
|
|
100
100
|
*/
|
|
101
101
|
return syncSplitChunks.map((c) => {
|
|
102
|
-
const additionalFileDeps = this.getDependencyResourcesFromChunk(c);
|
|
103
102
|
return {
|
|
104
103
|
attributes: syncSplitChunkDependencyKeyMap.get(c),
|
|
105
|
-
externalResources: (0, WebpackHelpers_1.
|
|
106
|
-
resources: (0,
|
|
107
|
-
dependencies: (0, uniq_1.default)([
|
|
104
|
+
externalResources: (0, WebpackHelpers_1.getExternalResourcesForChunks)(this.compilation, c, this.resourceModuleMap),
|
|
105
|
+
resources: (0, WebpackHelpers_1.getResourcesForChunks)(this.compilation, [c], [c], this.resourceAssetsMap),
|
|
106
|
+
dependencies: (0, uniq_1.default)([
|
|
107
|
+
...(0, base_dependencies_1.getBaseDependencies)(),
|
|
108
|
+
...(0, WebpackHelpers_1.getDependenciesForChunks)(this.compilation, c, this.dependencyModuleMap, this.options.providedDependencies),
|
|
109
|
+
]),
|
|
108
110
|
};
|
|
109
111
|
});
|
|
110
112
|
}
|
|
111
113
|
getAsyncChunksResourceDescriptors() {
|
|
112
114
|
return (0, WebpackHelpers_1.getAllAsyncChunks)(this.getEntryPoints()).map((c) => {
|
|
113
|
-
const additionalFileDeps = this.getDependencyResourcesFromChunk(c);
|
|
114
115
|
// async chunk webresource key needs to be a chunk id so that it can be loaded correctly by webpack at runtime
|
|
115
116
|
const webresourceKey = this.getWebresourceKeyForChunk(c, (id) => id);
|
|
116
117
|
return {
|
|
117
118
|
attributes: { key: webresourceKey },
|
|
118
|
-
externalResources: (0, WebpackHelpers_1.
|
|
119
|
-
resources: (0,
|
|
119
|
+
externalResources: (0, WebpackHelpers_1.getExternalResourcesForChunks)(this.compilation, c, this.resourceModuleMap),
|
|
120
|
+
resources: (0, WebpackHelpers_1.getResourcesForChunks)(this.compilation, [c], [c], this.resourceAssetsMap),
|
|
120
121
|
dependencies: (0, uniq_1.default)([
|
|
121
122
|
...(0, base_dependencies_1.getBaseDependencies)(),
|
|
122
|
-
...(0, WebpackHelpers_1.getDependenciesForChunks)(this.compilation, c),
|
|
123
|
+
...(0, WebpackHelpers_1.getDependenciesForChunks)(this.compilation, c, this.dependencyModuleMap, this.options.providedDependencies),
|
|
123
124
|
...(0, WebpackHelpers_1.getDependencyForCompiledCss)(this.compilation, c, this.options.pluginKey),
|
|
124
125
|
]),
|
|
125
126
|
contexts: this.options.addAsyncNameAsContext && c.name ? [`async-chunk-${c.name}`] : undefined,
|
|
@@ -145,18 +146,17 @@ class AppResources {
|
|
|
145
146
|
.map((c) => syncSplitChunkDependencyKeyMap.get(c))
|
|
146
147
|
.filter(Boolean)
|
|
147
148
|
.map((val) => val?.dependency);
|
|
148
|
-
// Construct the list of resources to add to this web-resource
|
|
149
|
-
const resourceList = (0, flatMap_1.default)(entrypointChunks, (c) => this.getDependencyResourcesFromChunk(c));
|
|
150
149
|
const dependencyList = [
|
|
151
150
|
...(0, base_dependencies_1.getBaseDependencies)(),
|
|
152
|
-
...(0, WebpackHelpers_1.getDependenciesForChunks)(this.compilation, runtimeChunk),
|
|
151
|
+
...(0, WebpackHelpers_1.getDependenciesForChunks)(this.compilation, runtimeChunk, this.dependencyModuleMap, this.options.providedDependencies),
|
|
153
152
|
...sharedSplitDeps,
|
|
154
153
|
];
|
|
154
|
+
let additionalChunks = [];
|
|
155
155
|
if (singleRuntime) {
|
|
156
156
|
dependencyList.unshift(`${this.options.pluginKey}:${singleRuntimeWebResourceKey}`);
|
|
157
157
|
}
|
|
158
158
|
else {
|
|
159
|
-
|
|
159
|
+
additionalChunks = [runtimeChunk];
|
|
160
160
|
}
|
|
161
161
|
return {
|
|
162
162
|
attributes: webResourceAttrs,
|
|
@@ -164,8 +164,8 @@ class AppResources {
|
|
|
164
164
|
conditions: (0, web_resource_entrypoints_1.getConditionForEntry)(name, this.options.conditionMap),
|
|
165
165
|
dataProviders: (0, web_resource_entrypoints_1.getDataProvidersForEntry)(name, this.options.dataProvidersMap),
|
|
166
166
|
deprecationInfo: (0, web_resource_entrypoints_1.getDeprecationInfoForEntry)(name, this.options.deprecatedEntrypoints),
|
|
167
|
-
externalResources: (0, WebpackHelpers_1.
|
|
168
|
-
resources: (0,
|
|
167
|
+
externalResources: (0, WebpackHelpers_1.getExternalResourcesForChunks)(this.compilation, runtimeChunk, this.resourceModuleMap),
|
|
168
|
+
resources: (0, WebpackHelpers_1.getResourcesForChunks)(this.compilation, additionalChunks, entrypointChunks, this.resourceAssetsMap),
|
|
169
169
|
dependencies: (0, uniq_1.default)(dependencyList).filter(Boolean),
|
|
170
170
|
};
|
|
171
171
|
});
|
package/dist/AppResources.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppResources.js","sourceRoot":"","sources":["../src/AppResources.ts"],"names":[],"mappings":";;;;;AAAA,mCAAgC;AAChC,6DAAqC;AACrC,uDAA+B;AAG/B,gEAA+D;AAC/D,yDAAmE;AACnE,iFAM4C;AAG5C,
|
|
1
|
+
{"version":3,"file":"AppResources.js","sourceRoot":"","sources":["../src/AppResources.ts"],"names":[],"mappings":"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"}
|
package/dist/WebpackHelpers.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import type { Chunk, Compilation, Compiler
|
|
1
|
+
import type { Chunk, Compilation, Compiler } from 'webpack';
|
|
2
2
|
import type { Entrypoint } from './types/extracted-webpack-types';
|
|
3
|
-
import type { WrmResource } from './types/types';
|
|
3
|
+
import type { DependencyMap, ProvidedDependenciesMap, WrmResource, WrmResourceMap } from './types/types';
|
|
4
4
|
export declare const getAllAsyncChunks: (entryPoints: Entrypoint[]) => Chunk[];
|
|
5
|
-
export declare const getChunkModules: (compilation: Compilation, chunk: Chunk) =>
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const getDependenciesForChunks: (compilation: Compilation, val: Chunk | Chunk[]) => string[];
|
|
5
|
+
export declare const getChunkModules: (compilation: Compilation, chunk: Chunk) => any[];
|
|
6
|
+
export declare const getDependenciesForChunks: (compilation: Compilation, val: Chunk | Chunk[], dependencyModuleMap: DependencyMap, providedDependencies: ProvidedDependenciesMap) => string[];
|
|
8
7
|
export declare const getDependencyForCompiledCss: (compilation: Compilation, chunk: Chunk, pluginKey: string) => string[];
|
|
8
|
+
export declare const getResourcesForChunks: (compilation: Compilation, chunks: Chunk[], auxiliaryChunks: Chunk[], resourceAssetsMap: DependencyMap) => string[];
|
|
9
|
+
export declare const getExternalResourcesForChunks: (compilation: Compilation, val: Chunk | Chunk[], resourceModuleMap: WrmResourceMap) => WrmResource[];
|
|
10
|
+
export declare const getAllAssetFiles: (compilation: Compilation) => string[];
|
|
9
11
|
export declare const isRunningInProductionMode: (compiler: Compiler) => boolean;
|
|
10
12
|
export declare const isSingleRuntime: (compiler: Compiler) => boolean;
|
|
11
13
|
export declare const extractLibraryDetailsFromWebpackConfig: (compiler: Compiler) => {
|
|
12
|
-
target: "module" | "import" | "var" | "
|
|
14
|
+
target: "module" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "jsonp" | "system" | "promise" | "script" | "node-commonjs" | undefined;
|
|
13
15
|
name: undefined;
|
|
14
16
|
} | {
|
|
15
17
|
target: string;
|
package/dist/WebpackHelpers.js
CHANGED
|
@@ -3,70 +3,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.extractLibraryDetailsFromWebpackConfig = exports.isSingleRuntime = exports.isRunningInProductionMode = exports.
|
|
7
|
-
const flatMap_1 = __importDefault(require("lodash/flatMap"));
|
|
6
|
+
exports.extractLibraryDetailsFromWebpackConfig = exports.isSingleRuntime = exports.isRunningInProductionMode = exports.getAllAssetFiles = exports.getExternalResourcesForChunks = exports.getResourcesForChunks = exports.getDependencyForCompiledCss = exports.getDependenciesForChunks = exports.getChunkModules = exports.getAllAsyncChunks = void 0;
|
|
8
7
|
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
9
8
|
const compiled_css_1 = require("./helpers/compiled-css");
|
|
10
|
-
const ProvidedExternalDependencyModule_1 = __importDefault(require("./webpack-modules/ProvidedExternalDependencyModule"));
|
|
11
|
-
const WrmDependencyModule_1 = __importDefault(require("./webpack-modules/WrmDependencyModule"));
|
|
12
|
-
const WrmResourceModule_1 = __importDefault(require("./webpack-modules/WrmResourceModule"));
|
|
13
|
-
function isWrmResourceModule(m) {
|
|
14
|
-
return m instanceof WrmResourceModule_1.default;
|
|
15
|
-
}
|
|
16
|
-
function isProvidedDependencyOrWrmDependency(m) {
|
|
17
|
-
return m instanceof ProvidedExternalDependencyModule_1.default || m instanceof WrmDependencyModule_1.default;
|
|
18
|
-
}
|
|
19
|
-
const _getExternalResourceModules = (compilation, chunk) => {
|
|
20
|
-
return (0, exports.getChunkModules)(compilation, chunk)
|
|
21
|
-
.filter(isWrmResourceModule)
|
|
22
|
-
.map((m) => m.getResource());
|
|
23
|
-
};
|
|
24
|
-
const _getExternalDependencyModules = (compilation, chunk) => {
|
|
25
|
-
return (0, exports.getChunkModules)(compilation, chunk)
|
|
26
|
-
.filter(isProvidedDependencyOrWrmDependency)
|
|
27
|
-
.sort((a, b) => {
|
|
28
|
-
return (
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
30
|
-
require('webpack/lib/util/comparators.js').compareModulesByPreOrderIndexOrIdentifier(compilation.moduleGraph)(a, b));
|
|
31
|
-
})
|
|
32
|
-
.map((m) => m.getDependency());
|
|
33
|
-
};
|
|
34
9
|
const getAllAsyncChunks = (entryPoints) => {
|
|
35
|
-
const
|
|
36
|
-
const recursivelyGetAllAsyncChunks = (
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
10
|
+
const seenAsyncChunks = new Set();
|
|
11
|
+
const recursivelyGetAllAsyncChunks = (chunk) => {
|
|
12
|
+
const asyncChunks = [...(chunk.getAllAsyncChunks() || [])];
|
|
13
|
+
const unseen = asyncChunks.filter((ac) => {
|
|
14
|
+
if (seenAsyncChunks.has(ac)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
seenAsyncChunks.add(ac);
|
|
18
|
+
return true;
|
|
43
19
|
});
|
|
44
|
-
return
|
|
20
|
+
return [...unseen, ...unseen.flatMap((ac) => recursivelyGetAllAsyncChunks(ac))];
|
|
45
21
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return (0, uniq_1.default)(allAsyncChunks);
|
|
22
|
+
return entryPoints.flatMap((ep) => {
|
|
23
|
+
return recursivelyGetAllAsyncChunks(ep.getEntrypointChunk());
|
|
24
|
+
});
|
|
50
25
|
};
|
|
51
26
|
exports.getAllAsyncChunks = getAllAsyncChunks;
|
|
52
27
|
const getChunkModules = (compilation, chunk) => {
|
|
53
|
-
return compilation.chunkGraph.getChunkModules(chunk)
|
|
28
|
+
return compilation.chunkGraph.getChunkModules(chunk).flatMap((module) => {
|
|
29
|
+
// unwind concatenated modules
|
|
30
|
+
if ('modules' in module && module.modules && Array.isArray(module.modules)) {
|
|
31
|
+
return [module, ...module.modules];
|
|
32
|
+
}
|
|
33
|
+
return module;
|
|
34
|
+
});
|
|
54
35
|
};
|
|
55
36
|
exports.getChunkModules = getChunkModules;
|
|
56
|
-
const
|
|
57
|
-
const externalResources = new Set();
|
|
58
|
-
for (const dep of _getExternalResourceModules(compilation, chunk)) {
|
|
59
|
-
externalResources.add(dep);
|
|
60
|
-
}
|
|
61
|
-
return Array.from(externalResources);
|
|
62
|
-
};
|
|
63
|
-
exports.getExternalResourcesForChunk = getExternalResourcesForChunk;
|
|
64
|
-
const getDependenciesForChunks = (compilation, val) => {
|
|
37
|
+
const getDependenciesForChunks = (compilation, val, dependencyModuleMap, providedDependencies) => {
|
|
65
38
|
const chunks = Array.isArray(val) ? val : [val];
|
|
66
39
|
const externalDeps = new Set();
|
|
67
40
|
for (const chunk of chunks) {
|
|
68
|
-
for (const
|
|
69
|
-
|
|
41
|
+
for (const module of (0, exports.getChunkModules)(compilation, chunk)) {
|
|
42
|
+
if (module.constructor.name === 'ExternalModule') {
|
|
43
|
+
const providedDependency = providedDependencies.get(module.userRequest);
|
|
44
|
+
if (providedDependency) {
|
|
45
|
+
externalDeps.add(providedDependency.dependency);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const moduleKey = module.identifier();
|
|
49
|
+
const dependenciesForModule = [...(dependencyModuleMap.get(moduleKey) || [])];
|
|
50
|
+
for (const dep of dependenciesForModule) {
|
|
51
|
+
externalDeps.add(dep);
|
|
52
|
+
}
|
|
70
53
|
}
|
|
71
54
|
// TODO: figure out how to pass this "properly" as a module
|
|
72
55
|
// @ts-expect-error See WrmPlugin.ts where this is set.
|
|
@@ -90,6 +73,42 @@ const getDependencyForCompiledCss = (compilation, chunk, pluginKey) => {
|
|
|
90
73
|
return !looksLikeCompiledCss && hasCompiledCss ? [`${pluginKey}:compiled-css`] : [];
|
|
91
74
|
};
|
|
92
75
|
exports.getDependencyForCompiledCss = getDependencyForCompiledCss;
|
|
76
|
+
const getResourcesForChunks = (compilation, chunks, auxiliaryChunks, resourceAssetsMap) => {
|
|
77
|
+
const resourceList = [];
|
|
78
|
+
for (const chunk of chunks) {
|
|
79
|
+
resourceList.push(...Array.from(chunk.files));
|
|
80
|
+
}
|
|
81
|
+
for (const chunk of auxiliaryChunks) {
|
|
82
|
+
resourceList.push(...Array.from(chunk.auxiliaryFiles));
|
|
83
|
+
}
|
|
84
|
+
const allAssetFiles = (0, exports.getAllAssetFiles)(compilation);
|
|
85
|
+
const resourceAssets = resourceList.flatMap((resource) => {
|
|
86
|
+
return Array.from(resourceAssetsMap.get(resource) || []).filter((assetFile) => allAssetFiles.includes(assetFile));
|
|
87
|
+
});
|
|
88
|
+
resourceList.push(...resourceAssets);
|
|
89
|
+
return (0, uniq_1.default)(resourceList);
|
|
90
|
+
};
|
|
91
|
+
exports.getResourcesForChunks = getResourcesForChunks;
|
|
92
|
+
const getExternalResourcesForChunks = (compilation, val, resourceModuleMap) => {
|
|
93
|
+
const chunks = Array.isArray(val) ? val : [val];
|
|
94
|
+
const additionalResources = new Set();
|
|
95
|
+
for (const chunk of chunks) {
|
|
96
|
+
for (const module of (0, exports.getChunkModules)(compilation, chunk)) {
|
|
97
|
+
const moduleKey = module.identifier();
|
|
98
|
+
const resourcesForModule = [...(resourceModuleMap.get(moduleKey) || [])];
|
|
99
|
+
for (const resource of resourcesForModule) {
|
|
100
|
+
additionalResources.add(resource);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return Array.from(additionalResources);
|
|
105
|
+
};
|
|
106
|
+
exports.getExternalResourcesForChunks = getExternalResourcesForChunks;
|
|
107
|
+
const getAllAssetFiles = (compilation) => {
|
|
108
|
+
// remove anything that we know is handled differently
|
|
109
|
+
return Object.keys(compilation.assets).filter((p) => !/\.(js|css|soy)(\.map)?$/.test(p));
|
|
110
|
+
};
|
|
111
|
+
exports.getAllAssetFiles = getAllAssetFiles;
|
|
93
112
|
const isRunningInProductionMode = (compiler) => {
|
|
94
113
|
const { mode } = compiler.options;
|
|
95
114
|
return mode === 'production' || (mode === 'none' && process.env.NODE_ENV === 'production');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebpackHelpers.js","sourceRoot":"","sources":["../src/WebpackHelpers.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"WebpackHelpers.js","sourceRoot":"","sources":["../src/WebpackHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
import type { Compilation, Compiler } from 'webpack';
|
|
2
|
-
import type { FactoryHandler } from './types/extracted-webpack-types';
|
|
3
|
-
export declare const hookIntoNormalModuleFactory: (stageName: string, compiler: Compiler, cb: FactoryHandler) => void;
|
|
4
2
|
export declare const hookIntoCompileDoneToGenerateReports: (stageName: string, compiler: Compiler, cb: (compilation: Compilation, callback: () => void) => void) => void;
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hookIntoCompileDoneToGenerateReports =
|
|
4
|
-
const hookIntoNormalModuleFactory = (stageName, compiler, cb) => {
|
|
5
|
-
compiler.hooks.compile.tap(stageName, (params) => {
|
|
6
|
-
const hooks = params.normalModuleFactory.hooks;
|
|
7
|
-
const passThruFactory = (data, callback) => callback();
|
|
8
|
-
hooks.factorize.tapAsync({
|
|
9
|
-
name: stageName,
|
|
10
|
-
stage: 99,
|
|
11
|
-
}, cb(passThruFactory));
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
exports.hookIntoNormalModuleFactory = hookIntoNormalModuleFactory;
|
|
3
|
+
exports.hookIntoCompileDoneToGenerateReports = void 0;
|
|
15
4
|
const hookIntoCompileDoneToGenerateReports = (stageName, compiler, cb) => {
|
|
16
5
|
compiler.hooks.done.tapAsync(stageName, (stats, callback) => {
|
|
17
6
|
cb(stats.compilation, callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebpackRuntimeHelpers.js","sourceRoot":"","sources":["../src/WebpackRuntimeHelpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"WebpackRuntimeHelpers.js","sourceRoot":"","sources":["../src/WebpackRuntimeHelpers.ts"],"names":[],"mappings":";;;AAEO,MAAM,oCAAoC,GAAG,CAClD,SAAiB,EACjB,QAAkB,EAClB,EAA4D,EAC5D,EAAE;IACF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC1D,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,oCAAoC,wCAQ/C"}
|
package/dist/WrmPlugin.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './shims/empty-wrm-module.js';
|
|
1
2
|
import type { Compiler } from 'webpack';
|
|
2
3
|
import type { DataProvidersMap, Options, ProvidedDependenciesMap, ResourceParamMap, TransformationMap } from './types/types';
|
|
3
4
|
type TransformerExtensions = {
|
|
@@ -6,6 +7,11 @@ type TransformerExtensions = {
|
|
|
6
7
|
declare class WrmPlugin {
|
|
7
8
|
static extendTransformations(values: TransformerExtensions): Map<any, any>;
|
|
8
9
|
private options;
|
|
10
|
+
private dependencyModuleMap;
|
|
11
|
+
private resourceModuleMap;
|
|
12
|
+
private dependencyIssuerMap;
|
|
13
|
+
private resourceIssuerMap;
|
|
14
|
+
private resourceAssetsMap;
|
|
9
15
|
/**
|
|
10
16
|
* A Webpack plugin that takes the compilation tree and creates <web-resource> XML definitions that mirror the
|
|
11
17
|
* dependency graph.
|
|
@@ -32,14 +38,24 @@ declare class WrmPlugin {
|
|
|
32
38
|
ensureDataProvidersMapIsValid(dataProvidersMap: DataProvidersMap): DataProvidersMap;
|
|
33
39
|
checkConfig(compiler: Compiler): void;
|
|
34
40
|
overwritePublicPath(compiler: Compiler): void;
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
private storeMapEntryInValueSet;
|
|
42
|
+
private storeModuleDependency;
|
|
43
|
+
hookUpModuleDependencies(compiler: Compiler): void;
|
|
44
|
+
hookUpWrInlineLoaders(compiler: Compiler): void;
|
|
45
|
+
/**
|
|
46
|
+
* We need to handle CSS url(...) assets so that we can include them as resources in the web-resource,
|
|
47
|
+
* and so they can be correctly relativized by a transformer from WRM.
|
|
48
|
+
* In a very specific setup (see `test/test-cases/asset-loading-via-css`), we can't rely on chunk.auxiliaryFiles
|
|
49
|
+
* and need to track these assets manually.
|
|
50
|
+
*/
|
|
51
|
+
hookUpCssUrlAssets(compiler: Compiler): void;
|
|
37
52
|
/**
|
|
38
53
|
* Ensure the WRM.require function is available at runtime and is used to load any code-split chunks.
|
|
39
54
|
*/
|
|
40
55
|
enableAsyncLoadingWithWRM(compiler: Compiler): void;
|
|
41
56
|
shouldOverwritePublicPath(): boolean;
|
|
42
57
|
shouldEnableAsyncLoadingWithWRM(): boolean;
|
|
58
|
+
private clearInternalMaps;
|
|
43
59
|
apply(compiler: Compiler): void;
|
|
44
60
|
}
|
|
45
61
|
export = WrmPlugin;
|