dropbox / dropbox/zxcvbn

TypeScript rewrite of `zxcvbn` with strict types and bug fixes

Open
#369 6 comments 2 reactions 0 assignees View on GitHub
Dominant language
CoffeeScript
Stars
16.1k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

Hi! I've written a full TypeScript rewrite of `zxcvbn` called [zxcvbn-ts](https://github.com/KunalTanwar/zxcvbn-ts) in case anyone is looking for a type-safe alternative.

It includes:

- Strict TypeScript with a discriminated-union `Match` type for exhaustive pattern narrowing
- Dual CJS/ESM output
- All 93,855 dictionary words bundled
- Optional AI-powered feedback via `zxcvbnAI()` — returns a plain-English explanation of exactly why a password is weak, powered by Claude (bring your own API key)
- A few bug fixes over the original (notably a lazy-init bug that silently disabled all dictionary matching when `setUserInputDictionary` was called first)

Available on npm: `bun add zxcvbn-ts` / `npm install zxcvbn-ts`

Happy to take feedback or PRs.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.