@opinionated-machine/sse-fallback 0.1.1
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/LICENSE +21 -0
- package/README.md +365 -0
- package/dist/binding.d.ts +82 -0
- package/dist/binding.d.ts.map +1 -0
- package/dist/binding.js +181 -0
- package/dist/binding.js.map +1 -0
- package/dist/bindingTypes.d.ts +327 -0
- package/dist/bindingTypes.d.ts.map +1 -0
- package/dist/bindingTypes.js +43 -0
- package/dist/bindingTypes.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/pollGate.d.ts +58 -0
- package/dist/pollGate.d.ts.map +1 -0
- package/dist/pollGate.js +64 -0
- package/dist/pollGate.js.map +1 -0
- package/dist/reconciler.d.ts +245 -0
- package/dist/reconciler.d.ts.map +1 -0
- package/dist/reconciler.js +568 -0
- package/dist/reconciler.js.map +1 -0
- package/dist/scheduler.d.ts +19 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +51 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/subscription.d.ts +164 -0
- package/dist/subscription.d.ts.map +1 -0
- package/dist/subscription.js +878 -0
- package/dist/subscription.js.map +1 -0
- package/dist/transport.d.ts +177 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +168 -0
- package/dist/transport.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/** A channel-agnostic request description built from the binding + params. */
|
|
2
|
+
export type TransportRequest = {
|
|
3
|
+
/** Resolved path (path params already substituted), no query string. */
|
|
4
|
+
path: string;
|
|
5
|
+
/** Lowercase HTTP method from the contract. */
|
|
6
|
+
method: string;
|
|
7
|
+
/** Query parameters, already stringified. */
|
|
8
|
+
query?: Record<string, string>;
|
|
9
|
+
/** Extra request headers (auth etc. belongs in the transport itself). */
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
/** Request body for payload contracts. */
|
|
12
|
+
body?: unknown;
|
|
13
|
+
};
|
|
14
|
+
export type SnapshotResponse = {
|
|
15
|
+
status: number;
|
|
16
|
+
headers: Record<string, string>;
|
|
17
|
+
/** Parsed response body (transport decides how; typically response.json()). */
|
|
18
|
+
body: unknown;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The raw-chunk stream shape: the transport hands over decoded text and the
|
|
22
|
+
* core does the SSE framing. This is the recommended variant — see
|
|
23
|
+
* {@link StreamResponse}.
|
|
24
|
+
*/
|
|
25
|
+
export type RawStreamResponse = {
|
|
26
|
+
status: number;
|
|
27
|
+
headers: Record<string, string>;
|
|
28
|
+
/**
|
|
29
|
+
* Decoded text chunks as they arrive, INCLUDING comment/heartbeat frames.
|
|
30
|
+
* The core frames the stream itself with `@opinionated-machine/sse-parser`
|
|
31
|
+
* and uses per-chunk arrival as byte-level liveness. Iteration ends when the
|
|
32
|
+
* stream closes; it throws on a mid-stream network error.
|
|
33
|
+
*/
|
|
34
|
+
chunks: AsyncIterable<string>;
|
|
35
|
+
};
|
|
36
|
+
/** One SSE frame, already framed by the transport. */
|
|
37
|
+
export type ParsedSseFrame = {
|
|
38
|
+
/** The `id:` field, when the frame carried one. */
|
|
39
|
+
id?: string;
|
|
40
|
+
/** The `event:` field; the core treats a missing name as `'message'`. */
|
|
41
|
+
event?: string;
|
|
42
|
+
/** The raw `data:` payload, before `parseEventData`. */
|
|
43
|
+
data: string;
|
|
44
|
+
/** The `retry:` reconnection hint in ms, when the frame carried one. */
|
|
45
|
+
retry?: number;
|
|
46
|
+
/**
|
|
47
|
+
* The Last-Event-ID cursor as of this frame, when the framing tracked it.
|
|
48
|
+
*
|
|
49
|
+
* The cursor persists across frames that carry no `id:` of their own and is
|
|
50
|
+
* cleared by an empty `id:`, so it is not the same thing as {@link id}.
|
|
51
|
+
* Transports wrapping a client that only exposes per-event ids leave it
|
|
52
|
+
* unset; the core then falls back to {@link id}.
|
|
53
|
+
*/
|
|
54
|
+
lastEventId?: string;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* The parsed-event stream shape, for transports that cannot expose raw bytes.
|
|
58
|
+
*
|
|
59
|
+
* Wrapping an existing SSE client (`EventSource`, or an HTTP client whose SSE
|
|
60
|
+
* mode yields events rather than text) is only possible in this shape, because
|
|
61
|
+
* those clients drop comment frames before the caller ever sees them.
|
|
62
|
+
*
|
|
63
|
+
* The trade-off is liveness, not correctness: `staleConnectionTimeoutMs`
|
|
64
|
+
* degrades from byte-level to EVENT-level, so a stream carrying nothing but
|
|
65
|
+
* heartbeat comments looks idle and is force-closed after the timeout, and a
|
|
66
|
+
* silently dead connection is only noticed once the timeout elapses. Heartbeat
|
|
67
|
+
* *events* (a named event rather than a comment) still reset it. The deadman
|
|
68
|
+
* poll is unaffected, so delivery stays correct either way.
|
|
69
|
+
*/
|
|
70
|
+
export type ParsedStreamResponse = {
|
|
71
|
+
status: number;
|
|
72
|
+
headers: Record<string, string>;
|
|
73
|
+
/**
|
|
74
|
+
* SSE frames as they arrive. Iteration ends when the stream closes; it
|
|
75
|
+
* throws on a mid-stream network error.
|
|
76
|
+
*/
|
|
77
|
+
events: AsyncIterable<ParsedSseFrame>;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* What `openStream` resolves with. Prefer {@link RawStreamResponse}; use
|
|
81
|
+
* {@link ParsedStreamResponse} when the underlying client will not give up its
|
|
82
|
+
* raw bytes.
|
|
83
|
+
*/
|
|
84
|
+
export type StreamResponse = RawStreamResponse | ParsedStreamResponse;
|
|
85
|
+
export type FallbackTransport = {
|
|
86
|
+
/**
|
|
87
|
+
* Fetch a snapshot (the JSON branch). Resolves with status/body even for
|
|
88
|
+
* non-2xx responses; rejects only on network-level failure.
|
|
89
|
+
*
|
|
90
|
+
* Rate limiting across subscriptions is NOT handled here by default: after a
|
|
91
|
+
* server blip every live subscription reconnects and fires its own
|
|
92
|
+
* reconciliation poll at once. Either share a `pollGate` between
|
|
93
|
+
* subscriptions (see `createPollGate`) or cap and stagger the requests
|
|
94
|
+
* inside this method — one of the two is the transport author's
|
|
95
|
+
* responsibility.
|
|
96
|
+
*/
|
|
97
|
+
fetchSnapshot(request: TransportRequest, opts: {
|
|
98
|
+
signal: AbortSignal;
|
|
99
|
+
}): Promise<SnapshotResponse>;
|
|
100
|
+
/**
|
|
101
|
+
* Open the SSE branch. Resolves once response headers are received;
|
|
102
|
+
* rejects only on network-level failure. A non-200 status (or a
|
|
103
|
+
* non-`text/event-stream` content type) is a CONNECT FAILURE the core
|
|
104
|
+
* counts toward degradation.
|
|
105
|
+
*/
|
|
106
|
+
openStream(request: TransportRequest, opts: {
|
|
107
|
+
signal: AbortSignal;
|
|
108
|
+
lastEventId?: string;
|
|
109
|
+
}): Promise<StreamResponse>;
|
|
110
|
+
};
|
|
111
|
+
/** Whether a stream response hands over parsed frames instead of raw text. */
|
|
112
|
+
export declare function isParsedStreamResponse(response: StreamResponse): response is ParsedStreamResponse;
|
|
113
|
+
export type TestStreamHandle = {
|
|
114
|
+
/** Emit a complete SSE event frame. */
|
|
115
|
+
pushEvent(event: string, data: unknown, opts?: {
|
|
116
|
+
id?: string;
|
|
117
|
+
retry?: number;
|
|
118
|
+
}): void;
|
|
119
|
+
/** Emit a heartbeat comment frame (byte activity without a data event). */
|
|
120
|
+
pushHeartbeat(): void;
|
|
121
|
+
/** Emit a raw text chunk verbatim. */
|
|
122
|
+
pushRaw(text: string): void;
|
|
123
|
+
/** End the stream normally (server close). */
|
|
124
|
+
close(): void;
|
|
125
|
+
/** Fail the stream mid-flight (network error). */
|
|
126
|
+
fail(error?: Error): void;
|
|
127
|
+
readonly lastEventIdReceived: string | undefined;
|
|
128
|
+
readonly request: TransportRequest;
|
|
129
|
+
};
|
|
130
|
+
export type TestSnapshotCall = {
|
|
131
|
+
request: TransportRequest;
|
|
132
|
+
respond(body: unknown, status?: number): void;
|
|
133
|
+
fail(error?: Error): void;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Scripted {@link FallbackTransport} for unit tests. Pairs with fake timers:
|
|
137
|
+
* snapshot calls and stream connects are surfaced through the `onSnapshot` /
|
|
138
|
+
* `onStreamConnect` hooks (or the corresponding queues), and streams are
|
|
139
|
+
* driven manually via {@link TestStreamHandle}.
|
|
140
|
+
*/
|
|
141
|
+
export declare class TestTransport implements FallbackTransport {
|
|
142
|
+
/**
|
|
143
|
+
* Which {@link StreamResponse} shape `openStream` resolves with. `'parsed'`
|
|
144
|
+
* models a transport wrapping a client that only exposes framed events, so
|
|
145
|
+
* pushed heartbeat comments never reach the core.
|
|
146
|
+
*/
|
|
147
|
+
streamMode: 'raw' | 'parsed';
|
|
148
|
+
/** Called for every snapshot fetch; respond synchronously or later. */
|
|
149
|
+
onSnapshot?: (call: TestSnapshotCall) => void;
|
|
150
|
+
/** Called for every stream connect attempt after it is accepted. */
|
|
151
|
+
onStreamConnect?: (stream: TestStreamHandle) => void;
|
|
152
|
+
/** Statuses (or an Error) to reject/deny the next N stream connects with. */
|
|
153
|
+
private readonly connectDenials;
|
|
154
|
+
readonly snapshotCalls: TransportRequest[];
|
|
155
|
+
readonly streamConnects: TransportRequest[];
|
|
156
|
+
/** Whether each denied connect's request was aborted by the core. */
|
|
157
|
+
readonly deniedConnectAborts: boolean[];
|
|
158
|
+
/** Queue a denial for the next stream connect (non-200 status or network error). */
|
|
159
|
+
denyNextStreamConnect(denial: {
|
|
160
|
+
status?: number;
|
|
161
|
+
error?: Error;
|
|
162
|
+
}): void;
|
|
163
|
+
/**
|
|
164
|
+
* Queue a stream connect that never produces response headers, settling only
|
|
165
|
+
* when the core aborts it. Models an upstream that accepts the TCP
|
|
166
|
+
* connection and then goes quiet.
|
|
167
|
+
*/
|
|
168
|
+
holdNextStreamConnect(): void;
|
|
169
|
+
fetchSnapshot(request: TransportRequest, opts: {
|
|
170
|
+
signal: AbortSignal;
|
|
171
|
+
}): Promise<SnapshotResponse>;
|
|
172
|
+
openStream(request: TransportRequest, opts: {
|
|
173
|
+
signal: AbortSignal;
|
|
174
|
+
lastEventId?: string;
|
|
175
|
+
}): Promise<StreamResponse>;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport seam: the core owns no HTTP. Implementations wrap fetch (browser,
|
|
3
|
+
* via @lokalise/frontend-http-client), undici (Node), or scripted fixtures
|
|
4
|
+
* (tests). Response-body validation (zod) belongs in the transport wrapper,
|
|
5
|
+
* keeping this package dependency-free.
|
|
6
|
+
*/
|
|
7
|
+
import { parseSSEStream } from '@opinionated-machine/sse-parser';
|
|
8
|
+
/** Whether a stream response hands over parsed frames instead of raw text. */
|
|
9
|
+
export function isParsedStreamResponse(response) {
|
|
10
|
+
return 'events' in response;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Scripted {@link FallbackTransport} for unit tests. Pairs with fake timers:
|
|
14
|
+
* snapshot calls and stream connects are surfaced through the `onSnapshot` /
|
|
15
|
+
* `onStreamConnect` hooks (or the corresponding queues), and streams are
|
|
16
|
+
* driven manually via {@link TestStreamHandle}.
|
|
17
|
+
*/
|
|
18
|
+
export class TestTransport {
|
|
19
|
+
/**
|
|
20
|
+
* Which {@link StreamResponse} shape `openStream` resolves with. `'parsed'`
|
|
21
|
+
* models a transport wrapping a client that only exposes framed events, so
|
|
22
|
+
* pushed heartbeat comments never reach the core.
|
|
23
|
+
*/
|
|
24
|
+
streamMode = 'raw';
|
|
25
|
+
/** Called for every snapshot fetch; respond synchronously or later. */
|
|
26
|
+
onSnapshot;
|
|
27
|
+
/** Called for every stream connect attempt after it is accepted. */
|
|
28
|
+
onStreamConnect;
|
|
29
|
+
/** Statuses (or an Error) to reject/deny the next N stream connects with. */
|
|
30
|
+
connectDenials = [];
|
|
31
|
+
snapshotCalls = [];
|
|
32
|
+
streamConnects = [];
|
|
33
|
+
/** Whether each denied connect's request was aborted by the core. */
|
|
34
|
+
deniedConnectAborts = [];
|
|
35
|
+
/** Queue a denial for the next stream connect (non-200 status or network error). */
|
|
36
|
+
denyNextStreamConnect(denial) {
|
|
37
|
+
this.connectDenials.push(denial);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Queue a stream connect that never produces response headers, settling only
|
|
41
|
+
* when the core aborts it. Models an upstream that accepts the TCP
|
|
42
|
+
* connection and then goes quiet.
|
|
43
|
+
*/
|
|
44
|
+
holdNextStreamConnect() {
|
|
45
|
+
this.connectDenials.push({ hold: true });
|
|
46
|
+
}
|
|
47
|
+
fetchSnapshot(request, opts) {
|
|
48
|
+
this.snapshotCalls.push(request);
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
if (opts.signal.aborted) {
|
|
51
|
+
reject(new Error('aborted'));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
opts.signal.addEventListener('abort', () => reject(new Error('aborted')), { once: true });
|
|
55
|
+
const call = {
|
|
56
|
+
request,
|
|
57
|
+
respond: (body, status = 200) => resolve({ status, headers: {}, body }),
|
|
58
|
+
fail: (error) => reject(error ?? new Error('snapshot network failure')),
|
|
59
|
+
};
|
|
60
|
+
if (this.onSnapshot) {
|
|
61
|
+
this.onSnapshot(call);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
reject(new Error('TestTransport.onSnapshot is not configured'));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
openStream(request, opts) {
|
|
69
|
+
this.streamConnects.push(request);
|
|
70
|
+
const denial = this.connectDenials.shift();
|
|
71
|
+
if (denial?.hold) {
|
|
72
|
+
return new Promise((_resolve, reject) => {
|
|
73
|
+
if (opts.signal.aborted) {
|
|
74
|
+
reject(new Error('aborted'));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
opts.signal.addEventListener('abort', () => reject(new Error('aborted')), { once: true });
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (denial?.error) {
|
|
81
|
+
return Promise.reject(denial.error);
|
|
82
|
+
}
|
|
83
|
+
if (denial?.status !== undefined) {
|
|
84
|
+
const index = this.deniedConnectAborts.push(false) - 1;
|
|
85
|
+
opts.signal.addEventListener('abort', () => {
|
|
86
|
+
this.deniedConnectAborts[index] = true;
|
|
87
|
+
}, { once: true });
|
|
88
|
+
return Promise.resolve({
|
|
89
|
+
status: denial.status,
|
|
90
|
+
headers: {},
|
|
91
|
+
chunks: emptyChunks(),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const queue = [];
|
|
95
|
+
let notify;
|
|
96
|
+
const controller = {
|
|
97
|
+
aborted: false,
|
|
98
|
+
push: (chunk) => {
|
|
99
|
+
queue.push(chunk);
|
|
100
|
+
notify?.();
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
opts.signal.addEventListener('abort', () => {
|
|
104
|
+
controller.aborted = true;
|
|
105
|
+
notify?.();
|
|
106
|
+
}, { once: true });
|
|
107
|
+
const handle = {
|
|
108
|
+
pushEvent: (event, data, eventOpts) => {
|
|
109
|
+
let frame = '';
|
|
110
|
+
if (eventOpts?.id !== undefined)
|
|
111
|
+
frame += `id: ${eventOpts.id}\n`;
|
|
112
|
+
frame += `event: ${event}\ndata: ${JSON.stringify(data)}\n`;
|
|
113
|
+
if (eventOpts?.retry !== undefined)
|
|
114
|
+
frame += `retry: ${eventOpts.retry}\n`;
|
|
115
|
+
controller.push({ kind: 'chunk', text: `${frame}\n` });
|
|
116
|
+
},
|
|
117
|
+
pushHeartbeat: () => controller.push({ kind: 'chunk', text: ': heartbeat\n\n' }),
|
|
118
|
+
pushRaw: (text) => controller.push({ kind: 'chunk', text }),
|
|
119
|
+
close: () => controller.push({ kind: 'close' }),
|
|
120
|
+
fail: (error) => controller.push({ kind: 'error', error: error ?? new Error('stream network failure') }),
|
|
121
|
+
lastEventIdReceived: opts.lastEventId,
|
|
122
|
+
request,
|
|
123
|
+
};
|
|
124
|
+
const chunks = (async function* () {
|
|
125
|
+
while (true) {
|
|
126
|
+
if (controller.aborted)
|
|
127
|
+
return;
|
|
128
|
+
const next = queue.shift();
|
|
129
|
+
if (!next) {
|
|
130
|
+
await new Promise((resolve) => {
|
|
131
|
+
notify = resolve;
|
|
132
|
+
});
|
|
133
|
+
notify = undefined;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (next.kind === 'close')
|
|
137
|
+
return;
|
|
138
|
+
if (next.kind === 'error')
|
|
139
|
+
throw next.error;
|
|
140
|
+
yield next.text;
|
|
141
|
+
}
|
|
142
|
+
})();
|
|
143
|
+
this.onStreamConnect?.(handle);
|
|
144
|
+
if (this.streamMode === 'parsed') {
|
|
145
|
+
return Promise.resolve({
|
|
146
|
+
status: 200,
|
|
147
|
+
headers: { 'content-type': 'text/event-stream' },
|
|
148
|
+
events: framesOf(chunks),
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return Promise.resolve({
|
|
152
|
+
status: 200,
|
|
153
|
+
headers: { 'content-type': 'text/event-stream' },
|
|
154
|
+
chunks,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async function* emptyChunks() {
|
|
159
|
+
// no chunks — used for denied connects
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Frame raw chunks the way a parsed-event client would: comment/heartbeat
|
|
163
|
+
* frames are consumed by the framing and never surface as events.
|
|
164
|
+
*/
|
|
165
|
+
function framesOf(chunks) {
|
|
166
|
+
return parseSSEStream(chunks);
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opinionated-machine/sse-fallback",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Browser-safe SSE client core with transparent polling fallback for opinionated-machine dual-mode contracts",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.js",
|
|
12
|
+
"./package.json": "./package.json"
|
|
13
|
+
},
|
|
14
|
+
"maintainers": [
|
|
15
|
+
{
|
|
16
|
+
"name": "Igor Savin",
|
|
17
|
+
"email": "kibertoad@gmail.com"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/kibertoad/opinionated-machine.git",
|
|
23
|
+
"directory": "packages/sse-fallback"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@opinionated-machine/sse-parser": "0.1.0"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@lokalise/api-contracts": ">=8.0.0",
|
|
30
|
+
"zod": ">=4.0.0"
|
|
31
|
+
},
|
|
32
|
+
"peerDependenciesMeta": {
|
|
33
|
+
"@lokalise/api-contracts": {
|
|
34
|
+
"optional": true
|
|
35
|
+
},
|
|
36
|
+
"zod": {
|
|
37
|
+
"optional": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@biomejs/biome": "2.4.4",
|
|
42
|
+
"@lokalise/api-contracts": "^8.0.0",
|
|
43
|
+
"@lokalise/biome-config": "^3.1.1",
|
|
44
|
+
"@lokalise/tsconfig": "^3.1.0",
|
|
45
|
+
"rimraf": "^6.1.2",
|
|
46
|
+
"typescript": "^5.9.3",
|
|
47
|
+
"vitest": "^4.1.11",
|
|
48
|
+
"zod": "^4.4.3"
|
|
49
|
+
},
|
|
50
|
+
"private": false,
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"access": "public"
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"sse",
|
|
56
|
+
"server-sent-events",
|
|
57
|
+
"polling",
|
|
58
|
+
"fallback",
|
|
59
|
+
"realtime",
|
|
60
|
+
"browser",
|
|
61
|
+
"opinionated-machine"
|
|
62
|
+
],
|
|
63
|
+
"homepage": "https://github.com/kibertoad/opinionated-machine/tree/main/packages/sse-fallback",
|
|
64
|
+
"files": [
|
|
65
|
+
"README.md",
|
|
66
|
+
"LICENSE",
|
|
67
|
+
"dist/*"
|
|
68
|
+
],
|
|
69
|
+
"scripts": {
|
|
70
|
+
"build": "rimraf dist && tsc -p tsconfig.build.json",
|
|
71
|
+
"lint": "biome check . && tsc",
|
|
72
|
+
"lint:fix": "biome check --write .",
|
|
73
|
+
"test": "vitest run",
|
|
74
|
+
"test:watch": "vitest"
|
|
75
|
+
}
|
|
76
|
+
}
|