From cb8ac9d5ef8cc11e82af242db328d853fa6b3132 Mon Sep 17 00:00:00 2001 From: LingyuCoder Date: Thu, 26 Sep 2024 18:48:23 +0800 Subject: [PATCH 1/2] fix: generate params of runtime module --- packages/rspack/etc/api.md | 2 +- packages/rspack/src/RuntimeModule.ts | 4 ++-- website/docs/en/api/javascript-api/compilation.mdx | 3 ++- website/docs/en/api/plugin-api/compilation-hooks.mdx | 3 ++- website/docs/zh/api/javascript-api/compilation.mdx | 3 ++- website/docs/zh/api/plugin-api/compilation-hooks.mdx | 3 ++- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/rspack/etc/api.md b/packages/rspack/etc/api.md index f595de39522..0c8298f5d88 100644 --- a/packages/rspack/etc/api.md +++ b/packages/rspack/etc/api.md @@ -14639,7 +14639,7 @@ export class RuntimeModule { // (undocumented) fullHash: boolean; // (undocumented) - generate(compilation: Compilation): string; + generate(): string; // (undocumented) identifier(): string; // (undocumented) diff --git a/packages/rspack/src/RuntimeModule.ts b/packages/rspack/src/RuntimeModule.ts index f79464d76d9..c5ed5b28aab 100644 --- a/packages/rspack/src/RuntimeModule.ts +++ b/packages/rspack/src/RuntimeModule.ts @@ -23,7 +23,7 @@ export class RuntimeModule { return { name: module.name, stage: module.stage, - generator: () => module.generate(compilation), + generator: module.generate.bind(module), cacheable: !(module.fullHash || module.dependentHash), isolate: module.shouldIsolate() }; @@ -67,7 +67,7 @@ export class RuntimeModule { return true; } - generate(compilation: Compilation): string { + generate(): string { throw new Error( `Should implement "generate" method of runtime module "${this.name}"` ); diff --git a/website/docs/en/api/javascript-api/compilation.mdx b/website/docs/en/api/javascript-api/compilation.mdx index f837d3db905..78da50ec6f5 100644 --- a/website/docs/en/api/javascript-api/compilation.mdx +++ b/website/docs/en/api/javascript-api/compilation.mdx @@ -439,7 +439,8 @@ module.exports = { super('custom'); } - generate(compilation) { + generate() { + const compilation = this.compilation; return ` __webpack_require__.mock = function() { // ... diff --git a/website/docs/en/api/plugin-api/compilation-hooks.mdx b/website/docs/en/api/plugin-api/compilation-hooks.mdx index d107e54d5fa..894b8cd24e6 100644 --- a/website/docs/en/api/plugin-api/compilation-hooks.mdx +++ b/website/docs/en/api/plugin-api/compilation-hooks.mdx @@ -616,7 +616,8 @@ module.exports = { super('custom'); } - generate(compilation) { + generate() { + const compilation = this.compilation; return ` __webpack_require__.mock = function(file) { return ${RuntimeGlobals.publicPath} + "/subpath/" + file; diff --git a/website/docs/zh/api/javascript-api/compilation.mdx b/website/docs/zh/api/javascript-api/compilation.mdx index 683b86409c3..041d49fe32e 100644 --- a/website/docs/zh/api/javascript-api/compilation.mdx +++ b/website/docs/zh/api/javascript-api/compilation.mdx @@ -439,7 +439,8 @@ module.exports = { super('custom', RuntimeModule.STAGE_NORMAL); } - generate(compilation) { + generate() { + const compilation = this.compilation; return ` __webpack_require__.mock = function() { // ... diff --git a/website/docs/zh/api/plugin-api/compilation-hooks.mdx b/website/docs/zh/api/plugin-api/compilation-hooks.mdx index dbecd996460..90e7dad2f0f 100644 --- a/website/docs/zh/api/plugin-api/compilation-hooks.mdx +++ b/website/docs/zh/api/plugin-api/compilation-hooks.mdx @@ -617,7 +617,8 @@ module.exports = { super('custom'); } - generate(compilation) { + generate() { + const compilation = this.compilation; return ` __webpack_require__.mock = function(file) { return ${RuntimeGlobals.publicPath} + "/subpath/" + file; From ca284f1529d754a2fbfdf72b39c856da6b1d468b Mon Sep 17 00:00:00 2001 From: LingyuCoder Date: Thu, 26 Sep 2024 18:53:56 +0800 Subject: [PATCH 2/2] fix: generate params of runtime module --- .../runtime/add-runtime-module-isolate/rspack.config.js | 4 ++-- .../runtime/add-runtime-module-stage/rspack.config.js | 4 ++-- .../configCases/runtime/add-runtime-module/rspack.config.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-isolate/rspack.config.js b/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-isolate/rspack.config.js index 9d09e232f1c..1e8e3df4371 100644 --- a/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-isolate/rspack.config.js +++ b/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-isolate/rspack.config.js @@ -5,7 +5,7 @@ class IsolateRuntimeModule extends RuntimeModule { super("mock-isolate"); } - generate(compilation) { + generate() { return ` __webpack_require__.mock = function() { return someGlobalValue; @@ -23,7 +23,7 @@ class NonIsolateRuntimeModule extends RuntimeModule { return false; } - generate(compilation) { + generate() { return ` var someGlobalValue = "isolated"; `; diff --git a/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-stage/rspack.config.js b/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-stage/rspack.config.js index a886894d51b..de46032a5b0 100644 --- a/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-stage/rspack.config.js +++ b/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module-stage/rspack.config.js @@ -5,7 +5,7 @@ class MockNormalRuntimeModule extends RuntimeModule { super("mock-normal", RuntimeModule.STAGE_NORMAL); } - generate(compilation) { + generate() { return `__webpack_require__.mockNormal = "normal";`; } } @@ -15,7 +15,7 @@ class MockTriggerRuntimeModule extends RuntimeModule { super("mock-trigger", RuntimeModule.STAGE_TRIGGER); } - generate(compilation) { + generate() { return `__webpack_require__.mockTrigger = "trigger";`; } } diff --git a/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module/rspack.config.js b/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module/rspack.config.js index fbf677396fd..7f4c37eba92 100644 --- a/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module/rspack.config.js +++ b/packages/rspack-test-tools/tests/configCases/runtime/add-runtime-module/rspack.config.js @@ -5,7 +5,7 @@ class MockRuntimeModule extends RuntimeModule { super("mock"); } - generate(compilation) { + generate() { const chunkIdToName = this.chunk.getChunkMaps(false).name; const chunkNameToId = Object.fromEntries( Object.entries(chunkIdToName).map(([chunkId, chunkName]) => [