{
	"name": "backend",
	"main": "./index.js",
	"private": true,
	"type": "module",
	"scripts": {
		"start": "pnpm node ./built/index.js",
		"start:test": "NODE_ENV=test pnpm node ./built/index.js",
		"migration:run": "typeorm migration:run --dataSource ./built/ormconfig.js",
		"migration:revert": "typeorm migration:revert --dataSource ./built/ormconfig.js",
		"migration:new": "pnpm node ./scripts/create-migration.mjs",
		"check:connect": "node ./check_connect.js",
		"build": "pnpm swc src --out-dir built --source-maps false --copy-files --strip-leading-paths",
		"build:debug": "pnpm swc src --out-dir built --source-maps true --copy-files --strip-leading-paths",
		"watch": "pnpm swc src --out-dir built --source-maps true --copy-files --strip-leading-paths --watch",
		"lint": "pnpm biome check --apply **/*.ts ; pnpm run format",
		"mocha": "cross-env NODE_ENV=test TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha",
		"test": "pnpm run mocha",
		"format": "pnpm biome format * --write"
	},
	"optionalDependencies": {
		"@swc/core-android-arm64": "1.3.11"
	},
	"dependencies": {
		"@bull-board/api": "5.15.5",
		"@bull-board/koa": "5.15.5",
		"@bull-board/ui": "5.15.5",
		"@discordapp/twemoji": "^15.0.3",
		"@koa/cors": "5.0.0",
		"@koa/multer": "3.0.2",
		"@koa/router": "12.0.1",
		"@ladjs/koa-views": "9.0.0",
		"@peertube/http-signature": "1.7.0",
		"@redocly/openapi-core": "1.11.0",
		"@sinonjs/fake-timers": "11.2.2",
		"adm-zip": "0.5.10",
		"ajv": "8.12.0",
		"archiver": "7.0.1",
		"aws-sdk": "2.1599.0",
		"axios": "^1.6.8",
		"backend-rs": "workspace:*",
		"blurhash": "2.0.5",
		"bull": "4.12.2",
		"cacheable-lookup": "TheEssem/cacheable-lookup",
		"cbor-x": "^1.5.9",
		"chalk": "5.3.0",
		"chalk-template": "1.1.0",
		"cli-highlight": "2.1.11",
		"color-convert": "2.0.1",
		"content-disposition": "0.5.4",
		"date-fns": "3.6.0",
		"decompress": "^4.2.1",
		"deep-email-validator": "0.1.21",
		"deepl-node": "1.13.0",
		"escape-regexp": "0.0.1",
		"feed": "4.2.2",
		"file-type": "19.0.0",
		"fluent-ffmpeg": "2.1.2",
		"form-data": "^4.0.0",
		"got": "14.2.1",
		"gunzip-maybe": "^1.4.2",
		"happy-dom": "^14.7.1",
		"hpagent": "1.2.0",
		"ioredis": "5.3.2",
		"ip-cidr": "4.0.0",
		"is-svg": "5.0.0",
		"json5": "2.2.3",
		"jsonld": "8.3.2",
		"jsrsasign": "11.1.0",
		"katex": "0.16.10",
		"koa": "2.15.3",
		"koa-body": "^6.0.1",
		"koa-bodyparser": "4.4.1",
		"koa-favicon": "2.1.0",
		"koa-json-body": "5.3.0",
		"koa-logger": "3.2.1",
		"koa-mount": "4.0.0",
		"koa-remove-trailing-slashes": "2.0.3",
		"koa-send": "5.0.1",
		"koa-slow": "2.1.0",
		"megalodon": "workspace:*",
		"mfm-js": "0.24.0",
		"mime-types": "2.1.35",
		"msgpackr": "^1.10.1",
		"multer": "1.4.5-lts.1",
		"nested-property": "4.0.0",
		"node-fetch": "3.3.2",
		"nodemailer": "6.9.13",
		"opencc-js": "^1.0.5",
		"os-utils": "0.0.14",
		"otpauth": "^9.2.3",
		"parse5": "7.1.2",
		"pg": "8.11.5",
		"private-ip": "3.0.2",
		"probe-image-size": "7.2.3",
		"promise-limit": "2.7.0",
		"punycode": "2.3.1",
		"pureimage": "0.4.13",
		"qrcode": "1.5.3",
		"qs": "6.12.1",
		"random-seed": "0.3.0",
		"ratelimiter": "3.4.1",
		"redis-semaphore": "5.5.1",
		"reflect-metadata": "0.2.2",
		"rename": "1.0.4",
		"rndstr": "1.0.0",
		"rss-parser": "3.13.0",
		"sanitize-html": "2.13.0",
		"semver": "7.6.0",
		"sharp": "0.33.3",
		"stringz": "2.1.0",
		"summaly": "2.7.0",
		"syslog-pro": "1.0.0",
		"systeminformation": "5.22.7",
		"tar-stream": "^3.1.7",
		"tesseract.js": "^5.0.5",
		"tinycolor2": "1.6.0",
		"tmp": "0.2.3",
		"typeorm": "0.3.20",
		"ulid": "2.3.0",
		"uuid": "9.0.1",
		"web-push": "3.6.7",
		"websocket": "1.0.34",
		"xev": "3.0.2"
	},
	"devDependencies": {
		"@swc/cli": "0.3.12",
		"@swc/core": "1.4.13",
		"@types/adm-zip": "^0.5.5",
		"@types/color-convert": "^2.0.3",
		"@types/content-disposition": "^0.5.8",
		"@types/escape-regexp": "0.0.3",
		"@types/fluent-ffmpeg": "2.1.24",
		"@types/jsonld": "1.5.13",
		"@types/jsrsasign": "10.5.13",
		"@types/katex": "0.16.7",
		"@types/koa": "2.15.0",
		"@types/koa-bodyparser": "4.3.12",
		"@types/koa-cors": "0.0.6",
		"@types/koa-favicon": "2.1.3",
		"@types/koa-logger": "3.1.5",
		"@types/koa-mount": "4.0.5",
		"@types/koa-send": "4.1.6",
		"@types/koa__cors": "5.0.0",
		"@types/koa__multer": "2.0.7",
		"@types/koa__router": "12.0.4",
		"@types/mocha": "10.0.6",
		"@types/node": "20.12.7",
		"@types/node-fetch": "2.6.11",
		"@types/nodemailer": "6.4.14",
		"@types/oauth": "0.9.4",
		"@types/opencc-js": "^1.0.3",
		"@types/pg": "^8.11.5",
		"@types/probe-image-size": "^7.2.4",
		"@types/pug": "2.0.10",
		"@types/punycode": "2.1.4",
		"@types/qrcode": "1.5.5",
		"@types/qs": "6.9.14",
		"@types/random-seed": "0.3.5",
		"@types/ratelimiter": "3.4.6",
		"@types/rename": "1.0.7",
		"@types/sanitize-html": "2.11.0",
		"@types/semver": "7.5.8",
		"@types/sinonjs__fake-timers": "8.1.5",
		"@types/syslog-pro": "^1.0.3",
		"@types/tinycolor2": "1.4.6",
		"@types/tmp": "0.2.6",
		"@types/uuid": "9.0.8",
		"@types/web-push": "3.6.3",
		"@types/websocket": "1.0.10",
		"@types/ws": "8.5.10",
		"cross-env": "7.0.3",
		"eslint": "^9.0.0",
		"mocha": "10.4.0",
		"pug": "3.0.2",
		"strict-event-emitter-types": "2.0.0",
		"swc-loader": "^0.2.6",
		"ts-loader": "9.5.1",
		"ts-node": "10.9.2",
		"tsconfig-paths": "4.2.0",
		"type-fest": "4.15.0",
		"typescript": "5.4.5",
		"webpack": "^5.91.0",
		"ws": "8.16.0"
	}
}
