everything-dev 1.14.0 → 1.14.3
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/dist/cli/upgrade.cjs +2 -1
- package/dist/cli/upgrade.cjs.map +1 -1
- package/dist/cli/upgrade.mjs +2 -1
- package/dist/cli/upgrade.mjs.map +1 -1
- package/dist/contract.d.cts +31 -31
- package/dist/contract.d.mts +31 -31
- package/dist/orchestrator.cjs +0 -1
- package/dist/orchestrator.cjs.map +1 -1
- package/dist/plugin.cjs +39 -44
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +31 -31
- package/dist/plugin.d.mts +31 -31
- package/dist/plugin.mjs +39 -44
- package/dist/plugin.mjs.map +1 -1
- package/dist/shared.cjs +0 -10
- package/dist/shared.cjs.map +1 -1
- package/dist/shared.mjs +1 -9
- package/dist/shared.mjs.map +1 -1
- package/package.json +4 -30
- package/src/cli/upgrade.ts +1 -0
- package/src/plugin.ts +57 -49
- package/dist/api.cjs +0 -124
- package/dist/api.cjs.map +0 -1
- package/dist/api.d.cts +0 -36
- package/dist/api.d.cts.map +0 -1
- package/dist/api.d.mts +0 -36
- package/dist/api.d.mts.map +0 -1
- package/dist/api.mjs +0 -119
- package/dist/api.mjs.map +0 -1
- package/dist/federation.server.cjs +0 -27
- package/dist/federation.server.cjs.map +0 -1
- package/dist/federation.server.mjs +0 -27
- package/dist/federation.server.mjs.map +0 -1
- package/dist/host.cjs +0 -402
- package/dist/host.cjs.map +0 -1
- package/dist/host.d.cts +0 -22
- package/dist/host.d.cts.map +0 -1
- package/dist/host.d.mts +0 -22
- package/dist/host.d.mts.map +0 -1
- package/dist/host.mjs +0 -399
- package/dist/host.mjs.map +0 -1
- package/dist/orchestrator.d.cts +0 -44
- package/dist/orchestrator.d.cts.map +0 -1
- package/dist/orchestrator.d.mts +0 -44
- package/dist/orchestrator.d.mts.map +0 -1
- package/dist/service-descriptor.d.cts +0 -137
- package/dist/service-descriptor.d.cts.map +0 -1
- package/dist/service-descriptor.d.mts +0 -137
- package/dist/service-descriptor.d.mts.map +0 -1
- package/dist/shared.d.cts +0 -36
- package/dist/shared.d.cts.map +0 -1
- package/dist/shared.d.mts +0 -36
- package/dist/shared.d.mts.map +0 -1
- package/src/api.ts +0 -181
- package/src/federation.server.ts +0 -43
- package/src/host.ts +0 -573
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { SourceMode } from "./types.cjs";
|
|
2
|
-
import { Context } from "effect";
|
|
3
|
-
|
|
4
|
-
//#region src/service-descriptor.d.ts
|
|
5
|
-
interface ServiceDescriptor {
|
|
6
|
-
key: string;
|
|
7
|
-
source: SourceMode;
|
|
8
|
-
url: string;
|
|
9
|
-
remoteUrl?: string;
|
|
10
|
-
entry: string;
|
|
11
|
-
name: string;
|
|
12
|
-
localPath?: string;
|
|
13
|
-
port?: number;
|
|
14
|
-
readinessPath: string;
|
|
15
|
-
defaultPort: number;
|
|
16
|
-
integrity?: string;
|
|
17
|
-
proxy?: string;
|
|
18
|
-
variables?: Record<string, string>;
|
|
19
|
-
secrets?: string[];
|
|
20
|
-
ssr?: boolean;
|
|
21
|
-
command?: string;
|
|
22
|
-
args?: string[];
|
|
23
|
-
readyPatterns?: RegExp[];
|
|
24
|
-
errorPatterns?: RegExp[];
|
|
25
|
-
}
|
|
26
|
-
declare const ServiceDescriptorMap_base: Context.TagClass<ServiceDescriptorMap, "ServiceDescriptorMap", Map<string, ServiceDescriptor>>;
|
|
27
|
-
declare class ServiceDescriptorMap extends ServiceDescriptorMap_base {}
|
|
28
|
-
declare const DevRuntimeConfig_base: Context.TagClass<DevRuntimeConfig, "DevRuntimeConfig", {
|
|
29
|
-
env: "development" | "production" | "staging";
|
|
30
|
-
account: string;
|
|
31
|
-
networkId: "testnet" | "mainnet";
|
|
32
|
-
host: {
|
|
33
|
-
name: string;
|
|
34
|
-
url: string;
|
|
35
|
-
entry: string;
|
|
36
|
-
source: "local" | "remote";
|
|
37
|
-
integrity?: string | undefined;
|
|
38
|
-
localPath?: string | undefined;
|
|
39
|
-
port?: number | undefined;
|
|
40
|
-
secrets?: string[] | undefined;
|
|
41
|
-
remoteUrl?: string | undefined;
|
|
42
|
-
};
|
|
43
|
-
ui: {
|
|
44
|
-
name: string;
|
|
45
|
-
url: string;
|
|
46
|
-
entry: string;
|
|
47
|
-
source: "local" | "remote";
|
|
48
|
-
integrity?: string | undefined;
|
|
49
|
-
localPath?: string | undefined;
|
|
50
|
-
port?: number | undefined;
|
|
51
|
-
ssrUrl?: string | undefined;
|
|
52
|
-
ssrIntegrity?: string | undefined;
|
|
53
|
-
};
|
|
54
|
-
api: {
|
|
55
|
-
name: string;
|
|
56
|
-
url: string;
|
|
57
|
-
entry: string;
|
|
58
|
-
source: "local" | "remote";
|
|
59
|
-
integrity?: string | undefined;
|
|
60
|
-
localPath?: string | undefined;
|
|
61
|
-
port?: number | undefined;
|
|
62
|
-
proxy?: string | undefined;
|
|
63
|
-
variables?: Record<string, string> | undefined;
|
|
64
|
-
secrets?: string[] | undefined;
|
|
65
|
-
};
|
|
66
|
-
domain?: string | undefined;
|
|
67
|
-
title?: string | undefined;
|
|
68
|
-
repository?: string | undefined;
|
|
69
|
-
shared?: {
|
|
70
|
-
ui?: Record<string, {
|
|
71
|
-
version: string;
|
|
72
|
-
requiredVersion?: string | undefined;
|
|
73
|
-
singleton?: boolean | undefined;
|
|
74
|
-
eager?: boolean | undefined;
|
|
75
|
-
strictVersion?: boolean | undefined;
|
|
76
|
-
shareScope?: string | undefined;
|
|
77
|
-
}> | undefined;
|
|
78
|
-
plugins?: Record<string, {
|
|
79
|
-
version: string;
|
|
80
|
-
requiredVersion?: string | undefined;
|
|
81
|
-
singleton?: boolean | undefined;
|
|
82
|
-
eager?: boolean | undefined;
|
|
83
|
-
strictVersion?: boolean | undefined;
|
|
84
|
-
shareScope?: string | undefined;
|
|
85
|
-
}> | undefined;
|
|
86
|
-
} | undefined;
|
|
87
|
-
auth?: {
|
|
88
|
-
name: string;
|
|
89
|
-
url: string;
|
|
90
|
-
entry: string;
|
|
91
|
-
source: "local" | "remote";
|
|
92
|
-
integrity?: string | undefined;
|
|
93
|
-
localPath?: string | undefined;
|
|
94
|
-
port?: number | undefined;
|
|
95
|
-
proxy?: string | undefined;
|
|
96
|
-
variables?: Record<string, string> | undefined;
|
|
97
|
-
secrets?: string[] | undefined;
|
|
98
|
-
sidebar?: {
|
|
99
|
-
icon: string;
|
|
100
|
-
label: string;
|
|
101
|
-
to?: string | undefined;
|
|
102
|
-
roleRequired?: "anon" | "member" | "admin" | undefined;
|
|
103
|
-
}[] | undefined;
|
|
104
|
-
} | undefined;
|
|
105
|
-
plugins?: Record<string, {
|
|
106
|
-
name: string;
|
|
107
|
-
url: string;
|
|
108
|
-
entry: string;
|
|
109
|
-
source: "local" | "remote";
|
|
110
|
-
localPath?: string | undefined;
|
|
111
|
-
port?: number | undefined;
|
|
112
|
-
proxy?: string | undefined;
|
|
113
|
-
variables?: Record<string, string> | undefined;
|
|
114
|
-
secrets?: string[] | undefined;
|
|
115
|
-
integrity?: string | undefined;
|
|
116
|
-
ui?: {
|
|
117
|
-
name: string;
|
|
118
|
-
url: string;
|
|
119
|
-
entry: string;
|
|
120
|
-
source: "local" | "remote";
|
|
121
|
-
localPath?: string | undefined;
|
|
122
|
-
port?: number | undefined;
|
|
123
|
-
integrity?: string | undefined;
|
|
124
|
-
} | undefined;
|
|
125
|
-
sidebar?: {
|
|
126
|
-
icon: string;
|
|
127
|
-
label: string;
|
|
128
|
-
to?: string | undefined;
|
|
129
|
-
roleRequired?: "anon" | "member" | "admin" | undefined;
|
|
130
|
-
}[] | undefined;
|
|
131
|
-
routes?: string[] | undefined;
|
|
132
|
-
}> | undefined;
|
|
133
|
-
}>;
|
|
134
|
-
declare class DevRuntimeConfig extends DevRuntimeConfig_base {}
|
|
135
|
-
//#endregion
|
|
136
|
-
export { DevRuntimeConfig, ServiceDescriptor, ServiceDescriptorMap };
|
|
137
|
-
//# sourceMappingURL=service-descriptor.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-descriptor.d.cts","names":[],"sources":["../src/service-descriptor.ts"],"mappings":";;;;UAGiB,iBAAA;EACf,GAAA;EACA,MAAA,EAAQ,UAAA;EACR,GAAA;EACA,SAAA;EACA,KAAA;EACA,IAAA;EACA,SAAA;EACA,IAAA;EACA,aAAA;EACA,WAAA;EACA,SAAA;EACA,KAAA;EACA,SAAA,GAAY,MAAA;EACZ,OAAA;EACA,GAAA;EACA,OAAA;EACA,IAAA;EACA,aAAA,GAAgB,MAAA;EAChB,aAAA,GAAgB,MAAA;AAAA;AAAA,cACjB,yBAAA;cAEY,oBAAA,SAA6B,yBAAA;AAAA,cAGpC,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEO,gBAAA,SAAyB,qBAAA"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { SourceMode } from "./types.mjs";
|
|
2
|
-
import { Context, Layer } from "effect";
|
|
3
|
-
|
|
4
|
-
//#region src/service-descriptor.d.ts
|
|
5
|
-
interface ServiceDescriptor {
|
|
6
|
-
key: string;
|
|
7
|
-
source: SourceMode;
|
|
8
|
-
url: string;
|
|
9
|
-
remoteUrl?: string;
|
|
10
|
-
entry: string;
|
|
11
|
-
name: string;
|
|
12
|
-
localPath?: string;
|
|
13
|
-
port?: number;
|
|
14
|
-
readinessPath: string;
|
|
15
|
-
defaultPort: number;
|
|
16
|
-
integrity?: string;
|
|
17
|
-
proxy?: string;
|
|
18
|
-
variables?: Record<string, string>;
|
|
19
|
-
secrets?: string[];
|
|
20
|
-
ssr?: boolean;
|
|
21
|
-
command?: string;
|
|
22
|
-
args?: string[];
|
|
23
|
-
readyPatterns?: RegExp[];
|
|
24
|
-
errorPatterns?: RegExp[];
|
|
25
|
-
}
|
|
26
|
-
declare const ServiceDescriptorMap_base: Context.TagClass<ServiceDescriptorMap, "ServiceDescriptorMap", Map<string, ServiceDescriptor>>;
|
|
27
|
-
declare class ServiceDescriptorMap extends ServiceDescriptorMap_base {}
|
|
28
|
-
declare const DevRuntimeConfig_base: Context.TagClass<DevRuntimeConfig, "DevRuntimeConfig", {
|
|
29
|
-
env: "development" | "production" | "staging";
|
|
30
|
-
account: string;
|
|
31
|
-
networkId: "testnet" | "mainnet";
|
|
32
|
-
host: {
|
|
33
|
-
name: string;
|
|
34
|
-
url: string;
|
|
35
|
-
entry: string;
|
|
36
|
-
source: "local" | "remote";
|
|
37
|
-
integrity?: string | undefined;
|
|
38
|
-
localPath?: string | undefined;
|
|
39
|
-
port?: number | undefined;
|
|
40
|
-
secrets?: string[] | undefined;
|
|
41
|
-
remoteUrl?: string | undefined;
|
|
42
|
-
};
|
|
43
|
-
ui: {
|
|
44
|
-
name: string;
|
|
45
|
-
url: string;
|
|
46
|
-
entry: string;
|
|
47
|
-
source: "local" | "remote";
|
|
48
|
-
integrity?: string | undefined;
|
|
49
|
-
localPath?: string | undefined;
|
|
50
|
-
port?: number | undefined;
|
|
51
|
-
ssrUrl?: string | undefined;
|
|
52
|
-
ssrIntegrity?: string | undefined;
|
|
53
|
-
};
|
|
54
|
-
api: {
|
|
55
|
-
name: string;
|
|
56
|
-
url: string;
|
|
57
|
-
entry: string;
|
|
58
|
-
source: "local" | "remote";
|
|
59
|
-
integrity?: string | undefined;
|
|
60
|
-
localPath?: string | undefined;
|
|
61
|
-
port?: number | undefined;
|
|
62
|
-
proxy?: string | undefined;
|
|
63
|
-
variables?: Record<string, string> | undefined;
|
|
64
|
-
secrets?: string[] | undefined;
|
|
65
|
-
};
|
|
66
|
-
domain?: string | undefined;
|
|
67
|
-
title?: string | undefined;
|
|
68
|
-
repository?: string | undefined;
|
|
69
|
-
shared?: {
|
|
70
|
-
ui?: Record<string, {
|
|
71
|
-
version: string;
|
|
72
|
-
requiredVersion?: string | undefined;
|
|
73
|
-
singleton?: boolean | undefined;
|
|
74
|
-
eager?: boolean | undefined;
|
|
75
|
-
strictVersion?: boolean | undefined;
|
|
76
|
-
shareScope?: string | undefined;
|
|
77
|
-
}> | undefined;
|
|
78
|
-
plugins?: Record<string, {
|
|
79
|
-
version: string;
|
|
80
|
-
requiredVersion?: string | undefined;
|
|
81
|
-
singleton?: boolean | undefined;
|
|
82
|
-
eager?: boolean | undefined;
|
|
83
|
-
strictVersion?: boolean | undefined;
|
|
84
|
-
shareScope?: string | undefined;
|
|
85
|
-
}> | undefined;
|
|
86
|
-
} | undefined;
|
|
87
|
-
auth?: {
|
|
88
|
-
name: string;
|
|
89
|
-
url: string;
|
|
90
|
-
entry: string;
|
|
91
|
-
source: "local" | "remote";
|
|
92
|
-
integrity?: string | undefined;
|
|
93
|
-
localPath?: string | undefined;
|
|
94
|
-
port?: number | undefined;
|
|
95
|
-
proxy?: string | undefined;
|
|
96
|
-
variables?: Record<string, string> | undefined;
|
|
97
|
-
secrets?: string[] | undefined;
|
|
98
|
-
sidebar?: {
|
|
99
|
-
icon: string;
|
|
100
|
-
label: string;
|
|
101
|
-
to?: string | undefined;
|
|
102
|
-
roleRequired?: "anon" | "member" | "admin" | undefined;
|
|
103
|
-
}[] | undefined;
|
|
104
|
-
} | undefined;
|
|
105
|
-
plugins?: Record<string, {
|
|
106
|
-
name: string;
|
|
107
|
-
url: string;
|
|
108
|
-
entry: string;
|
|
109
|
-
source: "local" | "remote";
|
|
110
|
-
localPath?: string | undefined;
|
|
111
|
-
port?: number | undefined;
|
|
112
|
-
proxy?: string | undefined;
|
|
113
|
-
variables?: Record<string, string> | undefined;
|
|
114
|
-
secrets?: string[] | undefined;
|
|
115
|
-
integrity?: string | undefined;
|
|
116
|
-
ui?: {
|
|
117
|
-
name: string;
|
|
118
|
-
url: string;
|
|
119
|
-
entry: string;
|
|
120
|
-
source: "local" | "remote";
|
|
121
|
-
localPath?: string | undefined;
|
|
122
|
-
port?: number | undefined;
|
|
123
|
-
integrity?: string | undefined;
|
|
124
|
-
} | undefined;
|
|
125
|
-
sidebar?: {
|
|
126
|
-
icon: string;
|
|
127
|
-
label: string;
|
|
128
|
-
to?: string | undefined;
|
|
129
|
-
roleRequired?: "anon" | "member" | "admin" | undefined;
|
|
130
|
-
}[] | undefined;
|
|
131
|
-
routes?: string[] | undefined;
|
|
132
|
-
}> | undefined;
|
|
133
|
-
}>;
|
|
134
|
-
declare class DevRuntimeConfig extends DevRuntimeConfig_base {}
|
|
135
|
-
//#endregion
|
|
136
|
-
export { DevRuntimeConfig, ServiceDescriptor, ServiceDescriptorMap };
|
|
137
|
-
//# sourceMappingURL=service-descriptor.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-descriptor.d.mts","names":[],"sources":["../src/service-descriptor.ts"],"mappings":";;;;UAGiB,iBAAA;EACf,GAAA;EACA,MAAA,EAAQ,UAAA;EACR,GAAA;EACA,SAAA;EACA,KAAA;EACA,IAAA;EACA,SAAA;EACA,IAAA;EACA,aAAA;EACA,WAAA;EACA,SAAA;EACA,KAAA;EACA,SAAA,GAAY,MAAA;EACZ,OAAA;EACA,GAAA;EACA,OAAA;EACA,IAAA;EACA,aAAA,GAAgB,MAAA;EAChB,aAAA,GAAgB,MAAA;AAAA;AAAA,cACjB,yBAAA;cAEY,oBAAA,SAA6B,yBAAA;AAAA,cAGpC,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEO,gBAAA,SAAyB,qBAAA"}
|
package/dist/shared.d.cts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { BosConfig } from "./types.cjs";
|
|
2
|
-
import { BosEnv } from "./merge.cjs";
|
|
3
|
-
|
|
4
|
-
//#region src/shared.d.ts
|
|
5
|
-
interface SharedUiResolvedDep {
|
|
6
|
-
name: string;
|
|
7
|
-
version: string;
|
|
8
|
-
requiredVersion: string;
|
|
9
|
-
shareScope: string;
|
|
10
|
-
singleton: boolean;
|
|
11
|
-
eager: boolean;
|
|
12
|
-
strictVersion: boolean;
|
|
13
|
-
}
|
|
14
|
-
interface SharedUiResolved {
|
|
15
|
-
deps: Record<string, SharedUiResolvedDep>;
|
|
16
|
-
fingerprintSha256: string;
|
|
17
|
-
}
|
|
18
|
-
interface SharedSyncResult {
|
|
19
|
-
mode: "catalog->bos" | "bos->catalog";
|
|
20
|
-
hostMode: "local" | "remote";
|
|
21
|
-
bosConfigChanged: boolean;
|
|
22
|
-
catalogChanged: boolean;
|
|
23
|
-
generatedChanged: boolean;
|
|
24
|
-
resolved: SharedUiResolved;
|
|
25
|
-
}
|
|
26
|
-
declare function syncAndGenerateSharedUi(opts: {
|
|
27
|
-
configDir: string;
|
|
28
|
-
hostMode: "local" | "remote";
|
|
29
|
-
bosConfig?: BosConfig;
|
|
30
|
-
env?: BosEnv;
|
|
31
|
-
extendsChain?: string[];
|
|
32
|
-
}): Promise<SharedSyncResult>;
|
|
33
|
-
declare function loadGeneratedSharedUi(configDir: string): SharedUiResolved | null;
|
|
34
|
-
//#endregion
|
|
35
|
-
export { SharedSyncResult, SharedUiResolved, SharedUiResolvedDep, loadGeneratedSharedUi, syncAndGenerateSharedUi };
|
|
36
|
-
//# sourceMappingURL=shared.d.cts.map
|
package/dist/shared.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.cts","names":[],"sources":["../src/shared.ts"],"mappings":";;;;UAoBiB,mBAAA;EACf,IAAA;EACA,OAAA;EACA,eAAA;EACA,UAAA;EACA,SAAA;EACA,KAAA;EACA,aAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA,EAAM,MAAA,SAAe,mBAAA;EACrB,iBAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,QAAA;EACA,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,QAAA,EAAU,gBAAA;AAAA;AAAA,iBAiDU,uBAAA,CAAwB,IAAA;EAC5C,SAAA;EACA,QAAA;EACA,SAAA,GAAY,SAAA;EACZ,GAAA,GAAM,MAAA;EACN,YAAA;AAAA,IACE,OAAA,CAAQ,gBAAA;AAAA,iBAgJI,qBAAA,CAAsB,SAAA,WAAoB,gBAAA"}
|
package/dist/shared.d.mts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { BosConfig } from "./types.mjs";
|
|
2
|
-
import { BosEnv } from "./merge.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/shared.d.ts
|
|
5
|
-
interface SharedUiResolvedDep {
|
|
6
|
-
name: string;
|
|
7
|
-
version: string;
|
|
8
|
-
requiredVersion: string;
|
|
9
|
-
shareScope: string;
|
|
10
|
-
singleton: boolean;
|
|
11
|
-
eager: boolean;
|
|
12
|
-
strictVersion: boolean;
|
|
13
|
-
}
|
|
14
|
-
interface SharedUiResolved {
|
|
15
|
-
deps: Record<string, SharedUiResolvedDep>;
|
|
16
|
-
fingerprintSha256: string;
|
|
17
|
-
}
|
|
18
|
-
interface SharedSyncResult {
|
|
19
|
-
mode: "catalog->bos" | "bos->catalog";
|
|
20
|
-
hostMode: "local" | "remote";
|
|
21
|
-
bosConfigChanged: boolean;
|
|
22
|
-
catalogChanged: boolean;
|
|
23
|
-
generatedChanged: boolean;
|
|
24
|
-
resolved: SharedUiResolved;
|
|
25
|
-
}
|
|
26
|
-
declare function syncAndGenerateSharedUi(opts: {
|
|
27
|
-
configDir: string;
|
|
28
|
-
hostMode: "local" | "remote";
|
|
29
|
-
bosConfig?: BosConfig;
|
|
30
|
-
env?: BosEnv;
|
|
31
|
-
extendsChain?: string[];
|
|
32
|
-
}): Promise<SharedSyncResult>;
|
|
33
|
-
declare function loadGeneratedSharedUi(configDir: string): SharedUiResolved | null;
|
|
34
|
-
//#endregion
|
|
35
|
-
export { SharedSyncResult, SharedUiResolved, SharedUiResolvedDep, loadGeneratedSharedUi, syncAndGenerateSharedUi };
|
|
36
|
-
//# sourceMappingURL=shared.d.mts.map
|
package/dist/shared.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.mts","names":[],"sources":["../src/shared.ts"],"mappings":";;;;UAoBiB,mBAAA;EACf,IAAA;EACA,OAAA;EACA,eAAA;EACA,UAAA;EACA,SAAA;EACA,KAAA;EACA,aAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA,EAAM,MAAA,SAAe,mBAAA;EACrB,iBAAA;AAAA;AAAA,UAGe,gBAAA;EACf,IAAA;EACA,QAAA;EACA,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,QAAA,EAAU,gBAAA;AAAA;AAAA,iBAiDU,uBAAA,CAAwB,IAAA;EAC5C,SAAA;EACA,QAAA;EACA,SAAA,GAAY,SAAA;EACZ,GAAA,GAAM,MAAA;EACN,YAAA;AAAA,IACE,OAAA,CAAQ,gBAAA;AAAA,iBAgJI,qBAAA,CAAsB,SAAA,WAAoB,gBAAA"}
|
package/src/api.ts
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { verifySriForUrl } from "./integrity";
|
|
2
|
-
import { ensureNodeRuntimePlugin, registerRemote } from "./mf";
|
|
3
|
-
import { createPluginRuntime } from "./sdk";
|
|
4
|
-
import type { RuntimeConfig, RuntimePluginConfig } from "./types";
|
|
5
|
-
|
|
6
|
-
export interface LoadedPluginResult {
|
|
7
|
-
key: string;
|
|
8
|
-
name: string;
|
|
9
|
-
router: any;
|
|
10
|
-
createClient: (context?: unknown) => any;
|
|
11
|
-
metadata: {
|
|
12
|
-
remoteUrl: string;
|
|
13
|
-
version?: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface LoadedPluginsResult {
|
|
18
|
-
base: LoadedPluginResult | null;
|
|
19
|
-
plugins: LoadedPluginResult[];
|
|
20
|
-
errors: Array<{ key: string; error: string }>;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export async function loadApiPlugin(opts: {
|
|
24
|
-
key: string;
|
|
25
|
-
runtimeId: string;
|
|
26
|
-
name: string;
|
|
27
|
-
entry: string;
|
|
28
|
-
variables?: Record<string, string>;
|
|
29
|
-
secrets?: Record<string, string>;
|
|
30
|
-
integrity?: string;
|
|
31
|
-
plugins?: Record<string, unknown>;
|
|
32
|
-
}): Promise<LoadedPluginResult> {
|
|
33
|
-
const remoteEntryUrl = (() => {
|
|
34
|
-
if (opts.entry.endsWith("/remoteEntry.js")) return opts.entry;
|
|
35
|
-
if (opts.entry.endsWith("/mf-manifest.json")) {
|
|
36
|
-
return `${opts.entry.replace(/\/mf-manifest\.json$/, "")}/remoteEntry.js`;
|
|
37
|
-
}
|
|
38
|
-
if (opts.entry.endsWith(".js")) return opts.entry;
|
|
39
|
-
return `${opts.entry.replace(/\/$/, "")}/remoteEntry.js`;
|
|
40
|
-
})();
|
|
41
|
-
|
|
42
|
-
if (opts.integrity) {
|
|
43
|
-
await verifySriForUrl(remoteEntryUrl, opts.integrity);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
await ensureNodeRuntimePlugin();
|
|
47
|
-
await registerRemote({ name: opts.runtimeId, entry: remoteEntryUrl });
|
|
48
|
-
|
|
49
|
-
const runtime: any = createPluginRuntime({
|
|
50
|
-
registry: {
|
|
51
|
-
[opts.runtimeId]: { remote: remoteEntryUrl },
|
|
52
|
-
},
|
|
53
|
-
secrets: opts.secrets ?? {},
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
// biome-ignore lint/correctness/useHookAtTopLevel: usePlugin is not a React hook
|
|
57
|
-
const plugin = await runtime.usePlugin(
|
|
58
|
-
opts.runtimeId,
|
|
59
|
-
{
|
|
60
|
-
variables: opts.variables ?? {},
|
|
61
|
-
secrets: opts.secrets ?? {},
|
|
62
|
-
},
|
|
63
|
-
opts.plugins,
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
return {
|
|
67
|
-
key: opts.key,
|
|
68
|
-
name: opts.name,
|
|
69
|
-
router: plugin.router,
|
|
70
|
-
createClient: plugin.createClient as (context?: unknown) => any,
|
|
71
|
-
metadata: {
|
|
72
|
-
remoteUrl: remoteEntryUrl,
|
|
73
|
-
version: plugin.metadata.version,
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function collectSecrets(config: RuntimePluginConfig, envSecrets?: Record<string, string>) {
|
|
79
|
-
const secrets: Record<string, string> = {};
|
|
80
|
-
for (const key of config.secrets ?? []) {
|
|
81
|
-
const value = envSecrets?.[key] ?? process.env[key];
|
|
82
|
-
if (value) {
|
|
83
|
-
secrets[key] = value;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return secrets;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export async function loadApiPluginsFromRuntimeConfig(
|
|
90
|
-
runtimeConfig: RuntimeConfig,
|
|
91
|
-
envSecrets?: Record<string, string>,
|
|
92
|
-
): Promise<LoadedPluginsResult> {
|
|
93
|
-
const entries: Array<[string, RuntimePluginConfig]> = [];
|
|
94
|
-
|
|
95
|
-
if (runtimeConfig.api?.url) {
|
|
96
|
-
entries.push(["api", runtimeConfig.api]);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
for (const [key, plugin] of Object.entries(runtimeConfig.plugins ?? {})) {
|
|
100
|
-
if (plugin.url) {
|
|
101
|
-
entries.push([key, plugin]);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (entries.length === 0) {
|
|
106
|
-
console.log("[API] No plugins configured");
|
|
107
|
-
return { base: null, plugins: [], errors: [] };
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// Phase 1: Load non-API plugins first
|
|
111
|
-
const pluginEntries = entries.filter(([key]) => key !== "api");
|
|
112
|
-
const apiEntry = entries.find(([key]) => key === "api");
|
|
113
|
-
|
|
114
|
-
const pluginResults = await Promise.allSettled(
|
|
115
|
-
pluginEntries.map(async ([key, pluginConfig]) => {
|
|
116
|
-
console.log(`[API] Loading plugin: ${pluginConfig.name} from ${pluginConfig.entry}`);
|
|
117
|
-
return loadApiPlugin({
|
|
118
|
-
key,
|
|
119
|
-
runtimeId: pluginConfig.name,
|
|
120
|
-
name: pluginConfig.name,
|
|
121
|
-
entry: pluginConfig.entry,
|
|
122
|
-
variables: pluginConfig.variables,
|
|
123
|
-
secrets: collectSecrets(pluginConfig, envSecrets),
|
|
124
|
-
integrity: pluginConfig.integrity,
|
|
125
|
-
});
|
|
126
|
-
}),
|
|
127
|
-
);
|
|
128
|
-
|
|
129
|
-
const plugins: LoadedPluginResult[] = [];
|
|
130
|
-
const errors: Array<{ key: string; error: string }> = [];
|
|
131
|
-
|
|
132
|
-
const pluginsClient: Record<string, unknown> = {};
|
|
133
|
-
|
|
134
|
-
pluginResults.forEach((result, index) => {
|
|
135
|
-
const [key] = pluginEntries[index] ?? ["unknown"];
|
|
136
|
-
if (result.status === "fulfilled") {
|
|
137
|
-
plugins.push(result.value);
|
|
138
|
-
pluginsClient[key] = result.value.createClient;
|
|
139
|
-
} else {
|
|
140
|
-
errors.push({
|
|
141
|
-
key,
|
|
142
|
-
error: result.reason instanceof Error ? result.reason.message : String(result.reason),
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
// Phase 2: Load API plugin with injected plugins client
|
|
148
|
-
let base: LoadedPluginResult | null = null;
|
|
149
|
-
|
|
150
|
-
if (apiEntry) {
|
|
151
|
-
const [key, apiConfig] = apiEntry;
|
|
152
|
-
try {
|
|
153
|
-
console.log(`[API] Loading API plugin: ${apiConfig.name} from ${apiConfig.entry}`);
|
|
154
|
-
base = await loadApiPlugin({
|
|
155
|
-
key,
|
|
156
|
-
runtimeId: apiConfig.name,
|
|
157
|
-
name: apiConfig.name,
|
|
158
|
-
entry: apiConfig.entry,
|
|
159
|
-
variables: apiConfig.variables,
|
|
160
|
-
secrets: collectSecrets(apiConfig, envSecrets),
|
|
161
|
-
integrity: apiConfig.integrity,
|
|
162
|
-
plugins: pluginsClient,
|
|
163
|
-
});
|
|
164
|
-
} catch (error) {
|
|
165
|
-
errors.push({
|
|
166
|
-
key,
|
|
167
|
-
error: error instanceof Error ? error.message : String(error),
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
return { base, plugins, errors };
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export function createStitchedRouter(baseRouter: any, plugins: LoadedPluginResult[] | null): any {
|
|
176
|
-
if (!plugins || plugins.length === 0) {
|
|
177
|
-
return baseRouter;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return plugins.reduce((router, plugin) => Object.assign(router, plugin.router), baseRouter);
|
|
181
|
-
}
|
package/src/federation.server.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { verifySriForUrl } from "./integrity";
|
|
2
|
-
import { ensureNodeRuntimePlugin, loadRemoteModule, registerRemote } from "./mf";
|
|
3
|
-
import type { RuntimeConfig } from "./types";
|
|
4
|
-
import type { RouterModule } from "./ui/types";
|
|
5
|
-
|
|
6
|
-
export type { RouterModule };
|
|
7
|
-
|
|
8
|
-
export async function loadRouterModule(config: RuntimeConfig): Promise<RouterModule> {
|
|
9
|
-
const isLocalDev = config.ui.source === "local";
|
|
10
|
-
const ssrUrl = config.ui.ssrUrl ?? (isLocalDev ? config.ui.url : undefined);
|
|
11
|
-
|
|
12
|
-
if (!ssrUrl) {
|
|
13
|
-
if (!isLocalDev) {
|
|
14
|
-
throw new Error(
|
|
15
|
-
"SSR URL not configured in production. Set app.ui.ssr in bos.config.json to enable SSR.",
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
throw new Error(
|
|
20
|
-
"SSR URL not configured. In local dev, set app.ui.ssr or use a UI package with SSR support.",
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const ssrEntryUrl = `${ssrUrl.replace(/\/$/, "")}/remoteEntry.server.js`;
|
|
25
|
-
|
|
26
|
-
if (config.ui.ssrIntegrity) {
|
|
27
|
-
await verifySriForUrl(ssrEntryUrl, config.ui.ssrIntegrity);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
await ensureNodeRuntimePlugin();
|
|
31
|
-
await registerRemote({
|
|
32
|
-
name: config.ui.name,
|
|
33
|
-
entry: ssrEntryUrl,
|
|
34
|
-
type: "script",
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const loadedModule = await loadRemoteModule<any>(`${config.ui.name}/Router`, { from: "build" });
|
|
38
|
-
if (!loadedModule) {
|
|
39
|
-
throw new Error(`Module not found: ${config.ui.name}/Router`);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return loadedModule.default as RouterModule;
|
|
43
|
-
}
|