Skip to content
onmaxPublic

About

Tiny, fast, dependency-free drop-in parsers: tinyaml, tinyjson5, tinyini

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

tiny

Smaller, faster, dependency-free parsers you can drop in for the libraries you already use. Change one import and keep your code. Each package matches its original on that library's own tests and on tens of thousands to millions of fuzzed inputs, and lists every place it still differs.

Each drop-in next to the library it replaces: times smaller, gzip, and times faster at parsing

  • tinyaml replaces js-yaml 4 and 5, yaml, yamljs and @std/yaml.
  • tinyjson5 replaces json5 2.2.3.
  • tinyini replaces ini 7.0.0. It's faster, not smaller.

Docs: tiny.onmax.me

pnpm add tinyaml tinyjson5 tinyini

Each package is published on its own, so install only the ones you use. Each README says how its numbers were measured.

Develop

A pnpm workspace with Node 26, pnpm 12, and Vite+ (vp) for formatting, linting, tests and builds.

pnpm install
pnpm build    # every package
pnpm check    # format, lint and typecheck every package
pnpm test     # every package's tests
pnpm fixtures # download what the comparisons and benchmarks run against
pnpm charts   # fetch fixtures, measure every package again, redraw .github/assets/drop-ins.svg
pnpm brand    # redraw the logo, favicon and banners from .github/scripts/brand.ts

All packages share one version and release together.

License

MIT, by @onmax.

About

Tiny, fast, dependency-free drop-in parsers: tinyaml, tinyjson5, tinyini

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages