@vue-skuilder/express 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +55 -0
- package/package.json +3 -3
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# @vue-skuilder/express Package
|
|
2
|
+
|
|
3
|
+
Express.js API server providing backend services for the vue-skuilder platform.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
- Dev: `yarn workspace @vue-skuilder/express dev` (tsx watch mode)
|
|
7
|
+
- Build: `yarn workspace @vue-skuilder/express build`
|
|
8
|
+
- Start: `yarn workspace @vue-skuilder/express start` (production)
|
|
9
|
+
- Test: `yarn workspace @vue-skuilder/express test` (Jest)
|
|
10
|
+
- Lint: `yarn workspace @vue-skuilder/express lint:fix`
|
|
11
|
+
- Type check: `yarn workspace @vue-skuilder/express type-check`
|
|
12
|
+
|
|
13
|
+
## Build System
|
|
14
|
+
- **TypeScript**: Compiles to CommonJS in `dist/`
|
|
15
|
+
- **Runtime**: Node.js with ES modules (`"type": "module"`)
|
|
16
|
+
- **Dev Tool**: `tsx` for hot reloading during development
|
|
17
|
+
|
|
18
|
+
## Testing
|
|
19
|
+
- **Framework**: Jest with TypeScript support
|
|
20
|
+
- **Config**: `jest.config.ts` with `ts-jest` preset
|
|
21
|
+
- **Environment**: Node.js environment
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
### Core
|
|
25
|
+
- `express` - Web framework
|
|
26
|
+
- `@vue-skuilder/common` - Shared types
|
|
27
|
+
- `@vue-skuilder/db` - Database layer
|
|
28
|
+
|
|
29
|
+
### Middleware & Security
|
|
30
|
+
- `cors` - CORS handling
|
|
31
|
+
- `express-rate-limit` - Rate limiting
|
|
32
|
+
- `cookie-parser` - Cookie parsing
|
|
33
|
+
- `morgan` - HTTP logging
|
|
34
|
+
|
|
35
|
+
### Database & Storage
|
|
36
|
+
- `nano` - CouchDB client
|
|
37
|
+
- `pouchdb` - Local database support
|
|
38
|
+
|
|
39
|
+
### Utilities
|
|
40
|
+
- `winston` - Structured logging
|
|
41
|
+
- `winston-daily-rotate-file` - Log rotation
|
|
42
|
+
- `axios` - HTTP client
|
|
43
|
+
- `ffmpeg-static` - Media processing
|
|
44
|
+
- `hashids` - ID obfuscation
|
|
45
|
+
|
|
46
|
+
## Key Features
|
|
47
|
+
- **CouchDB Integration**: Direct database operations via nano
|
|
48
|
+
- **Authentication**: Cookie-based session management
|
|
49
|
+
- **File Processing**: Media attachment preprocessing
|
|
50
|
+
- **Design Documents**: CouchDB view management
|
|
51
|
+
- **Rate Limiting**: API protection
|
|
52
|
+
- **Structured Logging**: Winston with file rotation
|
|
53
|
+
|
|
54
|
+
## Environment Variables
|
|
55
|
+
Configure via `.env` file (see `src/utils/env.ts`)
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.6",
|
|
7
7
|
"description": "an API",
|
|
8
8
|
"main": "dist/app.js",
|
|
9
9
|
"type": "module",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"author": "Colin Kennedy",
|
|
24
24
|
"license": "GPL-3.0-or-later",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@vue-skuilder/common": "^0.1.
|
|
27
|
-
"@vue-skuilder/db": "^0.1.
|
|
26
|
+
"@vue-skuilder/common": "^0.1.6",
|
|
27
|
+
"@vue-skuilder/db": "^0.1.6",
|
|
28
28
|
"axios": "^1.7.4",
|
|
29
29
|
"cookie-parser": "^1.4.7",
|
|
30
30
|
"cors": "^2.8.5",
|