@atcute/bluesky-threading 5.0.4 → 5.0.6
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/README.md +97 -12
- package/dist/cbor.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/time.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/lib/index.ts +17 -20
- package/lib/types.ts +3 -4
- package/package.json +14 -15
package/README.md
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
# @atcute/bluesky-threading
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
publish Bluesky threads atomically.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm install @atcute/bluesky-threading
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
creates multiple posts as a single atomic write using `com.atproto.repo.applyWrites`, so either all
|
|
10
|
+
posts succeed or none do.
|
|
11
|
+
|
|
12
|
+
## usage
|
|
13
|
+
|
|
14
|
+
### publishing a thread
|
|
4
15
|
|
|
5
16
|
```ts
|
|
6
17
|
import { XRPC } from '@atcute/client';
|
|
7
|
-
import { AtpAuth } from '@atcute/client/middlewares/auth';
|
|
8
|
-
|
|
9
18
|
import RichTextBuilder from '@atcute/bluesky-richtext-builder';
|
|
10
19
|
import { publishThread } from '@atcute/bluesky-threading';
|
|
11
20
|
|
|
12
|
-
const rpc = new XRPC({
|
|
13
|
-
const auth = new AtpAuth(rpc);
|
|
14
|
-
|
|
15
|
-
await auth.login({ identifier: '...', password: '...' });
|
|
21
|
+
const rpc = new XRPC({ handler: agent });
|
|
16
22
|
|
|
17
23
|
await publishThread(rpc, {
|
|
18
24
|
author: 'did:plc:ia76kvnndjutgedggx2ibrem',
|
|
@@ -20,19 +26,98 @@ await publishThread(rpc, {
|
|
|
20
26
|
posts: [
|
|
21
27
|
{
|
|
22
28
|
content: new RichTextBuilder()
|
|
23
|
-
.addText('
|
|
29
|
+
.addText('First post of my thread! ')
|
|
24
30
|
.addLink('example.com', 'https://example.com'),
|
|
25
31
|
},
|
|
26
32
|
{
|
|
27
|
-
content: {
|
|
28
|
-
|
|
33
|
+
content: { text: 'Second post continues the story...' },
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
content: { text: 'And the thrilling conclusion!' },
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### adding images
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
await publishThread(rpc, {
|
|
46
|
+
author: 'did:plc:ia76kvnndjutgedggx2ibrem',
|
|
47
|
+
posts: [
|
|
48
|
+
{
|
|
49
|
+
content: { text: 'Check out this photo!' },
|
|
50
|
+
embed: {
|
|
51
|
+
media: {
|
|
52
|
+
type: 'image',
|
|
53
|
+
images: [
|
|
54
|
+
{
|
|
55
|
+
blob: imageFile, // Web Blob - auto-uploaded
|
|
56
|
+
alt: 'A beautiful sunset',
|
|
57
|
+
aspectRatio: { width: 1200, height: 800 },
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
},
|
|
29
61
|
},
|
|
30
62
|
},
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### quote posting
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
await publishThread(rpc, {
|
|
71
|
+
author: 'did:plc:ia76kvnndjutgedggx2ibrem',
|
|
72
|
+
posts: [
|
|
31
73
|
{
|
|
32
|
-
content: {
|
|
33
|
-
|
|
74
|
+
content: { text: 'This is such a great post!' },
|
|
75
|
+
embed: {
|
|
76
|
+
record: {
|
|
77
|
+
type: 'quote',
|
|
78
|
+
uri: 'at://did:plc:.../app.bsky.feed.post/...',
|
|
79
|
+
},
|
|
34
80
|
},
|
|
35
81
|
},
|
|
36
82
|
],
|
|
37
83
|
});
|
|
38
84
|
```
|
|
85
|
+
|
|
86
|
+
### replying to a post
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
await publishThread(rpc, {
|
|
90
|
+
author: 'did:plc:ia76kvnndjutgedggx2ibrem',
|
|
91
|
+
reply: 'at://did:plc:.../app.bsky.feed.post/...', // AT-URI of post to reply to
|
|
92
|
+
posts: [{ content: { text: 'Great thread! Adding my thoughts...' } }],
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### restricting replies with threadgate
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
await publishThread(rpc, {
|
|
100
|
+
author: 'did:plc:ia76kvnndjutgedggx2ibrem',
|
|
101
|
+
gate: {
|
|
102
|
+
follows: true, // only followers can reply
|
|
103
|
+
mentions: true, // or users mentioned in the post
|
|
104
|
+
},
|
|
105
|
+
posts: [{ content: { text: 'Only my followers can reply to this thread' } }],
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### creating without publishing
|
|
110
|
+
|
|
111
|
+
use `createThread` to get the records without publishing - useful for previews or custom handling:
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
import { createThread } from '@atcute/bluesky-threading';
|
|
115
|
+
|
|
116
|
+
const records = await createThread({
|
|
117
|
+
client: rpc,
|
|
118
|
+
author: 'did:plc:ia76kvnndjutgedggx2ibrem',
|
|
119
|
+
posts: [{ content: { text: 'Preview this first' } }],
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
// inspect records, then publish yourself via com.atproto.repo.applyWrites
|
|
123
|
+
```
|
package/dist/cbor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cbor.js","sourceRoot":"","sources":["../lib/cbor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE/C,0EAA0E;AAC1E,4EAA4E;AAC5E,qBAAqB;AACrB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAyB;
|
|
1
|
+
{"version":3,"file":"cbor.js","sourceRoot":"","sources":["../lib/cbor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE/C,0EAA0E;AAC1E,4EAA4E;AAC5E,qBAAqB;AACrB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAyB,EAAmB;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,UAAU,CAAC;AAAA,CAClB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import type * as ComAtprotoRepoApplyWrites from '@atcute/atproto/types/repo/applyWrites';
|
|
1
2
|
import { type Client } from '@atcute/client';
|
|
2
3
|
import type { $type } from '@atcute/lexicons';
|
|
3
|
-
import type
|
|
4
|
-
|
|
5
|
-
export type * from './types.js';
|
|
4
|
+
import type { ComposedThread } from './types.ts';
|
|
5
|
+
export type * from './types.ts';
|
|
6
6
|
/**
|
|
7
7
|
* Create post records and publish them
|
|
8
|
-
* @param
|
|
8
|
+
* @param client An authenticated Bluesky RPC client
|
|
9
9
|
* @param thread Composed thread
|
|
10
10
|
* @returns An array of post records that were published
|
|
11
11
|
*/
|
|
12
|
-
export declare function publishThread(
|
|
12
|
+
export declare function publishThread(client: Client, thread: Omit<ComposedThread, 'client'>): Promise<$type.enforce<ComAtprotoRepoApplyWrites.Create>[]>;
|
|
13
13
|
/**
|
|
14
14
|
* Create post records without publishing, allows you to do it yourself.
|
|
15
15
|
* @param thread Composed thread
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,yBAAyB,MAAM,wCAAwC,CAAC;AAczF,OAAO,EAA2B,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAqD,MAAM,kBAAkB,CAAC;AAKjG,OAAO,KAAK,EACX,cAAc,EAKd,MAAM,YAAY,CAAC;AAEpB,mBAAmB,YAAY,CAAC;AAEhC;;;;;GAKG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GACpC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAc5D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CACjC,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAwU5D"}
|
package/dist/index.js
CHANGED
|
@@ -4,13 +4,13 @@ import { serializeRecordCid } from './cbor.js';
|
|
|
4
4
|
import { getNow } from './time.js';
|
|
5
5
|
/**
|
|
6
6
|
* Create post records and publish them
|
|
7
|
-
* @param
|
|
7
|
+
* @param client An authenticated Bluesky RPC client
|
|
8
8
|
* @param thread Composed thread
|
|
9
9
|
* @returns An array of post records that were published
|
|
10
10
|
*/
|
|
11
|
-
export async function publishThread(
|
|
12
|
-
const records = await createThread({ ...thread, client:
|
|
13
|
-
await ok(
|
|
11
|
+
export async function publishThread(client, thread) {
|
|
12
|
+
const records = await createThread({ ...thread, client: client });
|
|
13
|
+
await ok(client.post('com.atproto.repo.applyWrites', {
|
|
14
14
|
signal: thread.signal,
|
|
15
15
|
input: {
|
|
16
16
|
repo: thread.author,
|
|
@@ -66,7 +66,7 @@ export async function createThread(thread) {
|
|
|
66
66
|
assert(!reply || !threadgate, `threadgate and reply are mutually exclusive`);
|
|
67
67
|
for (let idx = 0, len = posts.length; idx < len; idx++) {
|
|
68
68
|
// Get the record key for this post
|
|
69
|
-
rkey = TID.createRaw(now.getTime(), Math.floor(Math.random() *
|
|
69
|
+
rkey = TID.createRaw(now.getTime(), Math.floor(Math.random() * 1024));
|
|
70
70
|
const post = posts[idx];
|
|
71
71
|
const uri = `at://${did}/app.bsky.feed.post/${rkey}`;
|
|
72
72
|
// Resolve embeds
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAe,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAWnC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAc,EACd,MAAsC,EACuB;IAC7D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAElE,MAAM,EAAE,CACP,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE;YACN,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,MAAM,EAAE,OAAO;SACf;KACD,CAAC,CACF,CAAC;IAEF,OAAO,OAAO,CAAC;AAAA,CACf;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAsB,EACuC;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,MAAM,MAAM,GAAsD,EAAE,CAAC;IAErE,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzG,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAE5E,IAAI,KAA2C,CAAC;IAChD,IAAI,IAAwB,CAAC;IAE7B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QAExB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,sBAAsB;YACtB,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YAC7C,IAAI,GAAG,MAAM,OAAO,CAAC,IAAmB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,IAA8C,CAAC;QACnD,IAAI,GAAiC,CAAC;QAEtC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACtB,wCAAwC;YAExC,IAAI,GAAI,IAAI,CAAC,MAA+B,CAAC,KAAK,EAAE,IAAI,CAAC;YACzD,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC5B,6CAA6C;YAE7C,IAAI,GAAI,IAAI,CAAC,KAA8B,CAAC,KAAK,EAAE,IAAI,CAAC;YACxD,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,GAAG;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG;YACnD,MAAM,EAAE,GAAG;SACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;IAE7E,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACxD,mCAAmC;QACnC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAEtE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,GAAG,GAAyB,QAAQ,GAAG,uBAAuB,IAAI,EAAE,CAAC;QAE3E,iBAAiB;QACjB,IAAI,KAAoC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,UAAqE,CAAC;QAE1E,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,UAAU,GAAG;gBACZ,KAAK,EAAE,mCAAmC;gBAC1C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;aACtC,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,MAAM,GAAyB;YACpC,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;YAClC,MAAM,EAAE,UAAU;SAClB,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,qCAAqC;YAC5C,UAAU,EAAE,oBAAoB;YAChC,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,GAAG,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAA+B;gBACpD,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC;aACpC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,qCAAqC;gBAC5C,UAAU,EAAE,0BAA0B;gBACtC,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,gBAAgB;aACvB,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YACrB,oCAAoC;YACpC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEpD,MAAM,GAAG,GAAiC;gBACzC,GAAG,EAAE,UAAU;gBACf,GAAG,EAAE,GAAG;aACR,CAAC;YAEF,KAAK,GAAG;gBACP,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBAC9B,MAAM,EAAE,GAAG;aACX,CAAC;YAEF,wEAAwE;YACxE,sCAAsC;YACtC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;IAEd,KAAK,UAAU,YAAY,CAAC,KAAgB,EAAsD;QACjG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEhC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACrB,OAAO;gBACN,KAAK,EAAE,gCAAgC;gBACvC,KAAK,EAAE,MAAM,iBAAiB,CAAC,KAAK,CAAC;gBACrC,MAAM,EAAE,MAAM,kBAAkB,CAAC,MAAM,CAAC;aACxC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YAClB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YACnB,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,OAAO;QAEP,KAAK,UAAU,iBAAiB,CAC/B,KAAqB,EACkF;YACvG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAExB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;gBACjC,IAAI,KAA8B,CAAC;gBAEnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC5B,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;wBAC9B,YAAY,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;wBACpD,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACP,KAAK,GAAG,QAAQ,CAAC;oBAClB,CAAC;gBACF,CAAC;gBAED,OAAO;oBACN,KAAK,EAAE,yBAAyB;oBAChC,QAAQ,EAAE;wBACT,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;wBACpC,KAAK,EAAE,KAAK;qBACZ;iBACD,CAAC;YACH,CAAC;YAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtB,MAAM,MAAM,GAA+B,EAAE,CAAC;gBAE9C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;oBACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC3B,IAAI,IAAiB,CAAC;oBAEtB,IAAI,OAAO,YAAY,IAAI,EAAE,CAAC;wBAC7B,YAAY,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;wBACrD,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACP,IAAI,GAAG,OAAO,CAAC;oBAChB,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC;wBACX,KAAK,EAAE,IAAI;wBACX,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE;wBACpB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;qBAC/F,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACN,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,MAAM;iBACd,CAAC;YACH,CAAC;YAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,IAA6B,CAAC;gBAElC,IAAI,OAAO,YAAY,IAAI,EAAE,CAAC;oBAC7B,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;oBAC5C,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACP,IAAI,GAAG,OAAO,CAAC;gBAChB,CAAC;gBAED,OAAO;oBACN,KAAK,EAAE,sBAAsB;oBAC7B,KAAK,EAAE,IAAI;oBACX,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE;oBACpB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;iBAC/F,CAAC;YACH,CAAC;YAED,MAAM,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAAA,CACxC;QAED,KAAK,UAAU,kBAAkB,CAChC,KAAsB,EAC4B;YAClD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YAEpB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAExB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACtB,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAEvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;oBAEhC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;gBAChB,CAAC;qBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC5B,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;oBAEtC,MAAM,IAAI,GAAG,MAAM,EAAE,CACpB,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE;wBAC5C,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;qBACrB,CAAC,CACF,CAAC;oBAEF,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrB,CAAC;qBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC5B,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;oBAEtC,MAAM,IAAI,GAAG,MAAM,EAAE,CACpB,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE;wBACpC,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;qBAC/B,CAAC,CACF,CAAC;oBAEF,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrB,CAAC;qBAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBACnC,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;oBAE7C,MAAM,IAAI,GAAG,MAAM,EAAE,CACpB,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;wBAC3C,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;qBAC5B,CAAC,CACF,CAAC;oBAEF,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;YAED,OAAO;gBACN,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE;oBACP,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,GAAG;iBACR;aACD,CAAC;QAAA,CACF;IAAA,CACD;IAED,KAAK,UAAU,UAAU,CAAC,IAAU,EAAmB;QACtD,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,EAAE,CACpB,MAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;SACX,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IAAA,CACjB;IAED,KAAK,UAAU,OAAO,CAAC,GAAgB,EAAqC;QAC3E,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,EAAE,CACpB,MAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACP,IAAI,EAAE,CAAC,GAAG,CAAC;aACX;SACD,CAAC,CACF,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,GAAG,EAAE,EAAE;aAC9D,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IAAA,CACZ;AAAA,CACD;AAED,SAAS,iBAAiB,CAAC,IAAwB,EAAuC;IACzF,MAAM,KAAK,GAAwC,EAAE,CAAC;IAEtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,KAAK,CAAC;AAAA,CACb;AAED,SAAS,cAAc,CAAC,KAA4B,EAAwB;IAC3E,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;IAE3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAExB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC,MAAM,CAAC;QACrB,CAAC;IACF,CAAC;AAAA,CACD;AAED,SAAS,MAAM,CAAC,SAAkB,EAAE,OAAe,EAAqB;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AAAA,CACD;AAED,SAAS,YAAY,CAAC,MAA0B,EAAE,KAAa,EAAkB;IAChF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAC;IAChE,CAAC;AAAA,CACD"}
|
package/dist/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../lib/time.ts"],"names":[],"mappings":"AAAA,IAAI,aAAa,GAAW,CAAC,CAAC;AAE9B;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkB;
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../lib/time.ts"],"names":[],"mappings":"AAAA,IAAI,aAAa,GAAW,CAAC,CAAC;AAE9B;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkB,EAAU;IAClD,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IACpD,aAAa,GAAG,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC;IAE3C,OAAO,SAAS,CAAC;AAAA,CACjB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Client } from '@atcute/client';
|
|
2
|
-
import type { Blob as AtBlob, Did, GenericUri, ResourceUri } from '@atcute/lexicons';
|
|
3
1
|
import type * as AppBskyEmbedRecord from '@atcute/bluesky/types/app/embed/record';
|
|
4
2
|
import type * as AppBskyFeedDefs from '@atcute/bluesky/types/app/feed/defs';
|
|
5
3
|
import type * as AppBskyRichtextFacet from '@atcute/bluesky/types/app/richtext/facet';
|
|
4
|
+
import type { Client } from '@atcute/client';
|
|
5
|
+
import type { Blob as AtBlob, Did, GenericUri, ResourceUri } from '@atcute/lexicons';
|
|
6
6
|
/** Interface containing aspect ratio of the media */
|
|
7
7
|
export interface MediaAspectRatio {
|
|
8
8
|
/** Media width */
|
|
@@ -174,7 +174,7 @@ export interface ComposedThread {
|
|
|
174
174
|
/**
|
|
175
175
|
* The post it should reply to, accepts either an AT-URI of the post, a view
|
|
176
176
|
* of the post, or an embed view of the post. Supplying an AT-URI requires you
|
|
177
|
-
* to also supply an
|
|
177
|
+
* to also supply an RPC instance for it to be able to make query calls.
|
|
178
178
|
*/
|
|
179
179
|
reply?: string | AppBskyFeedDefs.PostView | AppBskyEmbedRecord.ViewRecord;
|
|
180
180
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"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"}
|
package/lib/index.ts
CHANGED
|
@@ -1,51 +1,48 @@
|
|
|
1
|
-
import { ClientResponseError, ok, type Client } from '@atcute/client';
|
|
2
|
-
import type { $type, Blob as AtBlob, CanonicalResourceUri, ResourceUri } from '@atcute/lexicons';
|
|
3
|
-
|
|
4
1
|
import type * as ComAtprotoLabelDefs from '@atcute/atproto/types/label/defs';
|
|
5
2
|
import type * as ComAtprotoRepoApplyWrites from '@atcute/atproto/types/repo/applyWrites';
|
|
6
3
|
import type * as ComAtprotoRepoStrongRef from '@atcute/atproto/types/repo/strongRef';
|
|
7
|
-
import type {} from '@atcute/atproto/types/repo/uploadBlob';
|
|
4
|
+
import type {} from '@atcute/atproto/types/repo/uploadBlob'; // oxlint-disable-line unicorn/require-module-specifiers -- ambient type augmentation
|
|
8
5
|
import type * as AppBskyEmbedExternal from '@atcute/bluesky/types/app/embed/external';
|
|
9
6
|
import type * as AppBskyEmbedImages from '@atcute/bluesky/types/app/embed/images';
|
|
10
7
|
import type * as AppBskyEmbedRecord from '@atcute/bluesky/types/app/embed/record';
|
|
11
8
|
import type * as AppBskyEmbedVideo from '@atcute/bluesky/types/app/embed/video';
|
|
12
9
|
import type * as AppBskyFeedDefs from '@atcute/bluesky/types/app/feed/defs';
|
|
13
|
-
import type {} from '@atcute/bluesky/types/app/feed/getFeedGenerator';
|
|
14
|
-
import type {} from '@atcute/bluesky/types/app/feed/getPosts';
|
|
10
|
+
import type {} from '@atcute/bluesky/types/app/feed/getFeedGenerator'; // oxlint-disable-line unicorn/require-module-specifiers -- ambient type augmentation
|
|
11
|
+
import type {} from '@atcute/bluesky/types/app/feed/getPosts'; // oxlint-disable-line unicorn/require-module-specifiers -- ambient type augmentation
|
|
15
12
|
import type * as AppBskyFeedPost from '@atcute/bluesky/types/app/feed/post';
|
|
16
13
|
import type * as AppBskyFeedThreadgate from '@atcute/bluesky/types/app/feed/threadgate';
|
|
17
|
-
import type {} from '@atcute/bluesky/types/app/graph/getList';
|
|
18
|
-
import type {} from '@atcute/bluesky/types/app/graph/getStarterPack';
|
|
19
|
-
|
|
14
|
+
import type {} from '@atcute/bluesky/types/app/graph/getList'; // oxlint-disable-line unicorn/require-module-specifiers -- ambient type augmentation
|
|
15
|
+
import type {} from '@atcute/bluesky/types/app/graph/getStarterPack'; // oxlint-disable-line unicorn/require-module-specifiers -- ambient type augmentation
|
|
16
|
+
import { ClientResponseError, ok, type Client } from '@atcute/client';
|
|
17
|
+
import type { $type, Blob as AtBlob, CanonicalResourceUri, ResourceUri } from '@atcute/lexicons';
|
|
20
18
|
import * as TID from '@atcute/tid';
|
|
21
19
|
|
|
22
|
-
import { serializeRecordCid } from './cbor.
|
|
23
|
-
import { getNow } from './time.
|
|
24
|
-
|
|
20
|
+
import { serializeRecordCid } from './cbor.ts';
|
|
21
|
+
import { getNow } from './time.ts';
|
|
25
22
|
import type {
|
|
26
23
|
ComposedThread,
|
|
27
24
|
ComposedThreadgate,
|
|
28
25
|
PostEmbed,
|
|
29
26
|
PostMediaEmbed,
|
|
30
27
|
PostRecordEmbed,
|
|
31
|
-
} from './types.
|
|
28
|
+
} from './types.ts';
|
|
32
29
|
|
|
33
|
-
export type * from './types.
|
|
30
|
+
export type * from './types.ts';
|
|
34
31
|
|
|
35
32
|
/**
|
|
36
33
|
* Create post records and publish them
|
|
37
|
-
* @param
|
|
34
|
+
* @param client An authenticated Bluesky RPC client
|
|
38
35
|
* @param thread Composed thread
|
|
39
36
|
* @returns An array of post records that were published
|
|
40
37
|
*/
|
|
41
38
|
export async function publishThread(
|
|
42
|
-
|
|
43
|
-
thread: Omit<ComposedThread, '
|
|
39
|
+
client: Client,
|
|
40
|
+
thread: Omit<ComposedThread, 'client'>,
|
|
44
41
|
): Promise<$type.enforce<ComAtprotoRepoApplyWrites.Create>[]> {
|
|
45
|
-
const records = await createThread({ ...thread, client:
|
|
42
|
+
const records = await createThread({ ...thread, client: client });
|
|
46
43
|
|
|
47
44
|
await ok(
|
|
48
|
-
|
|
45
|
+
client.post('com.atproto.repo.applyWrites', {
|
|
49
46
|
signal: thread.signal,
|
|
50
47
|
input: {
|
|
51
48
|
repo: thread.author,
|
|
@@ -117,7 +114,7 @@ export async function createThread(
|
|
|
117
114
|
|
|
118
115
|
for (let idx = 0, len = posts.length; idx < len; idx++) {
|
|
119
116
|
// Get the record key for this post
|
|
120
|
-
rkey = TID.createRaw(now.getTime(), Math.floor(Math.random() *
|
|
117
|
+
rkey = TID.createRaw(now.getTime(), Math.floor(Math.random() * 1024));
|
|
121
118
|
|
|
122
119
|
const post = posts[idx];
|
|
123
120
|
const uri: CanonicalResourceUri = `at://${did}/app.bsky.feed.post/${rkey}`;
|
package/lib/types.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { Client } from '@atcute/client';
|
|
2
|
-
import type { Blob as AtBlob, Did, GenericUri, ResourceUri } from '@atcute/lexicons';
|
|
3
|
-
|
|
4
1
|
import type * as AppBskyEmbedRecord from '@atcute/bluesky/types/app/embed/record';
|
|
5
2
|
import type * as AppBskyFeedDefs from '@atcute/bluesky/types/app/feed/defs';
|
|
6
3
|
import type * as AppBskyRichtextFacet from '@atcute/bluesky/types/app/richtext/facet';
|
|
4
|
+
import type { Client } from '@atcute/client';
|
|
5
|
+
import type { Blob as AtBlob, Did, GenericUri, ResourceUri } from '@atcute/lexicons';
|
|
7
6
|
|
|
8
7
|
/** Interface containing aspect ratio of the media */
|
|
9
8
|
export interface MediaAspectRatio {
|
|
@@ -190,7 +189,7 @@ export interface ComposedThread {
|
|
|
190
189
|
/**
|
|
191
190
|
* The post it should reply to, accepts either an AT-URI of the post, a view
|
|
192
191
|
* of the post, or an embed view of the post. Supplying an AT-URI requires you
|
|
193
|
-
* to also supply an
|
|
192
|
+
* to also supply an RPC instance for it to be able to make query calls.
|
|
194
193
|
*/
|
|
195
194
|
reply?: string | AppBskyFeedDefs.PostView | AppBskyEmbedRecord.ViewRecord;
|
|
196
195
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
2
|
"name": "@atcute/bluesky-threading",
|
|
4
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.6",
|
|
5
4
|
"description": "create Bluesky threads containing multiple posts with one write",
|
|
6
5
|
"license": "0BSD",
|
|
7
6
|
"repository": {
|
|
@@ -14,25 +13,25 @@
|
|
|
14
13
|
"!lib/**/*.bench.ts",
|
|
15
14
|
"!lib/**/*.test.ts"
|
|
16
15
|
],
|
|
16
|
+
"type": "module",
|
|
17
|
+
"sideEffects": false,
|
|
17
18
|
"exports": {
|
|
18
19
|
".": "./dist/index.js"
|
|
19
20
|
},
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
"@atcute/atproto": "^3.1.6",
|
|
23
|
-
"@atcute/bluesky": "^3.2.5",
|
|
24
|
-
"@atcute/cbor": "^2.2.6",
|
|
25
|
-
"@atcute/cid": "^2.2.4",
|
|
26
|
-
"@atcute/client": "^4.0.4",
|
|
27
|
-
"@atcute/lexicons": "^1.2.2",
|
|
28
|
-
"@atcute/tid": "^1.0.3"
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
29
23
|
},
|
|
30
|
-
"
|
|
31
|
-
"@
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@atcute/atproto": "^3.1.10",
|
|
26
|
+
"@atcute/bluesky": "^3.2.17",
|
|
27
|
+
"@atcute/cbor": "^2.3.2",
|
|
28
|
+
"@atcute/client": "^4.2.1",
|
|
29
|
+
"@atcute/lexicons": "^1.2.9",
|
|
30
|
+
"@atcute/cid": "^2.4.1",
|
|
31
|
+
"@atcute/tid": "^1.1.2"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
|
-
"build": "
|
|
35
|
-
"test": "bun test --coverage",
|
|
34
|
+
"build": "tsgo --project tsconfig.build.json",
|
|
36
35
|
"prepublish": "rm -rf dist; pnpm run build"
|
|
37
36
|
}
|
|
38
37
|
}
|