Skip to content

no useful error info from plugins emitted in API watch events #4687

@jonbgamble

Description

@jonbgamble

Rollup Version

3.2.3

Operating System (or Browser)

macOS & fedora 36, node

Node Version (if applicable)

16.5 & 17.7.1

Link To Reproduction

https://github.com/schlawg/rollup-plugin-error

Expected Behaviour

Javascript API rollup.watch should provide specifics sourced from typescript plugins when it emits ERROR events. This should include message, frame, location, and filename. I noticed that rollup-plugin-typescript2 does provide this information (in some form) when error.ts/error is called and the specifics survive in the exception caught and thrown by rollup watch's internals before reaching the watch emitter. Maybe it's not in the proper form and that's why it's stripped?

Actual Behaviour

Events from the rpt2 plugin used in the minimal repro link look like:

"error": {
  "code": "PLUGIN_ERROR",
  "plugin": "rpt2",
  "hook": "buildEnd",
  "id": "...",
  "watchFiles": [ ]
},

There is no message, frame, or TS error code provided, but this information is clearly visible if you dump the error object from rpt2 to stdout in error.ts error function.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions