redis-smq-web-ui 9.0.0-next.2 → 9.0.0-next.4
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 +30 -0
- package/README.md +15 -12
- package/dist/browser/assets/{QueuesView-rhN4aTve.js → QueuesView-BoC_jjup.js} +1 -1
- package/dist/browser/assets/{index-DZKBl9eI.css → index-Bt_mTIwJ.css} +1 -1
- package/dist/browser/assets/index-CRTYBxrI.js +43 -0
- package/dist/browser/index.html +6 -6
- package/package.json +5 -5
- package/dist/browser/assets/index-Bawna6Se.js +0 -43
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
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.4](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.3...v9.0.0-next.4) (2025-10-09)
|
|
7
|
+
|
|
8
|
+
### ✨ Features
|
|
9
|
+
|
|
10
|
+
- **redis-smq-web-ui:** add exchange management system ([c33650c](https://github.com/weyoss/redis-smq/commit/c33650c01a3c4fcd4663b08668642f7aea394fce))
|
|
11
|
+
|
|
12
|
+
### 🐛 Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **redis-smq-web-ui:** fix error message reference ([8e6fb43](https://github.com/weyoss/redis-smq/commit/8e6fb4379976a7a3d26036f22f235f0271da79a0))
|
|
15
|
+
- **redis-smq-web-ui:** initialize RedisSMQ before starting API server ([22887fa](https://github.com/weyoss/redis-smq/commit/22887faf0abc8939de9f90e8abfb18d7c8e93d02))
|
|
16
|
+
- **redis-smq-web-ui:** update branding ([2bd50ce](https://github.com/weyoss/redis-smq/commit/2bd50ce8ef75bdca9c5602ddc8bc6d36cdb8342f))
|
|
17
|
+
|
|
18
|
+
### 📝 Documentation
|
|
19
|
+
|
|
20
|
+
- **redis-smq-web-ui:** improve README formatting ([e0d3399](https://github.com/weyoss/redis-smq/commit/e0d33990886f934df31e65fa831b87f7a761e3b0))
|
|
21
|
+
|
|
22
|
+
### ♻️ Code Refactoring
|
|
23
|
+
|
|
24
|
+
- **redis-smq-web-ui:** standardize HTML formatting ([b290044](https://github.com/weyoss/redis-smq/commit/b290044c861014cda393467dd3b7af52f5507679))
|
|
25
|
+
|
|
26
|
+
## [9.0.0-next.3](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.2...v9.0.0-next.3) (2025-09-09)
|
|
27
|
+
|
|
28
|
+
### 🐛 Bug Fixes
|
|
29
|
+
|
|
30
|
+
- **redis-smq-web-ui:** move redis-smq-rest-api from peer to dev deps ([573829e](https://github.com/weyoss/redis-smq/commit/573829e862355c33deb4b830a6c89c708d387c6f))
|
|
31
|
+
|
|
32
|
+
### 📝 Documentation
|
|
33
|
+
|
|
34
|
+
- **redis-smq-web-ui:** include Priority Queues support ([ce6d143](https://github.com/weyoss/redis-smq/commit/ce6d1436ea0015e66d736e7a01f1e2982254a0c2))
|
|
35
|
+
|
|
6
36
|
## [9.0.0-next.2](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.1...v9.0.0-next.2) (2025-09-07)
|
|
7
37
|
|
|
8
38
|
### 📝 Documentation
|
package/README.md
CHANGED
|
@@ -12,13 +12,14 @@ A Single Page Application for monitoring and managing RedisSMQ: inspect queues,
|
|
|
12
12
|
|
|
13
13
|
- Dashboard to overview queues, consumers, and message stats
|
|
14
14
|
- Queue/message browsers with filters and actions (ack, retry, delete, etc.)
|
|
15
|
-
- Support for FIFO/LIFO and multiple delivery models
|
|
15
|
+
- Support for FIFO/LIFO/Priority Queues and multiple delivery models
|
|
16
16
|
- Integrated documentation via Swagger UI (when served with the REST API)
|
|
17
17
|
- Type-safe OpenAPI client (generated)
|
|
18
18
|
|
|
19
19
|
## Version compatibility
|
|
20
20
|
|
|
21
21
|
Always install matching versions of RedisSMQ packages. See the root docs for Version Compatibility. Use the same major/minor across:
|
|
22
|
+
|
|
22
23
|
- redis-smq
|
|
23
24
|
- redis-smq-common
|
|
24
25
|
- redis-smq-rest-api
|
|
@@ -32,13 +33,14 @@ Always install matching versions of RedisSMQ packages. See the root docs for Ver
|
|
|
32
33
|
Use redis-smq-web-server to host the UI and API in one place, or proxy the API to an external service.
|
|
33
34
|
|
|
34
35
|
- In-process API:
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
- UI at http://localhost:8080/
|
|
37
|
+
- API at http://localhost:8080/api
|
|
37
38
|
- Proxy to an external REST API:
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
- UI is still served locally
|
|
40
|
+
- API/docs/assets are forwarded to the upstream API
|
|
40
41
|
|
|
41
42
|
See [RedisSMQ Web Server](../redis-smq-web-server/README.md) for CLI options such as:
|
|
43
|
+
|
|
42
44
|
- --port
|
|
43
45
|
- --base-path
|
|
44
46
|
- --api-proxy-target
|
|
@@ -46,6 +48,7 @@ See [RedisSMQ Web Server](../redis-smq-web-server/README.md) for CLI options suc
|
|
|
46
48
|
### Development
|
|
47
49
|
|
|
48
50
|
Prerequisites:
|
|
51
|
+
|
|
49
52
|
- Node.js >= 20
|
|
50
53
|
- PNPM (recommended)
|
|
51
54
|
|
|
@@ -53,7 +56,7 @@ From the monorepo root:
|
|
|
53
56
|
|
|
54
57
|
```bash
|
|
55
58
|
pnpm install
|
|
56
|
-
pnpm -
|
|
59
|
+
pnpm -F redis-smq-web-ui dev
|
|
57
60
|
```
|
|
58
61
|
|
|
59
62
|
#### OpenAPI client generation
|
|
@@ -61,7 +64,7 @@ pnpm -w -C packages/redis-smq-web-ui dev
|
|
|
61
64
|
The UI uses a generated OpenAPI client. To regenerate:
|
|
62
65
|
|
|
63
66
|
```shell
|
|
64
|
-
pnpm -
|
|
67
|
+
pnpm -F redis-smq-web-ui generate-openapi-client
|
|
65
68
|
```
|
|
66
69
|
|
|
67
70
|
Make sure redis-smq-rest-api (with OpenAPI endpoint) is reachable as configured by the generation script.
|
|
@@ -69,7 +72,7 @@ Make sure redis-smq-rest-api (with OpenAPI endpoint) is reachable as configured
|
|
|
69
72
|
#### Running the dev Server
|
|
70
73
|
|
|
71
74
|
```bash
|
|
72
|
-
pnpm -
|
|
75
|
+
pnpm -F redis-smq-web-ui dev
|
|
73
76
|
```
|
|
74
77
|
|
|
75
78
|
The dev script typically runs:
|
|
@@ -78,16 +81,16 @@ The dev script typically runs:
|
|
|
78
81
|
- A local REST API dev server for convenience
|
|
79
82
|
|
|
80
83
|
- Open the printed local URL to access the UI during development.
|
|
81
|
-
|
|
84
|
+
|
|
82
85
|
#### Building
|
|
83
|
-
|
|
86
|
+
|
|
84
87
|
From the monorepo root:
|
|
85
88
|
|
|
86
89
|
```shell
|
|
87
|
-
pnpm -
|
|
90
|
+
pnpm -F redis-smq-web-ui build
|
|
88
91
|
```
|
|
89
92
|
|
|
90
|
-
Artifacts are output to the package’s dist directory.
|
|
93
|
+
Artifacts are output to the package’s dist directory.
|
|
91
94
|
Serve the built assets with [RedisSMQ Web Server](../redis-smq-web-server/README.md) for correct routing and API integration.
|
|
92
95
|
|
|
93
96
|
#### Configuration and routing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as I,u as R,a as j,b as G,c as K,e as Y,f as w,r as p,w as S,o as z,g as J,h as f,i as E,j as _,k as y,l as O,P as U,m as t,n as g,C as W,D as X,p as i,q as n,s as D,t as m,F as Z,v as ee,Q as te,x as ae,_ as se}from"./index-
|
|
1
|
+
import{d as I,u as R,a as j,b as G,c as K,e as Y,f as w,r as p,w as S,o as z,g as J,h as f,i as E,j as _,k as y,l as O,P as U,m as t,n as g,C as W,D as X,p as i,q as n,s as D,t as m,F as Z,v as ee,Q as te,x as ae,_ as se}from"./index-CRTYBxrI.js";const ue={key:0,class:"alert alert-warning alert-dismissible fade show mb-4",role:"alert"},le={key:1,class:"alert alert-warning alert-dismissible fade show mb-4",role:"alert"},ne={class:"queues-list-container"},re={class:"queues-list-header"},ie={class:"queues-count"},oe={class:"queues-list"},ce="Queues",de="Manage all available message queues",ve=I({__name:"QueuesView",setup(be){const k=ae(),s=R(),M=j(),{sortedQueues:c,isLoadingQueues:d,queuesError:C,refetchQueues:v}=G(),{createQueue:x,isCreatingQueue:Q,createQueueError:b,createQueueMutation:$}=K(async()=>{await v()}),{deleteQueue:F,isDeletingQueue:L,deleteQueueError:q,deleteQueueMutation:N}=Y(async()=>{await v()}),P=w(()=>c.value.length>0),u=p(!1),l=p(!1),o=p(null),T=w(()=>[{id:"refresh-queues",label:"Refresh",icon:"bi bi-arrow-clockwise",variant:"secondary",disabled:d.value,loading:d.value,handler:()=>v()},{id:"create-queue",label:"Create Queue",icon:"bi bi-plus-circle",variant:"primary",disabled:Q.value,loading:Q.value,handler:()=>u.value=!0}]);function V(a,e){k.push({name:"Queue",params:{ns:a,queue:e}})}async function B(a){try{const e={queue:{ns:a.ns,name:a.name},queueType:a.type,queueDeliveryModel:a.deliveryModel};await x({data:e}),u.value=!1}catch(e){console.error("Failed to create queue:",e)}}function A(a,e){o.value={ns:a,name:e},l.value=!0}async function H(){if(o.value)try{await F(o.value),l.value=!1}catch(a){console.error("Failed to delete queue:",a)}}return S(()=>{s.setPageHeader({title:ce,subtitle:de,icon:"bi bi-card-list"}),s.setPageActions(T.value),s.setLoadingState(d.value),C.value?(s.setErrorState(g(C.value)),s.setEmptyState(!1)):!d.value&&!P.value?(s.setErrorState(null),s.setEmptyState(!0,{icon:"bi bi-plus-square-dotted",title:"No Queues Found",message:"Get started by creating your first message queue.",actionLabel:"Create Your First Queue",actionHandler:()=>u.value=!0})):(s.setErrorState(null),s.setEmptyState(!1))}),S(()=>{M.clearSelectedQueue()}),z(()=>{v()}),J([{isVisible:u,onEscape:()=>u.value=!1},{isVisible:l,onEscape:()=>l.value=!1}]),(a,e)=>{var h;return i(),f("div",null,[E(U,null,{default:O(()=>[t(b)&&!u.value?(i(),f("div",ue,[e[4]||(e[4]=n("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),D(" "+m(t(g)(t(b)))+" ",1),n("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:e[0]||(e[0]=r=>t($).reset())})])):y("",!0),t(q)&&!l.value?(i(),f("div",le,[e[5]||(e[5]=n("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),D(" "+m(t(g)(t(q)))+" ",1),n("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:e[1]||(e[1]=r=>t(N).reset())})])):y("",!0),n("div",ne,[n("div",re,[n("h5",ie,m(t(c).length)+" Queue"+m(t(c).length!==1?"s":""),1)]),n("div",oe,[(i(!0),f(Z,null,ee(t(c),r=>(i(),_(te,{key:`${r.ns}-${r.name}`,queue:r,onSelect:V,onDelete:A},null,8,["queue"]))),128))])])]),_:1}),E(W,{"is-visible":u.value,"is-creating":t(Q),"create-error":t(b)?`${(h=t(g)(t(b)))==null?void 0:h.message}`:"",onClose:e[2]||(e[2]=r=>u.value=!1),onCreate:B},null,8,["is-visible","is-creating","create-error"]),l.value&&o.value?(i(),_(X,{key:0,"is-visible":l.value,"is-deleting":t(L),queue:o.value,onCancel:e[3]||(e[3]=r=>l.value=!1),onConfirm:H},null,8,["is-visible","is-deleting","queue"])):y("",!0)])}}}),ge=se(ve,[["__scopeId","data-v-f3ec936e"]]);export{ge as default};
|