redis-smq-web-server 9.0.0-next.16 → 9.0.0-next.18
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/CHANGELOG.md +21 -0
- package/README.md +17 -173
- package/dist/cjs/bin/cli.js +1 -5
- package/dist/cjs/bin/cli.js.map +1 -1
- package/dist/cjs/src/config/types/index.d.ts +1 -1
- package/dist/cjs/src/config/types/index.d.ts.map +1 -1
- package/dist/cjs/tests/common/start-api-server.d.ts.map +1 -1
- package/dist/cjs/tests/common/start-api-server.js +4 -3
- package/dist/cjs/tests/common/start-api-server.js.map +1 -1
- package/dist/esm/bin/cli.js +1 -5
- package/dist/esm/bin/cli.js.map +1 -1
- package/dist/esm/src/config/types/index.d.ts +1 -1
- package/dist/esm/src/config/types/index.d.ts.map +1 -1
- package/dist/esm/tests/common/start-api-server.d.ts.map +1 -1
- package/dist/esm/tests/common/start-api-server.js +4 -3
- package/dist/esm/tests/common/start-api-server.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [9.0.0-next.18](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.17...v9.0.0-next.18) (2025-11-07)
|
|
7
|
+
|
|
8
|
+
### 📝 Documentation
|
|
9
|
+
|
|
10
|
+
- convert relative paths to absolute URLs in package READMEs ([ad5da5f](https://github.com/weyoss/redis-smq/commit/ad5da5f14aeb01822e560e7e15473dc27518e80a))
|
|
11
|
+
|
|
12
|
+
## [9.0.0-next.17](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.16...v9.0.0-next.17) (2025-11-07)
|
|
13
|
+
|
|
14
|
+
### ⚠ BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
- **redis-smq-web-server:** remove apiServer from IRedisSMQWebServerConfig
|
|
17
|
+
|
|
18
|
+
### 📝 Documentation
|
|
19
|
+
|
|
20
|
+
- **redis-smq-web-server:** restructure README, move details to separate files ([99a5bce](https://github.com/weyoss/redis-smq/commit/99a5bce764ed7ba7568f2498ea59ce662a84d7ad))
|
|
21
|
+
- standardize documentation links to use relative paths ([fc7c474](https://github.com/weyoss/redis-smq/commit/fc7c474bffbd2160fb9bb8727cec4bbdc5a23dc8))
|
|
22
|
+
|
|
23
|
+
### ♻️ Code Refactoring
|
|
24
|
+
|
|
25
|
+
- **redis-smq-web-server:** remove apiServer from IRedisSMQWebServerConfig ([b78dea0](https://github.com/weyoss/redis-smq/commit/b78dea0def68dde6d8550b1355b98ed9aeda833c))
|
|
26
|
+
|
|
6
27
|
## [9.0.0-next.16](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.15...v9.0.0-next.16) (2025-11-05)
|
|
7
28
|
|
|
8
29
|
**Note:** Version bump only for package redis-smq-web-server
|
package/README.md
CHANGED
|
@@ -11,20 +11,17 @@
|
|
|
11
11
|
[](https://www.npmjs.com/package/redis-smq-web-server?activeTab=versions)
|
|
12
12
|
[](https://app.codecov.io/github/weyoss/redis-smq/tree/next/packages/redis-smq-web-server)
|
|
13
13
|
|
|
14
|
-
A lightweight
|
|
14
|
+
A lightweight server that brings the RedisSMQ management ecosystem to life. It serves the official Web UI and provides
|
|
15
|
+
the REST API through two flexible modes of operation:
|
|
15
16
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
- Can run the HTTP API in-process, or proxy API to an external `redis-smq-rest-api`.
|
|
19
|
-
- Requires only Redis connection details when hosting the API in-process; with proxying, Redis is managed by the upstream API service.
|
|
17
|
+
- **Standalone Mode:** Run the Web UI and REST API in a single process for an all-in-one setup.
|
|
18
|
+
- **Proxy Mode:** Serve the Web UI and proxy API requests to a separate redis-smq-rest-api instance for distributed deployments.
|
|
20
19
|
|
|
21
20
|
## Features
|
|
22
21
|
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- Simple, explicit configuration via CLI or programmatic config.
|
|
27
|
-
- Sensible defaults; easily deployable behind reverse proxies.
|
|
22
|
+
- **Dual-Mode Operation:** Standalone (UI + API in one process) or Proxy (UI + proxied API).
|
|
23
|
+
- **Versatile Execution:** Start from the CLI as a standalone server or embed as a library in your Node.js app.
|
|
24
|
+
- **Consistent Ecosystem:** Works seamlessly with `redis-smq`, `redis-smq-rest-api`, and `redis-smq-web-ui`.
|
|
28
25
|
|
|
29
26
|
## Installation
|
|
30
27
|
|
|
@@ -41,174 +38,21 @@ npm install @redis/client --save
|
|
|
41
38
|
npm install ioredis --save
|
|
42
39
|
```
|
|
43
40
|
|
|
44
|
-
##
|
|
41
|
+
## Version Compatibility
|
|
45
42
|
|
|
46
|
-
|
|
43
|
+
Always install matching versions of RedisSMQ packages to ensure compatibility. See [version compatibility](https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq/docs/version-compatibility.md) for details.
|
|
47
44
|
|
|
48
|
-
|
|
45
|
+
## Documentation
|
|
49
46
|
|
|
50
|
-
|
|
51
|
-
npx redis-smq-web-server
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Customize host/port, UI base path, and Redis connection:
|
|
55
|
-
|
|
56
|
-
```shell
|
|
57
|
-
npx redis-smq-web-server \
|
|
58
|
-
--port 8080 \
|
|
59
|
-
--base-path / \
|
|
60
|
-
--redis-host 127.0.0.1 \
|
|
61
|
-
--redis-port 6379 \
|
|
62
|
-
--redis-db 1
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Common scenarios:**
|
|
66
|
-
|
|
67
|
-
- Serve under a sub-path (behind a reverse proxy):
|
|
68
|
-
|
|
69
|
-
```shell
|
|
70
|
-
npx redis-smq-web-server --base-path /redis-smq
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
UI will be available at http://localhost:8080/redis-smq and the HTTP API under http://localhost:8080/redis-smq/api.
|
|
74
|
-
|
|
75
|
-
- Use an external API (proxy mode) — useful if you run redis-smq-rest-api separately:
|
|
76
|
-
|
|
77
|
-
```shell
|
|
78
|
-
npx redis-smq-web-server \
|
|
79
|
-
--port 8080 \
|
|
80
|
-
--api-proxy-target http://127.0.0.1:7210
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
When `--api-proxy-target` is provided, requests to `<basePath>/api` and `<basePath>/swagger` are forwarded
|
|
84
|
-
to the upstream. In this mode, Redis connection options on the web server are not used; the upstream API service manages Redis.
|
|
85
|
-
|
|
86
|
-
### Programmatically (optional)
|
|
87
|
-
|
|
88
|
-
If you prefer embedding the server in your app, you can pass the same configuration programmatically.
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
import { RedisSMQWebServer } from 'redis-smq-web-server';
|
|
92
|
-
import { EConsoleLoggerLevel, ERedisConfigClient } from 'redis-smq-common';
|
|
93
|
-
|
|
94
|
-
// Run with the embedded REST API (in-process)
|
|
95
|
-
const server = new RedisSMQWebServer({
|
|
96
|
-
webServer: {
|
|
97
|
-
port: 8080,
|
|
98
|
-
basePath: '/', // UI at '/', API at '/api', swagger at '/swagger'
|
|
99
|
-
},
|
|
100
|
-
// The following options are used only when apiProxyTarget is NOT set
|
|
101
|
-
redis: {
|
|
102
|
-
client: ERedisConfigClient.IOREDIS,
|
|
103
|
-
options: {
|
|
104
|
-
host: '127.0.0.1',
|
|
105
|
-
port: 6379,
|
|
106
|
-
db: 1,
|
|
107
|
-
showFriendlyErrorStack: true,
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
logger: {
|
|
111
|
-
enabled: true,
|
|
112
|
-
options: {
|
|
113
|
-
level: EConsoleLoggerLevel.INFO,
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
await server.run();
|
|
119
|
-
// await server.shutdown();
|
|
120
|
-
|
|
121
|
-
// Or proxy API to an external service
|
|
122
|
-
const srv = new RedisSMQWebServer({
|
|
123
|
-
webServer: {
|
|
124
|
-
port: 8080,
|
|
125
|
-
basePath: '/', // or '/redis-smq'
|
|
126
|
-
apiProxyTarget: 'http://127.0.0.1:7210',
|
|
127
|
-
},
|
|
128
|
-
// No redis/logger config required in proxy mode
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
await srv.run();
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Routes
|
|
135
|
-
|
|
136
|
-
- UI: served from the configured base path
|
|
137
|
-
- Example: basePath = / → UI at /
|
|
138
|
-
- Example: basePath = /redis-smq → UI at /redis-smq
|
|
139
|
-
- HTTP API: mounted under <basePath>/api
|
|
140
|
-
- Example: basePath = / → API at /api
|
|
141
|
-
- Example: basePath = /redis-smq → API at /redis-smq/api
|
|
142
|
-
|
|
143
|
-
- Swagger UI: mounted under <basePath>/swagger
|
|
144
|
-
- Example: basePath = / → Swagger UI at /swagger
|
|
145
|
-
- Example: basePath = /redis-smq → Swagger UI at /redis-smq/swagger
|
|
146
|
-
|
|
147
|
-
Proxying behavior:
|
|
148
|
-
|
|
149
|
-
- When apiProxyTarget is set, the server forwards:
|
|
150
|
-
- <basePath>/api → ${apiProxyTarget}
|
|
151
|
-
- <basePath>/swagger → ${apiProxyTarget}
|
|
152
|
-
- When apiProxyTarget is not set, the server hosts the embedded REST API in-process.
|
|
153
|
-
|
|
154
|
-
## Configuration
|
|
155
|
-
|
|
156
|
-
Configuration can be provided programmatically or via CLI arguments. The core interface is:
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
import type { IRedisSMQRestApiConfig } from 'redis-smq-rest-api';
|
|
160
|
-
|
|
161
|
-
interface IRedisSMQWebServerConfig extends IRedisSMQRestApiConfig {
|
|
162
|
-
webServer?: {
|
|
163
|
-
/**
|
|
164
|
-
* HTTP port to run the web server on.
|
|
165
|
-
* Default: 8080
|
|
166
|
-
*/
|
|
167
|
-
port?: number;
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Base public path for the RedisSMQ Web UI and the local API/Swagger when embedded.
|
|
171
|
-
* Default: '/'
|
|
172
|
-
*/
|
|
173
|
-
basePath?: string;
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Optional target for proxying API.
|
|
177
|
-
* If provided, the embedded REST API is not mounted and requests are forwarded to the target.
|
|
178
|
-
* Example: 'http://127.0.0.1:7210'
|
|
179
|
-
*/
|
|
180
|
-
apiProxyTarget?: string;
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
Notes:
|
|
186
|
-
|
|
187
|
-
- When `webServer.apiProxyTarget` is set, the server proxies `<basePath>/api` and `<basePath>/swagger` to the target. In this mode, redis and logger options are not used by the web server (they are
|
|
188
|
-
handled by the upstream API service).
|
|
189
|
-
|
|
190
|
-
- When `webServer.apiProxyTarget` is not set, the web server mounts the embedded `redis-smq-rest-api` using the provided
|
|
191
|
-
`IRedisSMQRestApiConfig` (redis, logger, etc.).
|
|
192
|
-
|
|
193
|
-
### ClI flags
|
|
194
|
-
|
|
195
|
-
```shell
|
|
196
|
-
-p, --port <number> Port to run the server on (default: "8080")
|
|
197
|
-
-b, --base-path <string> Base public path for the RedisSMQ Web UI SPA (default: "/")
|
|
198
|
-
-t, --api-proxy-target <string> Proxy target for API (/api, /swagger). Example: http://127.0.0.1:6000
|
|
199
|
-
-c, --redis-client <ioredis|redis> Redis client. Valid options are: ioredis, redis. (default: "ioredis")
|
|
200
|
-
-r, --redis-host <string> Redis server host (default: "127.0.0.1")
|
|
201
|
-
-o, --redis-port <number> Redis server port (default: "6379")
|
|
202
|
-
-d, --redis-db <number> Redis database number (default: "0")
|
|
203
|
-
-e, --enable-log <0|1> Enable console logging. Valid options are: 0, 1 (default: "0")
|
|
204
|
-
-v, --log-level <0|1|2|3> Log level. Numbers: 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR (default: "1")
|
|
205
|
-
-h, --help display help for command
|
|
206
|
-
```
|
|
47
|
+
For in-depth guides and API references, see [the documentation page](https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq-web-server/docs/README.md).
|
|
207
48
|
|
|
208
|
-
##
|
|
49
|
+
## Related packages
|
|
209
50
|
|
|
210
|
-
|
|
51
|
+
- [redis-smq](https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq/README.md): Core message queue
|
|
52
|
+
- [redis-smq-common](https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq-common/README.md): Shared components/utilities
|
|
53
|
+
- [redis-smq-rest-api](https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq-rest-api/README.md): REST API with OpenAPI v3 and Swagger UI
|
|
54
|
+
- [redis-smq-web-ui](https://github.com/weyoss/redis-smq/tree/next/packages/redis-smq-web-ui/README.md): SPA for monitoring and managing RedisSMQ
|
|
211
55
|
|
|
212
56
|
## License
|
|
213
57
|
|
|
214
|
-
RedisSMQ Web Server is released under the [MIT License](/LICENSE).
|
|
58
|
+
RedisSMQ Web Server is released under the [MIT License](https://github.com/weyoss/redis-smq/tree/next/LICENSE).
|
package/dist/cjs/bin/cli.js
CHANGED
|
@@ -17,7 +17,7 @@ program
|
|
|
17
17
|
program
|
|
18
18
|
.option('-p, --port <number>', 'Port to run the server on', String((_a = parse_config_js_1.defaultConfig.webServer) === null || _a === void 0 ? void 0 : _a.port))
|
|
19
19
|
.option('-b, --base-path <string>', 'Base public path for the RedisSMQ Web UI SPA', (_b = parse_config_js_1.defaultConfig.webServer) === null || _b === void 0 ? void 0 : _b.basePath)
|
|
20
|
-
.option('-t, --api-proxy-target <string>', 'Proxy target for API (/api, /
|
|
20
|
+
.option('-t, --api-proxy-target <string>', 'Proxy target for API (/api, /swagger). Example: http://127.0.0.1:6000', (_c = parse_config_js_1.defaultConfig.webServer) === null || _c === void 0 ? void 0 : _c.apiProxyTarget)
|
|
21
21
|
.option('-c, --redis-client <ioredis|redis>', 'Redis client. Valid options are: ioredis, redis.', redis_smq_1.defaultConfig.redis.client)
|
|
22
22
|
.option('-r, --redis-host <string>', 'Redis server host', redis_smq_1.defaultConfig.redis.options.host)
|
|
23
23
|
.option('-o, --redis-port <number>', 'Redis server port', String(redis_smq_1.defaultConfig.redis.options.port))
|
|
@@ -32,10 +32,6 @@ const config = {
|
|
|
32
32
|
basePath: options.basePath,
|
|
33
33
|
apiProxyTarget: options.apiProxyTarget,
|
|
34
34
|
},
|
|
35
|
-
apiServer: {
|
|
36
|
-
port: Number(options.port),
|
|
37
|
-
basePath: options.basePath,
|
|
38
|
-
},
|
|
39
35
|
redis: {
|
|
40
36
|
client: options.redisClient,
|
|
41
37
|
options: {
|
package/dist/cjs/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../bin/cli.ts"],"names":[],"mappings":";;;;AAWA,yCAAoC;AACpC,8CAAoD;AAKpD,mEAA8D;AAC9D,uDAAuD;AACvD,yCAAmE;AAEnE,MAAM,eAAe,GACnB,OAAO,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAC/D,CAAC,CAAC,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;IAC/C,CAAC,CAAC,sCAAmB,CAAC,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,OAAO;KACJ,MAAM,CACL,qBAAqB,EACrB,2BAA2B,EAC3B,MAAM,CAAC,MAAA,+BAAa,CAAC,SAAS,0CAAE,IAAI,CAAC,CACtC;KACA,MAAM,CACL,0BAA0B,EAC1B,8CAA8C,EAC9C,MAAA,+BAAa,CAAC,SAAS,0CAAE,QAAQ,CAClC;KACA,MAAM,CACL,iCAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../bin/cli.ts"],"names":[],"mappings":";;;;AAWA,yCAAoC;AACpC,8CAAoD;AAKpD,mEAA8D;AAC9D,uDAAuD;AACvD,yCAAmE;AAEnE,MAAM,eAAe,GACnB,OAAO,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAC/D,CAAC,CAAC,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;IAC/C,CAAC,CAAC,sCAAmB,CAAC,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,OAAO;KACJ,MAAM,CACL,qBAAqB,EACrB,2BAA2B,EAC3B,MAAM,CAAC,MAAA,+BAAa,CAAC,SAAS,0CAAE,IAAI,CAAC,CACtC;KACA,MAAM,CACL,0BAA0B,EAC1B,8CAA8C,EAC9C,MAAA,+BAAa,CAAC,SAAS,0CAAE,QAAQ,CAClC;KACA,MAAM,CACL,iCAAiC,EACjC,uEAAuE,EACvE,MAAA,+BAAa,CAAC,SAAS,0CAAE,cAAc,CACxC;KACA,MAAM,CACL,oCAAoC,EACpC,kDAAkD,EAClD,yBAAqB,CAAC,KAAK,CAAC,MAAM,CACnC;KACA,MAAM,CAEL,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACzC;KACA,MAAM,CAEL,2BAA2B,EAC3B,mBAAmB,EACnB,MAAM,CAAC,yBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACjD;KACA,MAAM,CACL,yBAAyB,EACzB,uBAAuB,EACvB,MAAM,CAAC,yBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAC/C;KACA,MAAM,CACL,wBAAwB,EACxB,iDAAiD,EACjD,MAAM,CAAC,MAAM,CAAC,yBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACrD;KACA,MAAM,CACL,2BAA2B,EAC3B,uBAAuB,sCAAmB,CAAC,KAAK,WAAW,sCAAmB,CAAC,IAAI,UAAU,sCAAmB,CAAC,IAAI,UAAU,sCAAmB,CAAC,KAAK,QAAQ,EAChK,MAAM,CAAC,eAAe,CAAC,CACxB,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAiC,OAAO,CAAC,IAAI,EAAE,CAAC;AAG7D,MAAM,MAAM,GAA6B;IACvC,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO,CAAC,WAAW;QAC3B,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,SAAS;YACvB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAC/B,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC5B;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC;KACF;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,4BAAiB,CAAC,MAAM,CAAC,CAAC;AAC7C,MAAM,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -11,7 +11,7 @@ export interface IRedisSMQWebServerCliOptions {
|
|
|
11
11
|
logLevel: EConsoleLoggerLevel;
|
|
12
12
|
apiProxyTarget?: string;
|
|
13
13
|
}
|
|
14
|
-
export interface IRedisSMQWebServerConfig extends IRedisSMQRestApiConfig {
|
|
14
|
+
export interface IRedisSMQWebServerConfig extends Omit<IRedisSMQRestApiConfig, 'apiServer'> {
|
|
15
15
|
webServer?: {
|
|
16
16
|
port?: number;
|
|
17
17
|
basePath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/types/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/types/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3E,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAK9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAWD,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;IACjD,SAAS,CAAC,EAAE;QAKV,IAAI,CAAC,EAAE,MAAM,CAAC;QAQd,QAAQ,CAAC,EAAE,MAAM,CAAC;QASlB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAMD,MAAM,WAAW,8BACf,SAAQ,4BAA4B;IACpC,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QAKjB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-api-server.d.ts","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":"AAeA,wBAAsB,cAAc,
|
|
1
|
+
{"version":3,"file":"start-api-server.d.ts","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":"AAeA,wBAAsB,cAAc,gCAUnC;AAED,wBAAsB,aAAa,kBAKlC"}
|
|
@@ -19,9 +19,10 @@ function startApiServer() {
|
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
if (!server) {
|
|
21
21
|
const port = yield redis_smq_common_1.net.getRandomPort();
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
const cfg = config_js_1.config;
|
|
23
|
+
cfg.apiServer = cfg.apiServer || {};
|
|
24
|
+
cfg.apiServer.port = port;
|
|
25
|
+
server = new redis_smq_rest_api_1.RedisSMQRestApi(cfg);
|
|
25
26
|
yield server.run();
|
|
26
27
|
return port;
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-api-server.js","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":";;;;;;;;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"start-api-server.js","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":";;;;;;;;;;;AAeA,wCAUC;AAED,sCAKC;AAvBD,uDAAuC;AACvC,2CAAqC;AACrC,2DAA6E;AAE7E,IAAI,MAAM,GAA2B,IAAI,CAAC;AAE1C,SAAsB,cAAc;;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,sBAAG,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,GAAG,GAA2B,kBAAM,CAAC;YAC3C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1B,MAAM,GAAG,IAAI,oCAAe,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CAAA;AAED,SAAsB,aAAa;;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;CAAA"}
|
package/dist/esm/bin/cli.js
CHANGED
|
@@ -14,7 +14,7 @@ program
|
|
|
14
14
|
program
|
|
15
15
|
.option('-p, --port <number>', 'Port to run the server on', String(defaultConfig.webServer?.port))
|
|
16
16
|
.option('-b, --base-path <string>', 'Base public path for the RedisSMQ Web UI SPA', defaultConfig.webServer?.basePath)
|
|
17
|
-
.option('-t, --api-proxy-target <string>', 'Proxy target for API (/api, /
|
|
17
|
+
.option('-t, --api-proxy-target <string>', 'Proxy target for API (/api, /swagger). Example: http://127.0.0.1:6000', defaultConfig.webServer?.apiProxyTarget)
|
|
18
18
|
.option('-c, --redis-client <ioredis|redis>', 'Redis client. Valid options are: ioredis, redis.', defaultRedisSMQConfig.redis.client)
|
|
19
19
|
.option('-r, --redis-host <string>', 'Redis server host', defaultRedisSMQConfig.redis.options.host)
|
|
20
20
|
.option('-o, --redis-port <number>', 'Redis server port', String(defaultRedisSMQConfig.redis.options.port))
|
|
@@ -29,10 +29,6 @@ const config = {
|
|
|
29
29
|
basePath: options.basePath,
|
|
30
30
|
apiProxyTarget: options.apiProxyTarget,
|
|
31
31
|
},
|
|
32
|
-
apiServer: {
|
|
33
|
-
port: Number(options.port),
|
|
34
|
-
basePath: options.basePath,
|
|
35
|
-
},
|
|
36
32
|
redis: {
|
|
37
33
|
client: options.redisClient,
|
|
38
34
|
options: {
|
package/dist/esm/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../bin/cli.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKpD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEnE,MAAM,eAAe,GACnB,OAAO,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAC/D,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;IAC/C,CAAC,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,OAAO;KACJ,MAAM,CACL,qBAAqB,EACrB,2BAA2B,EAC3B,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CACtC;KACA,MAAM,CACL,0BAA0B,EAC1B,8CAA8C,EAC9C,aAAa,CAAC,SAAS,EAAE,QAAQ,CAClC;KACA,MAAM,CACL,iCAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export interface IRedisSMQWebServerCliOptions {
|
|
|
11
11
|
logLevel: EConsoleLoggerLevel;
|
|
12
12
|
apiProxyTarget?: string;
|
|
13
13
|
}
|
|
14
|
-
export interface IRedisSMQWebServerConfig extends IRedisSMQRestApiConfig {
|
|
14
|
+
export interface IRedisSMQWebServerConfig extends Omit<IRedisSMQRestApiConfig, 'apiServer'> {
|
|
15
15
|
webServer?: {
|
|
16
16
|
port?: number;
|
|
17
17
|
basePath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/types/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/types/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3E,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAK9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAWD,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;IACjD,SAAS,CAAC,EAAE;QAKV,IAAI,CAAC,EAAE,MAAM,CAAC;QAQd,QAAQ,CAAC,EAAE,MAAM,CAAC;QASlB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAMD,MAAM,WAAW,8BACf,SAAQ,4BAA4B;IACpC,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QAKjB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-api-server.d.ts","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":"AAeA,wBAAsB,cAAc,
|
|
1
|
+
{"version":3,"file":"start-api-server.d.ts","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":"AAeA,wBAAsB,cAAc,gCAUnC;AAED,wBAAsB,aAAa,kBAKlC"}
|
|
@@ -5,9 +5,10 @@ let server = null;
|
|
|
5
5
|
export async function startApiServer() {
|
|
6
6
|
if (!server) {
|
|
7
7
|
const port = await net.getRandomPort();
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const cfg = config;
|
|
9
|
+
cfg.apiServer = cfg.apiServer || {};
|
|
10
|
+
cfg.apiServer.port = port;
|
|
11
|
+
server = new RedisSMQRestApi(cfg);
|
|
11
12
|
await server.run();
|
|
12
13
|
return port;
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-api-server.js","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"start-api-server.js","sourceRoot":"","sources":["../../../../tests/common/start-api-server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAA0B,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE7E,IAAI,MAAM,GAA2B,IAAI,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,GAAG,GAA2B,MAAM,CAAC;QAC3C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "redis-smq-web-server",
|
|
3
|
-
"version": "9.0.0-next.
|
|
3
|
+
"version": "9.0.0-next.18",
|
|
4
4
|
"description": "Web server for RedisSMQ Web UI: serves the SPA and hosts or proxies the RedisSMQ REST API.",
|
|
5
5
|
"author": "Weyoss <weyoss@protonmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@redis/client": "^5",
|
|
48
48
|
"ioredis": "^5",
|
|
49
|
-
"redis-smq": "^9.0.0-next.
|
|
50
|
-
"redis-smq-
|
|
51
|
-
"redis-smq
|
|
52
|
-
"redis-smq-
|
|
49
|
+
"redis-smq-common": "^9.0.0-next.18",
|
|
50
|
+
"redis-smq-rest-api": "^9.0.0-next.18",
|
|
51
|
+
"redis-smq": "^9.0.0-next.18",
|
|
52
|
+
"redis-smq-web-ui": "^9.0.0-next.18"
|
|
53
53
|
},
|
|
54
54
|
"peerDependenciesMeta": {
|
|
55
55
|
"@redis/client": {
|