diff --git a/packages/language-server/src/plugins/PluginHost.ts b/packages/language-server/src/plugins/PluginHost.ts index 6f15f630f..f4a25ebfa 100644 --- a/packages/language-server/src/plugins/PluginHost.ts +++ b/packages/language-server/src/plugins/PluginHost.ts @@ -75,6 +75,20 @@ export class PluginHost implements LSProvider, OnWatchFileChanges { throw new Error('Cannot call methods on an unopened document'); } + if ( + (document.getFilePath()?.includes('/node_modules/') || + document.getFilePath()?.includes('\\node_modules\\')) && + // Sapper convention: Put stuff inside node_modules below src + !( + document.getFilePath()?.includes('/src/node_modules/') || + document.getFilePath()?.includes('\\src\\node_modules\\') + ) + ) { + // Don't return diagnostics for files inside node_modules. These are considered read-only (cannot be changed) + // and in case of svelte-check they would pollute/skew the output + return []; + } + return flatten( await this.execute( 'getDiagnostics', diff --git a/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts b/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts index 4f7e7dfc2..f0334143d 100644 --- a/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts +++ b/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts @@ -15,20 +15,6 @@ export class DiagnosticsProviderImpl implements DiagnosticsProvider { document: Document, cancellationToken?: CancellationToken ): Promise { - if ( - (document.getFilePath()?.includes('/node_modules/') || - document.getFilePath()?.includes('\\node_modules\\')) && - // Sapper convention: Put stuff inside node_modules below src - !( - document.getFilePath()?.includes('/src/node_modules/') || - document.getFilePath()?.includes('\\src\\node_modules\\') - ) - ) { - // Don't return diagnostics for files inside node_modules. These are considered read-only (cannot be changed) - // and in case of svelte-check they would pollute/skew the output - return []; - } - const { lang, tsDoc } = await this.getLSAndTSDoc(document); if (