@etohq/modules-sdk 1.0.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/dist/definitions.d.ts +7 -0
- package/dist/definitions.d.ts.map +1 -0
- package/dist/definitions.js +290 -0
- package/dist/definitions.js.map +1 -0
- package/dist/eto-app.d.ts +79 -0
- package/dist/eto-app.d.ts.map +1 -0
- package/dist/eto-app.js +382 -0
- package/dist/eto-app.js.map +1 -0
- package/dist/eto-module.d.ts +136 -0
- package/dist/eto-module.d.ts.map +1 -0
- package/dist/eto-module.js +496 -0
- package/dist/eto-module.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/link.d.ts +53 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +320 -0
- package/dist/link.js.map +1 -0
- package/dist/loaders/index.d.ts +4 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +20 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/module-loader.d.ts +9 -0
- package/dist/loaders/module-loader.d.ts.map +1 -0
- package/dist/loaders/module-loader.js +53 -0
- package/dist/loaders/module-loader.js.map +1 -0
- package/dist/loaders/module-provider-loader.d.ts +8 -0
- package/dist/loaders/module-provider-loader.d.ts.map +1 -0
- package/dist/loaders/module-provider-loader.js +53 -0
- package/dist/loaders/module-provider-loader.js.map +1 -0
- package/dist/loaders/register-modules.d.ts +4 -0
- package/dist/loaders/register-modules.d.ts.map +1 -0
- package/dist/loaders/register-modules.js +102 -0
- package/dist/loaders/register-modules.js.map +1 -0
- package/dist/loaders/utils/index.d.ts +2 -0
- package/dist/loaders/utils/index.d.ts.map +1 -0
- package/dist/loaders/utils/index.js +18 -0
- package/dist/loaders/utils/index.js.map +1 -0
- package/dist/loaders/utils/load-internal.d.ts +44 -0
- package/dist/loaders/utils/load-internal.d.ts.map +1 -0
- package/dist/loaders/utils/load-internal.js +488 -0
- package/dist/loaders/utils/load-internal.js.map +1 -0
- package/dist/remote-query/index.d.ts +3 -0
- package/dist/remote-query/index.d.ts.map +1 -0
- package/dist/remote-query/index.js +19 -0
- package/dist/remote-query/index.js.map +1 -0
- package/dist/remote-query/parse-filters.d.ts +15 -0
- package/dist/remote-query/parse-filters.d.ts.map +1 -0
- package/dist/remote-query/parse-filters.js +178 -0
- package/dist/remote-query/parse-filters.js.map +1 -0
- package/dist/remote-query/query.d.ts +42 -0
- package/dist/remote-query/query.d.ts.map +1 -0
- package/dist/remote-query/query.js +115 -0
- package/dist/remote-query/query.js.map +1 -0
- package/dist/remote-query/remote-query.d.ts +41 -0
- package/dist/remote-query/remote-query.d.ts.map +1 -0
- package/dist/remote-query/remote-query.js +175 -0
- package/dist/remote-query/remote-query.js.map +1 -0
- package/dist/remote-query/to-remote-query.d.ts +27 -0
- package/dist/remote-query/to-remote-query.d.ts.map +1 -0
- package/dist/remote-query/to-remote-query.js +96 -0
- package/dist/remote-query/to-remote-query.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/convert-data-to-link-definition.d.ts +3 -0
- package/dist/utils/convert-data-to-link-definition.d.ts.map +1 -0
- package/dist/utils/convert-data-to-link-definition.js +28 -0
- package/dist/utils/convert-data-to-link-definition.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/linking-error.d.ts +14 -0
- package/dist/utils/linking-error.d.ts.map +1 -0
- package/dist/utils/linking-error.js +18 -0
- package/dist/utils/linking-error.js.map +1 -0
- package/package.json +63 -0
package/dist/eto-app.js
ADDED
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadModules = loadModules;
|
|
4
|
+
exports.EtoApp = EtoApp;
|
|
5
|
+
exports.EtoAppMigrateUp = EtoAppMigrateUp;
|
|
6
|
+
exports.EtoAppMigrateDown = EtoAppMigrateDown;
|
|
7
|
+
exports.EtoAppMigrateGenerate = EtoAppMigrateGenerate;
|
|
8
|
+
exports.EtoAppGetLinksExecutionPlanner = EtoAppGetLinksExecutionPlanner;
|
|
9
|
+
const utils_1 = require("@etohq/utils");
|
|
10
|
+
const awilix_1 = require("awilix");
|
|
11
|
+
const eto_module_1 = require("./eto-module");
|
|
12
|
+
const link_1 = require("./link");
|
|
13
|
+
const remote_query_1 = require("./remote-query");
|
|
14
|
+
const types_1 = require("./types");
|
|
15
|
+
const LinkModulePackage = utils_1.MODULE_PACKAGE_NAMES[utils_1.Modules.LINK];
|
|
16
|
+
async function loadModules(args) {
|
|
17
|
+
const { modulesConfig, sharedContainer, sharedResourcesConfig, migrationOnly = false, loaderOnly = false, workerMode = "shared", } = args;
|
|
18
|
+
const allModules = {};
|
|
19
|
+
const modulesToLoad = [];
|
|
20
|
+
for (const moduleName of Object.keys(modulesConfig)) {
|
|
21
|
+
const mod = modulesConfig[moduleName];
|
|
22
|
+
let path;
|
|
23
|
+
let moduleExports = undefined;
|
|
24
|
+
let declaration = {};
|
|
25
|
+
let definition = undefined;
|
|
26
|
+
// TODO: We are keeping mod === false for backward compatibility for now
|
|
27
|
+
if (mod === false || ((0, utils_1.isObject)(mod) && "disable" in mod && mod.disable)) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if ((0, utils_1.isObject)(mod)) {
|
|
31
|
+
const mod_ = mod;
|
|
32
|
+
path = mod_.resolve ?? utils_1.MODULE_PACKAGE_NAMES[moduleName];
|
|
33
|
+
definition = mod_.definition;
|
|
34
|
+
moduleExports = !(0, utils_1.isString)(mod_.resolve)
|
|
35
|
+
? mod_.resolve
|
|
36
|
+
: undefined;
|
|
37
|
+
declaration = { ...mod };
|
|
38
|
+
delete declaration.definition;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
path = utils_1.MODULE_PACKAGE_NAMES[moduleName];
|
|
42
|
+
}
|
|
43
|
+
declaration.scope ??= types_1.MODULE_SCOPE.INTERNAL;
|
|
44
|
+
if (declaration.scope === types_1.MODULE_SCOPE.INTERNAL) {
|
|
45
|
+
declaration.options ??= {};
|
|
46
|
+
if (!declaration.options.database) {
|
|
47
|
+
declaration.options[utils_1.isSharedConnectionSymbol] = true;
|
|
48
|
+
}
|
|
49
|
+
declaration.options.database ??= {
|
|
50
|
+
...sharedResourcesConfig?.database,
|
|
51
|
+
};
|
|
52
|
+
declaration.options.database.debug ??=
|
|
53
|
+
sharedResourcesConfig?.database?.debug;
|
|
54
|
+
}
|
|
55
|
+
modulesToLoad.push({
|
|
56
|
+
moduleKey: moduleName,
|
|
57
|
+
defaultPath: path,
|
|
58
|
+
declaration,
|
|
59
|
+
sharedContainer,
|
|
60
|
+
moduleDefinition: definition,
|
|
61
|
+
moduleExports,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
const loaded = (await eto_module_1.EtoModule.bootstrapAll(modulesToLoad, {
|
|
65
|
+
migrationOnly,
|
|
66
|
+
loaderOnly,
|
|
67
|
+
workerMode,
|
|
68
|
+
}));
|
|
69
|
+
if (loaderOnly) {
|
|
70
|
+
return allModules;
|
|
71
|
+
}
|
|
72
|
+
for (const { moduleKey } of modulesToLoad) {
|
|
73
|
+
const service = loaded.find((loadedModule) => loadedModule[moduleKey])?.[moduleKey];
|
|
74
|
+
if (!service) {
|
|
75
|
+
throw new Error(`Module ${moduleKey} could not be loaded.`);
|
|
76
|
+
}
|
|
77
|
+
sharedContainer.register({
|
|
78
|
+
[service.__definition.key]: (0, awilix_1.asValue)(service),
|
|
79
|
+
});
|
|
80
|
+
if (allModules[moduleKey] && !Array.isArray(allModules[moduleKey])) {
|
|
81
|
+
allModules[moduleKey] = [];
|
|
82
|
+
}
|
|
83
|
+
if (allModules[moduleKey]) {
|
|
84
|
+
;
|
|
85
|
+
allModules[moduleKey].push(service);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
allModules[moduleKey] = service;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return allModules;
|
|
92
|
+
}
|
|
93
|
+
async function initializeLinks({ config, linkModules, injectedDependencies, moduleExports, }) {
|
|
94
|
+
try {
|
|
95
|
+
let resources = moduleExports;
|
|
96
|
+
if (!resources) {
|
|
97
|
+
const module = await (0, utils_1.dynamicImport)(LinkModulePackage);
|
|
98
|
+
if ("discoveryPath" in module) {
|
|
99
|
+
const reExportedLoadedModule = await (0, utils_1.dynamicImport)(module.discoveryPath);
|
|
100
|
+
resources = reExportedLoadedModule.default ?? reExportedLoadedModule;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const { initialize, getMigrationPlanner } = resources;
|
|
104
|
+
const linkResolution = await initialize(config, linkModules, injectedDependencies);
|
|
105
|
+
return {
|
|
106
|
+
remoteLink: new link_1.Link(),
|
|
107
|
+
linkResolution,
|
|
108
|
+
getMigrationPlanner,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
console.warn("Error initializing link modules.", err);
|
|
113
|
+
return {
|
|
114
|
+
remoteLink: undefined,
|
|
115
|
+
linkResolution: undefined,
|
|
116
|
+
getMigrationPlanner: () => void 0,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function isEtoModule(mod) {
|
|
121
|
+
return typeof mod?.initialize === "function";
|
|
122
|
+
}
|
|
123
|
+
function cleanAndMergeSchema(loadedSchema) {
|
|
124
|
+
const defaultEtoSchema = `
|
|
125
|
+
scalar DateTime
|
|
126
|
+
scalar JSON
|
|
127
|
+
`;
|
|
128
|
+
const { schema: cleanedSchema, notFound } = utils_1.GraphQLUtils.cleanGraphQLSchema(defaultEtoSchema + loadedSchema);
|
|
129
|
+
const mergedSchema = utils_1.GraphQLUtils.mergeTypeDefs(cleanedSchema);
|
|
130
|
+
return {
|
|
131
|
+
schema: utils_1.GraphQLUtils.makeExecutableSchema({ typeDefs: mergedSchema }),
|
|
132
|
+
notFound,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
function getLoadedSchema() {
|
|
136
|
+
return eto_module_1.EtoModule.getAllJoinerConfigs()
|
|
137
|
+
.map((joinerConfig) => joinerConfig?.schema ?? "")
|
|
138
|
+
.join("\n");
|
|
139
|
+
}
|
|
140
|
+
function registerCustomJoinerConfigs(servicesConfig) {
|
|
141
|
+
for (const config of servicesConfig) {
|
|
142
|
+
if (!config.serviceName || config.isReadOnlyLink) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
eto_module_1.EtoModule.setJoinerConfig(config.serviceName, config);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async function EtoApp_({ sharedContainer, sharedResourcesConfig, servicesConfig, modulesConfigPath, modulesConfigFileName, modulesConfig, linkModules, remoteFetchData, injectedDependencies = {}, migrationOnly = false, loaderOnly = false, workerMode = "shared", } = {}) {
|
|
149
|
+
const sharedContainer_ = (0, utils_1.createEtoContainer)({}, sharedContainer);
|
|
150
|
+
const onApplicationShutdown = async () => {
|
|
151
|
+
await (0, utils_1.promiseAll)([
|
|
152
|
+
eto_module_1.EtoModule.onApplicationShutdown(),
|
|
153
|
+
sharedContainer_.dispose(),
|
|
154
|
+
]);
|
|
155
|
+
};
|
|
156
|
+
const onApplicationPrepareShutdown = async () => {
|
|
157
|
+
await (0, utils_1.promiseAll)([eto_module_1.EtoModule.onApplicationPrepareShutdown()]);
|
|
158
|
+
};
|
|
159
|
+
const onApplicationStart = async () => {
|
|
160
|
+
await eto_module_1.EtoModule.onApplicationStart();
|
|
161
|
+
};
|
|
162
|
+
const modules = modulesConfig ??
|
|
163
|
+
(await (0, utils_1.dynamicImport)(modulesConfigPath ??
|
|
164
|
+
process.cwd() + (modulesConfigFileName ?? "/modules-config"))).default;
|
|
165
|
+
const dbData = utils_1.ModulesSdkUtils.loadDatabaseConfig("eto", sharedResourcesConfig, true);
|
|
166
|
+
registerCustomJoinerConfigs(servicesConfig ?? []);
|
|
167
|
+
if (sharedResourcesConfig?.database?.connection &&
|
|
168
|
+
!injectedDependencies[utils_1.ContainerRegistrationKeys.PG_CONNECTION]) {
|
|
169
|
+
injectedDependencies[utils_1.ContainerRegistrationKeys.PG_CONNECTION] =
|
|
170
|
+
sharedResourcesConfig.database.connection;
|
|
171
|
+
}
|
|
172
|
+
else if (dbData.clientUrl &&
|
|
173
|
+
!injectedDependencies[utils_1.ContainerRegistrationKeys.PG_CONNECTION]) {
|
|
174
|
+
injectedDependencies[utils_1.ContainerRegistrationKeys.PG_CONNECTION] =
|
|
175
|
+
utils_1.ModulesSdkUtils.createPgConnection({
|
|
176
|
+
...(sharedResourcesConfig?.database ?? {}),
|
|
177
|
+
...dbData,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
// remove the link module from the modules
|
|
181
|
+
const linkModule = modules[LinkModulePackage] ?? modules[utils_1.Modules.LINK];
|
|
182
|
+
delete modules[LinkModulePackage];
|
|
183
|
+
delete modules[utils_1.Modules.LINK];
|
|
184
|
+
let linkModuleOrOptions = {};
|
|
185
|
+
if ((0, utils_1.isObject)(linkModule)) {
|
|
186
|
+
linkModuleOrOptions = linkModule;
|
|
187
|
+
}
|
|
188
|
+
for (const injectedDependency of Object.keys(injectedDependencies)) {
|
|
189
|
+
sharedContainer_.register({
|
|
190
|
+
[injectedDependency]: (0, awilix_1.asValue)(injectedDependencies[injectedDependency]),
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
const allModules = await loadModules({
|
|
194
|
+
modulesConfig: modules,
|
|
195
|
+
sharedContainer: sharedContainer_,
|
|
196
|
+
sharedResourcesConfig: { database: dbData },
|
|
197
|
+
migrationOnly,
|
|
198
|
+
loaderOnly,
|
|
199
|
+
workerMode,
|
|
200
|
+
});
|
|
201
|
+
if (loaderOnly) {
|
|
202
|
+
async function query(...args) {
|
|
203
|
+
throw new Error("Querying not allowed in loaderOnly mode");
|
|
204
|
+
}
|
|
205
|
+
query.graph = query;
|
|
206
|
+
query.gql = query;
|
|
207
|
+
return {
|
|
208
|
+
onApplicationShutdown,
|
|
209
|
+
onApplicationPrepareShutdown,
|
|
210
|
+
onApplicationStart,
|
|
211
|
+
modules: allModules,
|
|
212
|
+
link: undefined,
|
|
213
|
+
query: query,
|
|
214
|
+
runMigrations: async () => {
|
|
215
|
+
throw new Error("Migrations not allowed in loaderOnly mode");
|
|
216
|
+
},
|
|
217
|
+
revertMigrations: async () => {
|
|
218
|
+
throw new Error("Revert migrations not allowed in loaderOnly mode");
|
|
219
|
+
},
|
|
220
|
+
generateMigrations: async () => {
|
|
221
|
+
throw new Error("Generate migrations not allowed in loaderOnly mode");
|
|
222
|
+
},
|
|
223
|
+
linkMigrationExecutionPlanner: () => {
|
|
224
|
+
throw new Error("Migrations planner is not avaibable in loaderOnly mode");
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
// Share Event bus with link modules
|
|
229
|
+
injectedDependencies[utils_1.Modules.EVENT_BUS] = sharedContainer_.resolve(utils_1.Modules.EVENT_BUS, {
|
|
230
|
+
allowUnregistered: true,
|
|
231
|
+
});
|
|
232
|
+
linkModules ??= [];
|
|
233
|
+
if (!Array.isArray(linkModules)) {
|
|
234
|
+
linkModules = [linkModules];
|
|
235
|
+
}
|
|
236
|
+
linkModules.push(...eto_module_1.EtoModule.getCustomLinks());
|
|
237
|
+
const allLoadedJoinerConfigs = eto_module_1.EtoModule.getAllJoinerConfigs();
|
|
238
|
+
for (let linkIdx = 0; linkIdx < linkModules.length; linkIdx++) {
|
|
239
|
+
const customLink = linkModules[linkIdx];
|
|
240
|
+
if (typeof customLink === "function") {
|
|
241
|
+
linkModules[linkIdx] = customLink(allLoadedJoinerConfigs);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const { remoteLink, getMigrationPlanner } = await initializeLinks({
|
|
245
|
+
config: linkModuleOrOptions,
|
|
246
|
+
linkModules,
|
|
247
|
+
injectedDependencies,
|
|
248
|
+
moduleExports: isEtoModule(linkModule) ? linkModule : undefined,
|
|
249
|
+
});
|
|
250
|
+
const loadedSchema = getLoadedSchema();
|
|
251
|
+
const { schema, notFound } = cleanAndMergeSchema(loadedSchema);
|
|
252
|
+
const entitiesMap = schema.getTypeMap();
|
|
253
|
+
const remoteQuery = new remote_query_1.RemoteQuery({
|
|
254
|
+
servicesConfig,
|
|
255
|
+
customRemoteFetchData: remoteFetchData,
|
|
256
|
+
entitiesMap,
|
|
257
|
+
});
|
|
258
|
+
const applyMigration = async ({ modulesNames, action = "run", }) => {
|
|
259
|
+
const moduleResolutions = modulesNames.map((moduleName) => {
|
|
260
|
+
return {
|
|
261
|
+
moduleName,
|
|
262
|
+
resolution: eto_module_1.EtoModule.getModuleResolutions(moduleName),
|
|
263
|
+
};
|
|
264
|
+
});
|
|
265
|
+
const missingModules = moduleResolutions
|
|
266
|
+
.filter(({ resolution }) => !resolution)
|
|
267
|
+
.map(({ moduleName }) => moduleName);
|
|
268
|
+
if (missingModules.length) {
|
|
269
|
+
const error = new utils_1.EtoError(utils_1.EtoError.Types.UNKNOWN_MODULES, `Cannot ${action} migrations for unknown module(s) ${missingModules.join(",")}`, utils_1.EtoError.Codes.UNKNOWN_MODULES);
|
|
270
|
+
error["allModules"] = Object.keys(allModules);
|
|
271
|
+
throw error;
|
|
272
|
+
}
|
|
273
|
+
for (const { resolution: moduleResolution } of moduleResolutions) {
|
|
274
|
+
if (!moduleResolution.options?.database &&
|
|
275
|
+
moduleResolution.moduleDeclaration?.scope === types_1.MODULE_SCOPE.INTERNAL) {
|
|
276
|
+
moduleResolution.options ??= {};
|
|
277
|
+
moduleResolution.options.database = {
|
|
278
|
+
...(sharedResourcesConfig?.database ?? {}),
|
|
279
|
+
};
|
|
280
|
+
moduleResolution.options.database.debug ??=
|
|
281
|
+
sharedResourcesConfig?.database?.debug;
|
|
282
|
+
}
|
|
283
|
+
const migrationOptions = {
|
|
284
|
+
moduleKey: moduleResolution.definition.key,
|
|
285
|
+
modulePath: moduleResolution.resolutionPath,
|
|
286
|
+
container: sharedContainer,
|
|
287
|
+
options: moduleResolution.options,
|
|
288
|
+
moduleExports: moduleResolution.moduleExports,
|
|
289
|
+
};
|
|
290
|
+
if (action === "revert") {
|
|
291
|
+
await eto_module_1.EtoModule.migrateDown(migrationOptions);
|
|
292
|
+
}
|
|
293
|
+
else if (action === "run") {
|
|
294
|
+
await eto_module_1.EtoModule.migrateUp(migrationOptions);
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
await eto_module_1.EtoModule.migrateGenerate(migrationOptions);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
const runMigrations = async () => {
|
|
302
|
+
await applyMigration({
|
|
303
|
+
modulesNames: Object.keys(allModules),
|
|
304
|
+
});
|
|
305
|
+
};
|
|
306
|
+
const revertMigrations = async (modulesNames) => {
|
|
307
|
+
await applyMigration({
|
|
308
|
+
modulesNames,
|
|
309
|
+
action: "revert",
|
|
310
|
+
});
|
|
311
|
+
};
|
|
312
|
+
const generateMigrations = async (modulesNames) => {
|
|
313
|
+
await applyMigration({
|
|
314
|
+
modulesNames,
|
|
315
|
+
action: "generate",
|
|
316
|
+
});
|
|
317
|
+
};
|
|
318
|
+
const getMigrationPlannerFn = () => {
|
|
319
|
+
const options = "scope" in linkModuleOrOptions
|
|
320
|
+
? { ...linkModuleOrOptions.options }
|
|
321
|
+
: {
|
|
322
|
+
...linkModuleOrOptions,
|
|
323
|
+
};
|
|
324
|
+
options.database ??= {
|
|
325
|
+
...sharedResourcesConfig?.database,
|
|
326
|
+
};
|
|
327
|
+
options.database.debug ??= sharedResourcesConfig?.database?.debug;
|
|
328
|
+
return getMigrationPlanner(options, linkModules);
|
|
329
|
+
};
|
|
330
|
+
return {
|
|
331
|
+
onApplicationShutdown,
|
|
332
|
+
onApplicationPrepareShutdown,
|
|
333
|
+
onApplicationStart,
|
|
334
|
+
modules: allModules,
|
|
335
|
+
link: remoteLink,
|
|
336
|
+
query: (0, remote_query_1.createQuery)(remoteQuery), // TODO: rm any once we remove the old RemoteQueryFunction and rely on the Query object instead,
|
|
337
|
+
entitiesMap,
|
|
338
|
+
gqlSchema: schema,
|
|
339
|
+
notFound,
|
|
340
|
+
runMigrations,
|
|
341
|
+
revertMigrations,
|
|
342
|
+
generateMigrations,
|
|
343
|
+
linkMigrationExecutionPlanner: getMigrationPlannerFn,
|
|
344
|
+
sharedContainer: sharedContainer_,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
async function EtoApp(options = {}) {
|
|
348
|
+
return await EtoApp_(options);
|
|
349
|
+
}
|
|
350
|
+
async function EtoAppMigrateUp(options = {}) {
|
|
351
|
+
const migrationOnly = true;
|
|
352
|
+
const { runMigrations } = await EtoApp_({
|
|
353
|
+
...options,
|
|
354
|
+
migrationOnly,
|
|
355
|
+
});
|
|
356
|
+
await runMigrations().finally(eto_module_1.EtoModule.clearInstances);
|
|
357
|
+
}
|
|
358
|
+
async function EtoAppMigrateDown(moduleNames, options = {}) {
|
|
359
|
+
const migrationOnly = true;
|
|
360
|
+
const { revertMigrations } = await EtoApp_({
|
|
361
|
+
...options,
|
|
362
|
+
migrationOnly,
|
|
363
|
+
});
|
|
364
|
+
await revertMigrations(moduleNames).finally(eto_module_1.EtoModule.clearInstances);
|
|
365
|
+
}
|
|
366
|
+
async function EtoAppMigrateGenerate(moduleNames, options = {}) {
|
|
367
|
+
const migrationOnly = true;
|
|
368
|
+
const { generateMigrations } = await EtoApp_({
|
|
369
|
+
...options,
|
|
370
|
+
migrationOnly,
|
|
371
|
+
});
|
|
372
|
+
await generateMigrations(moduleNames).finally(eto_module_1.EtoModule.clearInstances);
|
|
373
|
+
}
|
|
374
|
+
async function EtoAppGetLinksExecutionPlanner(options = {}) {
|
|
375
|
+
const migrationOnly = true;
|
|
376
|
+
const { linkMigrationExecutionPlanner } = await EtoApp_({
|
|
377
|
+
...options,
|
|
378
|
+
migrationOnly,
|
|
379
|
+
});
|
|
380
|
+
return linkMigrationExecutionPlanner();
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=eto-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eto-app.js","sourceRoot":"","sources":["../src/eto-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { InternalModuleDeclaration, LinkModuleDefinition, LoadedModule, EtoContainer, ModuleBootstrapDeclaration, ModuleDefinition, ModuleExports, ModuleJoinerConfig, ModuleResolution } from "@etohq/types";
|
|
2
|
+
declare global {
|
|
3
|
+
interface EtoModule {
|
|
4
|
+
getLoadedModules(aliases?: Map<string, string>): {
|
|
5
|
+
[key: string]: LoadedModule;
|
|
6
|
+
}[];
|
|
7
|
+
getModuleInstance(moduleKey: string, alias?: string): LoadedModule;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export type MigrationOptions = {
|
|
11
|
+
moduleKey: string;
|
|
12
|
+
modulePath: string;
|
|
13
|
+
container?: EtoContainer;
|
|
14
|
+
options?: Record<string, any>;
|
|
15
|
+
moduleExports?: ModuleExports;
|
|
16
|
+
};
|
|
17
|
+
export type ModuleBootstrapOptions = {
|
|
18
|
+
moduleKey: string;
|
|
19
|
+
defaultPath: string;
|
|
20
|
+
declaration?: ModuleBootstrapDeclaration;
|
|
21
|
+
moduleExports?: ModuleExports;
|
|
22
|
+
sharedContainer?: EtoContainer;
|
|
23
|
+
moduleDefinition?: ModuleDefinition;
|
|
24
|
+
injectedDependencies?: Record<string, any>;
|
|
25
|
+
/**
|
|
26
|
+
* In this mode, all instances are partially loaded, meaning that the module will not be fully loaded and the services will not be available.
|
|
27
|
+
* Don't forget to clear the instances (EtoModule.clearInstances()) after the migration are done.
|
|
28
|
+
*/
|
|
29
|
+
migrationOnly?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Forces the modules bootstrapper to only run the modules loaders and return prematurely. This
|
|
32
|
+
* is meant for modules that have data loader. In a test env, in order to clear all data
|
|
33
|
+
* and load them back, we need to run those loader again
|
|
34
|
+
*/
|
|
35
|
+
loaderOnly?: boolean;
|
|
36
|
+
workerMode?: "shared" | "worker" | "server";
|
|
37
|
+
};
|
|
38
|
+
export type LinkModuleBootstrapOptions = {
|
|
39
|
+
definition: LinkModuleDefinition;
|
|
40
|
+
declaration?: InternalModuleDeclaration;
|
|
41
|
+
moduleExports?: ModuleExports;
|
|
42
|
+
injectedDependencies?: Record<string, any>;
|
|
43
|
+
};
|
|
44
|
+
export type RegisterModuleJoinerConfig = ModuleJoinerConfig | ((modules: ModuleJoinerConfig[]) => ModuleJoinerConfig);
|
|
45
|
+
declare class EtoModule {
|
|
46
|
+
private static instances_;
|
|
47
|
+
private static modules_;
|
|
48
|
+
private static customLinks_;
|
|
49
|
+
private static loading_;
|
|
50
|
+
private static joinerConfig_;
|
|
51
|
+
private static moduleResolutions_;
|
|
52
|
+
static getLoadedModules(aliases?: Map<string, string>): {
|
|
53
|
+
[key: string]: LoadedModule;
|
|
54
|
+
}[];
|
|
55
|
+
static onApplicationStart(onApplicationStartCb?: () => void): void;
|
|
56
|
+
static onApplicationShutdown(): Promise<void>;
|
|
57
|
+
static onApplicationPrepareShutdown(): Promise<void>;
|
|
58
|
+
static clearInstances(): void;
|
|
59
|
+
static isInstalled(moduleKey: string, alias?: string): boolean;
|
|
60
|
+
static getJoinerConfig(moduleKey: string): ModuleJoinerConfig;
|
|
61
|
+
static getAllJoinerConfigs(): ModuleJoinerConfig[];
|
|
62
|
+
static getModuleResolutions(moduleKey: string): ModuleResolution;
|
|
63
|
+
static getAllModuleResolutions(): ModuleResolution[];
|
|
64
|
+
static setModuleResolution(moduleKey: string, resolution: ModuleResolution): ModuleResolution;
|
|
65
|
+
static setJoinerConfig(moduleKey: string, config: ModuleJoinerConfig): ModuleJoinerConfig;
|
|
66
|
+
static setCustomLink(config: RegisterModuleJoinerConfig): void;
|
|
67
|
+
static getCustomLinks(): RegisterModuleJoinerConfig[];
|
|
68
|
+
static getModuleInstance(moduleKey: string, alias?: string): any | undefined;
|
|
69
|
+
private static registerModule;
|
|
70
|
+
/**
|
|
71
|
+
* Load all modules and resolve them once they are loaded
|
|
72
|
+
* @param modulesOptions
|
|
73
|
+
* @param migrationOnly
|
|
74
|
+
* @param loaderOnly
|
|
75
|
+
* @param workerMode
|
|
76
|
+
*/
|
|
77
|
+
static bootstrapAll(modulesOptions: Omit<ModuleBootstrapOptions, "migrationOnly" | "loaderOnly" | "workerMode">[], { migrationOnly, loaderOnly, workerMode, }: {
|
|
78
|
+
migrationOnly?: boolean;
|
|
79
|
+
loaderOnly?: boolean;
|
|
80
|
+
workerMode?: ModuleBootstrapOptions["workerMode"];
|
|
81
|
+
}): Promise<{
|
|
82
|
+
[key: string]: any;
|
|
83
|
+
}[]>;
|
|
84
|
+
/**
|
|
85
|
+
* Load a single module and resolve it once it is loaded
|
|
86
|
+
* @param moduleKey
|
|
87
|
+
* @param defaultPath
|
|
88
|
+
* @param declaration
|
|
89
|
+
* @param moduleExports
|
|
90
|
+
* @param sharedContainer
|
|
91
|
+
* @param moduleDefinition
|
|
92
|
+
* @param injectedDependencies
|
|
93
|
+
* @param migrationOnly
|
|
94
|
+
* @param loaderOnly
|
|
95
|
+
* @param workerMode
|
|
96
|
+
*/
|
|
97
|
+
static bootstrap<T>({ moduleKey, defaultPath, declaration, moduleExports, sharedContainer, moduleDefinition, injectedDependencies, migrationOnly, loaderOnly, workerMode, }: ModuleBootstrapOptions): Promise<{
|
|
98
|
+
[key: string]: T;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Load all modules and then resolve them once they are loaded
|
|
102
|
+
*
|
|
103
|
+
* @param modulesOptions
|
|
104
|
+
* @param migrationOnly
|
|
105
|
+
* @param loaderOnly
|
|
106
|
+
* @param workerMode
|
|
107
|
+
* @protected
|
|
108
|
+
*/
|
|
109
|
+
protected static bootstrap_<T>(modulesOptions: Omit<ModuleBootstrapOptions, "migrationOnly" | "loaderOnly" | "workerMode">[], { migrationOnly, loaderOnly, workerMode, }: {
|
|
110
|
+
migrationOnly?: boolean;
|
|
111
|
+
loaderOnly?: boolean;
|
|
112
|
+
workerMode?: "shared" | "worker" | "server";
|
|
113
|
+
}): Promise<{
|
|
114
|
+
[key: string]: T;
|
|
115
|
+
}[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Resolve all the modules once they all have been loaded through the bootstrap
|
|
118
|
+
* and store their references in the instances_ map and return them
|
|
119
|
+
*
|
|
120
|
+
* @param hashKey
|
|
121
|
+
* @param modDeclaration
|
|
122
|
+
* @param moduleResolutions
|
|
123
|
+
* @param container
|
|
124
|
+
* @private
|
|
125
|
+
*/
|
|
126
|
+
private static resolveLoadedModule;
|
|
127
|
+
static bootstrapLink({ definition, declaration, moduleExports, injectedDependencies, }: LinkModuleBootstrapOptions): Promise<{
|
|
128
|
+
[key: string]: unknown;
|
|
129
|
+
}>;
|
|
130
|
+
static migrateGenerate({ options, container, moduleExports, moduleKey, modulePath, }: MigrationOptions): Promise<void>;
|
|
131
|
+
static migrateUp({ options, container, moduleExports, moduleKey, modulePath, }: MigrationOptions): Promise<void>;
|
|
132
|
+
static migrateDown({ options, container, moduleExports, moduleKey, modulePath, }: MigrationOptions): Promise<void>;
|
|
133
|
+
}
|
|
134
|
+
declare const GlobalEtoModule: typeof EtoModule;
|
|
135
|
+
export { GlobalEtoModule as EtoModule };
|
|
136
|
+
//# sourceMappingURL=eto-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eto-module.d.ts","sourceRoot":"","sources":["../src/eto-module.ts"],"names":[],"mappings":"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"}
|