From 4a0c2977f84156053665b91bfbb0bb863eafe6fb Mon Sep 17 00:00:00 2001 From: Anton Gilgur Date: Mon, 6 Jun 2022 20:18:23 -0400 Subject: [PATCH] fix: filter "missed" declarations as well (#347) - these should run through the same `filter` as runs in `transform` etc - prior to this, the plugin `exclude` would filter files in `transform`, meaning no JS would be output for them, but would still output declarations for these very same files that no JS was produced for - (this would only happen if one were using an `include` glob or something that made the file appear twice, i.e. once by Rollup in `transform` and once in `parsedConfig.fileNames`) - this change makes it so the plugin `exclude` affects both JS and DTS output equivalently - it was very confusing when it didn't, and users relied on setting different `tsconfig` `exclude`s to workaround this (as a `tsconfig` `exclude` would make the file not appear in `parsedConfig.fileNames`) --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 5e14ad44..20c0e981 100644 --- a/src/index.ts +++ b/src/index.ts @@ -304,7 +304,7 @@ const typescript: PluginImpl = (options) => parsedConfig.fileNames.forEach((name) => { const key = normalize(name); - if (key in declarations) + if (key in declarations || !filter(key)) return; context.debug(() => `generating missed declarations for '${key}'`);