json5
json5 copied to clipboard
JSON5 — JSON for Humans
This enhances support for JavaScript modules. This adds `lib/index.mjs`, which re-exports `lib/index.js` as a default export and `parse` and `stringify` as named exports. The `module` field in `package.json` now points...
Webpack v4+ prefers the [`module` field](https://webpack.js.org/configuration/resolve/#resolvemainfields) from `package.json` over the `main` field even when the webpack `target` is `node`. Since the `main` module exports `{parse, stringify}` and the `module` module...
To this date, many people's initial reactions to JSON5 are still quite negative because they think JSON5 is aiming to replace JSON for machine-to-machine communication (e.g. APIs, databases). We already...
This branch adds a `patch` function to the public API. Its purpose is to allow the editing of a JSON5 object while preserving the comments in the file. The API...
Fixes #273. Tests are passing, but ESLint won't be happy until it and its plugins are updated and support for Node.js < 10.5 is dropped.
`stringify` should throw an error when serializing a BigInt to match JSON behavior. ```js const json = JSON.stringify(123n) // Uncaught TypeError: Do not know how to serialize a BigInt const...
The `reviver` function receives only the already converted value, which could be inconvenient if the convertion is not being done correctly by the parser. For example, if a nunber is...
## Changes I was reading the parser code and saw a few things that could improve the performance, they are summarized below. ### Use integers constants for states I saw...
Alternatives to NPM such as Yarn and PNPM have became increasingly popular, I think it'd be a neat (if small) addition to add some instructions for those package managers aswell,...