Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: force
noEmitOnError: false
(#338)
- `noEmitOnError: true` acts like `noEmit: true` when there is an error - this is problematic because it will then cause _all_ files to have `emitSkipped` set to `true`, which this plugin interprets as a fatal error - meaning it will treat the first file it finds as having a fatal error and then abort, but possibly without outputting any diagnostics what-so-ever as the file with the error in it may not yet have run through the `transform` hook - i.e. an initial file that imports an erroring file at some point in its import chain will cause rpt2 to abort, even if that initial file _itself_ has no type-check/diagnostic issues - bc TS does whole-program analysis after all - this has only been reported as an issue once so far, probably because it defaults to `false` in TS and, as such, is rarely used: https://www.typescriptlang.org/tsconfig#noEmitOnError - we usually have the opposite issue, people trying to set it to `false` (i.e. the default) because they don't realize the `abortOnError` option exists - add `noEmitOnError: false` to the forced options list and tests too - add it to the docs on what tsconfig options are forced - and add a reference to the issue like the existing options - also reference `abortOnError` since they're commonly associated with each other and that plugin option is often missed (per above) - briefly explain that `noEmit` and `noEmitOnError` are `false` because Rollup controls emit settings in the context of this plugin, instead of `tsc` etc - should probably watch out for when new emit settings are added to TS, as we may want to force most with the same reasoning
- Loading branch information