@engjts/nexus 0.1.8 → 0.1.10
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/dist/advanced/playground/playground.js.map +1 -1
- package/dist/advanced/static/generateDirectoryListing.d.ts +1 -1
- package/dist/advanced/static/generateDirectoryListing.d.ts.map +1 -1
- package/dist/advanced/static/generateDirectoryListing.js +12 -6
- package/dist/advanced/static/generateDirectoryListing.js.map +1 -1
- package/dist/advanced/static/index.d.ts +2 -0
- package/dist/advanced/static/index.d.ts.map +1 -1
- package/dist/advanced/static/index.js +4 -1
- package/dist/advanced/static/index.js.map +1 -1
- package/dist/advanced/static/serveStatic.d.ts.map +1 -1
- package/dist/advanced/static/serveStatic.js +7 -1
- package/dist/advanced/static/serveStatic.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/BENCHMARK_REPORT.md +0 -343
- package/documentation/01-getting-started.md +0 -240
- package/documentation/02-context.md +0 -335
- package/documentation/03-routing.md +0 -397
- package/documentation/04-middleware.md +0 -483
- package/documentation/05-validation.md +0 -514
- package/documentation/06-error-handling.md +0 -465
- package/documentation/07-performance.md +0 -364
- package/documentation/08-adapters.md +0 -470
- package/documentation/09-api-reference.md +0 -548
- package/documentation/10-examples.md +0 -582
- package/documentation/11-deployment.md +0 -477
- package/documentation/12-sentry.md +0 -620
- package/documentation/13-sentry-data-storage.md +0 -996
- package/documentation/14-sentry-data-reference.md +0 -457
- package/documentation/15-sentry-summary.md +0 -409
- package/documentation/16-alerts-system.md +0 -745
- package/documentation/17-alert-adapters.md +0 -696
- package/documentation/18-alerts-implementation-summary.md +0 -385
- package/documentation/19-class-based-routing.md +0 -840
- package/documentation/20-websocket-realtime.md +0 -813
- package/documentation/21-cache-system.md +0 -510
- package/documentation/22-job-queue.md +0 -772
- package/documentation/23-sentry-plugin.md +0 -551
- package/documentation/24-testing-utilities.md +0 -1287
- package/documentation/25-api-versioning.md +0 -533
- package/documentation/26-context-store.md +0 -607
- package/documentation/27-dependency-injection.md +0 -329
- package/documentation/28-lifecycle-hooks.md +0 -521
- package/documentation/29-package-structure.md +0 -196
- package/documentation/30-plugin-system.md +0 -414
- package/documentation/31-jwt-authentication.md +0 -597
- package/documentation/32-cli.md +0 -268
- package/documentation/ALERTS-COMPLETE-SUMMARY.md +0 -429
- package/documentation/ALERTS-INDEX.md +0 -330
- package/documentation/ALERTS-QUICK-REFERENCE.md +0 -286
- package/documentation/README.md +0 -178
- package/documentation/index.html +0 -34
- package/modern_framework_paper.md +0 -1870
- package/public/css/style.css +0 -87
- package/public/index.html +0 -34
- package/public/js/app.js +0 -27
- package/src/advanced/cache/InMemoryCacheStore.ts +0 -68
- package/src/advanced/cache/MultiTierCache.ts +0 -194
- package/src/advanced/cache/RedisCacheStore.ts +0 -341
- package/src/advanced/cache/index.ts +0 -5
- package/src/advanced/cache/types.ts +0 -40
- package/src/advanced/graphql/SimpleDataLoader.ts +0 -42
- package/src/advanced/graphql/index.ts +0 -22
- package/src/advanced/graphql/server.ts +0 -252
- package/src/advanced/graphql/types.ts +0 -42
- package/src/advanced/jobs/InMemoryQueueStore.ts +0 -68
- package/src/advanced/jobs/JobQueue.ts +0 -556
- package/src/advanced/jobs/RedisQueueStore.ts +0 -367
- package/src/advanced/jobs/index.ts +0 -5
- package/src/advanced/jobs/types.ts +0 -70
- package/src/advanced/observability/APMManager.ts +0 -163
- package/src/advanced/observability/AlertManager.ts +0 -109
- package/src/advanced/observability/MetricRegistry.ts +0 -151
- package/src/advanced/observability/ObservabilityCenter.ts +0 -304
- package/src/advanced/observability/StructuredLogger.ts +0 -154
- package/src/advanced/observability/TracingManager.ts +0 -117
- package/src/advanced/observability/adapters.ts +0 -304
- package/src/advanced/observability/createObservabilityMiddleware.ts +0 -63
- package/src/advanced/observability/index.ts +0 -11
- package/src/advanced/observability/types.ts +0 -174
- package/src/advanced/playground/extractPathParams.ts +0 -6
- package/src/advanced/playground/generateFieldExample.ts +0 -31
- package/src/advanced/playground/generatePlaygroundHTML.ts +0 -1956
- package/src/advanced/playground/generateSummary.ts +0 -19
- package/src/advanced/playground/getTagFromPath.ts +0 -9
- package/src/advanced/playground/index.ts +0 -8
- package/src/advanced/playground/playground.ts +0 -250
- package/src/advanced/playground/types.ts +0 -49
- package/src/advanced/playground/zodToExample.ts +0 -16
- package/src/advanced/playground/zodToParams.ts +0 -15
- package/src/advanced/postman/buildAuth.ts +0 -31
- package/src/advanced/postman/buildBody.ts +0 -15
- package/src/advanced/postman/buildQueryParams.ts +0 -27
- package/src/advanced/postman/buildRequestItem.ts +0 -36
- package/src/advanced/postman/buildResponses.ts +0 -11
- package/src/advanced/postman/buildUrl.ts +0 -33
- package/src/advanced/postman/capitalize.ts +0 -4
- package/src/advanced/postman/generateCollection.ts +0 -59
- package/src/advanced/postman/generateEnvironment.ts +0 -34
- package/src/advanced/postman/generateExampleFromZod.ts +0 -21
- package/src/advanced/postman/generateFieldExample.ts +0 -45
- package/src/advanced/postman/generateName.ts +0 -20
- package/src/advanced/postman/generateUUID.ts +0 -11
- package/src/advanced/postman/getTagFromPath.ts +0 -10
- package/src/advanced/postman/index.ts +0 -28
- package/src/advanced/postman/postman.ts +0 -156
- package/src/advanced/postman/slugify.ts +0 -7
- package/src/advanced/postman/types.ts +0 -140
- package/src/advanced/realtime/index.ts +0 -18
- package/src/advanced/realtime/websocket.ts +0 -231
- package/src/advanced/sentry/index.ts +0 -1236
- package/src/advanced/sentry/types.ts +0 -355
- package/src/advanced/static/generateDirectoryListing.ts +0 -47
- package/src/advanced/static/generateETag.ts +0 -7
- package/src/advanced/static/getMimeType.ts +0 -9
- package/src/advanced/static/index.ts +0 -32
- package/src/advanced/static/isSafePath.ts +0 -13
- package/src/advanced/static/publicDir.ts +0 -21
- package/src/advanced/static/serveStatic.ts +0 -225
- package/src/advanced/static/spa.ts +0 -24
- package/src/advanced/static/types.ts +0 -159
- package/src/advanced/swagger/SwaggerGenerator.ts +0 -66
- package/src/advanced/swagger/buildOperation.ts +0 -61
- package/src/advanced/swagger/buildParameters.ts +0 -61
- package/src/advanced/swagger/buildRequestBody.ts +0 -21
- package/src/advanced/swagger/buildResponses.ts +0 -54
- package/src/advanced/swagger/capitalize.ts +0 -5
- package/src/advanced/swagger/convertPath.ts +0 -9
- package/src/advanced/swagger/createSwagger.ts +0 -12
- package/src/advanced/swagger/generateOperationId.ts +0 -21
- package/src/advanced/swagger/generateSpec.ts +0 -105
- package/src/advanced/swagger/generateSummary.ts +0 -24
- package/src/advanced/swagger/generateSwaggerUI.ts +0 -70
- package/src/advanced/swagger/generateThemeCss.ts +0 -53
- package/src/advanced/swagger/index.ts +0 -25
- package/src/advanced/swagger/swagger.ts +0 -237
- package/src/advanced/swagger/types.ts +0 -206
- package/src/advanced/swagger/zodFieldToOpenAPI.ts +0 -94
- package/src/advanced/swagger/zodSchemaToOpenAPI.ts +0 -50
- package/src/advanced/swagger/zodToOpenAPI.ts +0 -22
- package/src/advanced/testing/factory.ts +0 -509
- package/src/advanced/testing/harness.ts +0 -612
- package/src/advanced/testing/index.ts +0 -430
- package/src/advanced/testing/load-test.ts +0 -618
- package/src/advanced/testing/mock-server.ts +0 -498
- package/src/advanced/testing/mock.ts +0 -670
- package/src/cli/bin.ts +0 -9
- package/src/cli/cli.ts +0 -158
- package/src/cli/commands/add.ts +0 -178
- package/src/cli/commands/build.ts +0 -73
- package/src/cli/commands/create.ts +0 -166
- package/src/cli/commands/dev.ts +0 -85
- package/src/cli/commands/generate.ts +0 -99
- package/src/cli/commands/help.ts +0 -95
- package/src/cli/commands/init.ts +0 -91
- package/src/cli/commands/version.ts +0 -38
- package/src/cli/index.ts +0 -6
- package/src/cli/templates/generators.ts +0 -359
- package/src/cli/templates/index.ts +0 -680
- package/src/cli/utils/exec.ts +0 -52
- package/src/cli/utils/file-system.ts +0 -78
- package/src/cli/utils/logger.ts +0 -111
- package/src/core/adapter.ts +0 -88
- package/src/core/application.ts +0 -1453
- package/src/core/context-pool.ts +0 -79
- package/src/core/context.ts +0 -856
- package/src/core/index.ts +0 -94
- package/src/core/middleware.ts +0 -272
- package/src/core/performance/buffer-pool.ts +0 -108
- package/src/core/performance/middleware-optimizer.ts +0 -162
- package/src/core/plugin/PluginManager.ts +0 -435
- package/src/core/plugin/builder.ts +0 -358
- package/src/core/plugin/index.ts +0 -50
- package/src/core/plugin/types.ts +0 -214
- package/src/core/router/file-router.ts +0 -623
- package/src/core/router/index.ts +0 -260
- package/src/core/router/radix-tree.ts +0 -242
- package/src/core/serializer.ts +0 -397
- package/src/core/store/index.ts +0 -30
- package/src/core/store/registry.ts +0 -178
- package/src/core/store/request-store.ts +0 -240
- package/src/core/store/types.ts +0 -233
- package/src/core/types.ts +0 -616
- package/src/database/adapter.ts +0 -35
- package/src/database/adapters/index.ts +0 -1
- package/src/database/adapters/mysql.ts +0 -669
- package/src/database/database.ts +0 -70
- package/src/database/dialect.ts +0 -388
- package/src/database/index.ts +0 -12
- package/src/database/migrations.ts +0 -86
- package/src/database/optimizer.ts +0 -125
- package/src/database/query-builder.ts +0 -404
- package/src/database/realtime.ts +0 -53
- package/src/database/schema.ts +0 -71
- package/src/database/transactions.ts +0 -56
- package/src/database/types.ts +0 -87
- package/src/deployment/cluster.ts +0 -471
- package/src/deployment/config.ts +0 -454
- package/src/deployment/docker.ts +0 -599
- package/src/deployment/graceful-shutdown.ts +0 -373
- package/src/deployment/index.ts +0 -56
- package/src/index.ts +0 -281
- package/src/security/adapter.ts +0 -318
- package/src/security/auth/JWTPlugin.ts +0 -234
- package/src/security/auth/JWTProvider.ts +0 -316
- package/src/security/auth/adapter.ts +0 -12
- package/src/security/auth/jwt.ts +0 -234
- package/src/security/auth/middleware.ts +0 -188
- package/src/security/csrf.ts +0 -220
- package/src/security/headers.ts +0 -108
- package/src/security/index.ts +0 -60
- package/src/security/rate-limit/adapter.ts +0 -7
- package/src/security/rate-limit/memory.ts +0 -108
- package/src/security/rate-limit/middleware.ts +0 -181
- package/src/security/sanitization.ts +0 -75
- package/src/security/types.ts +0 -240
- package/src/security/utils.ts +0 -52
- package/tsconfig.json +0 -39
package/documentation/README.md
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
# Nexus Framework Documentation
|
|
2
|
-
|
|
3
|
-
Welcome to the comprehensive documentation for **Nexus Framework** - a modern, async-first web framework built with TypeScript, performance, and developer experience in mind.
|
|
4
|
-
|
|
5
|
-
## 📚 Documentation Structure
|
|
6
|
-
|
|
7
|
-
### Getting Started
|
|
8
|
-
- **[01. Getting Started](./01-getting-started.md)** - Installation, first app, and core concepts
|
|
9
|
-
|
|
10
|
-
### Core Features
|
|
11
|
-
- **[02. Context API](./02-context.md)** - Unified request/response context
|
|
12
|
-
- **[03. Routing](./03-routing.md)** - Static, dynamic, and wildcard routes
|
|
13
|
-
- **[04. Middleware](./04-middleware.md)** - Type-safe composable middleware
|
|
14
|
-
- **[05. Validation](./05-validation.md)** - Schema validation with Zod
|
|
15
|
-
- **[06. Error Handling](./06-error-handling.md)** - Automatic error handling
|
|
16
|
-
|
|
17
|
-
### Advanced Topics
|
|
18
|
-
- **[07. Performance](./07-performance.md)** - Optimization features and benchmarking
|
|
19
|
-
- **[08. Adapters](./08-adapters.md)** - Extensibility and plugin system
|
|
20
|
-
|
|
21
|
-
### Reference
|
|
22
|
-
- **[09. API Reference](./09-api-reference.md)** - Complete API documentation
|
|
23
|
-
- **[10. Examples](./10-examples.md)** - Real-world use cases
|
|
24
|
-
|
|
25
|
-
### Advanced Patterns
|
|
26
|
-
- **[24. Testing Utilities](./24-testing-utilities.md)** - Testing your API
|
|
27
|
-
- **[25. API Versioning](./25-api-versioning.md)** - Multiple API versions
|
|
28
|
-
|
|
29
|
-
## 🚀 Quick Links
|
|
30
|
-
|
|
31
|
-
### For Beginners
|
|
32
|
-
1. Start with [Getting Started](./01-getting-started.md)
|
|
33
|
-
2. Learn about [Context API](./02-context.md)
|
|
34
|
-
3. Explore [Routing](./03-routing.md)
|
|
35
|
-
|
|
36
|
-
### For Experienced Developers
|
|
37
|
-
1. Review [Middleware](./04-middleware.md) patterns
|
|
38
|
-
2. Implement [Validation](./05-validation.md)
|
|
39
|
-
3. Optimize with [Performance](./07-performance.md) features
|
|
40
|
-
|
|
41
|
-
### Common Tasks
|
|
42
|
-
|
|
43
|
-
| Task | Documentation |
|
|
44
|
-
|------|--------------|
|
|
45
|
-
| Create a REST API | [Examples - REST API](./10-examples.md#rest-api) |
|
|
46
|
-
| Add authentication | [Examples - Authentication](./10-examples.md#authentication) |
|
|
47
|
-
| Validate input | [Validation Guide](./05-validation.md) |
|
|
48
|
-
| Handle errors | [Error Handling](./06-error-handling.md) |
|
|
49
|
-
| Optimize performance | [Performance Guide](./07-performance.md) |
|
|
50
|
-
| Create plugins | [Adapters](./08-adapters.md) |
|
|
51
|
-
| Version your API | [API Versioning](./25-api-versioning.md) |
|
|
52
|
-
|
|
53
|
-
## 🎯 Key Features
|
|
54
|
-
|
|
55
|
-
### ✨ **Unified Context**
|
|
56
|
-
Single immutable object replacing `req` and `res`
|
|
57
|
-
```typescript
|
|
58
|
-
app.get('/user/:id', async (ctx) => {
|
|
59
|
-
return { user: await getUser(ctx.params.id) };
|
|
60
|
-
});
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### 🚀 **Async-First**
|
|
64
|
-
Native async/await with automatic error handling
|
|
65
|
-
```typescript
|
|
66
|
-
// No try-catch needed!
|
|
67
|
-
app.get('/data', async (ctx) => {
|
|
68
|
-
const data = await fetchData();
|
|
69
|
-
return { data };
|
|
70
|
-
});
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 🔒 **Type-Safe**
|
|
74
|
-
Full TypeScript support with schema validation
|
|
75
|
-
```typescript
|
|
76
|
-
app.post('/users', {
|
|
77
|
-
schema: { body: z.object({ name: z.string() }) },
|
|
78
|
-
handler: async (ctx) => {
|
|
79
|
-
// ctx.body is typed!
|
|
80
|
-
return await createUser(ctx.body);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### ⚡ **High Performance**
|
|
86
|
-
- Context pooling reduces GC pressure by 60-80%
|
|
87
|
-
- Radix tree routing for O(log n) lookup
|
|
88
|
-
- JIT compilation for hot paths
|
|
89
|
-
- Zero-copy buffer handling
|
|
90
|
-
|
|
91
|
-
### 🧩 **Extensible**
|
|
92
|
-
Adapter pattern for plugins and custom implementations
|
|
93
|
-
```typescript
|
|
94
|
-
app.adapter('logger', new PinoLogger());
|
|
95
|
-
app.plugin(analyticsPlugin);
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## 📖 Learning Path
|
|
99
|
-
|
|
100
|
-
### Beginner (< 1 hour)
|
|
101
|
-
1. [Getting Started](./01-getting-started.md) - 15 min
|
|
102
|
-
2. [Context API](./02-context.md) - 20 min
|
|
103
|
-
3. [Routing Basics](./03-routing.md) - 15 min
|
|
104
|
-
|
|
105
|
-
### Intermediate (1-2 hours)
|
|
106
|
-
4. [Middleware](./04-middleware.md) - 30 min
|
|
107
|
-
5. [Validation](./05-validation.md) - 30 min
|
|
108
|
-
6. [Error Handling](./06-error-handling.md) - 20 min
|
|
109
|
-
|
|
110
|
-
### Advanced (2+ hours)
|
|
111
|
-
7. [Performance](./07-performance.md) - 30 min
|
|
112
|
-
8. [Adapters](./08-adapters.md) - 45 min
|
|
113
|
-
9. Build a [complete application](./10-examples.md) - 1+ hour
|
|
114
|
-
|
|
115
|
-
## 💡 Example Application
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
import { createApp, z, logger, cors } from './nexus';
|
|
119
|
-
|
|
120
|
-
const app = createApp();
|
|
121
|
-
|
|
122
|
-
// Global middleware
|
|
123
|
-
app.use(logger());
|
|
124
|
-
app.use(cors());
|
|
125
|
-
|
|
126
|
-
// Simple route
|
|
127
|
-
app.get('/hello', async (ctx) => {
|
|
128
|
-
return { message: 'Hello, Nexus!' };
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
// Validated route
|
|
132
|
-
app.post('/users', {
|
|
133
|
-
schema: {
|
|
134
|
-
body: z.object({
|
|
135
|
-
name: z.string().min(2),
|
|
136
|
-
email: z.string().email()
|
|
137
|
-
})
|
|
138
|
-
},
|
|
139
|
-
handler: async (ctx) => {
|
|
140
|
-
const user = await createUser(ctx.body);
|
|
141
|
-
return { user };
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
// Error handling
|
|
146
|
-
app.onError((error, ctx) => {
|
|
147
|
-
console.error(error);
|
|
148
|
-
return ctx.response.status(500).json({
|
|
149
|
-
error: 'Internal Server Error'
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
app.listen(3000, () => {
|
|
154
|
-
console.log('Server running on port 3000');
|
|
155
|
-
});
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## 🔍 Search Tips
|
|
159
|
-
|
|
160
|
-
Use your browser's search (Cmd/Ctrl + F) to find specific topics across documentation files:
|
|
161
|
-
|
|
162
|
-
- Search "validation" for input validation
|
|
163
|
-
- Search "middleware" for middleware examples
|
|
164
|
-
- Search "error" for error handling
|
|
165
|
-
- Search "performance" for optimization
|
|
166
|
-
- Search "adapter" for extensibility
|
|
167
|
-
|
|
168
|
-
## 🤝 Contributing
|
|
169
|
-
|
|
170
|
-
Found an issue or want to improve the documentation? Contributions are welcome!
|
|
171
|
-
|
|
172
|
-
## 📄 License
|
|
173
|
-
|
|
174
|
-
MIT License - See LICENSE file for details
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
**Ready to build?** Start with [Getting Started →](./01-getting-started.md)
|
package/documentation/index.html
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Nexus Framework</title>
|
|
7
|
-
<link rel="stylesheet" href="/css/style.css">
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<div class="container">
|
|
11
|
-
<h1>🚀 Nexus Framework</h1>
|
|
12
|
-
<p>Static files are working!</p>
|
|
13
|
-
|
|
14
|
-
<div class="features">
|
|
15
|
-
<div class="feature">
|
|
16
|
-
<h3>📁 Static Files</h3>
|
|
17
|
-
<p>This page is served from <code>./public/index.html</code></p>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<div class="feature">
|
|
21
|
-
<h3>📚 API Docs</h3>
|
|
22
|
-
<p><a href="/docs">View Swagger Documentation</a></p>
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
<div class="feature">
|
|
26
|
-
<h3>🎮 Playground</h3>
|
|
27
|
-
<p><a href="/playground">Try the API Playground</a></p>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
<script src="/js/app.js"></script>
|
|
33
|
-
</body>
|
|
34
|
-
</html>
|