Skip to content

Commit 8f467d1

Browse files
jacobparisericallam
authored andcommitted
feature: fine grained modules for core
1 parent 58542a0 commit 8f467d1

File tree

4 files changed

+218
-74
lines changed

4 files changed

+218
-74
lines changed

packages/core/package.json

Lines changed: 168 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,70 @@
2121
"require": "./dist/index.js",
2222
"types": "./dist/index.d.ts"
2323
},
24+
"./eventFilterMatches": {
25+
"import": {
26+
"types": "./dist/eventFilterMatches.d.mts",
27+
"default": "./dist/eventFilterMatches.mjs"
28+
},
29+
"require": "./dist/eventFilterMatches.js",
30+
"types": "./dist/eventFilterMatches.d.ts"
31+
},
32+
"./replacements": {
33+
"import": {
34+
"types": "./dist/replacements.d.mts",
35+
"default": "./dist/replacements.mjs"
36+
},
37+
"require": "./dist/replacements.js",
38+
"types": "./dist/replacements.d.ts"
39+
},
40+
"./requestFilterMatches": {
41+
"import": {
42+
"types": "./dist/requestFilterMatches.d.mts",
43+
"default": "./dist/requestFilterMatches.mjs"
44+
},
45+
"require": "./dist/requestFilterMatches.js",
46+
"types": "./dist/requestFilterMatches.d.ts"
47+
},
48+
"./retry": {
49+
"import": {
50+
"types": "./dist/retry.d.mts",
51+
"default": "./dist/retry.mjs"
52+
},
53+
"require": "./dist/retry.js",
54+
"types": "./dist/retry.d.ts"
55+
},
56+
"./utils": {
57+
"import": {
58+
"types": "./dist/utils.d.mts",
59+
"default": "./dist/utils.mjs"
60+
},
61+
"require": "./dist/utils.js",
62+
"types": "./dist/utils.d.ts"
63+
},
64+
"./schemas": {
65+
"import": {
66+
"types": "./dist/schemas/index.d.mts",
67+
"default": "./dist/schemas/index.mjs"
68+
},
69+
"require": "./dist/schemas/index.js",
70+
"types": "./dist/schemas/index.d.ts"
71+
},
72+
"./types": {
73+
"import": {
74+
"types": "./dist/types.d.mts",
75+
"default": "./dist/types.mjs"
76+
},
77+
"require": "./dist/types.js",
78+
"types": "./dist/types.d.ts"
79+
},
80+
"./versions": {
81+
"import": {
82+
"types": "./dist/versions.d.mts",
83+
"default": "./dist/versions.mjs"
84+
},
85+
"require": "./dist/versions.js",
86+
"types": "./dist/versions.d.ts"
87+
},
2488
"./v3": {
2589
"import": {
2690
"types": "./dist/v3/index.d.mts",
@@ -29,6 +93,30 @@
2993
"require": "./dist/v3/index.js",
3094
"types": "./dist/v3/index.d.ts"
3195
},
96+
"./v3/dev": {
97+
"import": {
98+
"types": "./dist/v3/dev/index.d.mts",
99+
"default": "./dist/v3/dev/index.mjs"
100+
},
101+
"require": "./dist/v3/dev/index.js",
102+
"types": "./dist/v3/dev/index.d.ts"
103+
},
104+
"./v3/errors": {
105+
"import": {
106+
"types": "./dist/v3/errors.d.mts",
107+
"default": "./dist/v3/errors.mjs"
108+
},
109+
"require": "./dist/v3/errors.js",
110+
"types": "./dist/v3/errors.d.ts"
111+
},
112+
"./v3/logger-api": {
113+
"import": {
114+
"types": "./dist/v3/logger-api.d.mts",
115+
"default": "./dist/v3/logger-api.mjs"
116+
},
117+
"require": "./dist/v3/logger-api.js",
118+
"types": "./dist/v3/logger-api.d.ts"
119+
},
32120
"./v3/otel": {
33121
"import": {
34122
"types": "./dist/v3/otel/index.d.mts",
@@ -37,6 +125,86 @@
37125
"require": "./dist/v3/otel/index.js",
38126
"types": "./dist/v3/otel/index.d.ts"
39127
},
128+
"./v3/prod": {
129+
"import": {
130+
"types": "./dist/v3/prod/index.d.mts",
131+
"default": "./dist/v3/prod/index.mjs"
132+
},
133+
"require": "./dist/v3/prod/index.js",
134+
"types": "./dist/v3/prod/index.d.ts"
135+
},
136+
"./v3/schemas": {
137+
"import": {
138+
"types": "./dist/v3/schemas/index.d.mts",
139+
"default": "./dist/v3/schemas/index.mjs"
140+
},
141+
"require": "./dist/v3/schemas/index.js",
142+
"types": "./dist/v3/schemas/index.d.ts"
143+
},
144+
"./v3/semanticInternalAttributes": {
145+
"import": {
146+
"types": "./dist/v3/semanticInternalAttributes.d.mts",
147+
"default": "./dist/v3/semanticInternalAttributes.mjs"
148+
},
149+
"require": "./dist/v3/semanticInternalAttributes.js",
150+
"types": "./dist/v3/semanticInternalAttributes.d.ts"
151+
},
152+
"./v3/utils/durations": {
153+
"import": {
154+
"types": "./dist/v3/utils/durations.d.mts",
155+
"default": "./dist/v3/utils/durations.mjs"
156+
},
157+
"require": "./dist/v3/utils/durations.js",
158+
"types": "./dist/v3/utils/durations.d.ts"
159+
},
160+
"./v3/utils/flattenAttributes": {
161+
"import": {
162+
"types": "./dist/v3/utils/flattenAttributes.d.mts",
163+
"default": "./dist/v3/utils/flattenAttributes.mjs"
164+
},
165+
"require": "./dist/v3/utils/flattenAttributes.js",
166+
"types": "./dist/v3/utils/flattenAttributes.d.ts"
167+
},
168+
"./v3/utils/ioSerialization": {
169+
"import": {
170+
"types": "./dist/v3/utils/ioSerialization.d.mts",
171+
"default": "./dist/v3/utils/ioSerialization.mjs"
172+
},
173+
"require": "./dist/v3/utils/ioSerialization.js",
174+
"types": "./dist/v3/utils/ioSerialization.d.ts"
175+
},
176+
"./v3/utils/omit": {
177+
"import": {
178+
"types": "./dist/v3/utils/omit.d.mts",
179+
"default": "./dist/v3/utils/omit.mjs"
180+
},
181+
"require": "./dist/v3/utils/omit.js",
182+
"types": "./dist/v3/utils/omit.d.ts"
183+
},
184+
"./v3/utils/retries": {
185+
"import": {
186+
"types": "./dist/v3/utils/retries.d.mts",
187+
"default": "./dist/v3/utils/retries.mjs"
188+
},
189+
"require": "./dist/v3/utils/retries.js",
190+
"types": "./dist/v3/utils/retries.d.ts"
191+
},
192+
"./v3/utils/structuredLogger": {
193+
"import": {
194+
"types": "./dist/v3/utils/structuredLogger.d.mts",
195+
"default": "./dist/v3/utils/structuredLogger.mjs"
196+
},
197+
"require": "./dist/v3/utils/structuredLogger.js",
198+
"types": "./dist/v3/utils/structuredLogger.d.ts"
199+
},
200+
"./v3/workers": {
201+
"import": {
202+
"types": "./dist/v3/workers/index.d.mts",
203+
"default": "./dist/v3/workers/index.mjs"
204+
},
205+
"require": "./dist/v3/workers/index.js",
206+
"types": "./dist/v3/workers/index.d.ts"
207+
},
40208
"./v3/zodfetch": {
41209
"import": {
42210
"types": "./dist/v3/zodfetch.d.mts",
@@ -77,46 +245,6 @@
77245
"require": "./dist/v3/zodIpc.js",
78246
"types": "./dist/v3/zodIpc.d.ts"
79247
},
80-
"./v3/utils/structuredLogger": {
81-
"import": {
82-
"types": "./dist/v3/utils/structuredLogger.d.mts",
83-
"default": "./dist/v3/utils/structuredLogger.mjs"
84-
},
85-
"require": "./dist/v3/utils/structuredLogger.js",
86-
"types": "./dist/v3/utils/structuredLogger.d.ts"
87-
},
88-
"./v3/utils/durations": {
89-
"import": {
90-
"types": "./dist/v3/utils/durations.d.mts",
91-
"default": "./dist/v3/utils/durations.mjs"
92-
},
93-
"require": "./dist/v3/utils/durations.js",
94-
"types": "./dist/v3/utils/durations.d.ts"
95-
},
96-
"./v3/dev": {
97-
"import": {
98-
"types": "./dist/v3/dev/index.d.mts",
99-
"default": "./dist/v3/dev/index.mjs"
100-
},
101-
"require": "./dist/v3/dev/index.js",
102-
"types": "./dist/v3/dev/index.d.ts"
103-
},
104-
"./v3/prod": {
105-
"import": {
106-
"types": "./dist/v3/prod/index.d.mts",
107-
"default": "./dist/v3/prod/index.mjs"
108-
},
109-
"require": "./dist/v3/prod/index.js",
110-
"types": "./dist/v3/prod/index.d.ts"
111-
},
112-
"./v3/workers": {
113-
"import": {
114-
"types": "./dist/v3/workers/index.d.mts",
115-
"default": "./dist/v3/workers/index.mjs"
116-
},
117-
"require": "./dist/v3/workers/index.js",
118-
"types": "./dist/v3/workers/index.d.ts"
119-
},
120248
"./package.json": "./package.json"
121249
},
122250
"typesVersions": {

packages/core/src/index.ts

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,4 @@ export * from "./replacements";
66
export * from "./searchParams";
77
export * from "./eventFilterMatches";
88
export * from "./requestFilterMatches";
9-
10-
export const API_VERSIONS = {
11-
LAZY_LOADED_CACHED_TASKS: "2023-09-29",
12-
SERIALIZED_TASK_OUTPUT: "2023-11-01",
13-
} as const;
14-
15-
export const PLATFORM_FEATURES = {
16-
yieldExecution: API_VERSIONS.LAZY_LOADED_CACHED_TASKS,
17-
lazyLoadedCachedTasks: API_VERSIONS.LAZY_LOADED_CACHED_TASKS,
18-
};
19-
20-
export function supportsFeature<TFeatureName extends keyof typeof PLATFORM_FEATURES>(
21-
featureName: TFeatureName,
22-
version: string
23-
): boolean {
24-
if (version === "unversioned" || version === "unknown") {
25-
return false;
26-
}
27-
28-
const supportedVersion = PLATFORM_FEATURES[featureName];
29-
30-
if (!supportedVersion) {
31-
return false;
32-
}
33-
34-
return version >= supportedVersion;
35-
}
9+
export * from "./versions";

packages/core/src/versions.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export const API_VERSIONS = {
2+
LAZY_LOADED_CACHED_TASKS: "2023-09-29",
3+
SERIALIZED_TASK_OUTPUT: "2023-11-01",
4+
} as const;
5+
6+
export const PLATFORM_FEATURES = {
7+
yieldExecution: API_VERSIONS.LAZY_LOADED_CACHED_TASKS,
8+
lazyLoadedCachedTasks: API_VERSIONS.LAZY_LOADED_CACHED_TASKS,
9+
};
10+
11+
export function supportsFeature<TFeatureName extends keyof typeof PLATFORM_FEATURES>(
12+
featureName: TFeatureName,
13+
version: string
14+
): boolean {
15+
if (version === "unversioned" || version === "unknown") {
16+
return false;
17+
}
18+
19+
const supportedVersion = PLATFORM_FEATURES[featureName];
20+
21+
if (!supportedVersion) {
22+
return false;
23+
}
24+
25+
return version >= supportedVersion;
26+
}

packages/core/tsup.config.ts

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,34 @@ export default defineConfig({
44
...packageOptions,
55
config: "tsconfig.build.json",
66
entry: [
7+
"./src/eventFilterMatches.ts",
78
"./src/index.ts",
9+
"./src/replacements.ts",
10+
"./src/requestFilterMatches.ts",
11+
"./src/retry.ts",
12+
"./src/schemas/index.ts",
13+
"./src/types.ts",
14+
"./src/utils.ts",
15+
"./src/versions.ts",
16+
"./src/v3/dev/index.ts",
17+
"./src/v3/errors.ts",
818
"./src/v3/index.ts",
19+
"./src/v3/logger-api.ts",
920
"./src/v3/otel/index.ts",
10-
"./src/v3/zodMessageHandler.ts",
11-
"./src/v3/zodNamespace.ts",
12-
"./src/v3/zodSocket.ts",
13-
"./src/v3/zodIpc.ts",
14-
"./src/v3/utils/structuredLogger.ts",
15-
"./src/v3/utils/durations.ts",
16-
"./src/v3/dev/index.ts",
1721
"./src/v3/prod/index.ts",
22+
"./src/v3/schemas/index.ts",
23+
"./src/v3/semanticInternalAttributes.ts",
24+
"./src/v3/utils/durations.ts",
25+
"./src/v3/utils/flattenAttributes.ts",
26+
"./src/v3/utils/ioSerialization.ts",
27+
"./src/v3/utils/omit.ts",
28+
"./src/v3/utils/retries.ts",
29+
"./src/v3/utils/structuredLogger.ts",
1830
"./src/v3/workers/index.ts",
1931
"./src/v3/zodfetch.ts",
32+
"./src/v3/zodIpc.ts",
33+
"./src/v3/zodMessageHandler.ts",
34+
"./src/v3/zodNamespace.ts",
35+
"./src/v3/zodSocket.ts",
2036
],
2137
});

0 commit comments

Comments
 (0)