confbox
Parsing and serialization utils for YAML (js-yaml), TOML (smol-toml), JSONC (jsonc-parser), JSON5 (json5), and JSON.
✨ Zero dependency and tree-shakable
✨ Types exported out of the box
✨ Presrves code style (indentation and whitespace)
[!TIP]
Use unjs/c12 for a full featured configuration loader!
Usage
Install package:
npx nypm install confbox
npm install confbox
yarn add confbox
pnpm install confbox
bun install confbox
deno install confbox
Import:
ESM (Node.js, Bun, Deno)
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
- Enable 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