@s2-dev/streamstore 0.16.0 → 0.16.2
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 +201 -0
- package/README.md +1 -2
- package/dist/accessTokens.d.ts +37 -0
- package/dist/accessTokens.d.ts.map +1 -0
- package/dist/accessTokens.js +74 -0
- package/dist/accessTokens.js.map +1 -0
- package/dist/basin.d.ts +26 -0
- package/dist/basin.d.ts.map +1 -0
- package/dist/basin.js +34 -0
- package/dist/basin.js.map +1 -0
- package/dist/basins.d.ts +53 -0
- package/dist/basins.d.ts.map +1 -0
- package/dist/basins.js +115 -0
- package/dist/basins.js.map +1 -0
- package/dist/common.d.ts +44 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +2 -0
- package/dist/common.js.map +1 -0
- package/dist/error.d.ts +28 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +43 -0
- package/dist/error.js.map +1 -0
- package/dist/generated/client/client.gen.d.ts +3 -0
- package/dist/generated/client/client.gen.d.ts.map +1 -0
- package/dist/generated/client/client.gen.js +205 -0
- package/dist/generated/client/client.gen.js.map +1 -0
- package/dist/generated/client/index.d.ts +9 -0
- package/dist/generated/client/index.d.ts.map +1 -0
- package/dist/generated/client/index.js +7 -0
- package/dist/generated/client/index.js.map +1 -0
- package/dist/generated/client/types.gen.d.ts +125 -0
- package/dist/generated/client/types.gen.d.ts.map +1 -0
- package/dist/generated/client/types.gen.js +3 -0
- package/dist/generated/client/types.gen.js.map +1 -0
- package/dist/generated/client/utils.gen.d.ts +34 -0
- package/dist/generated/client/utils.gen.d.ts.map +1 -0
- package/dist/generated/client/utils.gen.js +231 -0
- package/dist/generated/client/utils.gen.js.map +1 -0
- package/{src/generated/client.gen.ts → dist/generated/client.gen.d.ts} +3 -8
- package/dist/generated/client.gen.d.ts.map +1 -0
- package/dist/generated/client.gen.js +6 -0
- package/dist/generated/client.gen.js.map +1 -0
- package/dist/generated/core/auth.gen.d.ts +19 -0
- package/dist/generated/core/auth.gen.d.ts.map +1 -0
- package/dist/generated/core/auth.gen.js +15 -0
- package/dist/generated/core/auth.gen.js.map +1 -0
- package/dist/generated/core/bodySerializer.gen.d.ts +18 -0
- package/dist/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/generated/core/bodySerializer.gen.js +58 -0
- package/dist/generated/core/bodySerializer.gen.js.map +1 -0
- package/dist/generated/core/params.gen.d.ts +34 -0
- package/dist/generated/core/params.gen.d.ts.map +1 -0
- package/dist/generated/core/params.gen.js +89 -0
- package/dist/generated/core/params.gen.js.map +1 -0
- package/dist/generated/core/pathSerializer.gen.d.ts +34 -0
- package/dist/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/generated/core/pathSerializer.gen.js +115 -0
- package/dist/generated/core/pathSerializer.gen.js.map +1 -0
- package/dist/generated/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/generated/core/queryKeySerializer.gen.js +100 -0
- package/dist/generated/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/generated/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/generated/core/serverSentEvents.gen.js +136 -0
- package/dist/generated/core/serverSentEvents.gen.js.map +1 -0
- package/dist/generated/core/types.gen.d.ts +79 -0
- package/dist/generated/core/types.gen.d.ts.map +1 -0
- package/dist/generated/core/types.gen.js +3 -0
- package/dist/generated/core/types.gen.js.map +1 -0
- package/dist/generated/core/utils.gen.d.ts +20 -0
- package/dist/generated/core/utils.gen.d.ts.map +1 -0
- package/dist/generated/core/utils.gen.js +88 -0
- package/dist/generated/core/utils.gen.js.map +1 -0
- package/dist/generated/index.d.ts +3 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/{src/generated/index.ts → dist/generated/index.js} +1 -2
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/sdk.gen.d.ts +100 -0
- package/dist/generated/sdk.gen.d.ts.map +1 -0
- package/dist/generated/sdk.gen.js +350 -0
- package/dist/generated/sdk.gen.js.map +1 -0
- package/{src/generated/types.gen.ts → dist/generated/types.gen.d.ts} +1 -158
- package/dist/generated/types.gen.d.ts.map +1 -0
- package/dist/generated/types.gen.js +3 -0
- package/dist/generated/types.gen.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/event-stream.d.ts +26 -0
- package/dist/lib/event-stream.d.ts.map +1 -0
- package/dist/lib/event-stream.js +138 -0
- package/dist/lib/event-stream.js.map +1 -0
- package/dist/metrics.d.ts +44 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +83 -0
- package/dist/metrics.js.map +1 -0
- package/dist/s2.d.ts +38 -0
- package/dist/s2.d.ts.map +1 -0
- package/dist/s2.js +56 -0
- package/dist/s2.js.map +1 -0
- package/dist/stream.d.ts +156 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +598 -0
- package/dist/stream.js.map +1 -0
- package/dist/streams.d.ts +52 -0
- package/dist/streams.d.ts.map +1 -0
- package/dist/streams.js +114 -0
- package/dist/streams.js.map +1 -0
- package/dist/utils.d.ts +20 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +52 -0
- package/dist/utils.js.map +1 -0
- package/package.json +13 -4
- package/.changeset/README.md +0 -8
- package/.changeset/config.json +0 -11
- package/.claude/settings.local.json +0 -9
- package/.github/workflows/ci.yml +0 -59
- package/.github/workflows/publish.yml +0 -35
- package/CHANGELOG.md +0 -7
- package/biome.json +0 -30
- package/bun.lock +0 -598
- package/examples/append.ts +0 -84
- package/examples/kitchen-sink.ts +0 -73
- package/examples/read.ts +0 -30
- package/openapi-ts.config.ts +0 -7
- package/src/accessTokens.ts +0 -100
- package/src/basin.ts +0 -43
- package/src/basins.ts +0 -154
- package/src/common.ts +0 -45
- package/src/error.ts +0 -58
- package/src/generated/client/client.gen.ts +0 -268
- package/src/generated/client/index.ts +0 -26
- package/src/generated/client/types.gen.ts +0 -268
- package/src/generated/client/utils.gen.ts +0 -331
- package/src/generated/core/auth.gen.ts +0 -42
- package/src/generated/core/bodySerializer.gen.ts +0 -92
- package/src/generated/core/params.gen.ts +0 -153
- package/src/generated/core/pathSerializer.gen.ts +0 -181
- package/src/generated/core/queryKeySerializer.gen.ts +0 -136
- package/src/generated/core/serverSentEvents.gen.ts +0 -264
- package/src/generated/core/types.gen.ts +0 -118
- package/src/generated/core/utils.gen.ts +0 -143
- package/src/generated/sdk.gen.ts +0 -387
- package/src/index.ts +0 -66
- package/src/lib/event-stream.ts +0 -167
- package/src/metrics.ts +0 -106
- package/src/s2.ts +0 -65
- package/src/stream.ts +0 -791
- package/src/streams.ts +0 -156
- package/src/tests/appendSession.test.ts +0 -149
- package/src/tests/batcher-session.integration.test.ts +0 -80
- package/src/tests/batcher.test.ts +0 -216
- package/src/tests/index.test.ts +0 -7
- package/src/utils.ts +0 -80
- package/tsconfig.build.json +0 -10
- package/tsconfig.json +0 -31
package/dist/streams.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { S2Error } from "./error";
|
|
2
|
+
import { createStream, deleteStream, getStreamConfig, listStreams, reconfigureStream, } from "./generated";
|
|
3
|
+
export class S2Streams {
|
|
4
|
+
client;
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* List streams in the basin.
|
|
10
|
+
*
|
|
11
|
+
* @param args.prefix Return streams whose names start with the given prefix
|
|
12
|
+
* @param args.start_after Name to start after (for pagination)
|
|
13
|
+
* @param args.limit Max results (up to 1000)
|
|
14
|
+
*/
|
|
15
|
+
async list(args, options) {
|
|
16
|
+
const response = await listStreams({
|
|
17
|
+
client: this.client,
|
|
18
|
+
query: args,
|
|
19
|
+
...options,
|
|
20
|
+
});
|
|
21
|
+
if (response.error) {
|
|
22
|
+
throw new S2Error({
|
|
23
|
+
message: response.error.message,
|
|
24
|
+
code: response.error.code ?? undefined,
|
|
25
|
+
status: response.response.status,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return response.data;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a stream.
|
|
32
|
+
*
|
|
33
|
+
* @param args.stream Stream name (1-512 bytes, unique within the basin)
|
|
34
|
+
* @param args.config Stream configuration (retention, storage class, timestamping, delete-on-empty)
|
|
35
|
+
*/
|
|
36
|
+
async create(args, options) {
|
|
37
|
+
const response = await createStream({
|
|
38
|
+
client: this.client,
|
|
39
|
+
body: args,
|
|
40
|
+
...options,
|
|
41
|
+
});
|
|
42
|
+
if (response.error) {
|
|
43
|
+
throw new S2Error({
|
|
44
|
+
message: response.error.message,
|
|
45
|
+
code: response.error.code ?? undefined,
|
|
46
|
+
status: response.response.status,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return response.data;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get stream configuration.
|
|
53
|
+
*
|
|
54
|
+
* @param args.stream Stream name
|
|
55
|
+
*/
|
|
56
|
+
async getConfig(args, options) {
|
|
57
|
+
const response = await getStreamConfig({
|
|
58
|
+
client: this.client,
|
|
59
|
+
path: args,
|
|
60
|
+
...options,
|
|
61
|
+
});
|
|
62
|
+
if (response.error) {
|
|
63
|
+
throw new S2Error({
|
|
64
|
+
message: response.error.message,
|
|
65
|
+
code: response.error.code ?? undefined,
|
|
66
|
+
status: response.response.status,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return response.data;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Delete a stream.
|
|
73
|
+
*
|
|
74
|
+
* @param args.stream Stream name
|
|
75
|
+
*/
|
|
76
|
+
async delete(args, options) {
|
|
77
|
+
const response = await deleteStream({
|
|
78
|
+
client: this.client,
|
|
79
|
+
path: args,
|
|
80
|
+
...options,
|
|
81
|
+
});
|
|
82
|
+
if (response.error) {
|
|
83
|
+
throw new S2Error({
|
|
84
|
+
message: response.error.message,
|
|
85
|
+
code: response.error.code ?? undefined,
|
|
86
|
+
status: response.response.status,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return response.data;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Reconfigure a stream.
|
|
93
|
+
*
|
|
94
|
+
* @param args.stream Stream name
|
|
95
|
+
* @param args.body Configuration fields to change
|
|
96
|
+
*/
|
|
97
|
+
async reconfigure(args, options) {
|
|
98
|
+
const response = await reconfigureStream({
|
|
99
|
+
client: this.client,
|
|
100
|
+
path: args,
|
|
101
|
+
body: args,
|
|
102
|
+
...options,
|
|
103
|
+
});
|
|
104
|
+
if (response.error) {
|
|
105
|
+
throw new S2Error({
|
|
106
|
+
message: response.error.message,
|
|
107
|
+
code: response.error.code ?? undefined,
|
|
108
|
+
status: response.response.status,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return response.data;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=streams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AppendRecord as AppendRecordType } from "./stream";
|
|
2
|
+
type Headers = Record<string, string> | Array<[string | Uint8Array, string | Uint8Array]>;
|
|
3
|
+
export type AppendRecord = AppendRecordType;
|
|
4
|
+
/**
|
|
5
|
+
* Helpers to construct appendable records.
|
|
6
|
+
*
|
|
7
|
+
* These helpers mirror the OpenAPI record schema and add convenience builders for S2 command records:
|
|
8
|
+
* - `make` creates a normal record
|
|
9
|
+
* - `command` creates a command record with an empty-name header set to the command name
|
|
10
|
+
* - `fence` is a command record enforcing a fencing token
|
|
11
|
+
* - `trim` is a command record that encodes a sequence number for trimming
|
|
12
|
+
*/
|
|
13
|
+
export declare const AppendRecord: {
|
|
14
|
+
readonly make: (body?: string | Uint8Array, headers?: Headers, timestamp?: AppendRecordType["timestamp"]) => AppendRecordType;
|
|
15
|
+
readonly command: (command: string, body?: string | Uint8Array, additionalHeaders?: Headers, timestamp?: AppendRecordType["timestamp"]) => AppendRecordType;
|
|
16
|
+
readonly fence: (fencing_token: string, additionalHeaders?: Headers, timestamp?: AppendRecordType["timestamp"]) => AppendRecordType;
|
|
17
|
+
readonly trim: (seqNum: number | bigint, additionalHeaders?: Headers, timestamp?: AppendRecordType["timestamp"]) => AppendRecordType;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjE,KAAK,OAAO,GACT,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,KAAK,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;2BAEhB,MAAM,GAAG,UAAU,YAChB,OAAO,cACL,gBAAgB,CAAC,WAAW,CAAC,KACvC,gBAAgB;gCAST,MAAM,SACR,MAAM,GAAG,UAAU,sBACN,OAAO,cACf,gBAAgB,CAAC,WAAW,CAAC,KACvC,gBAAgB;oCAsBH,MAAM,sBACD,OAAO,cACf,gBAAgB,CAAC,WAAW,CAAC;4BAUjC,MAAM,GAAG,MAAM,sBACH,OAAO,cACf,gBAAgB,CAAC,WAAW,CAAC,KACvC,gBAAgB;CAOV,CAAC"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers to construct appendable records.
|
|
3
|
+
*
|
|
4
|
+
* These helpers mirror the OpenAPI record schema and add convenience builders for S2 command records:
|
|
5
|
+
* - `make` creates a normal record
|
|
6
|
+
* - `command` creates a command record with an empty-name header set to the command name
|
|
7
|
+
* - `fence` is a command record enforcing a fencing token
|
|
8
|
+
* - `trim` is a command record that encodes a sequence number for trimming
|
|
9
|
+
*/
|
|
10
|
+
export const AppendRecord = {
|
|
11
|
+
make: (body, headers, timestamp) => {
|
|
12
|
+
return {
|
|
13
|
+
body,
|
|
14
|
+
headers,
|
|
15
|
+
timestamp,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
command: (
|
|
19
|
+
/** Command name (e.g. "fence" or "trim"). */
|
|
20
|
+
command, body, additionalHeaders, timestamp) => {
|
|
21
|
+
const headers = (() => {
|
|
22
|
+
if (!additionalHeaders) {
|
|
23
|
+
return [["", command]];
|
|
24
|
+
}
|
|
25
|
+
else if (Array.isArray(additionalHeaders)) {
|
|
26
|
+
return [["", command], ...additionalHeaders];
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return [
|
|
30
|
+
["", command],
|
|
31
|
+
...Object.entries(additionalHeaders).map(([key, value]) => [key, value]),
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
})();
|
|
35
|
+
return {
|
|
36
|
+
body,
|
|
37
|
+
headers,
|
|
38
|
+
timestamp,
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
fence: (fencing_token, additionalHeaders, timestamp) => {
|
|
42
|
+
return AppendRecord.command("fence", fencing_token, additionalHeaders, timestamp);
|
|
43
|
+
},
|
|
44
|
+
trim: (seqNum, additionalHeaders, timestamp) => {
|
|
45
|
+
// Encode sequence number as 8 big-endian bytes
|
|
46
|
+
const buffer = new Uint8Array(8);
|
|
47
|
+
const view = new DataView(buffer.buffer);
|
|
48
|
+
view.setBigUint64(0, BigInt(seqNum), false); // false = big-endian
|
|
49
|
+
return AppendRecord.command("trim", buffer, additionalHeaders, timestamp);
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,CACL,IAA0B,EAC1B,OAAiB,EACjB,SAAyC,EACtB,EAAE;QACrB,OAAO;YACN,IAAI;YACJ,OAAO;YACP,SAAS;SACT,CAAC;IACH,CAAC;IACD,OAAO,EAAE;IACR,6CAA6C;IAC7C,OAAe,EACf,IAA0B,EAC1B,iBAA2B,EAC3B,SAAyC,EACtB,EAAE;QACrB,MAAM,OAAO,GAAgC,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACxB,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAqB,EAAE,GAAG,iBAAiB,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACP,OAAO;oBACN,CAAC,EAAE,EAAE,OAAO,CAAqB;oBACjC,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CACvC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAqB,CAClD;iBACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QACL,OAAO;YACN,IAAI;YACJ,OAAO;YACP,SAAS;SACT,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CACN,aAAqB,EACrB,iBAA2B,EAC3B,SAAyC,EACxC,EAAE;QACH,OAAO,YAAY,CAAC,OAAO,CAC1B,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,SAAS,CACT,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CACL,MAAuB,EACvB,iBAA2B,EAC3B,SAAyC,EACtB,EAAE;QACrB,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,qBAAqB;QAClE,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;CACQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@s2-dev/streamstore",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.2",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/s2-streamstore/s2-sdk-typescript"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://s2.dev",
|
|
5
11
|
"scripts": {
|
|
6
12
|
"build": "tsc --project tsconfig.build.json",
|
|
7
13
|
"test": "vitest --run",
|
|
@@ -9,9 +15,7 @@
|
|
|
9
15
|
"check:write": "biome check --write",
|
|
10
16
|
"format": "biome format --write",
|
|
11
17
|
"gen:openapi": "openapi-ts",
|
|
12
|
-
"
|
|
13
|
-
"version": "changeset version",
|
|
14
|
-
"release": "bun run build && changeset publish --access public"
|
|
18
|
+
"publish": "npm publish"
|
|
15
19
|
},
|
|
16
20
|
"module": "./dist/index.js",
|
|
17
21
|
"types": "./dist/index.d.ts",
|
|
@@ -21,6 +25,11 @@
|
|
|
21
25
|
"types": "./dist/index.d.ts"
|
|
22
26
|
}
|
|
23
27
|
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist",
|
|
30
|
+
"README.md",
|
|
31
|
+
"LICENSE"
|
|
32
|
+
],
|
|
24
33
|
"devDependencies": {
|
|
25
34
|
"@biomejs/biome": "2.2.5",
|
|
26
35
|
"@changesets/cli": "^2.29.7",
|
package/.changeset/README.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Changesets
|
|
2
|
-
|
|
3
|
-
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
|
|
4
|
-
with multi-package repos, or single-package repos to help you version and publish your code. You can
|
|
5
|
-
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
|
|
6
|
-
|
|
7
|
-
We have a quick list of common questions to get you started engaging with this project in
|
|
8
|
-
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
|
package/.changeset/config.json
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
|
|
3
|
-
"changelog": "@changesets/cli/changelog",
|
|
4
|
-
"commit": false,
|
|
5
|
-
"fixed": [],
|
|
6
|
-
"linked": [],
|
|
7
|
-
"access": "restricted",
|
|
8
|
-
"baseBranch": "main",
|
|
9
|
-
"updateInternalDependencies": "patch",
|
|
10
|
-
"ignore": []
|
|
11
|
-
}
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: ["**"]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
build:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
steps:
|
|
13
|
-
- name: Checkout code
|
|
14
|
-
uses: actions/checkout@v4
|
|
15
|
-
|
|
16
|
-
- name: Setup Bun
|
|
17
|
-
uses: oven-sh/setup-bun@v2
|
|
18
|
-
with:
|
|
19
|
-
bun-version: latest
|
|
20
|
-
|
|
21
|
-
- name: Install dependencies
|
|
22
|
-
run: bun install --frozen-lockfile
|
|
23
|
-
|
|
24
|
-
- name: Build
|
|
25
|
-
run: bun run build
|
|
26
|
-
|
|
27
|
-
check:
|
|
28
|
-
runs-on: ubuntu-latest
|
|
29
|
-
steps:
|
|
30
|
-
- name: Checkout code
|
|
31
|
-
uses: actions/checkout@v4
|
|
32
|
-
|
|
33
|
-
- name: Setup Bun
|
|
34
|
-
uses: oven-sh/setup-bun@v2
|
|
35
|
-
with:
|
|
36
|
-
bun-version: latest
|
|
37
|
-
|
|
38
|
-
- name: Install dependencies
|
|
39
|
-
run: bun install --frozen-lockfile
|
|
40
|
-
|
|
41
|
-
- name: Run check
|
|
42
|
-
run: bun run check
|
|
43
|
-
|
|
44
|
-
test:
|
|
45
|
-
runs-on: ubuntu-latest
|
|
46
|
-
steps:
|
|
47
|
-
- name: Checkout code
|
|
48
|
-
uses: actions/checkout@v4
|
|
49
|
-
|
|
50
|
-
- name: Setup Bun
|
|
51
|
-
uses: oven-sh/setup-bun@v2
|
|
52
|
-
with:
|
|
53
|
-
bun-version: latest
|
|
54
|
-
|
|
55
|
-
- name: Install dependencies
|
|
56
|
-
run: bun install --frozen-lockfile
|
|
57
|
-
|
|
58
|
-
- name: Run test
|
|
59
|
-
run: bun run test
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: Publish
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
release:
|
|
12
|
-
name: Release
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
permissions:
|
|
15
|
-
contents: write
|
|
16
|
-
pull-requests: write
|
|
17
|
-
steps:
|
|
18
|
-
- name: Checkout Repo
|
|
19
|
-
uses: actions/checkout@v4
|
|
20
|
-
|
|
21
|
-
- name: Setup Bun
|
|
22
|
-
uses: oven-sh/setup-bun@v2
|
|
23
|
-
|
|
24
|
-
- name: Install Dependencies
|
|
25
|
-
run: bun install
|
|
26
|
-
|
|
27
|
-
- name: Build
|
|
28
|
-
run: bun run build
|
|
29
|
-
|
|
30
|
-
- name: Create Release Pull Request or Publish to npm
|
|
31
|
-
id: changesets
|
|
32
|
-
uses: changesets/action@v1.5.3
|
|
33
|
-
env:
|
|
34
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
35
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/CHANGELOG.md
DELETED
package/biome.json
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
|
|
3
|
-
"files": {
|
|
4
|
-
"includes": [
|
|
5
|
-
"src/**/*.ts",
|
|
6
|
-
"*.json",
|
|
7
|
-
"!src/generated/**/*.ts",
|
|
8
|
-
"examples/**/*.ts"
|
|
9
|
-
]
|
|
10
|
-
},
|
|
11
|
-
"formatter": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"formatWithErrors": true
|
|
14
|
-
},
|
|
15
|
-
"linter": {
|
|
16
|
-
"enabled": false
|
|
17
|
-
},
|
|
18
|
-
"json": {
|
|
19
|
-
"formatter": {
|
|
20
|
-
"indentWidth": 2,
|
|
21
|
-
"indentStyle": "space"
|
|
22
|
-
},
|
|
23
|
-
"parser": {
|
|
24
|
-
"allowTrailingCommas": true
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"assist": {
|
|
28
|
-
"enabled": true
|
|
29
|
-
}
|
|
30
|
-
}
|