vector-framework 0.8.1 → 0.8.2
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/README.md +78 -56
- package/dist/cache/manager.d.ts +1 -1
- package/dist/cache/manager.d.ts.map +1 -1
- package/dist/cache/manager.js +8 -3
- package/dist/cache/manager.js.map +1 -1
- package/dist/cli/index.js +76 -47
- package/dist/cli/index.js.map +1 -1
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +2 -1
- package/dist/core/router.js.map +1 -1
- package/dist/core/vector.d.ts.map +1 -1
- package/dist/core/vector.js +1 -6
- package/dist/core/vector.js.map +1 -1
- package/dist/dev/route-generator.js +3 -3
- package/dist/dev/route-generator.js.map +1 -1
- package/dist/dev/route-scanner.js +3 -3
- package/dist/dev/route-scanner.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.mjs +3 -3
- package/package.json +3 -3
- package/src/cache/manager.ts +15 -5
- package/src/cli/index.ts +92 -48
- package/src/core/router.ts +2 -1
- package/src/core/vector.ts +1 -7
- package/src/dev/route-generator.ts +3 -3
- package/src/dev/route-scanner.ts +3 -3
- package/src/types/index.ts +1 -1
package/README.md
CHANGED
|
@@ -4,41 +4,51 @@
|
|
|
4
4
|
|
|
5
5
|
Vector brings the blazing performance of Bun to developers who appreciate the simplicity and elegance of frameworks like Encore. Build production-ready APIs with a familiar, declarative syntax while leveraging Bun's incredible speed.
|
|
6
6
|
|
|
7
|
-
## Why Vector?
|
|
8
|
-
|
|
9
|
-
If you've been looking for Encore-like developer experience with Bun's performance, Vector is your answer. Define your routes declaratively, enjoy automatic type safety, and ship faster than ever.
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- **Fast & Lightweight** - Built on Bun and itty-router for maximum performance
|
|
14
|
-
- **Type-Safe** - Full TypeScript support with excellent type inference
|
|
15
|
-
- **Auto Route Discovery** - Automatically discovers and loads routes from your filesystem
|
|
16
|
-
- **Middleware System** - Flexible pre/post request middleware pipeline
|
|
17
|
-
- **Built-in Authentication** - Simple but powerful authentication system
|
|
18
|
-
- **Response Caching** - Automatic response caching with configurable TTL
|
|
19
|
-
- **CORS Support** - Configurable CORS with sensible defaults
|
|
20
|
-
- **Developer Experience** - Auto route discovery and CLI tools
|
|
21
|
-
|
|
22
7
|
## Quick Start
|
|
23
8
|
|
|
24
9
|
### Installation
|
|
25
10
|
|
|
26
11
|
```bash
|
|
27
|
-
bun add vector
|
|
12
|
+
bun add vector-framework
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Configuration
|
|
16
|
+
|
|
17
|
+
Create a `vector.config.ts` file in your project root:
|
|
18
|
+
|
|
19
|
+
```javascript
|
|
20
|
+
// vector.config.js
|
|
21
|
+
export default {
|
|
22
|
+
port: 3000, // Server port (default: 3000)
|
|
23
|
+
hostname: "localhost", // Server hostname (default: localhost)
|
|
24
|
+
routesDir: "./routes", // Routes directory (default: ./routes)
|
|
25
|
+
development: true, // Development mode
|
|
26
|
+
reusePort: true, // Reuse port (default: true)
|
|
27
|
+
autoDiscover: true, // Auto-discover routes (default: true)
|
|
28
|
+
|
|
29
|
+
// CORS configuration
|
|
30
|
+
cors: {
|
|
31
|
+
origin: "*", // String, array, or function
|
|
32
|
+
credentials: true, // Allow credentials
|
|
33
|
+
allowHeaders: ["Content-Type", "Authorization"],
|
|
34
|
+
allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
|
|
35
|
+
exposeHeaders: ["X-Total-Count"],
|
|
36
|
+
maxAge: 86400, // Preflight cache duration in seconds
|
|
37
|
+
},
|
|
38
|
+
};
|
|
28
39
|
```
|
|
29
40
|
|
|
30
41
|
### Your First API (Encore-style)
|
|
31
42
|
|
|
32
43
|
```typescript
|
|
33
44
|
// routes/hello.ts
|
|
34
|
-
import { route } from "vector";
|
|
45
|
+
import { route } from "vector-framework";
|
|
35
46
|
|
|
36
47
|
// Public endpoint - clean and declarative
|
|
37
48
|
export const hello = route(
|
|
38
49
|
{
|
|
39
50
|
method: "GET",
|
|
40
51
|
path: "/hello/:name",
|
|
41
|
-
expose: true,
|
|
42
52
|
},
|
|
43
53
|
async (req) => {
|
|
44
54
|
const { name } = req.params!;
|
|
@@ -51,7 +61,6 @@ export const getProfile = route(
|
|
|
51
61
|
{
|
|
52
62
|
method: "GET",
|
|
53
63
|
path: "/profile",
|
|
54
|
-
expose: true,
|
|
55
64
|
auth: true, // That's it! Auth handled.
|
|
56
65
|
},
|
|
57
66
|
async (req) => {
|
|
@@ -67,7 +76,7 @@ export const getProfile = route(
|
|
|
67
76
|
|
|
68
77
|
```typescript
|
|
69
78
|
// server.ts
|
|
70
|
-
import vector from "vector";
|
|
79
|
+
import vector from "vector-framework";
|
|
71
80
|
|
|
72
81
|
// Set up auth (once, globally)
|
|
73
82
|
vector.protected = async (request) => {
|
|
@@ -83,13 +92,44 @@ vector.protected = async (request) => {
|
|
|
83
92
|
vector.serve({ port: 3000 });
|
|
84
93
|
```
|
|
85
94
|
|
|
95
|
+
### CLI Commands
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Run development server
|
|
99
|
+
bun vector dev
|
|
100
|
+
|
|
101
|
+
# Run production server
|
|
102
|
+
bun vector start
|
|
103
|
+
|
|
104
|
+
# Build for production
|
|
105
|
+
bun vector build
|
|
106
|
+
|
|
107
|
+
# Run with custom options
|
|
108
|
+
bun vector dev --port 3000 --routes ./api
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Why Vector?
|
|
112
|
+
|
|
113
|
+
If you've been looking for Encore-like developer experience with Bun's performance, Vector is your answer. Define your routes declaratively, enjoy automatic type safety, and ship faster than ever.
|
|
114
|
+
|
|
115
|
+
## Features
|
|
116
|
+
|
|
117
|
+
- **Fast & Lightweight** - Built on Bun and itty-router for maximum performance
|
|
118
|
+
- **Type-Safe** - Full TypeScript support with excellent type inference
|
|
119
|
+
- **Auto Route Discovery** - Automatically discovers and loads routes from your filesystem
|
|
120
|
+
- **Middleware System** - Flexible pre/post request middleware pipeline
|
|
121
|
+
- **Built-in Authentication** - Simple but powerful authentication system
|
|
122
|
+
- **Response Caching** - Automatic response caching with configurable TTL
|
|
123
|
+
- **CORS Support** - Configurable CORS with sensible defaults
|
|
124
|
+
- **Developer Experience** - Auto route discovery and CLI tools
|
|
125
|
+
|
|
86
126
|
## Familiar Patterns, Modern Performance
|
|
87
127
|
|
|
88
128
|
### Real-World Example: User Service
|
|
89
129
|
|
|
90
130
|
```typescript
|
|
91
131
|
// routes/users.ts
|
|
92
|
-
import { route } from "vector";
|
|
132
|
+
import { route } from "vector-framework";
|
|
93
133
|
import { db } from "../db";
|
|
94
134
|
|
|
95
135
|
// Public endpoint with caching
|
|
@@ -97,7 +137,6 @@ export const listUsers = route(
|
|
|
97
137
|
{
|
|
98
138
|
method: "GET",
|
|
99
139
|
path: "/users",
|
|
100
|
-
expose: true,
|
|
101
140
|
cache: 300, // Cache for 5 minutes
|
|
102
141
|
},
|
|
103
142
|
async () => {
|
|
@@ -111,7 +150,6 @@ export const createUser = route(
|
|
|
111
150
|
{
|
|
112
151
|
method: "POST",
|
|
113
152
|
path: "/users",
|
|
114
|
-
expose: true,
|
|
115
153
|
auth: true, // Auth required
|
|
116
154
|
},
|
|
117
155
|
async (req) => {
|
|
@@ -130,7 +168,6 @@ export const getUser = route(
|
|
|
130
168
|
{
|
|
131
169
|
method: "GET",
|
|
132
170
|
path: "/users/:id",
|
|
133
|
-
expose: true,
|
|
134
171
|
},
|
|
135
172
|
async (req) => {
|
|
136
173
|
const { id } = req.params!;
|
|
@@ -196,41 +233,13 @@ Switching from Encore? You'll feel right at home. Vector provides the same decla
|
|
|
196
233
|
|
|
197
234
|
**The key difference:** Vector runs on Bun, giving you significantly better performance and lower resource usage while maintaining the developer experience you love.
|
|
198
235
|
|
|
199
|
-
## CLI Commands
|
|
200
|
-
|
|
201
|
-
Vector includes a built-in CLI for development and production:
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
# Development server
|
|
205
|
-
bun run dev
|
|
206
|
-
|
|
207
|
-
# Production server
|
|
208
|
-
bun run start
|
|
209
|
-
|
|
210
|
-
# Run with custom options
|
|
211
|
-
bun run src/cli/index.ts dev --port 3000 --routes ./api
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
Or use npm scripts:
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
# Start development server
|
|
218
|
-
bun run dev
|
|
219
|
-
|
|
220
|
-
# Start production server
|
|
221
|
-
bun run start
|
|
222
|
-
|
|
223
|
-
# Build for production
|
|
224
|
-
bun run build
|
|
225
|
-
```
|
|
226
|
-
|
|
227
236
|
## Route Options
|
|
228
237
|
|
|
229
238
|
```typescript
|
|
230
239
|
interface RouteOptions {
|
|
231
240
|
method: string; // HTTP method (GET, POST, etc.)
|
|
232
241
|
path: string; // Route path with params (/users/:id)
|
|
233
|
-
expose?: boolean; // Make route accessible (default:
|
|
242
|
+
expose?: boolean; // Make route accessible (default: true)
|
|
234
243
|
auth?: boolean; // Require authentication (default: false)
|
|
235
244
|
cache?:
|
|
236
245
|
| number
|
|
@@ -324,6 +333,19 @@ interface VectorConfig {
|
|
|
324
333
|
reusePort?: boolean; // Reuse port (default: true)
|
|
325
334
|
development?: boolean; // Development mode
|
|
326
335
|
routesDir?: string; // Routes directory (default: ./routes)
|
|
336
|
+
autoDiscover?: boolean; // Auto-discover routes (default: true)
|
|
337
|
+
cors?: CorsOptions; // CORS configuration
|
|
338
|
+
before?: BeforeMiddlewareHandler[]; // Pre-request middleware
|
|
339
|
+
finally?: AfterMiddlewareHandler[]; // Post-response middleware
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
interface CorsOptions {
|
|
343
|
+
origin?: string | string[] | ((origin: string) => boolean);
|
|
344
|
+
credentials?: boolean;
|
|
345
|
+
allowHeaders?: string | string[];
|
|
346
|
+
allowMethods?: string | string[];
|
|
347
|
+
exposeHeaders?: string | string[];
|
|
348
|
+
maxAge?: number;
|
|
327
349
|
}
|
|
328
350
|
```
|
|
329
351
|
|
|
@@ -363,8 +385,8 @@ my-app/
|
|
|
363
385
|
Vector is written in TypeScript and provides full type safety with customizable types:
|
|
364
386
|
|
|
365
387
|
```typescript
|
|
366
|
-
import { createVector, route, APIError } from "vector";
|
|
367
|
-
import type { VectorRequest, VectorTypes } from "vector";
|
|
388
|
+
import { createVector, route, APIError } from "vector-framework";
|
|
389
|
+
import type { VectorRequest, VectorTypes } from "vector-framework";
|
|
368
390
|
|
|
369
391
|
// Define your custom user type
|
|
370
392
|
interface MyUser {
|
|
@@ -413,7 +435,7 @@ Vector provides comprehensive built-in error responses for all HTTP status codes
|
|
|
413
435
|
### Common Client Errors (4xx)
|
|
414
436
|
|
|
415
437
|
```typescript
|
|
416
|
-
import { APIError } from "vector";
|
|
438
|
+
import { APIError } from "vector-framework";
|
|
417
439
|
|
|
418
440
|
// Basic errors
|
|
419
441
|
APIError.badRequest("Invalid input"); // 400
|
package/dist/cache/manager.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CacheHandler, DefaultVectorTypes, GetCacheType, VectorTypes } from
|
|
1
|
+
import type { CacheHandler, DefaultVectorTypes, GetCacheType, VectorTypes } from "../types";
|
|
2
2
|
export declare class CacheManager<TTypes extends VectorTypes = DefaultVectorTypes> {
|
|
3
3
|
private cacheHandler;
|
|
4
4
|
private memoryCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAOlB,qBAAa,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB;IACvE,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,eAAe,CAAsB;IAE7C,eAAe,CAAC,OAAO,EAAE,YAAY;IAI/B,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,GAAG,GAAE,MAAiC,GACrC,OAAO,CAAC,CAAC,CAAC;YAYC,kBAAkB;IAkBhC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IActB,KAAK,IAAI,IAAI;IAQP,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,GAAG,GAAE,MAAiC,GACrC,OAAO,CAAC,IAAI,CAAC;IAchB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAYzB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM;CAWpE"}
|
package/dist/cache/manager.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_CONFIG } from
|
|
1
|
+
import { DEFAULT_CONFIG } from "../constants";
|
|
2
2
|
export class CacheManager {
|
|
3
3
|
cacheHandler = null;
|
|
4
4
|
memoryCache = new Map();
|
|
@@ -85,8 +85,13 @@ export class CacheManager {
|
|
|
85
85
|
}
|
|
86
86
|
generateKey(request, options) {
|
|
87
87
|
const url = new URL(request.url);
|
|
88
|
-
const parts = [
|
|
89
|
-
|
|
88
|
+
const parts = [
|
|
89
|
+
request.method,
|
|
90
|
+
url.pathname,
|
|
91
|
+
url.search,
|
|
92
|
+
options?.authUser?.id || "anonymous",
|
|
93
|
+
];
|
|
94
|
+
return parts.join(":");
|
|
90
95
|
}
|
|
91
96
|
}
|
|
92
97
|
//# sourceMappingURL=manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
2
|
+
import { watch } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { parseArgs } from "node:util";
|
|
5
|
+
import vector from "../core/vector";
|
|
5
6
|
const { values, positionals } = parseArgs({
|
|
6
7
|
args: Bun.argv.slice(2),
|
|
7
8
|
options: {
|
|
8
9
|
port: {
|
|
9
|
-
type:
|
|
10
|
-
short:
|
|
11
|
-
default:
|
|
10
|
+
type: "string",
|
|
11
|
+
short: "p",
|
|
12
|
+
default: "3000",
|
|
12
13
|
},
|
|
13
14
|
host: {
|
|
14
|
-
type:
|
|
15
|
-
short:
|
|
16
|
-
default:
|
|
15
|
+
type: "string",
|
|
16
|
+
short: "h",
|
|
17
|
+
default: "localhost",
|
|
17
18
|
},
|
|
18
19
|
routes: {
|
|
19
|
-
type:
|
|
20
|
-
short:
|
|
21
|
-
default:
|
|
20
|
+
type: "string",
|
|
21
|
+
short: "r",
|
|
22
|
+
default: "./routes",
|
|
22
23
|
},
|
|
23
24
|
watch: {
|
|
24
|
-
type:
|
|
25
|
-
short:
|
|
25
|
+
type: "boolean",
|
|
26
|
+
short: "w",
|
|
26
27
|
default: true,
|
|
27
28
|
},
|
|
28
29
|
cors: {
|
|
29
|
-
type:
|
|
30
|
+
type: "boolean",
|
|
30
31
|
default: true,
|
|
31
32
|
},
|
|
32
33
|
},
|
|
33
34
|
strict: true,
|
|
34
35
|
allowPositionals: true,
|
|
35
36
|
});
|
|
36
|
-
const command = positionals[0] ||
|
|
37
|
+
const command = positionals[0] || "dev";
|
|
37
38
|
async function runDev() {
|
|
38
|
-
const isDev = command ===
|
|
39
|
-
console.log(`\n→ Starting Vector ${isDev ?
|
|
39
|
+
const isDev = command === "dev";
|
|
40
|
+
console.log(`\n→ Starting Vector ${isDev ? "development" : "production"} server\n`);
|
|
40
41
|
const config = {
|
|
41
42
|
port: Number.parseInt(values.port),
|
|
42
43
|
hostname: values.host,
|
|
@@ -45,79 +46,107 @@ async function runDev() {
|
|
|
45
46
|
autoDiscover: true,
|
|
46
47
|
cors: values.cors
|
|
47
48
|
? {
|
|
48
|
-
origin:
|
|
49
|
+
origin: "*",
|
|
49
50
|
credentials: true,
|
|
50
|
-
allowHeaders:
|
|
51
|
-
allowMethods:
|
|
52
|
-
exposeHeaders:
|
|
51
|
+
allowHeaders: "Content-Type, Authorization",
|
|
52
|
+
allowMethods: "GET, POST, PUT, PATCH, DELETE, OPTIONS",
|
|
53
|
+
exposeHeaders: "Authorization",
|
|
53
54
|
maxAge: 86400,
|
|
54
55
|
}
|
|
55
56
|
: undefined,
|
|
56
57
|
};
|
|
57
58
|
try {
|
|
58
|
-
const userConfigPath = join(process.cwd(),
|
|
59
|
+
const userConfigPath = join(process.cwd(), "vector.config.ts");
|
|
59
60
|
try {
|
|
60
61
|
const userConfig = await import(userConfigPath);
|
|
61
62
|
if (userConfig.default) {
|
|
62
|
-
|
|
63
|
+
// Properly merge config, preserving middleware arrays
|
|
64
|
+
const { before, finally: finallyMiddleware, ...otherConfig } = userConfig.default;
|
|
65
|
+
// Merge non-middleware config
|
|
66
|
+
Object.assign(config, otherConfig);
|
|
67
|
+
// Handle middleware arrays properly - these need to be set after Object.assign
|
|
68
|
+
// to avoid being overwritten
|
|
69
|
+
if (before) {
|
|
70
|
+
config.before = before;
|
|
71
|
+
}
|
|
72
|
+
if (finallyMiddleware) {
|
|
73
|
+
config.finally = finallyMiddleware;
|
|
74
|
+
}
|
|
63
75
|
}
|
|
64
76
|
}
|
|
65
77
|
catch {
|
|
66
78
|
// No user config file, use defaults
|
|
67
79
|
}
|
|
68
80
|
await vector.serve(config);
|
|
69
|
-
const gray =
|
|
70
|
-
const reset =
|
|
71
|
-
const cyan =
|
|
72
|
-
const green =
|
|
81
|
+
const gray = "\x1b[90m";
|
|
82
|
+
const reset = "\x1b[0m";
|
|
83
|
+
const cyan = "\x1b[36m";
|
|
84
|
+
const green = "\x1b[32m";
|
|
73
85
|
console.log(` ${gray}Routes${reset} ${config.routesDir}`);
|
|
74
86
|
if (isDev && values.watch) {
|
|
75
|
-
console.log(` ${gray}Watching${reset}
|
|
87
|
+
console.log(` ${gray}Watching${reset} All project files`);
|
|
88
|
+
try {
|
|
89
|
+
// Watch entire project directory for changes
|
|
90
|
+
watch(process.cwd(), { recursive: true }, async (_, filename) => {
|
|
91
|
+
if (filename &&
|
|
92
|
+
(filename.endsWith(".ts") ||
|
|
93
|
+
filename.endsWith(".js") ||
|
|
94
|
+
filename.endsWith(".json"))) {
|
|
95
|
+
console.log(`\n 🔄 File changed: ${filename}`);
|
|
96
|
+
console.log(" 🔄 Restarting server...\n");
|
|
97
|
+
// Exit the current process, which will trigger a restart if using --watch flag
|
|
98
|
+
process.exit(0);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
console.warn(" ⚠️ File watching not available");
|
|
104
|
+
}
|
|
76
105
|
}
|
|
77
|
-
console.log(` ${gray}CORS${reset} ${values.cors ?
|
|
78
|
-
console.log(` ${gray}Mode${reset} ${isDev ?
|
|
106
|
+
console.log(` ${gray}CORS${reset} ${values.cors ? "Enabled" : "Disabled"}`);
|
|
107
|
+
console.log(` ${gray}Mode${reset} ${isDev ? "Development" : "Production"}\n`);
|
|
79
108
|
console.log(` ${green}Ready${reset} → ${cyan}http://${config.hostname}:${config.port}${reset}\n`);
|
|
80
109
|
}
|
|
81
110
|
catch (error) {
|
|
82
|
-
console.error(
|
|
111
|
+
console.error("[ERROR] Failed to start server:", error);
|
|
83
112
|
process.exit(1);
|
|
84
113
|
}
|
|
85
114
|
}
|
|
86
115
|
async function runBuild() {
|
|
87
|
-
console.log(
|
|
116
|
+
console.log("\n→ Building Vector application\n");
|
|
88
117
|
try {
|
|
89
|
-
const { RouteScanner } = await import(
|
|
90
|
-
const { RouteGenerator } = await import(
|
|
118
|
+
const { RouteScanner } = await import("../dev/route-scanner");
|
|
119
|
+
const { RouteGenerator } = await import("../dev/route-generator");
|
|
91
120
|
const scanner = new RouteScanner(values.routes);
|
|
92
121
|
const generator = new RouteGenerator();
|
|
93
122
|
const routes = await scanner.scan();
|
|
94
123
|
await generator.generate(routes);
|
|
95
124
|
console.log(` Generated ${routes.length} routes`);
|
|
96
125
|
const buildProcess = Bun.spawn([
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
126
|
+
"bun",
|
|
127
|
+
"build",
|
|
128
|
+
"src/index.ts",
|
|
129
|
+
"--outdir",
|
|
130
|
+
"dist",
|
|
131
|
+
"--minify",
|
|
103
132
|
]);
|
|
104
133
|
await buildProcess.exited;
|
|
105
|
-
console.log(
|
|
134
|
+
console.log("\n ✓ Build complete\n");
|
|
106
135
|
}
|
|
107
136
|
catch (error) {
|
|
108
|
-
console.error(
|
|
137
|
+
console.error("[ERROR] Build failed:", error);
|
|
109
138
|
process.exit(1);
|
|
110
139
|
}
|
|
111
140
|
}
|
|
112
141
|
switch (command) {
|
|
113
|
-
case
|
|
142
|
+
case "dev":
|
|
114
143
|
await runDev();
|
|
115
144
|
break;
|
|
116
|
-
case
|
|
145
|
+
case "build":
|
|
117
146
|
await runBuild();
|
|
118
147
|
break;
|
|
119
|
-
case
|
|
120
|
-
process.env.NODE_ENV =
|
|
148
|
+
case "start":
|
|
149
|
+
process.env.NODE_ENV = "production";
|
|
121
150
|
await runDev();
|
|
122
151
|
break;
|
|
123
152
|
default:
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAEpC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,MAAM;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,WAAW;SACrB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,UAAU;SACpB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,IAAI;SACd;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;KACF;IACD,MAAM,EAAE,IAAI;IACZ,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAExC,KAAK,UAAU,MAAM;IACnB,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,CAAC;IAChC,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EAEZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,qBAAa,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB;IACvE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAoB;gBAGhC,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC5C,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;IAOpC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;IAInB,UAAU,IAAI,IAAI;IAYlB,OAAO,CAAC,WAAW;IAKnB,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,UAAU;IAc/E,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EAEZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,qBAAa,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB;IACvE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAoB;gBAGhC,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC5C,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;IAOpC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;IAInB,UAAU,IAAI,IAAI;IAYlB,OAAO,CAAC,WAAW;IAKnB,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,UAAU;IAc/E,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,WAAW;IA6GnB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAK/B,SAAS,IAAI,UAAU,EAAE;IAInB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAyBlD"}
|
package/dist/core/router.js
CHANGED
|
@@ -101,7 +101,8 @@ export class VectorRouter {
|
|
|
101
101
|
}
|
|
102
102
|
request = vectorRequest;
|
|
103
103
|
try {
|
|
104
|
-
|
|
104
|
+
// Default expose to true if not specified
|
|
105
|
+
if (options.expose === false) {
|
|
105
106
|
return APIError.forbidden('Forbidden');
|
|
106
107
|
}
|
|
107
108
|
const beforeResult = await this.middlewareManager.executeBefore(request);
|
package/dist/core/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/core/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,MAAM,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO;IAWP,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC;IAO3E,IAAI,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAG9C;IAED,IAAI,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAE/C;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,EAG9B;IAED,IAAI,KAAK,IAAI,YAAY,GAAG,IAAI,CAE/B;IAED,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,UAAU;IAI/E,GAAG,CAAC,GAAG,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI;IAK3D,MAAM,CAAC,GAAG,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI;IAK9D,OAAO,CAAC,GAAG,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI;IAKxD,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/core/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,MAAM,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO;IAWP,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC;IAO3E,IAAI,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAG9C;IAED,IAAI,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAE/C;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,EAG9B;IAED,IAAI,KAAK,IAAI,YAAY,GAAG,IAAI,CAE/B;IAED,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,UAAU;IAI/E,GAAG,CAAC,GAAG,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI;IAK3D,MAAM,CAAC,GAAG,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI;IAK9D,OAAO,CAAC,GAAG,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI;IAKxD,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAqB7C,cAAc;IAuDtB,SAAS,CAAC,WAAW,EAAE,GAAG;IAkBhC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAQtB,IAAI,IAAI,IAAI;IAOZ,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI;IAIxC,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC;IAIjC,eAAe,IAAI,YAAY,CAAC,MAAM,CAAC;IAIvC,cAAc,IAAI,WAAW,CAAC,MAAM,CAAC;CAGtC;AAED,QAAA,MAAM,MAAM,4BAAuB,CAAC;AAEpC,eAAe,MAAM,CAAC"}
|
package/dist/core/vector.js
CHANGED
|
@@ -71,11 +71,6 @@ export class Vector {
|
|
|
71
71
|
}
|
|
72
72
|
this.server = new VectorServer(this.router, this.config);
|
|
73
73
|
const bunServer = await this.server.start();
|
|
74
|
-
if (this.config.development && this.routeScanner) {
|
|
75
|
-
this.routeScanner.enableWatch(async () => {
|
|
76
|
-
await this.discoverRoutes();
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
74
|
return bunServer;
|
|
80
75
|
}
|
|
81
76
|
async discoverRoutes() {
|
|
@@ -121,7 +116,7 @@ export class Vector {
|
|
|
121
116
|
}
|
|
122
117
|
}
|
|
123
118
|
catch (error) {
|
|
124
|
-
if (error.code !== 'ENOENT') {
|
|
119
|
+
if (error.code !== 'ENOENT' && error.code !== 'ENOTDIR') {
|
|
125
120
|
console.error('Failed to discover routes:', error);
|
|
126
121
|
}
|
|
127
122
|
}
|
package/dist/core/vector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/core/vector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/core/vector.ts"],"names":[],"mappings":"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"}
|