@bybrave/json5

中文文档
3.1.0发布于 2026/07/05MITTypeScriptESM + CJS零依赖近 30 天下载 8881

维护了json5的叉子——JSON5解析器/字符串,具有固定的双重无害环境管理/CJS出口(名称为出口匹配,#240/#348),建造和捆绑类型

中文使用文档
文档目录6 节
  1. 已经定好了
  2. 现代化建设
  3. 额外费用(可选入)
  4. 从 json5
  5. 支助
  6. 信贷和许可证

@bybrave/json5 (英语)

维护的倒入叉 json5 ——JSON5 (JSON for humans) 解析器和字符串:注释,未引用的密钥,后缀逗号,单引用,六分音等.

自2022年以来,原版一直没有发布过(A2.2.3),同时仍然拉~800M下载/月. 这个叉子保持了解析器100%的相容性并修正了长期存在的ESM包装错误,使构建现代化,并捆绑了TypeScript类型.

npm install @bybrave/json5
const JSON5 = require('@bybrave/json5');        // CommonJS
import JSON5 from '@bybrave/json5';              // ESM (default)
import { parse, stringify } from '@bybrave/json5'; // ESM (named) — now works

与 API 相同 json5数字 : JSON5.parse(text, reviver?) 财务报告和审定财务报表 JSON5.stringify(value, replacer?, space?)。 。 。 .

已经定好了

问题问题修补
#240号无害环境管理的构建module 字段)仅导出 { default: {...} } cJS 导出时 { parse, stringify }。更喜欢的邦德勒斯 module (webpack) 打开 import { parse },以及 import编号 :require 形状上有分歧.无害环境管理的第一个来源 exports 地图 : import JSON5 from …, (中文(简体) ), import { parse, stringify } from …,以及 require(…) 所有决心 不变 形状.
348号请求运送真实的ES模块(树摇,无CJS-interop shim).来源是ES模块;CJS条目是通过这些模块生成的 require 条件.
205号请放下 minimist CLI依赖.已解决的上游( CLI 使用手卷式参数解析器); 此分叉船 零运行时间依赖关系。 。 。 .

现代化建设

原"工具链"(rollup 0.64 + buble + core-js 2, 15 dev-dependency)被取而代之的是单机 兴建 步骤生成 CJS 条目和一个精密浏览器( UMD 风格) window.JSON5捆绑。 发展依赖降至3个(建设、打字、@types/node)。 没有运行时间依赖 .

目标节点18+. 浏览器捆绑针对ES2015(原ES5后遗症目标被抛出——2026大项的刻意选择).

额外费用(可选入)

大整数( E)bigint(中文(简体) ) ——安全范围外的整数字体在其中失去精度 JSON.parse编号 :json5。通过 { bigint: true } 让他们回到 BigInt (单位:千美元)292号其他一切不变 stringify 序列化 BigInt 回到赤裸裸的文字:

JSON5.parse('12345678901234567890');                 // 12345678901234567000  (imprecise)
JSON5.parse('12345678901234567890', { bigint: true }); // 12345678901234567890n
JSON5.stringify(99999999999999999999n);               // '99999999999999999999'

也可通过各种选项作为第二个论据: JSON5.parse(text, { bigint: true })。 。 。 .

孤独代孕 —— 说 stringify 现在逃出无人代理密码单位 \uXXXX 而不是释放一个读取为 U+FFFD (单位:千美元)192号),有效代用配对(emoji等)不受影响.

从 json5

替换依赖和导入——解析器和字符串符行为相同。 唯一的变化是包装: import { parse, stringify } 现在工作,和 import编号 :require 形状匹配。 如果你消耗了被腐烂的 json5/register -hook,它移动到 @bybrave/json5/register。 。 。 .

支助

如果此软件包节省了您的时间, 您可以支持维护 :

Ko-fi Bitcoin

比特币( BTC): bc1q37557q5jpeaxqydzwvf3jgj7zhnfpn2td3q40q

信贷和许可证

麻省理工学院,与原作相同——见 利比里亚。 。 。 . 依据 纪事5 aseem Kishore、Jordan Tucker和撰稿人.

版本与发布记录

@bybrave/json5 共发布 2 个版本,首次发布于 2026/07/05;过去 12 个月发布了 2 个版本。

版本发布日期距今
3.1.0latest2026/07/054 个月前
3.0.02026/07/054 个月前

关于 @bybrave/json5 的常见问题

@bybrave/json5 是什么?

维护了json5的叉子——JSON5解析器/字符串,具有固定的双重无害环境管理/CJS出口(名称为出口匹配,#240/#348),建造和捆绑类型

如何安装 @bybrave/json5?

在项目目录运行 npm install @bybrave/json5,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 json5,可以用 npx json5 直接运行。

@bybrave/json5 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bybrave/json5 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bybrave/json5 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bybrave/json5 可以商用吗?

@bybrave/json5 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bybrave/json5 的下载量有多少?

根据 npm 官方下载统计,@bybrave/json5 在 2026/10/09 – 2026/11/07 这 30 天内被下载 8,881 次,日均约 296 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bybrave/json5 还在维护吗?

最新版本 3.1.0 发布于 2026/07/05(4 个月前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/07/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。