vector-framework 0.9.9 → 1.1.1

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.
Files changed (54) hide show
  1. package/README.md +6 -5
  2. package/dist/cache/manager.d.ts +5 -2
  3. package/dist/cache/manager.d.ts.map +1 -1
  4. package/dist/cache/manager.js +21 -7
  5. package/dist/cache/manager.js.map +1 -1
  6. package/dist/cli/index.js +76 -98
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli.js +134 -69
  9. package/dist/core/config-loader.d.ts +2 -2
  10. package/dist/core/config-loader.d.ts.map +1 -1
  11. package/dist/core/config-loader.js +16 -21
  12. package/dist/core/config-loader.js.map +1 -1
  13. package/dist/core/router.d.ts +2 -0
  14. package/dist/core/router.d.ts.map +1 -1
  15. package/dist/core/router.js +52 -16
  16. package/dist/core/router.js.map +1 -1
  17. package/dist/core/server.d.ts +4 -3
  18. package/dist/core/server.d.ts.map +1 -1
  19. package/dist/core/server.js +40 -20
  20. package/dist/core/server.js.map +1 -1
  21. package/dist/core/vector.d.ts +7 -7
  22. package/dist/core/vector.d.ts.map +1 -1
  23. package/dist/core/vector.js +20 -21
  24. package/dist/core/vector.js.map +1 -1
  25. package/dist/dev/route-scanner.d.ts +1 -1
  26. package/dist/dev/route-scanner.d.ts.map +1 -1
  27. package/dist/dev/route-scanner.js +40 -42
  28. package/dist/dev/route-scanner.js.map +1 -1
  29. package/dist/http.d.ts +2 -2
  30. package/dist/http.d.ts.map +1 -1
  31. package/dist/http.js +70 -63
  32. package/dist/http.js.map +1 -1
  33. package/dist/index.d.ts +3 -3
  34. package/dist/index.js +4 -4
  35. package/dist/index.mjs +4 -4
  36. package/dist/middleware/manager.d.ts +1 -1
  37. package/dist/middleware/manager.d.ts.map +1 -1
  38. package/dist/middleware/manager.js.map +1 -1
  39. package/dist/utils/path.d.ts +1 -0
  40. package/dist/utils/path.d.ts.map +1 -1
  41. package/dist/utils/path.js +9 -3
  42. package/dist/utils/path.js.map +1 -1
  43. package/package.json +14 -9
  44. package/src/cache/manager.ts +23 -14
  45. package/src/cli/index.ts +83 -117
  46. package/src/core/config-loader.ts +19 -27
  47. package/src/core/router.ts +52 -18
  48. package/src/core/server.ts +43 -30
  49. package/src/core/vector.ts +25 -35
  50. package/src/dev/route-scanner.ts +41 -47
  51. package/src/http.ts +82 -112
  52. package/src/index.ts +3 -3
  53. package/src/middleware/manager.ts +4 -11
  54. package/src/utils/path.ts +13 -4
