koa-micro-ts 5.2.1 → 6.0.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.
package/README.md CHANGED
@@ -60,6 +60,52 @@ payloads, the generated API doc page is HTML-escaped and request stats can no
60
60
  longer grow memory unbounded. It also moves to koa 3 and Node 18+. Most apps
61
61
  run unchanged — see the breaking changes and the upgrade path below.
62
62
 
63
+ ## Version 6 - Breaking Changes
64
+
65
+ - Dependencies: `@koa/router` 15 (path-to-regexp 8)
66
+ - Wildcard routes (`exports.star`) now generate a **named** wildcard
67
+ `{/*path}` instead of a bare `/*`. A bare `*` is rejected by path-to-regexp 8
68
+ and threw on route registration (`Missing parameter name at index ...`)
69
+ - `star` is now a regular token like `detail`: it works for **every** method and
70
+ at any position in the export name (`post_star`, `put_detail_star`,
71
+ `delete_star`, …), so a path-based resource API can be expressed through
72
+ `autoRoute` alone — with API doc and automatic `jwt.middleware()`. Only export
73
+ names are affected: a `star` **directory** still maps to a literal `/star`
74
+ segment
75
+ - The matched remainder is no longer an unnamed index param: use
76
+ `ctx.params.path` instead of `ctx.params[0]`. It is `undefined` (not `''`)
77
+ when nothing follows the base, so default it when you post-process it
78
+
79
+ Before (v5):
80
+
81
+ ```ts
82
+ // routes/wikis/index.route.ts → GET /api/v1/wikis/*
83
+ exports.star = async (ctx: any, next: any) => {
84
+ const rest = ctx.params[0]; // 'pages/intro', '' at the base
85
+ ctx.body = { segments: rest.split('/') };
86
+ };
87
+ ```
88
+
89
+ After (v6):
90
+
91
+ ```ts
92
+ // routes/wikis/index.route.ts → GET /api/v1/wikis{/*path}
93
+ exports.star = async (ctx: any, next: any) => {
94
+ const rest = ctx.params.path ?? ''; // 'pages/intro', undefined at the base
95
+ ctx.body = { segments: rest.split('/') };
96
+ };
97
+ ```
98
+
99
+ Routes you register manually via `newRouter()`/`useRouter()` follow the same
100
+ rule: replace `router.get('/files/*', ...)` with
101
+ `router.get('/files{/*path}', ...)`.
102
+
103
+ - `autoRoute()` now logs a **warning** when it registers a route below an
104
+ already registered wildcard of the same method. That combination is a silent
105
+ authorization hole: a public wildcard swallows authenticated routes mounted
106
+ at the same prefix afterwards, so their `jwt.middleware()` never runs — see
107
+ [AUTOROUTES.md](docs/AUTOROUTES.md)
108
+
63
109
  ## Version 5 - Breaking Changes
64
110
 
65
111
  - Dependencies: koa 3
package/dist/autoRoute.js CHANGED
@@ -17,7 +17,7 @@ const heads = {
17
17
  list: { method: 'get' },
18
18
  get: { method: 'get', seg: 'get' },
19
19
  set: { method: 'get', seg: 'set' },
20
- star: { method: 'get', seg: '*' },
20
+ star: { method: 'get', seg: 'star' },
21
21
  detail: { method: 'get', seg: 'detail' },
22
22
  post: { method: 'post' },
23
23
  put: { method: 'put' },
@@ -42,6 +42,17 @@ const routeFromExport = (baseUrl, key) => {
42
42
  n += 1;
43
43
  return n === 1 ? '/:id' : `/:id${n}`;
44
44
  });
45
+ const baseStars = (baseUrl.replace(/\\/g, '/').match(/\/star(?=\/|$)/g) || []).length;
46
+ let seen = 0;
47
+ let w = 0;
48
+ url = url.replace(/\/star(?=\/|$)/g, (match) => {
49
+ seen += 1;
50
+ if (seen <= baseStars) {
51
+ return match;
52
+ }
53
+ w += 1;
54
+ return w === 1 ? '{/*path}' : `{/*path${w}}`;
55
+ });
45
56
  return { method: head.method, url };
46
57
  };
47
58
  exports.routeFromExport = routeFromExport;
@@ -62,15 +73,17 @@ const readdirSyncRecursive = (filePath, allFiles) => {
62
73
  catch (_a) { }
63
74
  };
64
75
  const autoRoute = async (app, routepath, mountpoint, auth) => {
65
- var _a, _b, _c, _d, _e;
76
+ var _a, _b, _c, _d, _e, _f, _g;
66
77
  mountpoint = mountpoint !== null && mountpoint !== void 0 ? mountpoint : '';
67
78
  auth = auth !== null && auth !== void 0 ? auth : false;
79
+ app.wildcardRoutes = (_a = app.wildcardRoutes) !== null && _a !== void 0 ? _a : [];
80
+ const shadowedBy = (method, url) => app.wildcardRoutes.find((w) => w.method === method && (url === w.prefix || url.startsWith(`${w.prefix}/`)));
68
81
  const routes = new router_1.default({
69
82
  prefix: mountpoint
70
83
  });
71
84
  const files = [];
72
85
  let docObj = app.apiDocObj;
73
- if (((_a = app === null || app === void 0 ? void 0 : app.log) === null || _a === void 0 ? void 0 : _a.level) && app.log.level === log_1.LogLevels.all) {
86
+ if (((_b = app === null || app === void 0 ? void 0 : app.log) === null || _b === void 0 ? void 0 : _b.level) && app.log.level === log_1.LogLevels.all) {
74
87
  app.log.note(`\n Auto-Install Routes: (${auth ? 'private/auth' : 'public'})\n Path: ${routepath}\n`, false, false);
75
88
  }
76
89
  readdirSyncRecursive(routepath, files);
@@ -85,7 +98,7 @@ const autoRoute = async (app, routepath, mountpoint, auth) => {
85
98
  }
86
99
  const reducedDocs = app.apiDoc ? (0, apiDoc_1.parseReducedDocs)(fileName) : {};
87
100
  const obj = await import(fileName);
88
- const docsMeta = obj._docs || ((_b = obj.default) === null || _b === void 0 ? void 0 : _b._docs) || {};
101
+ const docsMeta = obj._docs || ((_c = obj.default) === null || _c === void 0 ? void 0 : _c._docs) || {};
89
102
  let baseUrl = relfile;
90
103
  if (baseUrl.endsWith(routerSuffixJs)) {
91
104
  baseUrl = baseUrl.substring(0, baseUrl.length - routerSuffixJs.length);
@@ -107,17 +120,26 @@ const autoRoute = async (app, routepath, mountpoint, auth) => {
107
120
  routes[route.method](route.url, obj[key]);
108
121
  }
109
122
  if (app.apiDoc) {
110
- (0, apiDoc_1.autoDocEntry)(docObj, group, route.method, `${mountpoint}${route.url}`, auth, (_c = docsMeta[key]) !== null && _c !== void 0 ? _c : reducedDocs[key]);
123
+ (0, apiDoc_1.autoDocEntry)(docObj, group, route.method, `${mountpoint}${route.url}`, auth, (_d = docsMeta[key]) !== null && _d !== void 0 ? _d : reducedDocs[key]);
124
+ }
125
+ const fullUrl = `${mountpoint}${route.url}`;
126
+ const shadow = shadowedBy(route.method, fullUrl);
127
+ if (shadow) {
128
+ (_e = app === null || app === void 0 ? void 0 : app.log) === null || _e === void 0 ? void 0 : _e.warn(`autoRoute: ${route.method.toUpperCase()} ${fullUrl} is shadowed by the wildcard route ${shadow.url}${auth ? ' — its jwt auth will never run' : ''}`);
129
+ }
130
+ const terminalWildcard = /\{\/\*path\d*\}$/.exec(fullUrl);
131
+ if (terminalWildcard) {
132
+ app.wildcardRoutes.push({ method: route.method, url: fullUrl, prefix: fullUrl.slice(0, terminalWildcard.index) });
111
133
  }
112
- if (((_d = app === null || app === void 0 ? void 0 : app.log) === null || _d === void 0 ? void 0 : _d.level) && app.log.level === log_1.LogLevels.all) {
113
- app.log.note(` ${mountpoint}${route.url} --- ${route.method} - Function: ${key}`, false, false);
134
+ if (((_f = app === null || app === void 0 ? void 0 : app.log) === null || _f === void 0 ? void 0 : _f.level) && app.log.level === log_1.LogLevels.all) {
135
+ app.log.note(` ${fullUrl} --- ${route.method} - Function: ${key}`, false, false);
114
136
  }
115
137
  }
116
138
  }
117
139
  }
118
140
  }
119
141
  app.use(routes.routes()).use(routes.allowedMethods());
120
- if (((_e = app === null || app === void 0 ? void 0 : app.log) === null || _e === void 0 ? void 0 : _e.level) && app.log.level === log_1.LogLevels.all) {
142
+ if (((_g = app === null || app === void 0 ? void 0 : app.log) === null || _g === void 0 ? void 0 : _g.level) && app.log.level === log_1.LogLevels.all) {
121
143
  app.log.note('', false, false);
122
144
  }
123
145
  if (app.apiDoc) {
@@ -1 +1 @@
1
- {"version":3,"file":"autoRoute.js","sourceRoot":"","sources":["../src/autoRoute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoRoute.js","sourceRoot":"","sources":["../src/autoRoute.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koa-micro-ts",
3
- "version": "5.2.1",
3
+ "version": "6.0.1",
4
4
  "description": "Microservice Typescript Framework - based on koa",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -49,15 +49,15 @@
49
49
  "http-graceful-shutdown": "^4.0.0",
50
50
  "jsonwebtoken": "^9.0.3",
51
51
  "koa": "^3.2.1",
52
- "koa-body": "^8.0.0",
52
+ "koa-body": "^8.0.1",
53
53
  "koa-helmet": "^9.0.0",
54
54
  "koa-send": "^5.0.1"
55
55
  },
56
56
  "devDependencies": {
57
- "@biomejs/biome": "2.5.4",
57
+ "@biomejs/biome": "2.5.13",
58
58
  "@types/jsonwebtoken": "^9.0.10",
59
59
  "@types/koa": "^3.0.3",
60
- "@types/koa__router": "^12.0.5",
60
+ "@types/koa__router": "^15.0.0",
61
61
  "@types/koa-send": "^4.1.6",
62
62
  "@types/node": "^26.1.1"
63
63
  },