{ "name": "shack", "version": "0.2.0", "description": "Shack is a self-hosted social news aggregate", "main": "src/web/server.js", "type": "module", "repository": { "type": "git", "url": "https://gitea.unknown.name/DebaucheryLibrarian/shack" }, "keywords": [ "aggregate", "social", "communities" ], "author": "DebaucheryLibrarian", "scripts": { "dev": "npm run server", "prod": "npm run build && npm run server:prod", "build": "vite build", "server": "node --experimental-specifier-resolution=node ./src/web/server", "server:prod": "cross-env NODE_ENV=production node ./src/web/server", "migrate-make": "knex migrate:make", "migrate": "knex migrate:latest", "rollback": "knex migrate:rollback" }, "dependencies": { "@babel/cli": "^7.21.5", "@babel/core": "^7.21.8", "@babel/eslint-parser": "^7.21.8", "@babel/preset-env": "^7.21.5", "@hcaptcha/vue3-hcaptcha": "^1.2.1", "@vitejs/plugin-vue": "^4.0.0", "@vue/compiler-sfc": "^3.2.33", "@vue/server-renderer": "^3.2.33", "bhttp": "^1.2.8", "body-parser": "^1.20.2", "compression": "^1.7.4", "config": "^3.3.9", "connect-redis": "^7.1.0", "cross-env": "^7.0.3", "date-fns": "^2.30.0", "error-stack-parser": "^2.1.4", "eslint": "^8.41.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-vue": "^9.14.0", "express": "^4.18.1", "express-promise-router": "^4.1.1", "express-session": "^1.17.3", "ip-cidr": "^3.1.0", "knex": "^2.4.2", "knex-migrate": "^1.7.4", "nanoid": "^4.0.2", "pg": "^8.11.0", "pinia": "^2.1.3", "redis": "^4.6.6", "short-uuid": "^4.2.2", "sirv": "^2.0.2", "vite": "^4.0.3", "vite-plugin-ssr": "^0.4.126", "vite-plugin-vue-markdown": "^0.23.5", "vite-svg-loader": "^4.0.0", "vue": "^3.2.33", "winston": "^3.9.0", "winston-daily-rotate-file": "^4.7.1", "yargs": "^17.7.2" } }