app php01 790c53caa0 最后一版uniaiim 10 mesi fa
..
dist 790c53caa0 最后一版uniaiim 10 mesi fa
LICENSE 790c53caa0 最后一版uniaiim 10 mesi fa
README.md 790c53caa0 最后一版uniaiim 10 mesi fa
json5.d.ts 790c53caa0 最后一版uniaiim 10 mesi fa
jsonc.d.ts 790c53caa0 最后一版uniaiim 10 mesi fa
package.json 790c53caa0 最后一版uniaiim 10 mesi fa
toml.d.ts 790c53caa0 最后一版uniaiim 10 mesi fa
yaml.d.ts 790c53caa0 最后一版uniaiim 10 mesi fa

README.md

confbox

npm version bundle size

Config parsers for:

YAML (with js-yaml)

TOML (with smol-toml)

JSONC (with jsonc-parser)

JSON5 (with json5)

JSON

With perfect bundling:

✨ Types exported out of the box

✨ Zero config and compact redistribution

✨ Dual ESM/CJS build

✨ Consistent and tested API

✨ Handpicked best libraries (bundle+perf)

✨ Auto detects indentation and whitespace when parsing and preservers when serializing

[!NOTE] Use unjs/c12 for a full featured configuration loader!

Usage

Install package:

# ✨ Auto-detect
npx nypm install confbox

# npm
npm install confbox

# yarn
yarn add confbox

# pnpm
pnpm install confbox

# bun
bun install confbox

Import:

ESM (Node.js, Bun)

import {
  parseJSON5,
  stringifyJSON5,
  parseJSONC,
  stringifyJSONC,
  parseYAML,
  stringifyYAML,
  parseJSON,
  stringifyJSON,
  parseTOML,
  stringifyTOML,
} from "confbox";

CommonJS (Legacy Node.js)

const {
  parseJSON5,
  stringifyJSON5,
  parseJSONC,
  stringifyJSONC,
  parseYAML,
  stringifyYAML,
  parseJSON,
  stringifyJSON,
  parseTOML,
  stringifyTOML,
} = require("confbox");

CDN (Deno, Bun and Browsers)

import {
  parseJSON5,
  stringifyJSON5,
  parseJSONC,
  stringifyJSONC,
  parseYAML,
  stringifyYAML,
  parseJSON,
  stringifyJSON,
  parseTOML,
  stringifyTOML,
} from "https://esm.sh/confbox";

parseJSON(text, options?)

Converts a JSON string into an object.

Indentation status is auto-detected and preserved when stringifying back using stringifyJSON

parseJSON5(text, options?)

Converts a JSON5 string into an object.

parseJSONC(text, options?)

Converts a JSONC string into an object.

parseTOML(text)

Converts a TOML string into an object.

parseYAML(text, options?)

Converts a YAML string into an object.

stringifyJSON(value, options?)

Converts a JavaScript value to a JSON string.

Indentation status is auto detected and preserved when using value from parseJSON.

stringifyJSON5(value, options?)

Converts a JavaScript value to a JSON5 string.

stringifyJSONC(value, options?)

Converts a JavaScript value to a JSONC string.

stringifyTOML(value)

Converts a JavaScript value to a TOML string.

stringifyYAML(value, options?)

Converts a JavaScript value to a YAML string.

Contribution

Local development - Clone this repository - Install the latest LTS version of [Node.js](https://nodejs.org/en/) - Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable` - Install dependencies using `pnpm install` - Run tests using `pnpm dev` or `pnpm test`

License

Published under the MIT license. Made by @pi0 and community 💛


🤖 auto updated with automd