ReadSightJS
A zero-dependency Node.js library that measures text readability across 86 languages using 17 different formulas, including language-specific coefficients and TeX hyphenation for syllable counting.
It benchmarks faster than node-semver in all tested operations and reduces bundle size by up to 60%, making it ideal for modern JavaScript projects.
[![Open on npmx][npmx-version-src]][npmx-href] [![npm downloads][npmx-downloads-src]][npmx-href] [![Unit Test][unit-test-src]][unit-test-href]
Fast, zero-dependency SemVer for ESM and TypeScript, with functional, tree-shakeable APIs.
SemVer and SemVerRange records.npm add verkit
import {
coerce,
increment,
normalize,
normalizeFull,
parse,
truncate,
} from 'verkit'
const version = parse('1.2.3-rc.1+sha.abc')
version.patch = 4
normalizeFull(version) // '1.2.4-rc.1+sha.abc'
normalize(version) // '1.2.4-rc.1'
increment(version, 'minor') // '1.3.0'
truncate(version, 'patch') // '1.2.4'
coerce('release 42.6.7.9', { rtl: true }) // '6.7.9'
Version APIs accept strings or mutable SemVer objects returned by parse.
normalizeFull keeps build metadata; normalized, incremented, and truncated
versions omit it.
import { compare, compareBuild, sortReversed } from 'verkit'
compare('1.0.0+one', '1.0.0+two') // 0
compareBuild('1.0.0+one', '1.0.0+two') // -1
sortReversed(['1.0.0', '2.0.0']) // ['2.0.0', '1.0.0']
compare ignores build metadata; compareBuild uses it as a tie-breaker.
import {
findMaxSatisfying,
normalizeRange,
parseRange,
satisfies,
} from 'verkit'
const range = parseRange('^1.2.3')
normalizeRange(range) // '>=1.2.3
## License
[MIT](./LICENSE) © 2026-PRESENT [Kevin Deng](https://github.com/sxzz).
Parts of the implementation and test fixtures are derived from [node-semver]
under the ISC license; see [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md).
[npmx-version-src]: https://npmx.dev/api/registry/badge/version/verkit
[npmx-downloads-src]: https://npmx.dev/api/registry/badge/downloads-month/verkit
[npmx-href]: https://npmx.dev/verkit
[node-semver]: https://github.com/npm/node-semver
[unit-test-src]: https://github.com/sxzz/verkit/actions/workflows/unit-test.yml/badge.svg
[unit-test-href]: https://github.com/sxzz/ver
Fast, zero-dependency SemVer for ESM and TypeScript, with functional, tree-shakeable APIs.
Similar projects matched by category, topics, and programming language.
A zero-dependency Node.js library that measures text readability across 86 languages using 17 different formulas, including language-specific coefficients and TeX hyphenation for syllable counting.

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.
Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.