Socket
Socket
Sign inDemoInstall

json5

Package Overview
Dependencies
0
Maintainers
2
Versions
27
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
Previous13Next

2.0.0

Diff

Changelog

Source

v2.0.0 [[code][c2.0.0], [diff][d2.0.0]]

  • Major: JSON5 officially supports Node.js v6 and later. Support for Node.js v4 has been dropped. Since Node.js v6 supports ES5 features, the code has been rewritten in native ES5, and the dependence on Babel has been eliminated.

  • New: Support for Unicode 10 has been added.

  • New: The test framework has been migrated from Mocha to Tap.

  • New: The browser build at dist/index.js is no longer minified by default. A minified version is available at dist/index.min.js. ([#181])

  • Fix: The warning has been made clearer when line and paragraph separators are used in strings.

  • Fix: package.json5 has been restored, and it is automatically generated and committed when the version is bumped. A new build-package NPM script has been added to facilitate this.

jordanbtucker
published 1.0.1 •

Changelog

Source

v1.0.1 [[code][c1.0.1], [diff][d1.0.1]]

This release includes a bug fix and minor change.

  • Fix: parse throws on unclosed objects and arrays.

  • New: package.json5 has been removed until an easier way to keep it in sync with package.json is found.

jordanbtucker
published 1.0.0 •

Changelog

Source

v1.0.0 [[code][c1.0.0], [diff][d1.0.0]]

This release includes major internal changes and public API enhancements.

  • Major: JSON5 officially supports Node.js v4 and later. Support for Node.js v0.10 and v0.12 have been dropped.

  • New: Unicode property names and Unicode escapes in property names are supported. ([#1])

  • New: stringify outputs trailing commas in objects and arrays when a space option is provided. ([#66])

  • New: JSON5 allows line and paragraph separator characters (U+2028 and U+2029) in strings in order to be compatible with JSON. However, ES5 does not allow these characters in strings, so JSON5 gives a warning when they are parsed and escapes them when they are stringified. ([#70])

  • New: stringify accepts an options object as its second argument. The supported options are replacer, space, and a new quote option that specifies the quote character used in strings. ([#71])

  • New: The CLI supports STDIN and STDOUT and adds --out-file, --space, and --validate options. See json5 --help for more information. ([#72], [#84], and [#108])

  • New: In addition to the white space characters space \t, \v, \f, \n, \r, and \xA0, the additional white space characters \u2028, \u2029, and all other characters in the Space Separator Unicode category are allowed.

  • New: In addition to the character escapes \', \", \\, \b, \f, \n, \r, and \t, the additional character escapes \v and \0, hexadecimal escapes like \x0F, and unnecessary escapes like \a are allowed in string values and string property names.

  • New: stringify outputs strings with single quotes by default but intelligently uses double quotes if there are more single quotes than double quotes inside the string. (i.e. stringify('Stay here.') outputs 'Stay here.' while stringify('Let\'s go.') outputs "Let's go.")

  • New: When a character is not allowed in a string, stringify outputs a character escape like \t when available, a hexadecimal escape like \x0F when the Unicode code point is less than 256, or a Unicode character escape like \u01FF, in that order.

  • New: stringify checks for a toJSON5 method on objects and, if it exists, stringifies its return value instead of the object. toJSON5 overrides toJSON if they both exist.

  • New: To require or import JSON5 files, use require('json5/lib/register') or import 'json5/lib/register'. Previous versions used json5/lib/require, which still exists for backward compatibility but is deprecated and will give a warning.

  • New: To use JSON5 in browsers, use the file at dist/index.js or https://unpkg.com/json5@^1.0.0.

  • Fix: stringify properly outputs Infinity and NaN. ([#67])

  • Fix: isWord no longer becomes a property of JSON5 after calling stringify. ([#68] and [#89])

  • Fix: stringify no longer throws when an object does not have a prototype. ([#154])

  • Fix: stringify properly handles the key argument of toJSON(key) methods. toJSON5(key) follows this pattern.

  • Fix: stringify accepts Number and String objects as its space argument.

  • Fix: In addition to a function, stringify also accepts an array of keys to include in the output as its replacer argument. Numbers, Number objects, and String objects will be converted to a string if they are given as array values.

jordanbtucker
published 1.0.0-beta.4 •

jordanbtucker
published 1.0.0-beta-2 •

jordanbtucker
published 1.0.0-regexps-2 •

jordanbtucker
published 1.0.0-dates-2 •

jordanbtucker
published 1.0.0-beta •

jordanbtucker
published 1.0.0-regexps •

jordanbtucker
published 1.0.0-dates •

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc