cors-whitelist-ip 1.0.0

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 (122) hide show
  1. package/README.md +284 -0
  2. package/dist/cjs/adapters/cache/InMemoryCacheAdapter.d.ts +19 -0
  3. package/dist/cjs/adapters/cache/InMemoryCacheAdapter.d.ts.map +1 -0
  4. package/dist/cjs/adapters/cache/InMemoryCacheAdapter.js +69 -0
  5. package/dist/cjs/adapters/cache/InMemoryCacheAdapter.js.map +1 -0
  6. package/dist/cjs/adapters/cache/NoCacheAdapter.d.ts +14 -0
  7. package/dist/cjs/adapters/cache/NoCacheAdapter.d.ts.map +1 -0
  8. package/dist/cjs/adapters/cache/NoCacheAdapter.js +29 -0
  9. package/dist/cjs/adapters/cache/NoCacheAdapter.js.map +1 -0
  10. package/dist/cjs/adapters/cache/index.d.ts +3 -0
  11. package/dist/cjs/adapters/cache/index.d.ts.map +1 -0
  12. package/dist/cjs/adapters/cache/index.js +8 -0
  13. package/dist/cjs/adapters/cache/index.js.map +1 -0
  14. package/dist/cjs/adapters/storage/InMemoryStorageAdapter.d.ts +30 -0
  15. package/dist/cjs/adapters/storage/InMemoryStorageAdapter.d.ts.map +1 -0
  16. package/dist/cjs/adapters/storage/InMemoryStorageAdapter.js +70 -0
  17. package/dist/cjs/adapters/storage/InMemoryStorageAdapter.js.map +1 -0
  18. package/dist/cjs/adapters/storage/index.d.ts +3 -0
  19. package/dist/cjs/adapters/storage/index.d.ts.map +1 -0
  20. package/dist/cjs/adapters/storage/index.js +6 -0
  21. package/dist/cjs/adapters/storage/index.js.map +1 -0
  22. package/dist/cjs/core/CorsWhitelist.d.ts +60 -0
  23. package/dist/cjs/core/CorsWhitelist.d.ts.map +1 -0
  24. package/dist/cjs/core/CorsWhitelist.js +273 -0
  25. package/dist/cjs/core/CorsWhitelist.js.map +1 -0
  26. package/dist/cjs/core/index.d.ts +4 -0
  27. package/dist/cjs/core/index.d.ts.map +1 -0
  28. package/dist/cjs/core/index.js +22 -0
  29. package/dist/cjs/core/index.js.map +1 -0
  30. package/dist/cjs/core/types.d.ts +201 -0
  31. package/dist/cjs/core/types.d.ts.map +1 -0
  32. package/dist/cjs/core/types.js +3 -0
  33. package/dist/cjs/core/types.js.map +1 -0
  34. package/dist/cjs/core/utils.d.ts +31 -0
  35. package/dist/cjs/core/utils.d.ts.map +1 -0
  36. package/dist/cjs/core/utils.js +82 -0
  37. package/dist/cjs/core/utils.js.map +1 -0
  38. package/dist/cjs/frameworks/express.d.ts +15 -0
  39. package/dist/cjs/frameworks/express.d.ts.map +1 -0
  40. package/dist/cjs/frameworks/express.js +49 -0
  41. package/dist/cjs/frameworks/express.js.map +1 -0
  42. package/dist/cjs/frameworks/fastify.d.ts +18 -0
  43. package/dist/cjs/frameworks/fastify.d.ts.map +1 -0
  44. package/dist/cjs/frameworks/fastify.js +49 -0
  45. package/dist/cjs/frameworks/fastify.js.map +1 -0
  46. package/dist/cjs/frameworks/index.d.ts +5 -0
  47. package/dist/cjs/frameworks/index.d.ts.map +1 -0
  48. package/dist/cjs/frameworks/index.js +15 -0
  49. package/dist/cjs/frameworks/index.js.map +1 -0
  50. package/dist/cjs/frameworks/koa.d.ts +15 -0
  51. package/dist/cjs/frameworks/koa.d.ts.map +1 -0
  52. package/dist/cjs/frameworks/koa.js +48 -0
  53. package/dist/cjs/frameworks/koa.js.map +1 -0
  54. package/dist/cjs/frameworks/node-http.d.ts +16 -0
  55. package/dist/cjs/frameworks/node-http.d.ts.map +1 -0
  56. package/dist/cjs/frameworks/node-http.js +46 -0
  57. package/dist/cjs/frameworks/node-http.js.map +1 -0
  58. package/dist/cjs/index.d.ts +12 -0
  59. package/dist/cjs/index.d.ts.map +1 -0
  60. package/dist/cjs/index.js +43 -0
  61. package/dist/cjs/index.js.map +1 -0
  62. package/dist/esm/adapters/cache/InMemoryCacheAdapter.d.ts +19 -0
  63. package/dist/esm/adapters/cache/InMemoryCacheAdapter.d.ts.map +1 -0
  64. package/dist/esm/adapters/cache/InMemoryCacheAdapter.js +69 -0
  65. package/dist/esm/adapters/cache/InMemoryCacheAdapter.js.map +1 -0
  66. package/dist/esm/adapters/cache/NoCacheAdapter.d.ts +14 -0
  67. package/dist/esm/adapters/cache/NoCacheAdapter.d.ts.map +1 -0
  68. package/dist/esm/adapters/cache/NoCacheAdapter.js +29 -0
  69. package/dist/esm/adapters/cache/NoCacheAdapter.js.map +1 -0
  70. package/dist/esm/adapters/cache/index.d.ts +3 -0
  71. package/dist/esm/adapters/cache/index.d.ts.map +1 -0
  72. package/dist/esm/adapters/cache/index.js +8 -0
  73. package/dist/esm/adapters/cache/index.js.map +1 -0
  74. package/dist/esm/adapters/storage/InMemoryStorageAdapter.d.ts +30 -0
  75. package/dist/esm/adapters/storage/InMemoryStorageAdapter.d.ts.map +1 -0
  76. package/dist/esm/adapters/storage/InMemoryStorageAdapter.js +70 -0
  77. package/dist/esm/adapters/storage/InMemoryStorageAdapter.js.map +1 -0
  78. package/dist/esm/adapters/storage/index.d.ts +3 -0
  79. package/dist/esm/adapters/storage/index.d.ts.map +1 -0
  80. package/dist/esm/adapters/storage/index.js +6 -0
  81. package/dist/esm/adapters/storage/index.js.map +1 -0
  82. package/dist/esm/core/CorsWhitelist.d.ts +60 -0
  83. package/dist/esm/core/CorsWhitelist.d.ts.map +1 -0
  84. package/dist/esm/core/CorsWhitelist.js +273 -0
  85. package/dist/esm/core/CorsWhitelist.js.map +1 -0
  86. package/dist/esm/core/index.d.ts +4 -0
  87. package/dist/esm/core/index.d.ts.map +1 -0
  88. package/dist/esm/core/index.js +22 -0
  89. package/dist/esm/core/index.js.map +1 -0
  90. package/dist/esm/core/types.d.ts +201 -0
  91. package/dist/esm/core/types.d.ts.map +1 -0
  92. package/dist/esm/core/types.js +3 -0
  93. package/dist/esm/core/types.js.map +1 -0
  94. package/dist/esm/core/utils.d.ts +31 -0
  95. package/dist/esm/core/utils.d.ts.map +1 -0
  96. package/dist/esm/core/utils.js +82 -0
  97. package/dist/esm/core/utils.js.map +1 -0
  98. package/dist/esm/frameworks/express.d.ts +15 -0
  99. package/dist/esm/frameworks/express.d.ts.map +1 -0
  100. package/dist/esm/frameworks/express.js +49 -0
  101. package/dist/esm/frameworks/express.js.map +1 -0
  102. package/dist/esm/frameworks/fastify.d.ts +18 -0
  103. package/dist/esm/frameworks/fastify.d.ts.map +1 -0
  104. package/dist/esm/frameworks/fastify.js +49 -0
  105. package/dist/esm/frameworks/fastify.js.map +1 -0
  106. package/dist/esm/frameworks/index.d.ts +5 -0
  107. package/dist/esm/frameworks/index.d.ts.map +1 -0
  108. package/dist/esm/frameworks/index.js +15 -0
  109. package/dist/esm/frameworks/index.js.map +1 -0
  110. package/dist/esm/frameworks/koa.d.ts +15 -0
  111. package/dist/esm/frameworks/koa.d.ts.map +1 -0
  112. package/dist/esm/frameworks/koa.js +48 -0
  113. package/dist/esm/frameworks/koa.js.map +1 -0
  114. package/dist/esm/frameworks/node-http.d.ts +16 -0
  115. package/dist/esm/frameworks/node-http.d.ts.map +1 -0
  116. package/dist/esm/frameworks/node-http.js +46 -0
  117. package/dist/esm/frameworks/node-http.js.map +1 -0
  118. package/dist/esm/index.d.ts +12 -0
  119. package/dist/esm/index.d.ts.map +1 -0
  120. package/dist/esm/index.js +43 -0
  121. package/dist/esm/index.js.map +1 -0
  122. package/package.json +147 -0
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNodeHttpHandler = createNodeHttpHandler;
4
+ exports.corsWhitelistHttp = corsWhitelistHttp;
5
+ const CorsWhitelist_1 = require("../core/CorsWhitelist");
6
+ /**
7
+ * Create plain Node.js HTTP handler for CORS whitelist validation
8
+ */
9
+ function createNodeHttpHandler(corsWhitelist) {
10
+ return async (req, res) => {
11
+ const genericReq = {
12
+ headers: req.headers,
13
+ method: req.method || 'GET',
14
+ url: req.url || '/',
15
+ ip: req.socket.remoteAddress,
16
+ };
17
+ const genericRes = {
18
+ setHeader: (name, value) => res.setHeader(name, value),
19
+ get statusCode() {
20
+ return res.statusCode;
21
+ },
22
+ set statusCode(code) {
23
+ res.statusCode = code;
24
+ },
25
+ end: (body) => {
26
+ if (body) {
27
+ res.setHeader('Content-Type', 'application/json');
28
+ res.end(body);
29
+ }
30
+ else {
31
+ res.end();
32
+ }
33
+ },
34
+ };
35
+ return corsWhitelist.handleRequest(genericReq, genericRes);
36
+ };
37
+ }
38
+ /**
39
+ * Factory function to create both CorsWhitelist instance and HTTP handler
40
+ */
41
+ function corsWhitelistHttp(options) {
42
+ const corsWhitelist = new CorsWhitelist_1.CorsWhitelist(options);
43
+ const handler = createNodeHttpHandler(corsWhitelist);
44
+ return { corsWhitelist, handler };
45
+ }
46
+ //# sourceMappingURL=node-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-http.js","sourceRoot":"","sources":["../../../src/frameworks/node-http.ts"],"names":[],"mappings":";;AAgBA,sDAkCC;AAKD,8CAOC;AA7DD,yDAAsD;AAYtD;;GAEG;AACH,SAAgB,qBAAqB,CACnC,aAA4B;IAE5B,OAAO,KAAK,EACV,GAAoB,EACpB,GAAmB,EACD,EAAE;QACpB,MAAM,UAAU,GAAmB;YACjC,OAAO,EAAE,GAAG,CAAC,OAAwD;YACrE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;YAC3B,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG;YACnB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;SAC7B,CAAC;QAEF,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;YACtE,IAAI,UAAU;gBACZ,OAAO,GAAG,CAAC,UAAU,CAAC;YACxB,CAAC;YACD,IAAI,UAAU,CAAC,IAAY;gBACzB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,GAAG,EAAE,CAAC,IAAa,EAAE,EAAE;gBACrB,IAAI,IAAI,EAAE,CAAC;oBACT,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;oBAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;SACF,CAAC;QAEF,OAAO,aAAa,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,OAA6B;IAE7B,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAErD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { CorsWhitelist } from './core/CorsWhitelist';
2
+ export * from './core/types';
3
+ export * from './core/utils';
4
+ export { InMemoryStorageAdapter } from './adapters/storage/InMemoryStorageAdapter';
5
+ export type { InMemoryStorageConfig } from './adapters/storage/InMemoryStorageAdapter';
6
+ export { InMemoryCacheAdapter } from './adapters/cache/InMemoryCacheAdapter';
7
+ export { NoCacheAdapter } from './adapters/cache/NoCacheAdapter';
8
+ export { createExpressMiddleware, corsWhitelistExpress, } from './frameworks/express';
9
+ export { fastifyCorsWhitelist, type FastifyCorsOptions, } from './frameworks/fastify';
10
+ export { createKoaMiddleware, corsWhitelistKoa } from './frameworks/koa';
11
+ export { createNodeHttpHandler, corsWhitelistHttp, type HttpHandler, } from './frameworks/node-http';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,WAAW,GACjB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.corsWhitelistHttp = exports.createNodeHttpHandler = exports.corsWhitelistKoa = exports.createKoaMiddleware = exports.fastifyCorsWhitelist = exports.corsWhitelistExpress = exports.createExpressMiddleware = exports.NoCacheAdapter = exports.InMemoryCacheAdapter = exports.InMemoryStorageAdapter = exports.CorsWhitelist = void 0;
18
+ // Core exports
19
+ var CorsWhitelist_1 = require("./core/CorsWhitelist");
20
+ Object.defineProperty(exports, "CorsWhitelist", { enumerable: true, get: function () { return CorsWhitelist_1.CorsWhitelist; } });
21
+ __exportStar(require("./core/types"), exports);
22
+ __exportStar(require("./core/utils"), exports);
23
+ // Storage adapters
24
+ var InMemoryStorageAdapter_1 = require("./adapters/storage/InMemoryStorageAdapter");
25
+ Object.defineProperty(exports, "InMemoryStorageAdapter", { enumerable: true, get: function () { return InMemoryStorageAdapter_1.InMemoryStorageAdapter; } });
26
+ // Cache adapters
27
+ var InMemoryCacheAdapter_1 = require("./adapters/cache/InMemoryCacheAdapter");
28
+ Object.defineProperty(exports, "InMemoryCacheAdapter", { enumerable: true, get: function () { return InMemoryCacheAdapter_1.InMemoryCacheAdapter; } });
29
+ var NoCacheAdapter_1 = require("./adapters/cache/NoCacheAdapter");
30
+ Object.defineProperty(exports, "NoCacheAdapter", { enumerable: true, get: function () { return NoCacheAdapter_1.NoCacheAdapter; } });
31
+ // Framework adapters (re-exported for convenience)
32
+ var express_1 = require("./frameworks/express");
33
+ Object.defineProperty(exports, "createExpressMiddleware", { enumerable: true, get: function () { return express_1.createExpressMiddleware; } });
34
+ Object.defineProperty(exports, "corsWhitelistExpress", { enumerable: true, get: function () { return express_1.corsWhitelistExpress; } });
35
+ var fastify_1 = require("./frameworks/fastify");
36
+ Object.defineProperty(exports, "fastifyCorsWhitelist", { enumerable: true, get: function () { return fastify_1.fastifyCorsWhitelist; } });
37
+ var koa_1 = require("./frameworks/koa");
38
+ Object.defineProperty(exports, "createKoaMiddleware", { enumerable: true, get: function () { return koa_1.createKoaMiddleware; } });
39
+ Object.defineProperty(exports, "corsWhitelistKoa", { enumerable: true, get: function () { return koa_1.corsWhitelistKoa; } });
40
+ var node_http_1 = require("./frameworks/node-http");
41
+ Object.defineProperty(exports, "createNodeHttpHandler", { enumerable: true, get: function () { return node_http_1.createNodeHttpHandler; } });
42
+ Object.defineProperty(exports, "corsWhitelistHttp", { enumerable: true, get: function () { return node_http_1.corsWhitelistHttp; } });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AACtB,+CAA6B;AAC7B,+CAA6B;AAE7B,mBAAmB;AACnB,oFAAmF;AAA1E,gIAAA,sBAAsB,OAAA;AAG/B,iBAAiB;AACjB,8EAA6E;AAApE,4HAAA,oBAAoB,OAAA;AAC7B,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AAEvB,mDAAmD;AACnD,gDAG8B;AAF5B,kHAAA,uBAAuB,OAAA;AACvB,+GAAA,oBAAoB,OAAA;AAEtB,gDAG8B;AAF5B,+GAAA,oBAAoB,OAAA;AAGtB,wCAAyE;AAAhE,0GAAA,mBAAmB,OAAA;AAAE,uGAAA,gBAAgB,OAAA;AAC9C,oDAIgC;AAH9B,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA"}
package/package.json ADDED
@@ -0,0 +1,147 @@
1
+ {
2
+ "name": "cors-whitelist-ip",
3
+ "version": "1.0.0",
4
+ "description": "Framework-agnostic CORS whitelist middleware with IP and domain validation, supporting pluggable storage and caching",
5
+ "author": "",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "cors",
9
+ "whitelist",
10
+ "middleware",
11
+ "ip",
12
+ "domain",
13
+ "express",
14
+ "fastify",
15
+ "koa",
16
+ "security",
17
+ "api"
18
+ ],
19
+ "main": "./dist/cjs/index.js",
20
+ "module": "./dist/esm/index.js",
21
+ "types": "./dist/cjs/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "import": {
25
+ "types": "./dist/esm/index.d.ts",
26
+ "default": "./dist/esm/index.js"
27
+ },
28
+ "require": {
29
+ "types": "./dist/cjs/index.d.ts",
30
+ "default": "./dist/cjs/index.js"
31
+ }
32
+ },
33
+ "./express": {
34
+ "import": {
35
+ "types": "./dist/esm/frameworks/express.d.ts",
36
+ "default": "./dist/esm/frameworks/express.js"
37
+ },
38
+ "require": {
39
+ "types": "./dist/cjs/frameworks/express.d.ts",
40
+ "default": "./dist/cjs/frameworks/express.js"
41
+ }
42
+ },
43
+ "./fastify": {
44
+ "import": {
45
+ "types": "./dist/esm/frameworks/fastify.d.ts",
46
+ "default": "./dist/esm/frameworks/fastify.js"
47
+ },
48
+ "require": {
49
+ "types": "./dist/cjs/frameworks/fastify.d.ts",
50
+ "default": "./dist/cjs/frameworks/fastify.js"
51
+ }
52
+ },
53
+ "./koa": {
54
+ "import": {
55
+ "types": "./dist/esm/frameworks/koa.d.ts",
56
+ "default": "./dist/esm/frameworks/koa.js"
57
+ },
58
+ "require": {
59
+ "types": "./dist/cjs/frameworks/koa.d.ts",
60
+ "default": "./dist/cjs/frameworks/koa.js"
61
+ }
62
+ },
63
+ "./node-http": {
64
+ "import": {
65
+ "types": "./dist/esm/frameworks/node-http.d.ts",
66
+ "default": "./dist/esm/frameworks/node-http.js"
67
+ },
68
+ "require": {
69
+ "types": "./dist/cjs/frameworks/node-http.d.ts",
70
+ "default": "./dist/cjs/frameworks/node-http.js"
71
+ }
72
+ },
73
+ "./storage": {
74
+ "import": {
75
+ "types": "./dist/esm/adapters/storage/index.d.ts",
76
+ "default": "./dist/esm/adapters/storage/index.js"
77
+ },
78
+ "require": {
79
+ "types": "./dist/cjs/adapters/storage/index.d.ts",
80
+ "default": "./dist/cjs/adapters/storage/index.js"
81
+ }
82
+ },
83
+ "./cache": {
84
+ "import": {
85
+ "types": "./dist/esm/adapters/cache/index.d.ts",
86
+ "default": "./dist/esm/adapters/cache/index.js"
87
+ },
88
+ "require": {
89
+ "types": "./dist/cjs/adapters/cache/index.d.ts",
90
+ "default": "./dist/cjs/adapters/cache/index.js"
91
+ }
92
+ }
93
+ },
94
+ "files": [
95
+ "dist",
96
+ "README.md",
97
+ "LICENSE"
98
+ ],
99
+ "scripts": {
100
+ "build": "npm run build:cjs && npm run build:esm",
101
+ "build:cjs": "tsc -p tsconfig.cjs.json",
102
+ "build:esm": "tsc -p tsconfig.esm.json",
103
+ "clean": "rimraf dist",
104
+ "prebuild": "npm run clean",
105
+ "test": "jest",
106
+ "test:watch": "jest --watch",
107
+ "test:coverage": "jest --coverage",
108
+ "lint": "eslint src/**/*.ts",
109
+ "lint:fix": "eslint src/**/*.ts --fix",
110
+ "prepublishOnly": "npm run build && npm test"
111
+ },
112
+ "engines": {
113
+ "node": ">=16.0.0"
114
+ },
115
+ "peerDependencies": {
116
+ "express": "^4.0.0 || ^5.0.0",
117
+ "fastify": "^4.0.0 || ^5.0.0",
118
+ "koa": "^2.0.0"
119
+ },
120
+ "peerDependenciesMeta": {
121
+ "express": {
122
+ "optional": true
123
+ },
124
+ "fastify": {
125
+ "optional": true
126
+ },
127
+ "koa": {
128
+ "optional": true
129
+ }
130
+ },
131
+ "devDependencies": {
132
+ "@types/express": "^4.17.21",
133
+ "@types/jest": "^29.5.12",
134
+ "@types/koa": "^2.13.12",
135
+ "@types/node": "^20.11.0",
136
+ "@typescript-eslint/eslint-plugin": "^6.19.0",
137
+ "@typescript-eslint/parser": "^6.19.0",
138
+ "eslint": "^8.56.0",
139
+ "express": "^4.18.2",
140
+ "fastify": "^4.25.2",
141
+ "jest": "^29.7.0",
142
+ "koa": "^2.15.0",
143
+ "rimraf": "^5.0.5",
144
+ "ts-jest": "^29.1.2",
145
+ "typescript": "^5.3.3"
146
+ }
147
+ }