Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(diagnostics): workaround Rollup duplicating error messages (#373)
* fix(diagnostics): workaround Rollup duplicating error messages - per my investigation in the linked issues, it seems like Rollup has a bug where it duplicates some error message - this occurs when the error has a stack (or frame) which contains the error message itself - Rollup prints _both_ the error message _and_ the stack in that case, causing duplication - this fix adds a workaround for this upstream Rollup bug - it detects if there is a stack and if the message is duplicated in the stack - if so, it removes the duplication in the stack - this workaround should be forward-compatible if this behavior is fixed upstream - this code should just end up re-throwing in that case (effectively a no-op) * fix watch mode by spreading err - apparently Rollup attaches several properties to the error object, including `watchFiles` - so removing them / not spreading causes watch to just stop working here are some of the additional properties I logged out, for example: ```js { id: '/project-dir/src/difference.ts', hook: 'transform', code: 'PLUGIN_ERROR', plugin: 'rpt2', watchFiles: [ '/project-dir/src/index.ts', '/project-dir/tsconfig.json', '/project-dir/src/types.ts', '/project-dir/src/difference.ts' ] } } ```
- Loading branch information