typeferry 0.8.0 → 0.9.0
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
CHANGED
|
@@ -4,6 +4,11 @@ The TypeScript implementation of TypeFerry provides the reference Node.js server
|
|
|
4
4
|
|
|
5
5
|
Install the public TypeScript package with `npm install typeferry`. Repository contributors can use the local [`template/`](../template/) workflow described in the [quickstart](../docs/getting-started.md).
|
|
6
6
|
|
|
7
|
+
AI coding agents building consumer applications should begin with the
|
|
8
|
+
[agent application guide](https://github.com/leonardoventurini/typeferry/blob/main/docs/agents/application-development.md).
|
|
9
|
+
It defines the supported project structure, public imports, package-owned
|
|
10
|
+
commands, optional configuration, safety boundaries, and completion checks.
|
|
11
|
+
|
|
7
12
|
## Runtime requirements
|
|
8
13
|
|
|
9
14
|
- Node.js `24.19.0`
|
|
@@ -68,9 +73,23 @@ export default defineConfig({
|
|
|
68
73
|
clientPort: 8000,
|
|
69
74
|
serverPort: 8002,
|
|
70
75
|
},
|
|
76
|
+
build: {
|
|
77
|
+
server: {
|
|
78
|
+
external: ['sharp'],
|
|
79
|
+
},
|
|
80
|
+
},
|
|
71
81
|
})
|
|
72
82
|
```
|
|
73
83
|
|
|
84
|
+
Server dependencies are bundled by default. Configured externals must be direct
|
|
85
|
+
application `dependencies`, and the application must ship them in its
|
|
86
|
+
production runtime installation.
|
|
87
|
+
|
|
88
|
+
See the full
|
|
89
|
+
[application framework guide](https://github.com/leonardoventurini/typeferry/blob/main/docs/typescript/application-framework.md)
|
|
90
|
+
for command behavior, test discovery, every configuration field, migration,
|
|
91
|
+
ownership boundaries, upgrades, and troubleshooting.
|
|
92
|
+
|
|
74
93
|
## Define and serve a typed method
|
|
75
94
|
|
|
76
95
|
```ts
|
|
@@ -127,4 +146,4 @@ npm pack --dry-run
|
|
|
127
146
|
|
|
128
147
|
## Guides
|
|
129
148
|
|
|
130
|
-
Start at the [documentation home](../docs/README.md) or jump to [server and RPC](../docs/typescript/server-rpc.md), [client](../docs/typescript/client.md), [React](../docs/typescript/react.md), [authentication](../docs/typescript/authentication.md), [events and channels](../docs/typescript/events-and-channels.md), [MongoDB](../docs/typescript/mongodb.md), [EJSON](../docs/typescript/ejson.md), or [deployment](../docs/typescript/deployment.md).
|
|
149
|
+
Start at the [documentation home](../docs/README.md) or jump to the [application framework](../docs/typescript/application-framework.md), [server and RPC](../docs/typescript/server-rpc.md), [client](../docs/typescript/client.md), [React](../docs/typescript/react.md), [authentication](../docs/typescript/authentication.md), [events and channels](../docs/typescript/events-and-channels.md), [MongoDB](../docs/typescript/mongodb.md), [EJSON](../docs/typescript/ejson.md), or [deployment](../docs/typescript/deployment.md).
|
|
@@ -8,6 +8,9 @@ export interface TypeFerryConfig {
|
|
|
8
8
|
readonly build?: {
|
|
9
9
|
readonly target?: string;
|
|
10
10
|
readonly sourceMaps?: boolean;
|
|
11
|
+
readonly server?: {
|
|
12
|
+
readonly external?: readonly string[];
|
|
13
|
+
};
|
|
11
14
|
};
|
|
12
15
|
readonly test?: {
|
|
13
16
|
readonly integration?: {
|
|
@@ -35,6 +38,9 @@ export interface ResolvedApplicationConfig {
|
|
|
35
38
|
readonly build: {
|
|
36
39
|
readonly target: string;
|
|
37
40
|
readonly sourceMaps: boolean;
|
|
41
|
+
readonly server: {
|
|
42
|
+
readonly external: readonly string[];
|
|
43
|
+
};
|
|
38
44
|
};
|
|
39
45
|
readonly test: {
|
|
40
46
|
readonly integration: {
|
|
@@ -61,6 +67,9 @@ export declare const DEFAULT_APPLICATION_CONFIG: {
|
|
|
61
67
|
readonly build: {
|
|
62
68
|
readonly target: "es2023";
|
|
63
69
|
readonly sourceMaps: true;
|
|
70
|
+
readonly server: {
|
|
71
|
+
readonly external: readonly string[];
|
|
72
|
+
};
|
|
64
73
|
};
|
|
65
74
|
readonly test: {
|
|
66
75
|
readonly integration: {
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
import { access } from 'node:fs/promises';
|
|
1
|
+
import { access, readFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { createJiti } from 'jiti';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
const browserNameSchema = z.enum(['chromium', 'firefox', 'webkit']);
|
|
6
6
|
const positivePortSchema = z.number().int().min(1).max(65_535);
|
|
7
|
+
const packageManifestSchema = z.object({
|
|
8
|
+
dependencies: z.record(z.string(), z.string()).optional(),
|
|
9
|
+
devDependencies: z.record(z.string(), z.string()).optional(),
|
|
10
|
+
});
|
|
11
|
+
const serverExternalSchema = z
|
|
12
|
+
.array(z
|
|
13
|
+
.string()
|
|
14
|
+
.min(1)
|
|
15
|
+
.refine(isPackageSpecifier, 'Expected an npm package specifier'))
|
|
16
|
+
.refine(values => new Set(values).size === values.length, {
|
|
17
|
+
message: 'Server external package specifiers must not contain duplicates',
|
|
18
|
+
});
|
|
7
19
|
const configSchema = z
|
|
8
20
|
.object({
|
|
9
21
|
development: z
|
|
@@ -18,6 +30,10 @@ const configSchema = z
|
|
|
18
30
|
.object({
|
|
19
31
|
target: z.string().min(1).optional(),
|
|
20
32
|
sourceMaps: z.boolean().optional(),
|
|
33
|
+
server: z
|
|
34
|
+
.object({ external: serverExternalSchema.optional() })
|
|
35
|
+
.strict()
|
|
36
|
+
.optional(),
|
|
21
37
|
})
|
|
22
38
|
.strict()
|
|
23
39
|
.optional(),
|
|
@@ -52,6 +68,9 @@ export const DEFAULT_APPLICATION_CONFIG = {
|
|
|
52
68
|
build: {
|
|
53
69
|
target: 'es2023',
|
|
54
70
|
sourceMaps: true,
|
|
71
|
+
server: {
|
|
72
|
+
external: [],
|
|
73
|
+
},
|
|
55
74
|
},
|
|
56
75
|
test: {
|
|
57
76
|
integration: { timeout: 30_000 },
|
|
@@ -74,6 +93,10 @@ export function resolveApplicationConfig(root, input = {}) {
|
|
|
74
93
|
build: {
|
|
75
94
|
...DEFAULT_APPLICATION_CONFIG.build,
|
|
76
95
|
...config.build,
|
|
96
|
+
server: {
|
|
97
|
+
...DEFAULT_APPLICATION_CONFIG.build.server,
|
|
98
|
+
...config.build?.server,
|
|
99
|
+
},
|
|
77
100
|
},
|
|
78
101
|
test: {
|
|
79
102
|
integration: {
|
|
@@ -98,7 +121,45 @@ export async function loadApplicationConfig(root) {
|
|
|
98
121
|
const jiti = createJiti(import.meta.url, { interopDefault: true });
|
|
99
122
|
const loaded = await jiti.import(configPath, { default: true });
|
|
100
123
|
const parsed = configSchema.parse(loaded);
|
|
101
|
-
|
|
124
|
+
const resolved = resolveApplicationConfig(root, withEnvironmentFile(parsed));
|
|
125
|
+
await validateServerExternalDependencies(resolved);
|
|
126
|
+
return resolved;
|
|
127
|
+
}
|
|
128
|
+
async function validateServerExternalDependencies(config) {
|
|
129
|
+
if (config.build.server.external.length === 0)
|
|
130
|
+
return;
|
|
131
|
+
const manifestPath = path.join(config.root, 'package.json');
|
|
132
|
+
const manifest = packageManifestSchema.parse(JSON.parse(await readFile(manifestPath, 'utf8')));
|
|
133
|
+
for (const external of config.build.server.external) {
|
|
134
|
+
const packageName = packageNameFromSpecifier(external);
|
|
135
|
+
if (manifest.dependencies?.[packageName] !== undefined)
|
|
136
|
+
continue;
|
|
137
|
+
if (manifest.devDependencies?.[packageName] !== undefined) {
|
|
138
|
+
throw new Error(`Server external "${external}" must be declared in dependencies, not devDependencies`);
|
|
139
|
+
}
|
|
140
|
+
throw new Error(`Server external "${external}" must be declared in package.json dependencies`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function isPackageSpecifier(value) {
|
|
144
|
+
if (value.includes('*') || value.includes('\\') || value.includes(':')) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
const segments = value.split('/');
|
|
148
|
+
if (value.startsWith('@')) {
|
|
149
|
+
return (segments.length >= 2 &&
|
|
150
|
+
isPackageNameSegment(segments[0]?.slice(1) ?? '') &&
|
|
151
|
+
segments.every((segment, index) => index === 0 ? true : isPackageNameSegment(segment)));
|
|
152
|
+
}
|
|
153
|
+
return segments.every(isPackageNameSegment);
|
|
154
|
+
}
|
|
155
|
+
function isPackageNameSegment(value) {
|
|
156
|
+
return /^[a-z0-9][a-z0-9._~-]*$/u.test(value);
|
|
157
|
+
}
|
|
158
|
+
function packageNameFromSpecifier(specifier) {
|
|
159
|
+
const segments = specifier.split('/');
|
|
160
|
+
return specifier.startsWith('@')
|
|
161
|
+
? `${segments[0]}/${segments[1]}`
|
|
162
|
+
: (segments[0] ?? specifier);
|
|
102
163
|
}
|
|
103
164
|
function withEnvironmentFile(config) {
|
|
104
165
|
if (config.development?.serverEnvironmentFile !== undefined ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/application/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/application/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-build.js","sourceRoot":"","sources":["../../src/application/server-build.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAM5B,MAAM,UAAU,wBAAwB,CACtC,MAAiC;IAEjC,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;SACxD;QACD,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,QAAQ,EACR,WAAW,CACZ;QACD,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;QAClC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;KAC5B,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"server-build.js","sourceRoot":"","sources":["../../src/application/server-build.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAM5B,MAAM,UAAU,wBAAwB,CACtC,MAAiC;IAEjC,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,WAAW,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;SACxD;QACD,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,QAAQ,EACR,WAAW,CACZ;QACD,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;QAClC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;KAC5B,CAAA;AACH,CAAC"}
|