
- 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.
77 lines
1.3 KiB
Markdown
77 lines
1.3 KiB
Markdown
# dir-glob [](https://travis-ci.org/kevva/dir-glob)
|
|
|
|
> Convert directories to glob compatible strings
|
|
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install dir-glob
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
```js
|
|
const dirGlob = require('dir-glob');
|
|
|
|
(async () => {
|
|
console.log(await dirGlob(['index.js', 'test.js', 'fixtures']));
|
|
//=> ['index.js', 'test.js', 'fixtures/**']
|
|
|
|
console.log(await dirGlob(['index.js', 'inner_folder'], {cwd: 'fixtures'}));
|
|
//=> ['index.js', 'inner_folder/**']
|
|
|
|
console.log(await dirGlob(['lib/**', 'fixtures'], {
|
|
files: ['test', 'unicorn']
|
|
extensions: ['js']
|
|
}));
|
|
//=> ['lib/**', 'fixtures/**/test.js', 'fixtures/**/unicorn.js']
|
|
|
|
console.log(await dirGlob(['lib/**', 'fixtures'], {
|
|
files: ['test', 'unicorn', '*.jsx'],
|
|
extensions: ['js', 'png']
|
|
}));
|
|
//=> ['lib/**', 'fixtures/**/test.{js,png}', 'fixtures/**/unicorn.{js,png}', 'fixtures/**/*.jsx']
|
|
})();
|
|
```
|
|
|
|
|
|
## API
|
|
|
|
### dirGlob(input, options?)
|
|
|
|
Returns a `Promise<string[]>` with globs.
|
|
|
|
### dirGlob.sync(input, options?)
|
|
|
|
Returns a `string[]` with globs.
|
|
|
|
#### input
|
|
|
|
Type: `string | string[]`
|
|
|
|
Paths.
|
|
|
|
#### options
|
|
|
|
Type: `object`
|
|
|
|
##### extensions
|
|
|
|
Type: `string[]`
|
|
|
|
Append extensions to the end of your globs.
|
|
|
|
##### files
|
|
|
|
Type: `string[]`
|
|
|
|
Only glob for certain files.
|
|
|
|
##### cwd
|
|
|
|
Type: `string[]`
|
|
|
|
Test in specific directory.
|