{ "name": "ocelot-social-backend", "version": "3.13.0", "description": "GraphQL Backend for ocelot.social", "repository": "https://github.com/Ocelot-Social-Community/Ocelot-Social", "author": "ocelot.social Community", "license": "MIT", "private": false, "main": "src/index.ts", "scripts": { "start": "node build/src/", "build": "tsc && tsc-alias && ./scripts/build.copy.files.sh", "dev": "nodemon --exec ts-node --require tsconfig-paths/register src/index.ts -e js,ts,gql", "dev:debug": "nodemon --exec node --inspect=0.0.0.0:9229 build/src/index.js -e js,ts,gql", "lint": "eslint --max-warnings=0 --report-unused-disable-directives --ext .js,.ts,.cjs,.json,.json5,.jsonc .", "test": "cross-env NODE_ENV=test NODE_OPTIONS=--max-old-space-size=8192 jest --runInBand --coverage --forceExit --detectOpenHandles", "db:reset": "ts-node --require tsconfig-paths/register src/db/reset.ts", "db:reset:withmigrations": "ts-node --require tsconfig-paths/register src/db/reset-with-migrations.ts", "db:seed": "ts-node --require tsconfig-paths/register src/db/seed.ts", "db:data:admin": "ts-node --require tsconfig-paths/register src/db/admin.ts", "db:data:badges": "ts-node --require tsconfig-paths/register src/db/badges.ts", "db:data:branding": "ts-node --require tsconfig-paths/register src/db/data-branding.ts", "db:data:categories": "ts-node --require tsconfig-paths/register src/db/categories.ts", "db:migrate": "migrate --compiler 'ts:./src/db/compiler.ts' --migrations-dir ./src/db/migrations --store ./src/db/migrate/store.ts", "db:migrate:create": "migrate --compiler 'ts:./src/db/compiler.ts' --migrations-dir ./src/db/migrations --template-file ./src/db/migrate/template.ts --date-format 'yyyymmddHHmmss' create", "prod:migrate": "migrate --migrations-dir ./build/src/db/migrations --store ./build/src/db/migrate/store.js", "prod:db:data:branding": "node build/src/db/data-branding.js", "prod:db:data:categories": "node build/src/db/categories.js" }, "dependencies": { "@aws-sdk/client-s3": "^3.917.0", "@aws-sdk/lib-storage": "^3.917.0", "@sentry/node": "^5.30.0", "@types/mime-types": "^3.0.1", "apollo-server": "~2.14.2", "apollo-server-express": "^2.14.2", "bcryptjs": "~3.0.2", "body-parser": "^1.20.3", "cheerio": "~1.1.2", "cross-env": "~10.0.0", "dotenv": "~17.0.1", "email-templates": "^12.0.3", "express": "^5.1.0", "graphql": "^14.6.0", "graphql-middleware": "~6.1.35", "graphql-middleware-sentry": "^3.2.1", "graphql-redis-subscriptions": "^2.7.0", "graphql-shield": "~7.2.2", "graphql-subscriptions": "^1.1.0", "graphql-tag": "~2.10.3", "graphql-upload": "^13.0.0", "helmet": "~8.1.0", "ioredis": "^5.8.2", "jsonwebtoken": "~8.5.1", "languagedetect": "^2.0.0", "linkify-html": "^4.3.2", "linkifyjs": "^4.3.2", "lodash": "~4.17.21", "merge-graphql-schemas": "^1.7.8", "metascraper": "^5.49.5", "metascraper-author": "^5.49.5", "metascraper-date": "^5.49.5", "metascraper-description": "^5.49.5", "metascraper-image": "^5.49.5", "metascraper-lang": "^5.49.5", "metascraper-lang-detector": "^4.10.2", "metascraper-logo": "^5.49.5", "metascraper-publisher": "^5.49.5", "metascraper-soundcloud": "^5.34.4", "metascraper-title": "^5.49.5", "metascraper-url": "^5.49.5", "metascraper-video": "^5.49.5", "metascraper-youtube": "^5.49.5", "migrate": "^2.1.0", "mime-types": "^3.0.1", "minimatch": "^10.0.3", "mustache": "^4.2.0", "neo4j-driver": "^4.4.11", "neo4j-graphql-js": "^2.11.5", "neode": "^0.4.9", "node-fetch": "^2.7.0", "nodemailer": "^7.0.10", "nodemailer-html-to-text": "^3.2.0", "preview-email": "^3.1.0", "pug": "^3.0.3", "sanitize-html": "~2.17.0", "slugify": "^1.6.6", "trunc-html": "~1.1.2", "tslog": "^4.10.2", "uuid": "~9.0.1", "validator": "^13.15.15", "xregexp": "^5.1.2" }, "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0", "@faker-js/faker": "9.9.0", "@types/email-templates": "^10.0.4", "@types/jest": "^30.0.0", "@types/jsonwebtoken": "~8.5.1", "@types/lodash": "^4.17.20", "@types/node": "^24.9.1", "@types/request": "^2.48.13", "@types/slug": "^5.0.9", "@types/uuid": "~9.0.1", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "apollo-server-testing": "~2.11.0", "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.8", "eslint-config-standard": "^17.1.0", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jest": "^29.0.1", "eslint-plugin-jsonc": "^2.21.0", "eslint-plugin-n": "^17.23.1", "eslint-plugin-no-catch-all": "^1.1.0", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-promise": "^7.2.1", "eslint-plugin-security": "^3.0.1", "jest": "^30.2.0", "nodemon": "~3.1.10", "prettier": "^3.6.2", "require-json5": "^1.3.0", "rosie": "^2.1.1", "ts-jest": "^29.4.5", "ts-node": "^10.9.2", "tsc-alias": "^1.8.16", "tsconfig-paths": "^4.2.0", "typescript": "^5.8.3" }, "resolutions": { "**/**/fs-capacitor": "^6.2.0", "**/graphql-upload": "^11.0.0", "**/strip-ansi": "6.0.1", "**/string-width": "4.2.0", "**/wrap-ansi": "7.0.0" }, "engines": { "node": ">=20.12.1" } }