diff --git a/packages/knip/src/index.ts b/packages/knip/src/index.ts index a46aa951a..5d3a0e11b 100644 --- a/packages/knip/src/index.ts +++ b/packages/knip/src/index.ts @@ -90,6 +90,7 @@ export const main = async (unresolvedConfiguration: CommandLineOptions) => { const isReportTypes = report.types || report.nsTypes || report.enumMembers; const isReportClassMembers = report.classMembers; const isSkipLibs = !(isIncludeLibs || isReportClassMembers); + const isShowConfigHints = !workspace && !isProduction && !isHideConfigHints; const collector = new IssueCollector({ cwd, rules, filters }); @@ -617,15 +618,17 @@ export const main = async (unresolvedConfiguration: CommandLineOptions) => { deputy.removeIgnoredIssues(collector.getIssues()); // Hints about ignored dependencies/binaries can be confusing/annoying/incorrect in production/strict mode - if (!workspace && !isProduction && !isHideConfigHints) { + if (isShowConfigHints) { const configurationHints = deputy.getConfigurationHints(); for (const hint of configurationHints) collector.addConfigurationHint(hint); } } - const unusedIgnoredWorkspaces = chief.getUnusedIgnoredWorkspaces(); - for (const identifier of unusedIgnoredWorkspaces) { - collector.addConfigurationHint({ type: 'ignoreWorkspaces', identifier }); + if (isShowConfigHints) { + const unusedIgnoredWorkspaces = chief.getUnusedIgnoredWorkspaces(); + for (const identifier of unusedIgnoredWorkspaces) { + collector.addConfigurationHint({ type: 'ignoreWorkspaces', identifier }); + } } }; diff --git a/packages/knip/test/workspaces-nested.test.ts b/packages/knip/test/workspaces-nested.test.ts index d219b2db9..759f40c5a 100644 --- a/packages/knip/test/workspaces-nested.test.ts +++ b/packages/knip/test/workspaces-nested.test.ts @@ -7,12 +7,8 @@ import baseCounters from './helpers/baseCounters.js'; const cwd = resolve('fixtures/workspaces-nested'); -const expectedConfigurationHintsProduction = new Set([ - { type: 'ignoreWorkspaces', identifier: 'unused-ignored-workspace' }, -]); - const expectedConfigurationHints = new Set([ - ...expectedConfigurationHintsProduction, + { type: 'ignoreWorkspaces', identifier: 'unused-ignored-workspace' }, { type: 'ignoreBinaries', identifier: 'unused-ignored-bin-global', workspaceName: '.' }, { type: 'ignoreBinaries', identifier: 'unused-ignored-bin-L-2', workspaceName: 'L-1-1/L-1-2' }, { type: 'ignoreDependencies', identifier: 'ignored-dep-global', workspaceName: '.' }, @@ -68,7 +64,7 @@ test('Find unused dependencies in nested workspaces with default config in produ total: 3, }); - assert.deepEqual(configurationHints, expectedConfigurationHintsProduction); + assert.deepEqual(configurationHints, new Set()); }); test('Find unused dependencies in nested workspaces with default config in production mode (strict)', async () => { @@ -93,5 +89,5 @@ test('Find unused dependencies in nested workspaces with default config in produ total: 3, }); - assert.deepEqual(configurationHints, expectedConfigurationHintsProduction); + assert.deepEqual(configurationHints, new Set()); });