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`)
This commit is contained in:
Anton Gilgur 2022-06-06 20:18:23 -04:00 committed by GitHub
parent c0fb53d3bc
commit 4a0c2977f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -304,7 +304,7 @@ const typescript: PluginImpl<RPT2Options> = (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}'`);