| 1 | {
|
|---|
| 2 | "name": "klonkt",
|
|---|
| 3 | "version": "1.8.0",
|
|---|
| 4 | "description": "Klonkt — self-hosted multi-site music & blog platform (solo, hub or circles). Node + SQLite + htmx.",
|
|---|
| 5 | "license": "AGPL-3.0-or-later",
|
|---|
| 6 | "type": "module",
|
|---|
| 7 | "main": "src/server.js",
|
|---|
| 8 | "scripts": {
|
|---|
| 9 | "start": "node src/server.js",
|
|---|
| 10 | "dev": "node --watch src/server.js",
|
|---|
| 11 | "test": "node --test",
|
|---|
| 12 | "migrate": "node src/db/migrate.js",
|
|---|
| 13 | "reset-admin": "node scripts/reset-admin.mjs",
|
|---|
| 14 | "backfill:durations": "node scripts/backfill-durations.mjs",
|
|---|
| 15 | "backfill:post-types": "node scripts/backfill-post-types.mjs"
|
|---|
| 16 | },
|
|---|
| 17 | "dependencies": {
|
|---|
| 18 | "@resvg/resvg-js": "^2.6.2",
|
|---|
| 19 | "@simplewebauthn/browser": "^13.3.0",
|
|---|
| 20 | "@simplewebauthn/server": "^13.3.2",
|
|---|
| 21 | "bcryptjs": "^2.4.3",
|
|---|
| 22 | "better-sqlite3": "^11.3.0",
|
|---|
| 23 | "body-parser": "^1.20.2",
|
|---|
| 24 | "dotenv": "^16.3.1",
|
|---|
| 25 | "ejs": "^3.1.9",
|
|---|
| 26 | "express": "^4.18.2",
|
|---|
| 27 | "express-rate-limit": "^7.4.1",
|
|---|
| 28 | "express-session": "^1.17.3",
|
|---|
| 29 | "ffmpeg-static": "^5.2.0",
|
|---|
| 30 | "fluent-ffmpeg": "^2.1.3",
|
|---|
| 31 | "helmet": "^7.1.0",
|
|---|
| 32 | "htmx.org": "1.9.12",
|
|---|
| 33 | "marked": "^11.1.1",
|
|---|
| 34 | "multer": "^1.4.5-lts.1",
|
|---|
| 35 | "node-webpmux": "^3.2.1",
|
|---|
| 36 | "nodemailer": "^9.0.5",
|
|---|
| 37 | "qrcode": "^1.5.4",
|
|---|
| 38 | "sanitize-html": "^2.17.3",
|
|---|
| 39 | "uuid": "^9.0.1",
|
|---|
| 40 | "web-push": "^3.6.7"
|
|---|
| 41 | },
|
|---|
| 42 | "engines": {
|
|---|
| 43 | "node": ">=20"
|
|---|
| 44 | }
|
|---|
| 45 | }
|
|---|