
- 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.
110 lines
3.1 KiB
JSON
110 lines
3.1 KiB
JSON
{
|
|
"name": "@google-cloud/storage",
|
|
"description": "Cloud Storage Client Library for Node.js",
|
|
"version": "6.12.0",
|
|
"license": "Apache-2.0",
|
|
"author": "Google Inc.",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"repository": "googleapis/nodejs-storage",
|
|
"main": "./build/src/index.js",
|
|
"types": "./build/src/index.d.ts",
|
|
"files": [
|
|
"build/src",
|
|
"!build/src/**/*.map"
|
|
],
|
|
"keywords": [
|
|
"google apis client",
|
|
"google api client",
|
|
"google apis",
|
|
"google api",
|
|
"google",
|
|
"google cloud platform",
|
|
"google cloud",
|
|
"cloud",
|
|
"google storage",
|
|
"storage"
|
|
],
|
|
"scripts": {
|
|
"predocs": "npm run compile",
|
|
"docs": "jsdoc -c .jsdoc.js",
|
|
"system-test": "mocha build/system-test --timeout 600000 --exit",
|
|
"conformance-test": "mocha --parallel build/conformance-test/ --require build/conformance-test/globalHooks.js",
|
|
"preconformance-test": "npm run compile",
|
|
"presystem-test": "npm run compile",
|
|
"test": "c8 mocha build/test",
|
|
"pretest": "npm run compile",
|
|
"lint": "gts check",
|
|
"samples-test": "npm link && cd samples/ && npm link ../ && npm test && cd ../",
|
|
"all-test": "npm test && npm run system-test && npm run samples-test",
|
|
"check": "gts check",
|
|
"clean": "gts clean",
|
|
"compile": "tsc -p .",
|
|
"fix": "gts fix",
|
|
"prepare": "npm run compile",
|
|
"docs-test": "linkinator docs",
|
|
"predocs-test": "npm run docs",
|
|
"benchwrapper": "node bin/benchwrapper.js",
|
|
"prelint": "cd samples; npm link ../; npm install",
|
|
"precompile": "gts clean"
|
|
},
|
|
"dependencies": {
|
|
"@google-cloud/paginator": "^3.0.7",
|
|
"@google-cloud/projectify": "^3.0.0",
|
|
"@google-cloud/promisify": "^3.0.0",
|
|
"abort-controller": "^3.0.0",
|
|
"async-retry": "^1.3.3",
|
|
"compressible": "^2.0.12",
|
|
"duplexify": "^4.0.0",
|
|
"ent": "^2.2.0",
|
|
"extend": "^3.0.2",
|
|
"fast-xml-parser": "^4.2.2",
|
|
"gaxios": "^5.0.0",
|
|
"google-auth-library": "^8.0.1",
|
|
"mime": "^3.0.0",
|
|
"mime-types": "^2.0.8",
|
|
"p-limit": "^3.0.1",
|
|
"retry-request": "^5.0.0",
|
|
"teeny-request": "^8.0.0",
|
|
"uuid": "^8.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@google-cloud/pubsub": "^3.0.0",
|
|
"@grpc/grpc-js": "^1.0.3",
|
|
"@grpc/proto-loader": "^0.7.0",
|
|
"@types/async-retry": "^1.4.3",
|
|
"@types/compressible": "^2.0.0",
|
|
"@types/ent": "^2.2.1",
|
|
"@types/extend": "^3.0.0",
|
|
"@types/mime": "^3.0.0",
|
|
"@types/mime-types": "^2.1.0",
|
|
"@types/mocha": "^9.1.1",
|
|
"@types/mockery": "^1.4.29",
|
|
"@types/node": "^18.0.0",
|
|
"@types/node-fetch": "^2.1.3",
|
|
"@types/proxyquire": "^1.3.28",
|
|
"@types/request": "^2.48.4",
|
|
"@types/sinon": "^10.0.0",
|
|
"@types/tmp": "0.2.3",
|
|
"@types/uuid": "^8.0.0",
|
|
"@types/yargs": "^17.0.10",
|
|
"c8": "^8.0.0",
|
|
"form-data": "^4.0.0",
|
|
"gts": "^3.1.0",
|
|
"jsdoc": "^4.0.0",
|
|
"jsdoc-fresh": "^2.0.0",
|
|
"jsdoc-region-tag": "^2.0.0",
|
|
"linkinator": "^4.0.0",
|
|
"mocha": "^9.2.2",
|
|
"mockery": "^2.1.0",
|
|
"nock": "~13.3.0",
|
|
"node-fetch": "^2.6.7",
|
|
"proxyquire": "^2.1.3",
|
|
"sinon": "^15.0.0",
|
|
"tmp": "^0.2.0",
|
|
"typescript": "^4.6.4",
|
|
"yargs": "^17.3.1"
|
|
}
|
|
}
|