Automated Action 545563e776 Implement comprehensive real-time chat API with NestJS
- Complete NestJS TypeScript implementation with WebSocket support
- Direct messaging (DM) and group chat functionality
- End-to-end encryption with AES encryption and key pairs
- Media file support (images, videos, audio, documents) up to 100MB
- Push notifications with Firebase Cloud Messaging integration
- Mention alerts and real-time typing indicators
- User authentication with JWT and Passport
- SQLite database with TypeORM entities and relationships
- Comprehensive API documentation with Swagger/OpenAPI
- File upload handling with secure access control
- Online/offline status tracking and presence management
- Message editing, deletion, and reply functionality
- Notification management with automatic cleanup
- Health check endpoint for monitoring
- CORS configuration for cross-origin requests
- Environment-based configuration management
- Structured for Flutter SDK integration

Features implemented:
 Real-time messaging with Socket.IO
 User registration and authentication
 Direct messages and group chats
 Media file uploads and management
 End-to-end encryption
 Push notifications
 Mention alerts
 Typing indicators
 Message read receipts
 Online status tracking
 File access control
 Comprehensive API documentation

Ready for Flutter SDK development and production deployment.
2025-06-21 17:13:05 +00:00

146 lines
4.4 KiB
JSON

{
"name": "ts-jest",
"version": "29.4.0",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"type": "commonjs",
"bin": {
"ts-jest": "cli.js"
},
"description": "A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript",
"scripts": {
"prebuild": "rimraf --glob dist coverage *.tgz",
"build": "tsc -p tsconfig.build.json",
"postbuild": "node scripts/post-build.js",
"test": "jest -c=jest.config.ts",
"test-e2e-cjs": "jest -c=jest-e2e-cjs.config.ts --no-cache",
"test-e2e-esm": "node --experimental-vm-modules --no-warnings node_modules/jest/bin/jest.js -c=jest-e2e-esm.config.ts --no-cache",
"test-examples": "node scripts/test-examples.js",
"lint": "eslint .",
"lint-fix": "eslint --fix .",
"lint-prettier": "prettier \"**/*.{yml,yaml,md}\" --write",
"lint-prettier-ci": "prettier '**/*.{yml,yaml,md}' --check",
"doc": "cd website && npm run start",
"doc:build": "cd website && npm run build",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1",
"prepare": "npm run build",
"prepublishOnly": "npm run test",
"preversion": "npm run test",
"version": "npm run changelog && git add CHANGELOG.md"
},
"repository": {
"type": "git",
"url": "git+https://github.com/kulshekhar/ts-jest.git"
},
"keywords": [
"jest",
"typescript",
"sourcemap",
"react",
"testing"
],
"author": "Kulshekhar Kabra <kulshekhar@users.noreply.github.com> (https://github.com/kulshekhar)",
"contributors": [
"Huafu Gandon <huafu.gandon@gmail.com> (https://github.com/huafu)",
"Anh Pham <anhpnnd@gmail.com> (https://github.com/ahnpnl)",
"Gustav Wengel <gustavwengel@gmail.com> (https://github.com/GeeWee)"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/kulshekhar/ts-jest/issues"
},
"homepage": "https://kulshekhar.github.io/ts-jest",
"dependencies": {
"bs-logger": "^0.2.6",
"ejs": "^3.1.10",
"fast-json-stable-stringify": "^2.1.0",
"json5": "^2.2.3",
"lodash.memoize": "^4.1.2",
"make-error": "^1.3.6",
"semver": "^7.7.2",
"type-fest": "^4.41.0",
"yargs-parser": "^21.1.1"
},
"peerDependencies": {
"@babel/core": ">=7.0.0-beta.0 <8",
"@jest/transform": "^29.0.0 || ^30.0.0",
"@jest/types": "^29.0.0 || ^30.0.0",
"babel-jest": "^29.0.0 || ^30.0.0",
"jest": "^29.0.0 || ^30.0.0",
"jest-util": "^29.0.0 || ^30.0.0",
"typescript": ">=4.3 <6"
},
"peerDependenciesMeta": {
"@babel/core": {
"optional": true
},
"@jest/transform": {
"optional": true
},
"@jest/types": {
"optional": true
},
"babel-jest": {
"optional": true
},
"esbuild": {
"optional": true
},
"jest-util": {
"optional": true
}
},
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-angular": "^19.8.1",
"@eslint/compat": "^1.2.9",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.28.0",
"@jest/globals": "^30.0.0",
"@jest/transform": "^30.0.0",
"@jest/types": "^30.0.0",
"@types/babel__core": "^7.20.5",
"@types/ejs": "^3.1.5",
"@types/fs-extra": "^11.0.4",
"@types/jest": "^29.5.14",
"@types/js-yaml": "^4.0.9",
"@types/lodash.camelcase": "^4.3.9",
"@types/lodash.memoize": "^4.1.9",
"@types/lodash.set": "^4.3.9",
"@types/micromatch": "^4.0.9",
"@types/node": "20.19.0",
"@types/semver": "^7.7.0",
"@types/yargs": "^17.0.33",
"@types/yargs-parser": "21.0.3",
"@typescript-eslint/eslint-plugin": "^8.34.0",
"@typescript-eslint/parser": "^8.34.0",
"babel-jest": "^30.0.0",
"conventional-changelog-cli": "^5.0.0",
"esbuild": "~0.25.5",
"eslint": "^9.28.0",
"eslint-config-prettier": "^10.1.5",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jest": "^28.13.3",
"eslint-plugin-jsdoc": "^50.8.0",
"eslint-plugin-prettier": "^4.2.1",
"execa": "5.1.1",
"fs-extra": "^11.3.0",
"glob": "^11.0.2",
"glob-gitignore": "^1.0.15",
"globals": "^16.2.0",
"husky": "^9.1.7",
"jest": "^30.0.0",
"js-yaml": "^4.1.0",
"lint-staged": "^15.5.2",
"memfs": "^4.17.2",
"prettier": "^2.8.8",
"rimraf": "^5.0.10",
"ts-node": "^10.9.2",
"typescript": "~5.8.3",
"typescript-eslint": "^8.34.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0"
}
}