@@ -1,29 +1,28 @@
1
- import { existsSync, promises as fs } from "node:fs";
2
- import { join, relative, resolve, sep } from "node:path";
1
+ import { existsSync, promises as fs } from 'node:fs';
2
+ import { join, relative, resolve, sep } from 'node:path';
3
3
  export class RouteScanner {
4
4
  routesDir;
5
5
  excludePatterns;
6
6
  static DEFAULT_EXCLUDE_PATTERNS = [
7
- "*.test.ts",
8
- "*.test.js",
9
- "*.test.tsx",
10
- "*.test.jsx",
11
- "*.spec.ts",
12
- "*.spec.js",
13
- "*.spec.tsx",
14
- "*.spec.jsx",
15
- "*.tests.ts",
16
- "*.tests.js",
17
- "**/__tests__/**",
18
- "*.interface.ts",
19
- "*.type.ts",
20
- "*.d.ts",
7
+ '*.test.ts',
8
+ '*.test.js',
9
+ '*.test.tsx',
10
+ '*.test.jsx',
11
+ '*.spec.ts',
12
+ '*.spec.js',
13
+ '*.spec.tsx',
14
+ '*.spec.jsx',
15
+ '*.tests.ts',
16
+ '*.tests.js',
17
+ '**/__tests__/**',
18
+ '*.interface.ts',
19
+ '*.type.ts',
20
+ '*.d.ts',
21
21
  ];
22
- constructor(routesDir = "./routes", excludePatterns) {
22
+ constructor(routesDir = './routes', excludePatterns) {
23
23
  // Always resolve from the current working directory (user's project)
24
24
  this.routesDir = resolve(process.cwd(), routesDir);
25
- this.excludePatterns =
26
- excludePatterns || RouteScanner.DEFAULT_EXCLUDE_PATTERNS;
25
+ this.excludePatterns = excludePatterns || RouteScanner.DEFAULT_EXCLUDE_PATTERNS;
27
26
  }
28
27
  async scan() {
29
28
  const routes = [];
@@ -35,7 +34,7 @@ export class RouteScanner {
35
34
  await this.scanDirectory(this.routesDir, routes);
36
35
  }
37
36
  catch (error) {
38
- if (error.code === "ENOENT") {
37
+ if (error.code === 'ENOENT') {
39
38
  console.warn(` ✗ Routes directory not accessible: ${this.routesDir}`);
40
39
  return [];
41
40
  }
@@ -48,20 +47,21 @@ export class RouteScanner {
48
47
  for (const pattern of this.excludePatterns) {
49
48
  // Convert glob pattern to regex
50
49
  const regexPattern = pattern
51
- .replace(/\./g, "\\.") // Escape dots
52
- .replace(/\*/g, "[^/]*") // * matches anything except /
53
- .replace(/\*\*/g, ".*") // ** matches anything including /
54
- .replace(/\?/g, "."); // ? matches single character
50
+ .replace(/\./g, '\\.') // Escape dots
51
+ .replace(/\*\*/g, '__GLOBSTAR__') // protect ** before * replacement
52
+ .replace(/\*/g, '[^/]*') // * matches anything except /
53
+ .replace(/__GLOBSTAR__/g, '.*') // ** matches anything including /
54
+ .replace(/\?/g, '.'); // ? matches single character
55
55
  const regex = new RegExp(`^${regexPattern}$`);
56
56
  // Check both the full relative path and just the filename
57
- const filename = relativePath.split(sep).pop() || "";
57
+ const filename = relativePath.split(sep).pop() || '';
58
58
  if (regex.test(relativePath) || regex.test(filename)) {
59
59
  return true;
60
60
  }
61
61
  }
62
62
  return false;
63
63
  }
64
- async scanDirectory(dir, routes, basePath = "") {
64
+ async scanDirectory(dir, routes, basePath = '') {
65
65
  const entries = await fs.readdir(dir);
66
66
  for (const entry of entries) {
67
67
  const fullPath = join(dir, entry);
@@ -70,42 +70,40 @@ export class RouteScanner {
70
70
  const newBasePath = basePath ? `${basePath}/${entry}` : entry;
71
71
  await this.scanDirectory(fullPath, routes, newBasePath);
72
72
  }
73
- else if (entry.endsWith(".ts") || entry.endsWith(".js")) {
73
+ else if (entry.endsWith('.ts') || entry.endsWith('.js')) {
74
74
  // Skip excluded files (test files, etc.)
75
75
  if (this.isExcluded(fullPath)) {
76
76
  continue;
77
77
  }
78
78
  const routePath = relative(this.routesDir, fullPath)
79
- .replace(/\.(ts|js)$/, "")
79
+ .replace(/\.(ts|js)$/, '')
80
80
  .split(sep)
81
- .join("/");
81
+ .join('/');
82
82
  try {
83
83
  // Convert Windows paths to URLs for import
84
- const importPath = process.platform === "win32"
85
- ? `file:///${fullPath.replace(/\\/g, "/")}`
86
- : fullPath;
84
+ const importPath = process.platform === 'win32' ? `file:///${fullPath.replace(/\\/g, '/')}` : fullPath;
87
85
  const module = await import(importPath);
88
- if (module.default && typeof module.default === "function") {
86
+ if (module.default && typeof module.default === 'function') {
89
87
  routes.push({
90
- name: "default",
88
+ name: 'default',
91
89
  path: fullPath,
92
- method: "GET",
90
+ method: 'GET',
93
91
  options: {
94
- method: "GET",
92
+ method: 'GET',
95
93
  path: `/${routePath}`,
96
94
  expose: true,
97
95
  },
98
96
  });
99
97
  }
100
98
  for (const [name, value] of Object.entries(module)) {
101
- if (name === "default")
99
+ if (name === 'default')
102
100
  continue;
103
101
  // Check for new RouteDefinition format
104
102
  if (value &&
105
- typeof value === "object" &&
106
- "entry" in value &&
107
- "options" in value &&
108
- "handler" in value) {
103
+ typeof value === 'object' &&
104
+ 'entry' in value &&
105
+ 'options' in value &&
106
+ 'handler' in value) {
109
107
  const routeDef = value;
110
108
  routes.push({
111
109
  name,
@@ -137,7 +135,7 @@ export class RouteScanner {
137
135
  }
138
136
  }
139
137
  enableWatch(callback) {
140
- if (typeof Bun !== "undefined" && Bun.env.NODE_ENV === "development") {
138
+ if (typeof Bun !== 'undefined' && Bun.env.NODE_ENV === 'development') {
141
139
  console.log(`Watching for route changes in ${this.routesDir}`);
142
140
  setInterval(async () => {
143
141
  await callback();
@@ -1 +1 @@
1
- {"version":3,"file":"route-scanner.js","sourceRoot":"","sources":["../../src/dev/route-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-scanner.js","sourceRoot":"","sources":["../../src/dev/route-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGzD,MAAM,OAAO,YAAY;IACf,SAAS,CAAS;IAClB,eAAe,CAAW;IAC1B,MAAM,CAAU,wBAAwB,GAAG;QACjD,WAAW;QACX,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,iBAAiB;QACjB,gBAAgB;QAChB,WAAW;QACX,QAAQ;KACT,CAAC;IAEF,YAAY,SAAS,GAAG,UAAU,EAAE,eAA0B;QAC5D,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,YAAY,CAAC,wBAAwB,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,6DAA6D;QAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,wCAAwC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAExD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,gCAAgC;YAChC,MAAM,YAAY,GAAG,OAAO;iBACzB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,cAAc;iBACpC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,kCAAkC;iBACnE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,8BAA8B;iBACtD,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,kCAAkC;iBACjE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,6BAA6B;YAErD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;YAE9C,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,MAAwB,EAAE,QAAQ,GAAG,EAAE;QAC9E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9D,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,yCAAyC;gBACzC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;qBACjD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBACzB,KAAK,CAAC,GAAG,CAAC;qBACV,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEb,IAAI,CAAC;oBACH,2CAA2C;oBAC3C,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAEtF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;oBAExC,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;wBAC3D,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,KAAK;4BACb,OAAO,EAAE;gCACP,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,IAAI,SAAS,EAAE;gCACrB,MAAM,EAAE,IAAI;6BACb;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnD,IAAI,IAAI,KAAK,SAAS;4BAAE,SAAS;wBAEjC,uCAAuC;wBACvC,IACE,KAAK;4BACL,OAAO,KAAK,KAAK,QAAQ;4BACzB,OAAO,IAAI,KAAK;4BAChB,SAAS,IAAI,KAAK;4BAClB,SAAS,IAAI,KAAK,EAClB,CAAC;4BACD,MAAM,QAAQ,GAAG,KAAY,CAAC;4BAC9B,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI;gCACJ,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAgB;gCACzC,OAAO,EAAE,QAAQ,CAAC,OAAO;6BAC1B,CAAC,CAAC;wBACL,CAAC;wBACD,mCAAmC;6BAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BACnD,MAAM,CAAC,MAAM,EAAE,AAAD,EAAG,AAAD,EAAG,IAAI,CAAC,GAAG,KAAK,CAAC;4BACjC,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI;gCACJ,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,MAAgB;gCACxB,OAAO,EAAE;oCACP,MAAM,EAAE,MAAgB;oCACxB,IAAI,EAAE,IAAc;oCACpB,MAAM,EAAE,IAAI;iCACb;6BACF,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CAAC,QAAoB;QAC9B,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAE/D,WAAW,CAAC,KAAK,IAAI,EAAE;gBACrB,MAAM,QAAQ,EAAE,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC"}
package/dist/http.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { type IRequest, type RouteEntry } from "itty-router";
2
- import type { CacheOptions, DefaultVectorTypes, GetAuthType, VectorRequest, VectorTypes } from "./types";
1
+ import { type IRequest, type RouteEntry } from 'itty-router';
2
+ import type { CacheOptions, DefaultVectorTypes, GetAuthType, VectorRequest, VectorTypes } from './types';
3
3
  export interface ProtectedRequest<TTypes extends VectorTypes = DefaultVectorTypes> extends IRequest {
4
4
  authUser?: GetAuthType<TTypes>;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEhF,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,gBAAgB,CAC/B,MAAM,SAAS,WAAW,GAAG,kBAAkB,CAC/C,SAAQ,QAAQ;IAChB,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAQ,SAAS,8CAAE,OAAO,qDAO/B,CAAC;AAEH,UAAU,kBAAmB,SAAQ,UAAU;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe,CAC9B,MAAM,SAAS,WAAW,GAAG,kBAAkB;IAE/C,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,wBAAgB,KAAK,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB,EACnE,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GACnD,eAAe,CAAC,MAAM,CAAC,CAwBzB;AAQD,QAAA,MAAM,WAAW;cACL,CAAC,QAAQ,CAAC,gBAAgB,MAAM;cAEhC,CAAC,QAAQ,CAAC,gBAAgB,MAAM;CAE3C,CAAC;AAiBF,eAAO,MAAM,QAAQ;6CAE6B,MAAM;+CAGH,MAAM;kDAGC,MAAM;4CAGnB,MAAM;2CAGP,MAAM;mDAGW,MAAM;gDAGb,MAAM;iDAGJ,MAAM;2CAGnB,MAAM;uCAGd,MAAM;iDAGe,MAAM;qDAGE,MAAM;kDAGX,MAAM;6CAGhB,MAAM;uDAKvC,MAAM;sDAG6C,MAAM;oDAGX,MAAM;4CAGpB,MAAM;qDAGU,MAAM;sDAGJ,MAAM;yCAGjC,MAAM;mDAGe,MAAM;2CAGtB,MAAM;kDAGQ,MAAM;uDAGI,MAAM;kDAGf,MAAM;8DAKjD,MAAM;6DAKN,MAAM;sDAI6C,MAAM;iDAGjB,MAAM;6CAGd,MAAM;qDAGU,MAAM;iDAGd,MAAM;0DAK9C,MAAM;wDAKN,MAAM;sDAG4C,MAAM;+CAGpB,MAAM;8CAGR,MAAM;gEAKxC,MAAM;kDAIoC,MAAM;oDAGD,MAAM;8CAGN,MAAM;yBAIhD,MAAM,OAAO,MAAM,gBAAgB,MAAM;CAE/D,CAAC;AAEF,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,OAAO,EACd,WAAW,GAAE,MAA2B,GACvC,QAAQ,CAOV;AAED,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,WAAW,GAAG,kBAAkB,EAE/C,SAAS,aAAa,CAAC,MAAM,CAAC,EAC9B,sBAAsB,MAAM,kBAsB7B,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,GAAG,CAAC,MAAM,SAAS,WAAW,GAAG,kBAAkB,EACjE,OAAO,EAAE,UAAU,EACnB,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,IAY1C,SAAS,QAAQ,sBAgChC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -1,25 +1,20 @@
1
- import { cors, withContent } from "itty-router";
2
- import { CONTENT_TYPES, HTTP_STATUS } from "./constants";
3
- import { getVectorInstance } from "./core/vector";
1
+ import { cors, withContent } from 'itty-router';
2
+ import { buildRouteRegex } from './utils/path';
3
+ import { CONTENT_TYPES, HTTP_STATUS } from './constants';
4
+ import { getVectorInstance } from './core/vector';
4
5
  export const { preflight, corsify } = cors({
5
- origin: "*",
6
+ origin: '*',
6
7
  credentials: true,
7
- allowHeaders: "Content-Type, Authorization",
8
- allowMethods: "GET, POST, PUT, PATCH, DELETE, OPTIONS",
9
- exposeHeaders: "Authorization",
8
+ allowHeaders: 'Content-Type, Authorization',
9
+ allowMethods: 'GET, POST, PUT, PATCH, DELETE, OPTIONS',
10
+ exposeHeaders: 'Authorization',
10
11
  maxAge: 86_400,
11
12
  });
12
13
  export function route(options, fn) {
13
14
  const handler = api(options, fn);
14
15
  const entry = [
15
16
  options.method.toUpperCase(),
16
- RegExp(`^${options.path
17
- .replace(/\/+(\/|$)/g, "$1") // strip double & trailing splash
18
- .replace(/(\/?\.?):(\w+)\+/g, "($1(?<$2>*))") // greedy params
19
- .replace(/(\/?\.?):(\w+)/g, "($1(?<$2>[^$1/]+?))") // named params and image format
20
- .replace(/\./g, "\\.") // dot in path
21
- .replace(/(\/?)\*/g, "($1.*)?") // wildcard
22
- }/*$`),
17
+ buildRouteRegex(options.path),
23
18
  [handler],
24
19
  options.path,
25
20
  ];
@@ -29,8 +24,22 @@ export function route(options, fn) {
29
24
  handler: fn,
30
25
  };
31
26
  }
27
+ function hasBigInt(value, depth = 0) {
28
+ if (typeof value === 'bigint')
29
+ return true;
30
+ if (depth > 4 || value === null || typeof value !== 'object')
31
+ return false;
32
+ for (const v of Object.values(value)) {
33
+ if (hasBigInt(v, depth + 1))
34
+ return true;
35
+ }
36
+ return false;
37
+ }
32
38
  function stringifyData(data) {
33
- return JSON.stringify(data ?? null, (_key, value) => typeof value === "bigint" ? value.toString() : value);
39
+ const val = data ?? null;
40
+ if (!hasBigInt(val))
41
+ return JSON.stringify(val);
42
+ return JSON.stringify(val, (_key, value) => typeof value === 'bigint' ? value.toString() : value);
34
43
  }
35
44
  const ApiResponse = {
36
45
  success: (data, contentType) => createResponse(HTTP_STATUS.OK, data, contentType),
@@ -47,50 +56,50 @@ function createErrorResponse(code, message, contentType) {
47
56
  }
48
57
  export const APIError = {
49
58
  // 4xx Client Errors
50
- badRequest: (msg = "Bad Request", contentType) => createErrorResponse(HTTP_STATUS.BAD_REQUEST, msg, contentType),
51
- unauthorized: (msg = "Unauthorized", contentType) => createErrorResponse(HTTP_STATUS.UNAUTHORIZED, msg, contentType),
52
- paymentRequired: (msg = "Payment Required", contentType) => createErrorResponse(402, msg, contentType),
53
- forbidden: (msg = "Forbidden", contentType) => createErrorResponse(HTTP_STATUS.FORBIDDEN, msg, contentType),
54
- notFound: (msg = "Not Found", contentType) => createErrorResponse(HTTP_STATUS.NOT_FOUND, msg, contentType),
55
- methodNotAllowed: (msg = "Method Not Allowed", contentType) => createErrorResponse(405, msg, contentType),
56
- notAcceptable: (msg = "Not Acceptable", contentType) => createErrorResponse(406, msg, contentType),
57
- requestTimeout: (msg = "Request Timeout", contentType) => createErrorResponse(408, msg, contentType),
58
- conflict: (msg = "Conflict", contentType) => createErrorResponse(HTTP_STATUS.CONFLICT, msg, contentType),
59
- gone: (msg = "Gone", contentType) => createErrorResponse(410, msg, contentType),
60
- lengthRequired: (msg = "Length Required", contentType) => createErrorResponse(411, msg, contentType),
61
- preconditionFailed: (msg = "Precondition Failed", contentType) => createErrorResponse(412, msg, contentType),
62
- payloadTooLarge: (msg = "Payload Too Large", contentType) => createErrorResponse(413, msg, contentType),
63
- uriTooLong: (msg = "URI Too Long", contentType) => createErrorResponse(414, msg, contentType),
64
- unsupportedMediaType: (msg = "Unsupported Media Type", contentType) => createErrorResponse(415, msg, contentType),
65
- rangeNotSatisfiable: (msg = "Range Not Satisfiable", contentType) => createErrorResponse(416, msg, contentType),
66
- expectationFailed: (msg = "Expectation Failed", contentType) => createErrorResponse(417, msg, contentType),
59
+ badRequest: (msg = 'Bad Request', contentType) => createErrorResponse(HTTP_STATUS.BAD_REQUEST, msg, contentType),
60
+ unauthorized: (msg = 'Unauthorized', contentType) => createErrorResponse(HTTP_STATUS.UNAUTHORIZED, msg, contentType),
61
+ paymentRequired: (msg = 'Payment Required', contentType) => createErrorResponse(402, msg, contentType),
62
+ forbidden: (msg = 'Forbidden', contentType) => createErrorResponse(HTTP_STATUS.FORBIDDEN, msg, contentType),
63
+ notFound: (msg = 'Not Found', contentType) => createErrorResponse(HTTP_STATUS.NOT_FOUND, msg, contentType),
64
+ methodNotAllowed: (msg = 'Method Not Allowed', contentType) => createErrorResponse(405, msg, contentType),
65
+ notAcceptable: (msg = 'Not Acceptable', contentType) => createErrorResponse(406, msg, contentType),
66
+ requestTimeout: (msg = 'Request Timeout', contentType) => createErrorResponse(408, msg, contentType),
67
+ conflict: (msg = 'Conflict', contentType) => createErrorResponse(HTTP_STATUS.CONFLICT, msg, contentType),
68
+ gone: (msg = 'Gone', contentType) => createErrorResponse(410, msg, contentType),
69
+ lengthRequired: (msg = 'Length Required', contentType) => createErrorResponse(411, msg, contentType),
70
+ preconditionFailed: (msg = 'Precondition Failed', contentType) => createErrorResponse(412, msg, contentType),
71
+ payloadTooLarge: (msg = 'Payload Too Large', contentType) => createErrorResponse(413, msg, contentType),
72
+ uriTooLong: (msg = 'URI Too Long', contentType) => createErrorResponse(414, msg, contentType),
73
+ unsupportedMediaType: (msg = 'Unsupported Media Type', contentType) => createErrorResponse(415, msg, contentType),
74
+ rangeNotSatisfiable: (msg = 'Range Not Satisfiable', contentType) => createErrorResponse(416, msg, contentType),
75
+ expectationFailed: (msg = 'Expectation Failed', contentType) => createErrorResponse(417, msg, contentType),
67
76
  imATeapot: (msg = "I'm a teapot", contentType) => createErrorResponse(418, msg, contentType),
68
- misdirectedRequest: (msg = "Misdirected Request", contentType) => createErrorResponse(421, msg, contentType),
69
- unprocessableEntity: (msg = "Unprocessable Entity", contentType) => createErrorResponse(HTTP_STATUS.UNPROCESSABLE_ENTITY, msg, contentType),
70
- locked: (msg = "Locked", contentType) => createErrorResponse(423, msg, contentType),
71
- failedDependency: (msg = "Failed Dependency", contentType) => createErrorResponse(424, msg, contentType),
72
- tooEarly: (msg = "Too Early", contentType) => createErrorResponse(425, msg, contentType),
73
- upgradeRequired: (msg = "Upgrade Required", contentType) => createErrorResponse(426, msg, contentType),
74
- preconditionRequired: (msg = "Precondition Required", contentType) => createErrorResponse(428, msg, contentType),
75
- tooManyRequests: (msg = "Too Many Requests", contentType) => createErrorResponse(429, msg, contentType),
76
- requestHeaderFieldsTooLarge: (msg = "Request Header Fields Too Large", contentType) => createErrorResponse(431, msg, contentType),
77
- unavailableForLegalReasons: (msg = "Unavailable For Legal Reasons", contentType) => createErrorResponse(451, msg, contentType),
77
+ misdirectedRequest: (msg = 'Misdirected Request', contentType) => createErrorResponse(421, msg, contentType),
78
+ unprocessableEntity: (msg = 'Unprocessable Entity', contentType) => createErrorResponse(HTTP_STATUS.UNPROCESSABLE_ENTITY, msg, contentType),
79
+ locked: (msg = 'Locked', contentType) => createErrorResponse(423, msg, contentType),
80
+ failedDependency: (msg = 'Failed Dependency', contentType) => createErrorResponse(424, msg, contentType),
81
+ tooEarly: (msg = 'Too Early', contentType) => createErrorResponse(425, msg, contentType),
82
+ upgradeRequired: (msg = 'Upgrade Required', contentType) => createErrorResponse(426, msg, contentType),
83
+ preconditionRequired: (msg = 'Precondition Required', contentType) => createErrorResponse(428, msg, contentType),
84
+ tooManyRequests: (msg = 'Too Many Requests', contentType) => createErrorResponse(429, msg, contentType),
85
+ requestHeaderFieldsTooLarge: (msg = 'Request Header Fields Too Large', contentType) => createErrorResponse(431, msg, contentType),
86
+ unavailableForLegalReasons: (msg = 'Unavailable For Legal Reasons', contentType) => createErrorResponse(451, msg, contentType),
78
87
  // 5xx Server Errors
79
- internalServerError: (msg = "Internal Server Error", contentType) => createErrorResponse(HTTP_STATUS.INTERNAL_SERVER_ERROR, msg, contentType),
80
- notImplemented: (msg = "Not Implemented", contentType) => createErrorResponse(501, msg, contentType),
81
- badGateway: (msg = "Bad Gateway", contentType) => createErrorResponse(502, msg, contentType),
82
- serviceUnavailable: (msg = "Service Unavailable", contentType) => createErrorResponse(503, msg, contentType),
83
- gatewayTimeout: (msg = "Gateway Timeout", contentType) => createErrorResponse(504, msg, contentType),
84
- httpVersionNotSupported: (msg = "HTTP Version Not Supported", contentType) => createErrorResponse(505, msg, contentType),
85
- variantAlsoNegotiates: (msg = "Variant Also Negotiates", contentType) => createErrorResponse(506, msg, contentType),
86
- insufficientStorage: (msg = "Insufficient Storage", contentType) => createErrorResponse(507, msg, contentType),
87
- loopDetected: (msg = "Loop Detected", contentType) => createErrorResponse(508, msg, contentType),
88
- notExtended: (msg = "Not Extended", contentType) => createErrorResponse(510, msg, contentType),
89
- networkAuthenticationRequired: (msg = "Network Authentication Required", contentType) => createErrorResponse(511, msg, contentType),
88
+ internalServerError: (msg = 'Internal Server Error', contentType) => createErrorResponse(HTTP_STATUS.INTERNAL_SERVER_ERROR, msg, contentType),
89
+ notImplemented: (msg = 'Not Implemented', contentType) => createErrorResponse(501, msg, contentType),
90
+ badGateway: (msg = 'Bad Gateway', contentType) => createErrorResponse(502, msg, contentType),
91
+ serviceUnavailable: (msg = 'Service Unavailable', contentType) => createErrorResponse(503, msg, contentType),
92
+ gatewayTimeout: (msg = 'Gateway Timeout', contentType) => createErrorResponse(504, msg, contentType),
93
+ httpVersionNotSupported: (msg = 'HTTP Version Not Supported', contentType) => createErrorResponse(505, msg, contentType),
94
+ variantAlsoNegotiates: (msg = 'Variant Also Negotiates', contentType) => createErrorResponse(506, msg, contentType),
95
+ insufficientStorage: (msg = 'Insufficient Storage', contentType) => createErrorResponse(507, msg, contentType),
96
+ loopDetected: (msg = 'Loop Detected', contentType) => createErrorResponse(508, msg, contentType),
97
+ notExtended: (msg = 'Not Extended', contentType) => createErrorResponse(510, msg, contentType),
98
+ networkAuthenticationRequired: (msg = 'Network Authentication Required', contentType) => createErrorResponse(511, msg, contentType),
90
99
  // Aliases for common use cases
91
- invalidArgument: (msg = "Invalid Argument", contentType) => createErrorResponse(HTTP_STATUS.UNPROCESSABLE_ENTITY, msg, contentType),
92
- rateLimitExceeded: (msg = "Rate Limit Exceeded", contentType) => createErrorResponse(429, msg, contentType),
93
- maintenance: (msg = "Service Under Maintenance", contentType) => createErrorResponse(503, msg, contentType),
100
+ invalidArgument: (msg = 'Invalid Argument', contentType) => createErrorResponse(HTTP_STATUS.UNPROCESSABLE_ENTITY, msg, contentType),
101
+ rateLimitExceeded: (msg = 'Rate Limit Exceeded', contentType) => createErrorResponse(429, msg, contentType),
102
+ maintenance: (msg = 'Service Under Maintenance', contentType) => createErrorResponse(503, msg, contentType),
94
103
  // Helper to create custom error with any status code
95
104
  custom: (statusCode, msg, contentType) => createErrorResponse(statusCode, msg, contentType),
96
105
  };
@@ -98,7 +107,7 @@ export function createResponse(statusCode, data, contentType = CONTENT_TYPES.JSO
98
107
  const body = contentType === CONTENT_TYPES.JSON ? stringifyData(data) : data;
99
108
  return new Response(body, {
100
109
  status: statusCode,
101
- headers: { "content-type": contentType },
110
+ headers: { 'content-type': contentType },
102
111
  });
103
112
  }
104
113
  export const protectedRoute = async (request, responseContentType) => {
@@ -106,14 +115,14 @@ export const protectedRoute = async (request, responseContentType) => {
106
115
  const vector = getVectorInstance();
107
116
  const protectedHandler = vector.getProtectedHandler();
108
117
  if (!protectedHandler) {
109
- throw APIError.unauthorized("Authentication not configured", responseContentType);
118
+ throw APIError.unauthorized('Authentication not configured', responseContentType);
110
119
  }
111
120
  try {
112
121
  const authUser = await protectedHandler(request);
113
122
  request.authUser = authUser;
114
123
  }
115
124
  catch (error) {
116
- throw APIError.unauthorized(error instanceof Error ? error.message : "Authentication failed", responseContentType);
125
+ throw APIError.unauthorized(error instanceof Error ? error.message : 'Authentication failed', responseContentType);
117
126
  }
118
127
  };
119
128
  export function api(options, fn) {
@@ -122,7 +131,7 @@ export function api(options, fn) {
122
131
  // This wrapper is only used when routes are NOT auto-discovered
123
132
  return async (request) => {
124
133
  if (!expose) {
125
- return APIError.forbidden("Forbidden");
134
+ return APIError.forbidden('Forbidden');
126
135
  }
127
136
  try {
128
137
  if (auth) {
@@ -133,9 +142,7 @@ export function api(options, fn) {
133
142
  }
134
143
  // Cache handling is now done in the router
135
144
  const result = await fn(request);
136
- return rawResponse
137
- ? result
138
- : ApiResponse.success(result, responseContentType);
145
+ return rawResponse ? result : ApiResponse.success(result, responseContentType);
139
146
  }
140
147
  catch (err) {
141
148
  // Ensure we return a Response object
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { route } from "./http";
1
+ import { route } from './http';
2
2
  export { route };
3
- export { APIError, createResponse } from "./http";
4
- export * from "./types";
3
+ export { APIError, createResponse } from './http';
4
+ export * from './types';
5
5
  //# sourceMappingURL=index.d.ts.map