
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Parse errors to provide a consistent metadata object across Browser and Node environments. Made for Cabin.
npm:
npm install parse-err
This package exports a function that accepts two arguments (err, props)
.
req
(Object) - an HTTP requestprops
(Array) - a list of properties to cherry-pick from the error object parsed out of err
(by default all properties are returned; even non-enumerable ones and ones on the prototype object)This function iterates over the prototype of the error and the error itself to get all non-Function properties and returns these properties as an object.
Normally if you console.log(err)
it will not show you all fields such as type
, statusCode
, or code
(e.g. if you're using Stripe).
In our case, we wanted to store these properties in our logs with Cabin.
As of v1.0.0 it now parses err.errors
Array too – which adds support for packages such as maybe-combine-errors and combine-errors. This is useful if you combine multiple errors into one Error object, and subsequently set a property of err.errors = errors
where errors
is an Array of the errors combined.
const parseErr = require('parse-err');
const err = new Error('Oops!');
// just a random example
err.name = 'BeepBoop';
err.code = 100;
err.statusCode = 200;
console.error(parseErr(err));
{ name: 'BeepBoop',
message: 'Oops!',
stack: 'BeepBoop: Oops!\n at Object.<anonymous> (/Users/user/Projects/parse-err/test.js:3:13)\n at Module._compile (module.js:652:30)\n at Object.Module._extensions..js (module.js:663:10)\n at Module.load (module.js:565:32)\n at tryModuleLoad (module.js:505:12)\n at Function.Module._load (module.js:497:3)\n at Function.Module.runMain (module.js:693:10)\n at startup (bootstrap_node.js:188:16)\n at bootstrap_node.js:609:3',
code: 100,
statusCode: 200 }
<script src="https://unpkg.com/parse-err"></script>
<script type="text/javascript">
(function() {
var err = new Error('Oops!');
err.name = 'BeepBoop';
err.statusCode = 500;
console.error(parseErr(err));
})();
</script>
If you are using browserify, webpack, rollup, or another bundler, then you can follow the same usage as Node above.
Node: v6.x+
Browsers (see .browserslistrc):
npx browserslist
and_chr 107
and_ff 106
and_qq 13.1
and_uc 13.4
android 107
chrome 107
chrome 106
chrome 105
edge 107
edge 106
edge 105
firefox 107
firefox 106
firefox 105
firefox 102
ios_saf 16.1
ios_saf 16.0
ios_saf 15.6
ios_saf 15.5
ios_saf 14.5-14.8
kaios 2.5
op_mini all
op_mob 72
opera 92
opera 91
safari 16.1
safari 16.0
safari 15.6
samsung 19.0
samsung 18.0
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |
FAQs
Parse errors in the Browser and Node. Made for Cabin.
The npm package parse-err receives a total of 2,060 weekly downloads. As such, parse-err popularity was classified as popular.
We found that parse-err demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.