liminal 0.17.14 → 0.17.15
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/Actor.ts +12 -13
- package/ActorTransport.ts +6 -4
- package/Audition.ts +87 -40
- package/CHANGELOG.md +8 -0
- package/Client.ts +260 -134
- package/ClientDirectory.ts +50 -36
- package/ClientHandleEncoders.ts +15 -0
- package/Fn.ts +55 -0
- package/Method.ts +11 -21
- package/Protocol.ts +44 -36
- package/Reducer.ts +22 -0
- package/Tracing.ts +37 -0
- package/browser/BrowserActorNamespace.ts +65 -30
- package/dist/Actor.d.ts +1 -1
- package/dist/Actor.js +6 -6
- package/dist/Actor.js.map +1 -1
- package/dist/ActorTransport.d.ts +5 -4
- package/dist/Audition.d.ts +16 -9
- package/dist/Audition.js +25 -9
- package/dist/Audition.js.map +1 -1
- package/dist/Client.d.ts +21 -14
- package/dist/Client.js +147 -100
- package/dist/Client.js.map +1 -1
- package/dist/ClientDirectory.d.ts +14 -6
- package/dist/ClientDirectory.js +25 -22
- package/dist/ClientDirectory.js.map +1 -1
- package/dist/ClientHandleEncoders.d.ts +7 -0
- package/dist/ClientHandleEncoders.js +2 -0
- package/dist/ClientHandleEncoders.js.map +1 -0
- package/dist/Fn.d.ts +16 -0
- package/dist/Fn.js +2 -0
- package/dist/Fn.js.map +1 -0
- package/dist/Method.d.ts +9 -14
- package/dist/Method.js +0 -1
- package/dist/Method.js.map +1 -1
- package/dist/Protocol.d.ts +19 -22
- package/dist/Protocol.js +20 -15
- package/dist/Protocol.js.map +1 -1
- package/dist/Reducer.d.ts +11 -0
- package/dist/Reducer.js +2 -0
- package/dist/Reducer.js.map +1 -0
- package/dist/Tracing.d.ts +37 -0
- package/dist/Tracing.js +29 -0
- package/dist/Tracing.js.map +1 -0
- package/dist/browser/BrowserActorNamespace.d.ts +5 -5
- package/dist/browser/BrowserActorNamespace.js +41 -20
- package/dist/browser/BrowserActorNamespace.js.map +1 -1
- package/dist/errors.d.ts +0 -4
- package/dist/errors.js.map +1 -1
- package/dist/experimental/TaggedTemplateFunction.js +1 -1
- package/dist/experimental/TaggedTemplateFunction.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/package.json +16 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/workerd/ActorHandle.d.ts +9 -0
- package/dist/workerd/ActorHandle.js +4 -0
- package/dist/workerd/ActorHandle.js.map +1 -0
- package/dist/workerd/WorkerdActorNamespace.d.ts +18 -20
- package/dist/workerd/WorkerdActorNamespace.js +30 -122
- package/dist/workerd/WorkerdActorNamespace.js.map +1 -1
- package/dist/workerd/WorkerdActorRuntime.d.ts +19 -0
- package/dist/workerd/WorkerdActorRuntime.js +204 -0
- package/dist/workerd/WorkerdActorRuntime.js.map +1 -0
- package/dist/workerd/index.d.ts +2 -0
- package/dist/workerd/index.js +2 -0
- package/dist/workerd/index.js.map +1 -1
- package/errors.ts +0 -6
- package/experimental/TaggedTemplateFunction.ts +1 -1
- package/index.ts +3 -3
- package/package.json +7 -22
- package/tsconfig.json +1 -1
- package/vitest.config.ts +7 -0
- package/workerd/ActorHandle.ts +29 -0
- package/workerd/WorkerdActorNamespace.ts +72 -260
- package/workerd/WorkerdActorRuntime.ts +422 -0
- package/workerd/index.ts +2 -0
- package/Accumulator.ts +0 -103
- package/F.ts +0 -10
- package/_diagnostic.ts +0 -3
- package/_util/Mutex.ts +0 -13
- package/dist/Accumulator.d.ts +0 -22
- package/dist/Accumulator.js +0 -37
- package/dist/Accumulator.js.map +0 -1
- package/dist/F.d.ts +0 -4
- package/dist/F.js +0 -2
- package/dist/F.js.map +0 -1
- package/dist/_diagnostic.d.ts +0 -4
- package/dist/_diagnostic.js +0 -3
- package/dist/_diagnostic.js.map +0 -1
- package/dist/_util/Mutex.d.ts +0 -7
- package/dist/_util/Mutex.js +0 -9
- package/dist/_util/Mutex.js.map +0 -1
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { BrowserWorkerRunner } from "@effect/platform-browser";
|
|
2
|
-
import { Cause, Effect, Exit, Layer, Option, Ref, Schema as S, Scope, Semaphore, Stream } from "effect";
|
|
2
|
+
import { Cause, Effect, Exit, Layer, Option, Ref, Schema as S, Scope, Semaphore, Stream, Tracer } from "effect";
|
|
3
3
|
import { WorkerRunner } from "effect/unstable/workers";
|
|
4
4
|
import { logCause } from "liminal-util/logCause";
|
|
5
|
-
import
|
|
5
|
+
import * as Spanner from "liminal-util/Spanner";
|
|
6
6
|
import * as ClientDirectory from "../ClientDirectory.js";
|
|
7
7
|
import * as Method from "../Method.js";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import * as Tracing from "../Tracing.js";
|
|
9
|
+
const span = Spanner.make(import.meta.url);
|
|
10
|
+
export const make = Effect.fnUntraced(function* ({ actor, handlers, hydrate, introductions, }) {
|
|
10
11
|
const { definition: { client: { protocol: { Client: ClientM, Actor }, key: expected, }, name: Name, }, } = actor;
|
|
11
12
|
const validateClientMessage = S.decodeUnknownEffect(S.toType(ClientM));
|
|
12
13
|
const encodeName = S.encodeEffect(Name);
|
|
13
14
|
const entries = {};
|
|
14
|
-
const runners = new Map();
|
|
15
15
|
const transport = {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
key: ({ port }) => port,
|
|
17
|
+
send: ({ backing }, event) => {
|
|
18
|
+
const { _tag } = event.event;
|
|
19
|
+
return Effect.gen(function* () {
|
|
20
|
+
const trace = yield* Tracing.currentTrace;
|
|
21
|
+
yield* backing.send(0, {
|
|
22
|
+
...event,
|
|
23
|
+
...(trace && { trace }),
|
|
24
|
+
});
|
|
25
|
+
}).pipe(span("send", { attributes: { _tag }, kind: "producer" }));
|
|
26
|
+
},
|
|
27
|
+
close: ({ close }) => close,
|
|
18
28
|
snapshot: () => Effect.void,
|
|
19
29
|
};
|
|
20
30
|
const useEntries = yield* Semaphore.make(1).pipe(Effect.map((v) => v.withPermits(1)));
|
|
@@ -22,7 +32,7 @@ export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, i
|
|
|
22
32
|
const existing = entries[key];
|
|
23
33
|
if (existing)
|
|
24
34
|
return existing;
|
|
25
|
-
const directory = ClientDirectory.make(actor, transport);
|
|
35
|
+
const directory = ClientDirectory.make(actor, { transport });
|
|
26
36
|
const semaphore = yield* Semaphore.make(1);
|
|
27
37
|
const fresh = {
|
|
28
38
|
directory,
|
|
@@ -33,16 +43,13 @@ export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, i
|
|
|
33
43
|
}, useEntries);
|
|
34
44
|
const outerScope = yield* Scope.Scope;
|
|
35
45
|
yield* introductions.pipe(Stream.runForEach(Effect.fnUntraced(function* ({ name, port, attachments }) {
|
|
36
|
-
yield* debug("IntroductionReceived", { name });
|
|
37
46
|
const stateRef = yield* Ref.make(Option.none());
|
|
38
47
|
const scope = yield* Scope.fork(outerScope, "sequential");
|
|
39
48
|
const closeScope = Scope.close(scope, Exit.void);
|
|
40
49
|
const backing = yield* BrowserWorkerRunner.make(port).start();
|
|
41
|
-
runners.set(port, backing);
|
|
42
50
|
yield* Scope.addFinalizer(scope, Effect.gen(function* () {
|
|
43
|
-
runners.delete(port);
|
|
44
51
|
const state = yield* Ref.get(stateRef);
|
|
45
|
-
if (
|
|
52
|
+
if (state._tag === "Some") {
|
|
46
53
|
const { key, entry: { directory }, } = state.value;
|
|
47
54
|
yield* directory.unregister(port);
|
|
48
55
|
if (directory.handles.size === 0) {
|
|
@@ -55,8 +62,7 @@ export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, i
|
|
|
55
62
|
const state = yield* Ref.get(stateRef);
|
|
56
63
|
yield* Effect.gen(function* () {
|
|
57
64
|
const message = yield* validateClientMessage(raw);
|
|
58
|
-
|
|
59
|
-
if (Option.isNone(state)) {
|
|
65
|
+
if (state._tag === "None") {
|
|
60
66
|
if (message._tag !== "Audition.Payload") {
|
|
61
67
|
return yield* Effect.die(undefined);
|
|
62
68
|
}
|
|
@@ -71,17 +77,15 @@ export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, i
|
|
|
71
77
|
}
|
|
72
78
|
const key = yield* encodeName(name);
|
|
73
79
|
const entry = yield* getEntry(key);
|
|
74
|
-
const currentClient =
|
|
75
|
-
disconnect: closeScope,
|
|
76
|
-
});
|
|
80
|
+
const currentClient = yield* entry.directory.register({ port, backing, close: closeScope }, attachments);
|
|
77
81
|
const ActorLive = Layer.succeed(actor, {
|
|
78
82
|
name,
|
|
79
83
|
clients: entry.directory.handles,
|
|
80
84
|
currentClient,
|
|
81
85
|
});
|
|
82
86
|
yield* Ref.set(stateRef, Option.some({ key, entry, currentClient, ActorLive }));
|
|
83
|
-
yield*
|
|
84
|
-
return yield*
|
|
87
|
+
const initial = yield* hydrate.pipe(entry.mutex, Effect.scoped, span("onConnect"), Effect.provide(ActorLive));
|
|
88
|
+
return yield* backing.send(0, { _tag: "Audition.Success", initial });
|
|
85
89
|
}
|
|
86
90
|
const { entry, ActorLive } = state.value;
|
|
87
91
|
if (message._tag === "Audition.Payload") {
|
|
@@ -92,6 +96,8 @@ export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, i
|
|
|
92
96
|
}
|
|
93
97
|
const { id, payload } = message;
|
|
94
98
|
const { _tag, value } = payload;
|
|
99
|
+
const parent = message.trace && Tracer.externalSpan(message.trace);
|
|
100
|
+
const transportSpan = yield* Tracing.parent;
|
|
95
101
|
yield* handlers[_tag](value).pipe(Effect.match({
|
|
96
102
|
onSuccess: (value) => ({
|
|
97
103
|
_tag: "F.Success",
|
|
@@ -103,7 +109,22 @@ export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, i
|
|
|
103
109
|
id,
|
|
104
110
|
failure: { _tag, value },
|
|
105
111
|
}),
|
|
106
|
-
}), Effect.andThen((v) => backing.send(0, v)), span("
|
|
112
|
+
}), Effect.andThen((v) => backing.send(0, v)), span("handle", {
|
|
113
|
+
attributes: { _tag },
|
|
114
|
+
kind: "server",
|
|
115
|
+
parent,
|
|
116
|
+
links: parent && transportSpan
|
|
117
|
+
? [
|
|
118
|
+
{
|
|
119
|
+
span: transportSpan,
|
|
120
|
+
attributes: {
|
|
121
|
+
"liminal.link": "transport",
|
|
122
|
+
"liminal.transport": "worker",
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
]
|
|
126
|
+
: undefined,
|
|
127
|
+
}), Effect.scoped, Effect.provide(ActorLive), entry.mutex);
|
|
107
128
|
});
|
|
108
129
|
}, span("message")))
|
|
109
130
|
.pipe(Effect.andThen(closeScope), Effect.catchCause((cause) => Cause.hasInterruptsOnly(cause) ? Effect.void : logCause(cause).pipe(Effect.andThen(closeScope))), Effect.forkScoped, Scope.provide(scope));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserActorNamespace.js","sourceRoot":"","sources":["../../browser/BrowserActorNamespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"BrowserActorNamespace.js","sourceRoot":"","sources":["../../browser/BrowserActorNamespace.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Schema as S } from "effect";
|
|
2
|
-
import type { ProtocolDefinition } from "./Protocol.ts";
|
|
3
2
|
declare const AuditionError_base: S.Class<AuditionError, S.TaggedStruct<"AuditionError", {
|
|
4
3
|
readonly value: S.optional<S.Struct<{
|
|
5
4
|
readonly expected: S.String;
|
|
@@ -17,7 +16,4 @@ export type ClientError = AuditionError | ConnectionError;
|
|
|
17
16
|
declare const UnresolvedError_base: S.Class<UnresolvedError, S.TaggedStruct<"UnresolvedError", {}>, import("effect/Cause").YieldableError>;
|
|
18
17
|
export declare class UnresolvedError extends UnresolvedError_base {
|
|
19
18
|
}
|
|
20
|
-
export type FError<D extends ProtocolDefinition> = [
|
|
21
|
-
D["methods"][keyof D["methods"]]["failure"]["Type"] | ClientError | S.SchemaError | UnresolvedError
|
|
22
|
-
][0];
|
|
23
19
|
export {};
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEpC,MAAM,OAAO,aAAc,SAAQ,CAAC,CAAC,gBAAgB,EAAiB,CAAC,eAAe,EAAE;IACtF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;CACpB,CAAC;CAAG;AAEL,MAAM,OAAO,eAAgB,SAAQ,CAAC,CAAC,gBAAgB,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,CAAC,CAAC,OAAO;CACjB,CAAC;CAAG;AAIL,MAAM,OAAO,eAAgB,SAAQ,CAAC,CAAC,gBAAgB,EAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;CAAG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
export const raw = Effect.fnUntraced(function* (template, ...substitutions) {
|
|
3
|
-
return String.raw(template, ...(yield* Effect.
|
|
3
|
+
return String.raw(template, ...(yield* Effect.forEach(substitutions, (v) => (Effect.isEffect(v) ? v : Effect.succeed(v)))));
|
|
4
4
|
});
|
|
5
5
|
export const normalize = Effect.fnUntraced(function* (a0, ...aRest) {
|
|
6
6
|
if (Effect.isEffect(a0)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaggedTemplateFunction.js","sourceRoot":"","sources":["../../experimental/TaggedTemplateFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAc/B,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC5C,QAAkC,EAClC,GAAG,aAA4B;IAE/B,OAAO,MAAM,CAAC,GAAG,CACf,QAAQ,EACR,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"TaggedTemplateFunction.js","sourceRoot":"","sources":["../../experimental/TaggedTemplateFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAc/B,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC5C,QAAkC,EAClC,GAAG,aAA4B;IAE/B,OAAO,MAAM,CAAC,GAAG,CACf,QAAQ,EACR,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAI3F,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClD,EAAK,EACL,GAAG,KAAY;IAEf,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,CAAC,EAAE,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export * as Accumulator from "./Accumulator.ts";
|
|
2
1
|
export * as Actor from "./Actor.ts";
|
|
3
2
|
export * as Audition from "./Audition.ts";
|
|
4
3
|
export * as Client from "./Client.ts";
|
|
5
4
|
export * as ClientDirectory from "./ClientDirectory.ts";
|
|
6
5
|
export * as ClientHandle from "./ClientHandle.ts";
|
|
7
|
-
export * as Method from "./Method.ts";
|
|
8
6
|
export * as Protocol from "./Protocol.ts";
|
|
9
7
|
export * from "./ActorTransport.ts";
|
|
10
|
-
export * from "./
|
|
8
|
+
export * from "./Fn.ts";
|
|
9
|
+
export * from "./Method.ts";
|
|
10
|
+
export * from "./Reducer.ts";
|
|
11
11
|
export * from "./errors.ts";
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export * as Accumulator from "./Accumulator.js";
|
|
2
1
|
export * as Actor from "./Actor.js";
|
|
3
2
|
export * as Audition from "./Audition.js";
|
|
4
3
|
export * as Client from "./Client.js";
|
|
5
4
|
export * as ClientDirectory from "./ClientDirectory.js";
|
|
6
5
|
export * as ClientHandle from "./ClientHandle.js";
|
|
7
|
-
export * as Method from "./Method.js";
|
|
8
6
|
export * as Protocol from "./Protocol.js";
|
|
9
7
|
export * from "./ActorTransport.js";
|
|
10
|
-
export * from "./
|
|
8
|
+
export * from "./Fn.js";
|
|
9
|
+
export * from "./Method.js";
|
|
10
|
+
export * from "./Reducer.js";
|
|
11
11
|
export * from "./errors.js";
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "liminal",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.15",
|
|
4
4
|
"description": "Effect x Actors",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/crosshatch/liminal/issues"
|
|
@@ -14,28 +14,23 @@
|
|
|
14
14
|
"type": "module",
|
|
15
15
|
"sideEffects": false,
|
|
16
16
|
"exports": {
|
|
17
|
-
".":
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"types": "./*.ts",
|
|
23
|
-
"default": "./dist/*.js"
|
|
24
|
-
},
|
|
25
|
-
"./browser": {
|
|
26
|
-
"types": "./browser/index.ts",
|
|
27
|
-
"default": "./dist/browser/index.js"
|
|
28
|
-
},
|
|
29
|
-
"./experimental": {
|
|
30
|
-
"types": "./experimental/index.ts",
|
|
31
|
-
"default": "./dist/experimental/index.js"
|
|
32
|
-
},
|
|
33
|
-
"./workerd": {
|
|
34
|
-
"types": "./workerd/index.ts",
|
|
35
|
-
"default": "./dist/workerd/index.js"
|
|
36
|
-
},
|
|
17
|
+
".": "./index.ts",
|
|
18
|
+
"./*": "./*.ts",
|
|
19
|
+
"./browser": "./browser/index.ts",
|
|
20
|
+
"./experimental": "./experimental/index.ts",
|
|
21
|
+
"./workerd": "./workerd/index.ts",
|
|
37
22
|
"./package.json": "./package.json"
|
|
38
23
|
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"exports": {
|
|
26
|
+
".": "./dist/index.js",
|
|
27
|
+
"./*": "./dist/*.js",
|
|
28
|
+
"./browser": "./dist/browser/index.js",
|
|
29
|
+
"./experimental": "./dist/experimental/index.js",
|
|
30
|
+
"./workerd": "./dist/workerd/index.js",
|
|
31
|
+
"./package.json": "./package.json"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
39
34
|
"peerDependencies": {
|
|
40
35
|
"@cloudflare/workers-types": "catalog:",
|
|
41
36
|
"@effect/platform-browser": "catalog:",
|