Files
pwned/packages/import/package.json
T
codinget fee254e7e6 Scaffold Pwned Passwords clone: React/wouter frontend, Koa/pg backend, import CLI
- Backend: Koa + @koa/router serving the HIBP-style /range/:prefix k-anonymity
  API, backed by Postgres via pg, with migrate/seed scripts run through tsx.
- Frontend: React + wouter, bundled with webpack (dev server + prod build),
  thin client that hashes passwords locally and only sends the hash prefix.
- Import package: CLI to bulk-load a wordlist or hash list into the database,
  plus a separate script to pull the full dataset from the HIBP range API.
  Both support parallelism (worker threads for wordlist hashing, concurrency
  limiter for DB/HTTP fan-out).
- Dev tooling: docker compose for a local Postgres, .env.local/.env.example,
  DATABASE_URL support as an alternative to discrete PG* vars.
2026-07-01 21:35:19 +00:00

21 lines
546 B
JSON

{
"name": "import",
"version": "1.0.0",
"description": "Bulk-loads a wordlist or hash list into the pwned_passwords table",
"type": "module",
"main": "dist/index.js",
"scripts": {
"start": "tsx --env-file=../../.env.local src/index.ts",
"import-hibp": "tsx --env-file=../../.env.local src/importHibp.ts",
"build": "tsc -p tsconfig.json",
"test": "echo \"Error: no test specified\" && exit 1"
},
"license": "ISC",
"dependencies": {
"pg": "^8.22.0"
},
"devDependencies": {
"@types/pg": "^8.20.0"
}
}