- Updated .env.example and .env files for backend and frontend with placeholder values. - Enhanced .gitignore to include additional files and directories. - Modified docker-compose.yml to change image names and improve service health checks. - Updated README.md and SETUP_THE_PROJECT.md for clearer setup instructions. - Added database initialization scripts and SQL files for structured database setup. - Updated frontend Dockerfile to use Node.js 22 and adjusted package.json scripts. - Improved error handling and logging in start scripts for better debugging. - Added reCAPTCHA support in the signup page with conditional loading based on environment variables.
149 lines
4.5 KiB
JSON
149 lines
4.5 KiB
JSON
{
|
|
"name": "worklenz-backend",
|
|
"version": "1.4.16",
|
|
"private": true,
|
|
"engines": {
|
|
"npm": ">=8.11.0",
|
|
"node": ">=16.13.0",
|
|
"yarn": "WARNING: Please use npm package manager instead of yarn"
|
|
},
|
|
"main": "build/bin/www",
|
|
"repository": "GITHUB_REPO_HERE",
|
|
"author": "worklenz.com",
|
|
"scripts": {
|
|
"start": "node ./build/bin/www",
|
|
"tcs": "grunt build:tsc",
|
|
"build": "grunt build",
|
|
"watch": "grunt watch",
|
|
"dev": "grunt dev",
|
|
"es": "esbuild `find src -type f -name '*.ts'` --platform=node --minify=true --watch=true --target=esnext --format=cjs --tsconfig=tsconfig.prod.json --outdir=dist",
|
|
"copy": "grunt copy",
|
|
"sonar": "sonar-scanner -Dproject.settings=sonar-project-dev.properties",
|
|
"tsc": "tsc",
|
|
"test": "jest --setupFiles dotenv/config",
|
|
"test:watch": "jest --watch --setupFiles dotenv/config"
|
|
},
|
|
"jestSonar": {
|
|
"reportPath": "coverage",
|
|
"reportFile": "test-reporter.xml",
|
|
"indent": 4
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.378.0",
|
|
"@aws-sdk/client-ses": "^3.378.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.378.0",
|
|
"@aws-sdk/util-format-url": "^3.357.0",
|
|
"@azure/storage-blob": "^12.27.0",
|
|
"axios": "^1.6.0",
|
|
"bcrypt": "^5.1.0",
|
|
"bluebird": "^3.7.2",
|
|
"chartjs-to-image": "^1.2.1",
|
|
"compression": "^1.7.4",
|
|
"connect-flash": "^0.1.1",
|
|
"connect-pg-simple": "^7.0.0",
|
|
"cookie-parser": "~1.4.4",
|
|
"cors": "^2.8.5",
|
|
"cron": "^2.4.0",
|
|
"crypto-js": "^4.1.1",
|
|
"csurf": "^1.11.0",
|
|
"debug": "^4.3.4",
|
|
"dotenv": "^16.3.1",
|
|
"exceljs": "^4.3.0",
|
|
"express": "^4.18.2",
|
|
"express-rate-limit": "^6.8.0",
|
|
"express-session": "^1.17.3",
|
|
"express-validator": "^6.15.0",
|
|
"helmet": "^6.2.0",
|
|
"hpp": "^0.2.3",
|
|
"http-errors": "^2.0.0",
|
|
"jsonschema": "^1.4.1",
|
|
"jsonwebtoken": "^9.0.1",
|
|
"lodash": "^4.17.21",
|
|
"mime-types": "^2.1.35",
|
|
"moment": "^2.29.4",
|
|
"moment-timezone": "^0.5.43",
|
|
"morgan": "^1.10.0",
|
|
"nanoid": "^3.3.6",
|
|
"passport": "^0.7.0",
|
|
"passport-google-oauth2": "^0.2.0",
|
|
"passport-google-oauth20": "^2.0.0",
|
|
"passport-local": "^1.0.0",
|
|
"path": "^0.12.7",
|
|
"pg": "^8.14.1",
|
|
"pg-native": "^3.3.0",
|
|
"pug": "^3.0.2",
|
|
"redis": "^4.6.7",
|
|
"sanitize-html": "^2.11.0",
|
|
"segfault-handler": "^1.3.0",
|
|
"sharp": "^0.32.6",
|
|
"slugify": "^1.6.6",
|
|
"socket.io": "^4.7.1",
|
|
"uglify-js": "^3.17.4",
|
|
"winston": "^3.10.0",
|
|
"xss-filters": "^1.2.7"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/preset-env": "^7.22.9",
|
|
"@babel/preset-typescript": "^7.22.5",
|
|
"@types/bcrypt": "^5.0.0",
|
|
"@types/bluebird": "^3.5.38",
|
|
"@types/compression": "^1.7.2",
|
|
"@types/connect-flash": "^0.0.37",
|
|
"@types/cookie-parser": "^1.4.3",
|
|
"@types/cron": "^2.0.1",
|
|
"@types/crypto-js": "^4.2.2",
|
|
"@types/csurf": "^1.11.2",
|
|
"@types/express": "^4.17.17",
|
|
"@types/express-brute": "^1.0.2",
|
|
"@types/express-brute-redis": "^0.0.4",
|
|
"@types/express-session": "^1.17.7",
|
|
"@types/fs-extra": "^9.0.13",
|
|
"@types/hpp": "^0.2.2",
|
|
"@types/http-errors": "^1.8.2",
|
|
"@types/jest": "^28.1.8",
|
|
"@types/jsonwebtoken": "^9.0.2",
|
|
"@types/lodash": "^4.14.196",
|
|
"@types/mime-types": "^2.1.1",
|
|
"@types/morgan": "^1.9.4",
|
|
"@types/node": "^18.17.1",
|
|
"@types/passport": "^1.0.17",
|
|
"@types/passport-google-oauth20": "^2.0.16",
|
|
"@types/passport-local": "^1.0.38",
|
|
"@types/pg": "^8.11.11",
|
|
"@types/pug": "^2.0.6",
|
|
"@types/sanitize-html": "^2.9.0",
|
|
"@types/sharp": "^0.31.1",
|
|
"@types/swagger-jsdoc": "^6.0.1",
|
|
"@types/toobusy-js": "^0.5.2",
|
|
"@types/uglify-js": "^3.17.1",
|
|
"@types/xss-filters": "^0.0.27",
|
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
"@typescript-eslint/parser": "^5.62.0",
|
|
"chokidar": "^3.5.3",
|
|
"esbuild": "^0.17.19",
|
|
"esbuild-envfile-plugin": "^1.0.5",
|
|
"esbuild-node-externals": "^1.8.0",
|
|
"eslint": "^8.45.0",
|
|
"eslint-plugin-security": "^1.7.1",
|
|
"fs-extra": "^10.1.0",
|
|
"grunt": "^1.6.1",
|
|
"grunt-contrib-clean": "^2.0.1",
|
|
"grunt-contrib-compress": "^2.0.0",
|
|
"grunt-contrib-copy": "^1.0.0",
|
|
"grunt-contrib-uglify": "^5.2.2",
|
|
"grunt-contrib-watch": "^1.1.0",
|
|
"grunt-shell": "^4.0.0",
|
|
"grunt-sync": "^0.8.2",
|
|
"highcharts": "^11.1.0",
|
|
"jest": "^28.1.3",
|
|
"jest-sonar-reporter": "^2.0.0",
|
|
"ncp": "^2.0.0",
|
|
"nodeman": "^1.1.2",
|
|
"swagger-jsdoc": "^6.2.8",
|
|
"ts-jest": "^28.0.8",
|
|
"ts-node": "^10.9.1",
|
|
"tslint": "^6.1.3",
|
|
"typescript": "^4.9.5"
|
|
}
|
|
}
|