yeoman / generator

Rails-inspired generator system that provides scaffolding for your apps
http://yeoman.io
BSD 2-Clause "Simplified" License
1.22k stars 299 forks source link

Error handling #1544

Open TarSzator opened 2 months ago

TarSzator commented 2 months ago

Not sure if this is the right spot for my request.

Starting from the following issue: We use our own error classes. These have an ID which is a number and a code which is an enumeration. When these errors are thrown the error message is written but we also get this error:

TypeError [ERR_INVALID_ARG_TYPE]: The "code" argument must be of type number. Received type string ('InternalError')
    at process.set [as exitCode] (node:internal/bootstrap/node:123:9)
    at process.exit (node:internal/process/per_thread:180:24)
    at onError (/opt/homebrew/lib/node_modules/yo/lib/cli.js:117:11)
    at /opt/homebrew/lib/node_modules/yo/lib/cli.js:168:54
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async init (/opt/homebrew/lib/node_modules/yo/lib/cli.js:168:5)
    at async pre (/opt/homebrew/lib/node_modules/yo/lib/cli.js:83:3)
    at async /opt/homebrew/lib/node_modules/yo/lib/cli.js:193:3

Goal: I would like to influence the error handling from yeoman. So I would like to provide a function to yeoman that is triggered with the error and what ever I return is printed to the console.

Advantage: With this I could prevent the check if code is a number. And I could also improve the output to be more then just the message property of my error

Question: Does already exist a way to do this? I did not find it in the documentation.

Note: I am aware of the error event but this does not help me with the code error issue.

github-actions[bot] commented 1 month ago

This issue is stale because it has been open with no activity. Remove stale label or comment or this will be closed

mshima commented 1 month ago

This looks an yo issue. Looks like yo is forward the error code to process.exit().

github-actions[bot] commented 1 week ago

This issue is stale because it has been open with no activity. Remove stale label or comment or this will be closed

TarSzator commented 1 week ago

Is there some action planed by the maintainers? Would also like to get the stale tag removed 😃