{
	"name": "sealious",
	"homepage": "http://sealious.github.io/",
	"version": "0.21.40",
	"description": "A declarative framework for fast & easy app development.",
	"main": "./lib/main.js",
	"types": "./@types/main.d.ts",
	"type": "module",
	"engines": {
		"node": ">=21.0"
	},
	"scripts": {
		"test-debug": "npm run test-cmd -- --debug",
		"test-cmd": "node test.cjs",
		"pretest": "npm run typecheck && npm run build",
		"test": "npm run test-cmd -- ",
		"build": "node scripts/build.js",
		"prepare": "npm run build",
		"postbuild": "npm run build-types",
		"build-types": "tsc --emitDeclarationonly",
		"typecheck": "tsc --noEmit",
		"watch": "node scripts/build.js --watch",
		"instrument": "npm run build && rm -fr .xunit coverage lib-instrumented && ./node_modules/.bin/nyc instrument --exclude \"\" lib lib-instrumented",
		"test-reports": "npm run instrument && docker compose up -d db mailcatcher  && ./node_modules/.bin/nyc  --exclude \"\" ./node_modules/.bin/mocha --recursive --timeout=10000 --require source-map-support/register  --reporter xunit --reporter-option output=.xunit 'lib-instrumented/**/*.test.js' && nyc report --reporter clover --exclude \"\"",
		"cover-html": "rm -rf coverate/lcov-report && npm run test-reports && nyc report --reporter lcov --exclude \"\"  && xdg-open coverage/lcov-report/index.html",
		"docs": "typedoc --out docs src --exclude '**/*+(test).ts' --mode file --toc Collection,Field,Policy,App --categorizeByGroup false --stripInternal"
	},
	"repository": {
		"type": "git",
		"url": "https://github.com/sealcode/sealious"
	},
	"author": "The Sealious team (http://github.com/Sealious)",
	"license": "BSD-2-Clause",
	"bugs": {
		"url": "https://github.com/Sealious/Sealious/issues"
	},
	"dependencies": {
		"@koa/router": "^12.0.1",
		"@sealcode/file-manager": "^1.0.3",
		"@sealcode/ts-predicates": "^0.4.3",
		"@types/boom": "^7.3.0",
		"@types/clone": "^0.1.30",
		"@types/color": "^3.0.1",
		"@types/color-hash": "^1.0.0",
		"@types/escape-html": "^1.0.0",
		"@types/koa": "^3.0.0",
		"@types/koa-mount": "^4.0.0",
		"@types/koa-qs": "^2.0.0",
		"@types/koa-send": "^4.1.2",
		"@types/koa-static": "^4.0.1",
		"@types/mjml": "^4.0.4",
		"@types/mongodb": "^3.5.20",
		"@types/node": "^20.0",
		"@types/nodemailer": "^6.4.0",
		"@types/object-hash": "^1.3.3",
		"@types/sanitize-html": "^2.11.0",
		"@types/uuid": "^8.3.0",
		"chalk": "^4.1.0",
		"clone": "^1.0.2",
		"color": "latest",
		"color-hash": "^1.0.3",
		"commonmark": "^0.31.0",
		"country-codes-list": "^2.0.0",
		"cron": "^2.1.0",
		"csv-stringify": "^6.4.5",
		"deepmerge": "^4.2.2",
		"dot-prop": "^8.0.2",
		"emittery": "0.8.1",
		"escape-html": "^1.0.3",
		"get-port": "^5.1.1",
		"koa": "^2.13.0",
		"koa-body": "^4.2.0",
		"koa-mount": "^4.0.0",
		"koa-qs": "^3.0.0",
		"koa-send": "^5.0.1",
		"koa-static": "^5.0.0",
		"locreq": "^3.0.0",
		"mjml": "^4.2.0",
		"mongodb": "^6.5.0",
		"nanoid": "^5.0.9",
		"nodemailer": "^6.4.6",
		"object-hash": "^2.0.3",
		"pg": "^8.13.1",
		"pretty-ms": "^7.0.0",
		"qs": "^6.12.0",
		"sanitize-html": "^1.13.0",
		"typedoc": "^0.17.8",
		"uuid": "^8.3.2"
	},
	"devDependencies": {
		"@eslint/eslintrc": "^3.3.1",
		"@eslint/js": "^9.23.0",
		"@types/commonmark": "^0.27.9",
		"@types/cron": "^2.0.0",
		"@types/koa__router": "^12.0.4",
		"@types/mocha": "^7.0.2",
		"@types/pg": "^8.11.10",
		"@types/qs": "^6.9.14",
		"@typescript-eslint/eslint-plugin": "^8.28.0",
		"@typescript-eslint/parser": "^8.28.0",
		"esbuild": "^0.25.5",
		"eslint": "^9.0.0",
		"eslint-config-prettier": "^7.1.0",
		"eslint-plugin-jsdoc": "^50.6.9",
		"eslint-plugin-node": "^11.1.0",
		"eslint-plugin-prettier": "^5.2.5",
		"globals": "^16.0.0",
		"mocha": "^8.2.1",
		"mri": "^1.1.6",
		"nyc": "^15.1.0",
		"prettier": "^3.5.3",
		"source-map-support": "^0.5.19",
		"typescript": "5.8"
	},
	"peerDependencies": {
		"koa-responsive-image-router": "^0.2.37"
	}
}
