From fd22007634070a93475599695ec7f98298602273 Mon Sep 17 00:00:00 2001 From: neverland Date: Tue, 16 Dec 2025 13:33:55 +0800 Subject: [PATCH 1/2] chore: enable noUnusedParameters option in TypeScript configuration --- packages/rspack-test-tools/tsconfig.json | 3 ++- packages/rspack/etc/core.api.md | 6 +++--- packages/rspack/src/Compilation.ts | 2 +- packages/rspack/src/FileSystem.ts | 2 +- packages/rspack/src/Resolver.ts | 4 ++-- packages/rspack/src/config/adapter.ts | 4 ++-- packages/rspack/src/config/defaults.ts | 12 +++--------- .../rspack/src/container/ModuleFederationPlugin.ts | 2 +- packages/rspack/src/lib/EntryOptionPlugin.ts | 2 +- .../rspack/src/stats/DefaultStatsFactoryPlugin.ts | 2 +- .../rspack/src/stats/DefaultStatsPresetPlugin.ts | 4 ++-- tsconfig.base.json | 3 ++- 12 files changed, 21 insertions(+), 25 deletions(-) diff --git a/packages/rspack-test-tools/tsconfig.json b/packages/rspack-test-tools/tsconfig.json index a52b231883f3..171c1a7200c4 100644 --- a/packages/rspack-test-tools/tsconfig.json +++ b/packages/rspack-test-tools/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "outDir": "dist", "rootDir": "src", - "types": ["./rstest.d.ts"] + "types": ["./rstest.d.ts"], + "noUnusedParameters": false }, "include": ["src"], "exclude": ["viewer"], diff --git a/packages/rspack/etc/core.api.md b/packages/rspack/etc/core.api.md index 4c04411b072a..ccbd473cee49 100644 --- a/packages/rspack/etc/core.api.md +++ b/packages/rspack/etc/core.api.md @@ -2168,7 +2168,7 @@ export class EntryOptionPlugin { // (undocumented) static applyEntryOption(compiler: Compiler, context: string, entry: EntryNormalized): void; // (undocumented) - static entryDescriptionToOptions(compiler: Compiler, name: string, desc: EntryDescriptionNormalized): EntryOptions; + static entryDescriptionToOptions(_compiler: Compiler, name: string, desc: EntryDescriptionNormalized): EntryOptions; } // @public @@ -6335,9 +6335,9 @@ type ResolveOptionsWithDependencyType = Resolve & { class Resolver { constructor(binding: binding.JsResolver); // (undocumented) - resolve(context: object, path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void; + resolve(_context: object, path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void; // (undocumented) - resolveSync(context: object, path: string, request: string): string | false; + resolveSync(_context: object, path: string, request: string): string | false; } // @public (undocumented) diff --git a/packages/rspack/src/Compilation.ts b/packages/rspack/src/Compilation.ts index 077858d63f84..a8d9a52b0fd3 100644 --- a/packages/rspack/src/Compilation.ts +++ b/packages/rspack/src/Compilation.ts @@ -325,7 +325,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si options: liteTapable.Options, fn: liteTapable.FnAsync ) => { - processAssetsHook.tapAsync(getOptions(options), (assets, callback) => + processAssetsHook.tapAsync(getOptions(options), (_assets, callback) => (fn as any)(...getArgs(), callback) ); }, diff --git a/packages/rspack/src/FileSystem.ts b/packages/rspack/src/FileSystem.ts index 93f0bc96f8f3..4e5171036289 100644 --- a/packages/rspack/src/FileSystem.ts +++ b/packages/rspack/src/FileSystem.ts @@ -263,7 +263,7 @@ class ThreadsafeIntermediateNodeFS extends ThreadsafeOutputNodeFS { position, length }, - (err, bytesRead, buffer) => { + (err, _bytesRead, buffer) => { if (err) { resolve(err); } else { diff --git a/packages/rspack/src/Resolver.ts b/packages/rspack/src/Resolver.ts index fa373cc29a6a..3cca977b4834 100644 --- a/packages/rspack/src/Resolver.ts +++ b/packages/rspack/src/Resolver.ts @@ -52,12 +52,12 @@ export class Resolver { this.#binding = binding; } - resolveSync(context: object, path: string, request: string): string | false { + resolveSync(_context: object, path: string, request: string): string | false { return this.#binding.resolveSync(path, request) ?? false; } resolve( - context: object, + _context: object, path: string, request: string, resolveContext: ResolveContext, diff --git a/packages/rspack/src/config/adapter.ts b/packages/rspack/src/config/adapter.ts index d5f8429883dd..2b4f2c294f51 100644 --- a/packages/rspack/src/config/adapter.ts +++ b/packages/rspack/src/config/adapter.ts @@ -472,7 +472,7 @@ function getRawParserOptionsMap( return Object.fromEntries( Object.entries(parser) .map(([k, v]) => [k, getRawParserOptions(v, k)]) - .filter(([k, v]) => v !== undefined) + .filter(([_, v]) => v !== undefined) ); } @@ -482,7 +482,7 @@ function getRawGeneratorOptionsMap( return Object.fromEntries( Object.entries(generator) .map(([k, v]) => [k, getRawGeneratorOptions(v, k)]) - .filter(([k, v]) => v !== undefined) + .filter(([_, v]) => v !== undefined) ); } diff --git a/packages/rspack/src/config/defaults.ts b/packages/rspack/src/config/defaults.ts index 6b0ff8b6f2cd..ec76c5725b5d 100644 --- a/packages/rspack/src/config/defaults.ts +++ b/packages/rspack/src/config/defaults.ts @@ -128,9 +128,7 @@ export const applyRspackOptionsDefaults = ( (Array.isArray(target) && target.some(target => target.startsWith("browserslist"))), outputModule: options.experiments.outputModule, - development, - entry: options.entry, - futureDefaults: options.experiments.futureDefaults! + entry: options.entry }); // bundlerInfo is affected by outputDefaults so must be executed after outputDefaults applybundlerInfoDefaults( @@ -587,17 +585,13 @@ const applyOutputDefaults = ( outputModule, targetProperties: tp, isAffectedByBrowserslist, - development, - entry, - futureDefaults + entry }: { context: Context; outputModule?: boolean; targetProperties: any; isAffectedByBrowserslist: boolean; - development: boolean; entry: EntryNormalized; - futureDefaults: boolean; } ) => { const getLibraryName = (library: Library): string => { @@ -622,7 +616,7 @@ const applyOutputDefaults = ( F(output, "uniqueName", () => { const libraryName = getLibraryName(output.library).replace( /^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g, - (m, a, d1, d2, b, c) => { + (_, a, d1, d2, b, c) => { const content = a || b || c; return content.startsWith("\\") && content.endsWith("\\") ? `${d2 || ""}[${content.slice(1, -1)}]${d1 || ""}` diff --git a/packages/rspack/src/container/ModuleFederationPlugin.ts b/packages/rspack/src/container/ModuleFederationPlugin.ts index 1fd1ce9666ad..75397c77d0a2 100644 --- a/packages/rspack/src/container/ModuleFederationPlugin.ts +++ b/packages/rspack/src/container/ModuleFederationPlugin.ts @@ -125,7 +125,7 @@ function collectManifestExposes( type ExposesConfigInput = { import: string | string[]; name?: string }; const parsed = parseOptions( exposes, - (value, key) => ({ + value => ({ import: Array.isArray(value) ? value : [value], name: undefined }), diff --git a/packages/rspack/src/lib/EntryOptionPlugin.ts b/packages/rspack/src/lib/EntryOptionPlugin.ts index 9e97429f8176..1f492891c3e7 100644 --- a/packages/rspack/src/lib/EntryOptionPlugin.ts +++ b/packages/rspack/src/lib/EntryOptionPlugin.ts @@ -65,7 +65,7 @@ export class EntryOptionPlugin { * @returns options for the entry */ static entryDescriptionToOptions( - compiler: Compiler, + _compiler: Compiler, name: string, desc: EntryDescriptionNormalized ): EntryOptions { diff --git a/packages/rspack/src/stats/DefaultStatsFactoryPlugin.ts b/packages/rspack/src/stats/DefaultStatsFactoryPlugin.ts index ad520c78d9ef..b2194af464ad 100644 --- a/packages/rspack/src/stats/DefaultStatsFactoryPlugin.ts +++ b/packages/rspack/src/stats/DefaultStatsFactoryPlugin.ts @@ -954,7 +954,7 @@ const SIMPLE_EXTRACTORS: SimpleExtractors = { object, compilation, context: KnownStatsFactoryContext, - options: NormalizedStatsOptions, + _options: NormalizedStatsOptions, factory ) => { const { type, getStatsCompilation } = context; diff --git a/packages/rspack/src/stats/DefaultStatsPresetPlugin.ts b/packages/rspack/src/stats/DefaultStatsPresetPlugin.ts index 20b5b956c0e8..55b6379c1707 100644 --- a/packages/rspack/src/stats/DefaultStatsPresetPlugin.ts +++ b/packages/rspack/src/stats/DefaultStatsPresetPlugin.ts @@ -291,11 +291,11 @@ const NORMALIZER = { const array = !Array.isArray(value) ? (value ? [value] : []) : value; return array.map(filter => { if (typeof filter === "string") { - return (warning: StatsError, warningString: string) => + return (_warning: StatsError, warningString: string) => warningString.includes(filter); } if (filter instanceof RegExp) { - return (warning: StatsError, warningString: string) => + return (_warning: StatsError, warningString: string) => filter.test(warningString); } if (typeof filter === "function") { diff --git a/tsconfig.base.json b/tsconfig.base.json index d270b15d714c..1b2582b1ae40 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -15,6 +15,7 @@ "checkJs": true, "strict": true, "skipLibCheck": true, - "noUnusedLocals": true + "noUnusedLocals": true, + "noUnusedParameters": true, } } From 8b483185798dc9656ba6b2002d98222cb140672e Mon Sep 17 00:00:00 2001 From: neverland Date: Tue, 16 Dec 2025 13:39:50 +0800 Subject: [PATCH 2/2] fix --- tsconfig.base.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.base.json b/tsconfig.base.json index 1b2582b1ae40..00e7509a59d3 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -16,6 +16,6 @@ "strict": true, "skipLibCheck": true, "noUnusedLocals": true, - "noUnusedParameters": true, + "noUnusedParameters": true } }