mqtt-plus 1.4.3 → 1.4.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/AGENTS.md +23 -13
- package/CHANGELOG.md +5 -0
- package/README.md +9 -0
- package/dst-stage1/mqtt-plus-subscription.js +1 -1
- package/dst-stage2/mqtt-plus.cjs.js +1 -1
- package/dst-stage2/mqtt-plus.esm.js +1 -1
- package/package.json +1 -1
- package/src/mqtt-plus-subscription.ts +1 -1
package/AGENTS.md
CHANGED
|
@@ -107,26 +107,36 @@ Each trait lives in its own file: `src/mqtt-plus-<trait>.ts`.
|
|
|
107
107
|
|
|
108
108
|
### Documentation
|
|
109
109
|
|
|
110
|
-
The `doc/` directory contains D2 diagram sources
|
|
111
|
-
|
|
110
|
+
The `doc/` directory contains Markdown documentation, D2 diagram sources,
|
|
111
|
+
and generated SVG files:
|
|
112
112
|
|
|
113
|
-
- `doc/mqtt-plus-
|
|
114
|
-
- `doc/mqtt-plus-
|
|
115
|
-
- `doc/mqtt-plus-
|
|
116
|
-
- `doc/mqtt-plus-comm
|
|
117
|
-
- `doc/
|
|
113
|
+
- `doc/mqtt-plus-api.md` — public API reference
|
|
114
|
+
- `doc/mqtt-plus-architecture.{d2,svg,md}` — architecture overview (diagram + docs)
|
|
115
|
+
- `doc/mqtt-plus-broker-setup.md` — MQTT broker setup guide
|
|
116
|
+
- `doc/mqtt-plus-comm.md` — communication patterns overview
|
|
117
|
+
- `doc/mqtt-plus-comm-event-emission.{d2,svg}` — Event Emission pattern diagram
|
|
118
|
+
- `doc/mqtt-plus-comm-service-call.{d2,svg}` — Service Call pattern diagram
|
|
119
|
+
- `doc/mqtt-plus-comm-sink-push.{d2,svg}` — Sink Push pattern diagram
|
|
120
|
+
- `doc/mqtt-plus-comm-source-fetch.{d2,svg}` — Source Fetch pattern diagram
|
|
121
|
+
- `doc/mqtt-plus-internals.md` — internal implementation details
|
|
118
122
|
|
|
119
|
-
Regenerate with `npm start build-doc` (requires the `etc/d2.mts` helper script).
|
|
123
|
+
Regenerate diagrams with `npm start build-doc` (requires the `etc/d2.mts` helper script).
|
|
120
124
|
|
|
121
125
|
### Tests
|
|
122
126
|
|
|
123
127
|
Test files live in `tst/`:
|
|
124
128
|
|
|
125
|
-
| File
|
|
126
|
-
|
|
127
|
-
| `tst/mqtt-plus.
|
|
128
|
-
| `tst/mqtt-plus-mosquitto.ts`
|
|
129
|
-
| `tst/
|
|
129
|
+
| File | Role |
|
|
130
|
+
|-----------------------------------|------|
|
|
131
|
+
| `tst/mqtt-plus-0-fixture.ts` | Shared test fixture setup (broker, MQTTp instances, etc.) |
|
|
132
|
+
| `tst/mqtt-plus-0-mosquitto.ts` | Helper for starting/stopping the Mosquitto MQTT broker |
|
|
133
|
+
| `tst/mqtt-plus-1-api.spec.ts` | API type and endpoint definition tests |
|
|
134
|
+
| `tst/mqtt-plus-2-event.spec.ts` | Event Emission pattern tests |
|
|
135
|
+
| `tst/mqtt-plus-3-service.spec.ts` | Service Call / RPC pattern tests |
|
|
136
|
+
| `tst/mqtt-plus-4-sink.spec.ts` | Sink Push pattern tests |
|
|
137
|
+
| `tst/mqtt-plus-5-source.spec.ts` | Source Fetch pattern tests |
|
|
138
|
+
| `tst/mqtt-plus-6-misc.spec.ts` | Miscellaneous / edge-case tests |
|
|
139
|
+
| `tst/tsc.json` | TypeScript configuration for the test directory |
|
|
130
140
|
|
|
131
141
|
### Type System
|
|
132
142
|
|
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -131,6 +131,15 @@ Additional auxilliary documentation:
|
|
|
131
131
|
Notice
|
|
132
132
|
------
|
|
133
133
|
|
|
134
|
+
> [!Note]
|
|
135
|
+
> **MQTT+** and its peer dependency **MQTT** provide a powerful
|
|
136
|
+
> functionality, but are not small in size. **MQTT+** is 3.500 LoC
|
|
137
|
+
> and 75 KB in size (ESM and CJS format). When bundled with all its
|
|
138
|
+
> dependencies, it is 220 KB in size (UMD format). Its peer dependency
|
|
139
|
+
> **MQTT.js** is 370 KB (ESM and CJS format) and 860 KB (UMD format) in
|
|
140
|
+
> size. For a Node.js application, this usually doesn't matter. For a
|
|
141
|
+
> HTML5 SPA it matters more, but usually is still acceptable.
|
|
142
|
+
|
|
134
143
|
> [!Note]
|
|
135
144
|
> **MQTT+** is still somewhat similar to and originally derived from the weaker
|
|
136
145
|
> [MQTT-JSON-RPC](https://github.com/rse/mqtt-json-rpc) library of the same
|
|
@@ -118,7 +118,7 @@ export class SubscriptionTrait extends BaseTrait {
|
|
|
118
118
|
super(...arguments);
|
|
119
119
|
this.subscriptions = new RefCountedSubscription((topic, options) => this._subscribeTopic(topic, options), (topic) => this._unsubscribeTopic(topic));
|
|
120
120
|
}
|
|
121
|
-
/* destroy
|
|
121
|
+
/* destroy subscription trait */
|
|
122
122
|
async destroy() {
|
|
123
123
|
await this.subscriptions.flush();
|
|
124
124
|
await super.destroy();
|
|
@@ -1131,7 +1131,7 @@ class SubscriptionTrait extends BaseTrait {
|
|
|
1131
1131
|
super(...arguments);
|
|
1132
1132
|
this.subscriptions = new RefCountedSubscription((topic, options) => this._subscribeTopic(topic, options), (topic) => this._unsubscribeTopic(topic));
|
|
1133
1133
|
}
|
|
1134
|
-
/* destroy
|
|
1134
|
+
/* destroy subscription trait */
|
|
1135
1135
|
async destroy() {
|
|
1136
1136
|
await this.subscriptions.flush();
|
|
1137
1137
|
await super.destroy();
|
|
@@ -1110,7 +1110,7 @@ class SubscriptionTrait extends BaseTrait {
|
|
|
1110
1110
|
super(...arguments);
|
|
1111
1111
|
this.subscriptions = new RefCountedSubscription((topic, options) => this._subscribeTopic(topic, options), (topic) => this._unsubscribeTopic(topic));
|
|
1112
1112
|
}
|
|
1113
|
-
/* destroy
|
|
1113
|
+
/* destroy subscription trait */
|
|
1114
1114
|
async destroy() {
|
|
1115
1115
|
await this.subscriptions.flush();
|
|
1116
1116
|
await super.destroy();
|
package/package.json
CHANGED
|
@@ -133,7 +133,7 @@ export class SubscriptionTrait<T extends APISchema = APISchema> extends BaseTrai
|
|
|
133
133
|
(topic) => this._unsubscribeTopic(topic)
|
|
134
134
|
)
|
|
135
135
|
|
|
136
|
-
/* destroy
|
|
136
|
+
/* destroy subscription trait */
|
|
137
137
|
override async destroy () {
|
|
138
138
|
await this.subscriptions.flush()
|
|
139
139
|
await super.destroy()
|