limitly 1.0.2 → 3.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.
- package/README.md +471 -22
- package/dist/algorithms/concurrency.d.ts +11 -0
- package/dist/algorithms/concurrency.d.ts.map +1 -0
- package/dist/algorithms/concurrency.js +19 -0
- package/dist/algorithms/concurrency.js.map +1 -0
- package/dist/algorithms/factory.d.ts +3 -2
- package/dist/algorithms/factory.d.ts.map +1 -1
- package/dist/algorithms/factory.js +9 -3
- package/dist/algorithms/factory.js.map +1 -1
- package/dist/algorithms/gcra.d.ts +10 -0
- package/dist/algorithms/gcra.d.ts.map +1 -0
- package/dist/algorithms/gcra.js +15 -0
- package/dist/algorithms/gcra.js.map +1 -0
- package/dist/algorithms/sliding-window.d.ts +4 -4
- package/dist/algorithms/sliding-window.d.ts.map +1 -1
- package/dist/algorithms/sliding-window.js +3 -23
- package/dist/algorithms/sliding-window.js.map +1 -1
- package/dist/algorithms/token-bucket.d.ts +4 -4
- package/dist/algorithms/token-bucket.d.ts.map +1 -1
- package/dist/algorithms/token-bucket.js +3 -20
- package/dist/algorithms/token-bucket.js.map +1 -1
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -1
- package/dist/index.js.map +1 -1
- package/dist/limiter.d.ts +23 -7
- package/dist/limiter.d.ts.map +1 -1
- package/dist/limiter.js +86 -16
- package/dist/limiter.js.map +1 -1
- package/dist/middleware/bun.d.ts +9 -0
- package/dist/middleware/bun.d.ts.map +1 -0
- package/dist/middleware/bun.js +107 -0
- package/dist/middleware/bun.js.map +1 -0
- package/dist/middleware/express.d.ts.map +1 -1
- package/dist/middleware/express.js +30 -14
- package/dist/middleware/express.js.map +1 -1
- package/dist/middleware/fastify.d.ts +3 -3
- package/dist/middleware/fastify.d.ts.map +1 -1
- package/dist/middleware/fastify.js +34 -17
- package/dist/middleware/fastify.js.map +1 -1
- package/dist/middleware/hono.d.ts +5 -0
- package/dist/middleware/hono.d.ts.map +1 -0
- package/dist/middleware/hono.js +71 -0
- package/dist/middleware/hono.js.map +1 -0
- package/dist/middleware/koa.d.ts +5 -0
- package/dist/middleware/koa.d.ts.map +1 -0
- package/dist/middleware/koa.js +65 -0
- package/dist/middleware/koa.js.map +1 -0
- package/dist/middleware/nest.d.ts +14 -0
- package/dist/middleware/nest.d.ts.map +1 -0
- package/dist/middleware/nest.js +112 -0
- package/dist/middleware/nest.js.map +1 -0
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +10 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/opentelemetry.d.ts +28 -0
- package/dist/observability/opentelemetry.d.ts.map +1 -0
- package/dist/observability/opentelemetry.js +85 -0
- package/dist/observability/opentelemetry.js.map +1 -0
- package/dist/observability/prometheus.d.ts +27 -0
- package/dist/observability/prometheus.d.ts.map +1 -0
- package/dist/observability/prometheus.js +88 -0
- package/dist/observability/prometheus.js.map +1 -0
- package/dist/observability/types.d.ts +9 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +3 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/prometheus.d.ts +3 -0
- package/dist/prometheus.d.ts.map +1 -0
- package/dist/prometheus.js +9 -0
- package/dist/prometheus.js.map +1 -0
- package/dist/scripts/concurrencyAcquire.lua +34 -0
- package/dist/scripts/concurrencyRelease.lua +9 -0
- package/dist/scripts/gcra.lua +38 -0
- package/dist/stores/factory.d.ts +5 -0
- package/dist/stores/factory.d.ts.map +1 -0
- package/dist/stores/factory.js +40 -0
- package/dist/stores/factory.js.map +1 -0
- package/dist/stores/memcached-store.d.ts +16 -0
- package/dist/stores/memcached-store.d.ts.map +1 -0
- package/dist/stores/memcached-store.js +211 -0
- package/dist/stores/memcached-store.js.map +1 -0
- package/dist/stores/redis-store.d.ts +19 -0
- package/dist/stores/redis-store.d.ts.map +1 -0
- package/dist/stores/redis-store.js +97 -0
- package/dist/stores/redis-store.js.map +1 -0
- package/dist/stores/types.d.ts +11 -0
- package/dist/stores/types.d.ts.map +1 -0
- package/dist/stores/types.js +3 -0
- package/dist/stores/types.js.map +1 -0
- package/dist/types/index.d.ts +94 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/defaults.d.ts +8 -0
- package/dist/utils/defaults.d.ts.map +1 -0
- package/dist/utils/defaults.js +100 -0
- package/dist/utils/defaults.js.map +1 -0
- package/dist/utils/limit-execution.d.ts +40 -0
- package/dist/utils/limit-execution.d.ts.map +1 -0
- package/dist/utils/limit-execution.js +50 -0
- package/dist/utils/limit-execution.js.map +1 -0
- package/dist/utils/memcached.d.ts +12 -0
- package/dist/utils/memcached.d.ts.map +1 -0
- package/dist/utils/memcached.js +103 -0
- package/dist/utils/memcached.js.map +1 -0
- package/dist/utils/metrics.d.ts +21 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +99 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/redis.d.ts +5 -1
- package/dist/utils/redis.d.ts.map +1 -1
- package/dist/utils/redis.js +38 -3
- package/dist/utils/redis.js.map +1 -1
- package/dist/utils/scripts.d.ts +16 -2
- package/dist/utils/scripts.d.ts.map +1 -1
- package/dist/utils/scripts.js +79 -33
- package/dist/utils/scripts.js.map +1 -1
- package/package.json +86 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "limitly",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Express-rate-limit, but distributed, Redis-powered, and production ready.",
|
|
5
5
|
"author": "Arpan Das <dasarpan471@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,6 +30,36 @@
|
|
|
30
30
|
"types": "./dist/middleware/fastify.d.ts",
|
|
31
31
|
"import": "./dist/middleware/fastify.js",
|
|
32
32
|
"require": "./dist/middleware/fastify.js"
|
|
33
|
+
},
|
|
34
|
+
"./nest": {
|
|
35
|
+
"types": "./dist/middleware/nest.d.ts",
|
|
36
|
+
"import": "./dist/middleware/nest.js",
|
|
37
|
+
"require": "./dist/middleware/nest.js"
|
|
38
|
+
},
|
|
39
|
+
"./hono": {
|
|
40
|
+
"types": "./dist/middleware/hono.d.ts",
|
|
41
|
+
"import": "./dist/middleware/hono.js",
|
|
42
|
+
"require": "./dist/middleware/hono.js"
|
|
43
|
+
},
|
|
44
|
+
"./koa": {
|
|
45
|
+
"types": "./dist/middleware/koa.d.ts",
|
|
46
|
+
"import": "./dist/middleware/koa.js",
|
|
47
|
+
"require": "./dist/middleware/koa.js"
|
|
48
|
+
},
|
|
49
|
+
"./bun": {
|
|
50
|
+
"types": "./dist/middleware/bun.d.ts",
|
|
51
|
+
"import": "./dist/middleware/bun.js",
|
|
52
|
+
"require": "./dist/middleware/bun.js"
|
|
53
|
+
},
|
|
54
|
+
"./otel": {
|
|
55
|
+
"types": "./dist/observability/index.d.ts",
|
|
56
|
+
"import": "./dist/observability/index.js",
|
|
57
|
+
"require": "./dist/observability/index.js"
|
|
58
|
+
},
|
|
59
|
+
"./prometheus": {
|
|
60
|
+
"types": "./dist/prometheus.d.ts",
|
|
61
|
+
"import": "./dist/prometheus.js",
|
|
62
|
+
"require": "./dist/prometheus.js"
|
|
33
63
|
}
|
|
34
64
|
},
|
|
35
65
|
"files": [
|
|
@@ -55,35 +85,88 @@
|
|
|
55
85
|
"redis",
|
|
56
86
|
"express",
|
|
57
87
|
"fastify",
|
|
88
|
+
"hono",
|
|
89
|
+
"koa",
|
|
90
|
+
"bun",
|
|
91
|
+
"nestjs",
|
|
92
|
+
"nest",
|
|
58
93
|
"sliding-window",
|
|
59
94
|
"token-bucket",
|
|
60
95
|
"distributed",
|
|
61
96
|
"middleware",
|
|
62
|
-
"ioredis"
|
|
97
|
+
"ioredis",
|
|
98
|
+
"valkey",
|
|
99
|
+
"dragonfly",
|
|
100
|
+
"dragonflydb",
|
|
101
|
+
"memcached",
|
|
102
|
+
"opentelemetry",
|
|
103
|
+
"otel",
|
|
104
|
+
"observability",
|
|
105
|
+
"tracing",
|
|
106
|
+
"metrics",
|
|
107
|
+
"prometheus"
|
|
63
108
|
],
|
|
64
109
|
"publishConfig": {
|
|
65
110
|
"access": "public",
|
|
66
111
|
"registry": "https://registry.npmjs.org/"
|
|
67
112
|
},
|
|
68
113
|
"peerDependencies": {
|
|
114
|
+
"@nestjs/common": ">=9.0.0",
|
|
115
|
+
"@nestjs/core": ">=9.0.0",
|
|
69
116
|
"express": ">=4.0.0",
|
|
70
117
|
"fastify": ">=4.0.0",
|
|
71
|
-
"
|
|
118
|
+
"hono": ">=4.0.0",
|
|
119
|
+
"ioredis": ">=5.0.0",
|
|
120
|
+
"koa": ">=2.14.0",
|
|
121
|
+
"memcached": ">=2.2.0",
|
|
122
|
+
"@opentelemetry/api": ">=1.4.0",
|
|
123
|
+
"prom-client": ">=15.0.0"
|
|
72
124
|
},
|
|
73
125
|
"peerDependenciesMeta": {
|
|
126
|
+
"@nestjs/common": {
|
|
127
|
+
"optional": true
|
|
128
|
+
},
|
|
129
|
+
"@nestjs/core": {
|
|
130
|
+
"optional": true
|
|
131
|
+
},
|
|
74
132
|
"express": {
|
|
75
133
|
"optional": true
|
|
76
134
|
},
|
|
77
135
|
"fastify": {
|
|
78
136
|
"optional": true
|
|
137
|
+
},
|
|
138
|
+
"hono": {
|
|
139
|
+
"optional": true
|
|
140
|
+
},
|
|
141
|
+
"koa": {
|
|
142
|
+
"optional": true
|
|
143
|
+
},
|
|
144
|
+
"memcached": {
|
|
145
|
+
"optional": true
|
|
146
|
+
},
|
|
147
|
+
"@opentelemetry/api": {
|
|
148
|
+
"optional": true
|
|
149
|
+
},
|
|
150
|
+
"prom-client": {
|
|
151
|
+
"optional": true
|
|
79
152
|
}
|
|
80
153
|
},
|
|
81
154
|
"devDependencies": {
|
|
155
|
+
"@opentelemetry/api": "^1.9.0",
|
|
156
|
+
"prom-client": "^15.1.3",
|
|
157
|
+
"@nestjs/common": "^10.4.0",
|
|
158
|
+
"@nestjs/core": "^10.4.0",
|
|
159
|
+
"@nestjs/testing": "^10.4.0",
|
|
82
160
|
"@types/express": "^4.17.21",
|
|
161
|
+
"@types/koa": "^2.15.0",
|
|
162
|
+
"@types/memcached": "^2.2.10",
|
|
83
163
|
"@types/node": "^20.14.0",
|
|
84
164
|
"express": "^4.19.2",
|
|
85
165
|
"fastify": "^4.28.0",
|
|
166
|
+
"hono": "^4.6.0",
|
|
86
167
|
"ioredis": "^5.4.1",
|
|
168
|
+
"koa": "^2.15.0",
|
|
169
|
+
"memcached": "^2.2.2",
|
|
87
170
|
"typescript": "^5.5.0",
|
|
88
171
|
"vitest": "^1.6.0"
|
|
89
172
|
},
|