nmtjs 0.16.1 → 0.17.0-beta.1
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/LICENSE.md +1 -1
- package/README.md +41 -1
- package/dist/index.d.ts +22 -161
- package/dist/index.js +24 -53
- package/dist/index.js.map +1 -1
- package/package.json +11 -63
- package/src/index.ts +71 -91
- package/bin/cli.js +0 -2
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +0 -137
- package/dist/cli.js.map +0 -1
- package/dist/codegen.d.ts +0 -5
- package/dist/codegen.js +0 -18
- package/dist/codegen.js.map +0 -1
- package/dist/config.d.ts +0 -47
- package/dist/config.js +0 -16
- package/dist/config.js.map +0 -1
- package/dist/entrypoints/cli.d.ts +0 -1
- package/dist/entrypoints/cli.js +0 -12
- package/dist/entrypoints/cli.js.map +0 -1
- package/dist/entrypoints/main.d.ts +0 -5
- package/dist/entrypoints/main.js +0 -248
- package/dist/entrypoints/main.js.map +0 -1
- package/dist/entrypoints/thread.d.ts +0 -16
- package/dist/entrypoints/thread.js +0 -182
- package/dist/entrypoints/thread.js.map +0 -1
- package/dist/entrypoints/worker.d.ts +0 -9
- package/dist/entrypoints/worker.js +0 -143
- package/dist/entrypoints/worker.js.map +0 -1
- package/dist/resolver.d.ts +0 -2
- package/dist/resolver.js +0 -7
- package/dist/resolver.js.map +0 -1
- package/dist/runtime/application/index.d.ts +0 -1
- package/dist/runtime/application/index.js +0 -2
- package/dist/runtime/application/index.js.map +0 -1
- package/dist/runtime/constants.d.ts +0 -8
- package/dist/runtime/constants.js +0 -5
- package/dist/runtime/constants.js.map +0 -1
- package/dist/runtime/enums.d.ts +0 -10
- package/dist/runtime/enums.js +0 -13
- package/dist/runtime/enums.js.map +0 -1
- package/dist/runtime/hooks.d.ts +0 -1
- package/dist/runtime/hooks.js +0 -2
- package/dist/runtime/hooks.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -28
- package/dist/runtime/index.js +0 -29
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/injectables.d.ts +0 -69
- package/dist/runtime/injectables.js +0 -40
- package/dist/runtime/injectables.js.map +0 -1
- package/dist/runtime/jobs/job.d.ts +0 -146
- package/dist/runtime/jobs/job.js +0 -89
- package/dist/runtime/jobs/job.js.map +0 -1
- package/dist/runtime/jobs/manager.d.ts +0 -131
- package/dist/runtime/jobs/manager.js +0 -309
- package/dist/runtime/jobs/manager.js.map +0 -1
- package/dist/runtime/jobs/router.d.ts +0 -296
- package/dist/runtime/jobs/router.js +0 -458
- package/dist/runtime/jobs/router.js.map +0 -1
- package/dist/runtime/jobs/runner.d.ts +0 -103
- package/dist/runtime/jobs/runner.js +0 -425
- package/dist/runtime/jobs/runner.js.map +0 -1
- package/dist/runtime/jobs/step.d.ts +0 -26
- package/dist/runtime/jobs/step.js +0 -18
- package/dist/runtime/jobs/step.js.map +0 -1
- package/dist/runtime/jobs/types.d.ts +0 -86
- package/dist/runtime/jobs/types.js +0 -5
- package/dist/runtime/jobs/types.js.map +0 -1
- package/dist/runtime/metrics/metric.d.ts +0 -8
- package/dist/runtime/metrics/metric.js +0 -11
- package/dist/runtime/metrics/metric.js.map +0 -1
- package/dist/runtime/metrics/registry.d.ts +0 -3
- package/dist/runtime/metrics/registry.js +0 -5
- package/dist/runtime/metrics/registry.js.map +0 -1
- package/dist/runtime/metrics/server.d.ts +0 -7
- package/dist/runtime/metrics/server.js +0 -53
- package/dist/runtime/metrics/server.js.map +0 -1
- package/dist/runtime/plugin.d.ts +0 -2
- package/dist/runtime/plugin.js +0 -2
- package/dist/runtime/plugin.js.map +0 -1
- package/dist/runtime/runtime.d.ts +0 -27
- package/dist/runtime/runtime.js +0 -77
- package/dist/runtime/runtime.js.map +0 -1
- package/dist/runtime/scheduler/index.d.ts +0 -22
- package/dist/runtime/scheduler/index.js +0 -20
- package/dist/runtime/scheduler/index.js.map +0 -1
- package/dist/runtime/server/applications.d.ts +0 -91
- package/dist/runtime/server/applications.js +0 -171
- package/dist/runtime/server/applications.js.map +0 -1
- package/dist/runtime/server/config.d.ts +0 -148
- package/dist/runtime/server/config.js +0 -33
- package/dist/runtime/server/config.js.map +0 -1
- package/dist/runtime/server/environment.d.ts +0 -43
- package/dist/runtime/server/environment.js +0 -33
- package/dist/runtime/server/environment.js.map +0 -1
- package/dist/runtime/server/error-policy.d.ts +0 -62
- package/dist/runtime/server/error-policy.js +0 -73
- package/dist/runtime/server/error-policy.js.map +0 -1
- package/dist/runtime/server/hmr-coordinator.d.ts +0 -37
- package/dist/runtime/server/hmr-coordinator.js +0 -94
- package/dist/runtime/server/hmr-coordinator.js.map +0 -1
- package/dist/runtime/server/jobs.d.ts +0 -54
- package/dist/runtime/server/jobs.js +0 -176
- package/dist/runtime/server/jobs.js.map +0 -1
- package/dist/runtime/server/lifecycle.d.ts +0 -85
- package/dist/runtime/server/lifecycle.js +0 -177
- package/dist/runtime/server/lifecycle.js.map +0 -1
- package/dist/runtime/server/managed-worker.d.ts +0 -158
- package/dist/runtime/server/managed-worker.js +0 -420
- package/dist/runtime/server/managed-worker.js.map +0 -1
- package/dist/runtime/server/pool-manager.d.ts +0 -85
- package/dist/runtime/server/pool-manager.js +0 -129
- package/dist/runtime/server/pool-manager.js.map +0 -1
- package/dist/runtime/server/proxy.d.ts +0 -21
- package/dist/runtime/server/proxy.js +0 -76
- package/dist/runtime/server/proxy.js.map +0 -1
- package/dist/runtime/server/server.d.ts +0 -60
- package/dist/runtime/server/server.js +0 -163
- package/dist/runtime/server/server.js.map +0 -1
- package/dist/runtime/server/types.d.ts +0 -31
- package/dist/runtime/server/types.js +0 -2
- package/dist/runtime/server/types.js.map +0 -1
- package/dist/runtime/server/worker-pool.d.ts +0 -121
- package/dist/runtime/server/worker-pool.js +0 -171
- package/dist/runtime/server/worker-pool.js.map +0 -1
- package/dist/runtime/store/index.d.ts +0 -3
- package/dist/runtime/store/index.js +0 -23
- package/dist/runtime/store/index.js.map +0 -1
- package/dist/runtime/subscription/manager.d.ts +0 -49
- package/dist/runtime/subscription/manager.js +0 -170
- package/dist/runtime/subscription/manager.js.map +0 -1
- package/dist/runtime/subscription/redis.d.ts +0 -18
- package/dist/runtime/subscription/redis.js +0 -119
- package/dist/runtime/subscription/redis.js.map +0 -1
- package/dist/runtime/types.d.ts +0 -95
- package/dist/runtime/types.js +0 -2
- package/dist/runtime/types.js.map +0 -1
- package/dist/runtime/workers/application.d.ts +0 -29
- package/dist/runtime/workers/application.js +0 -77
- package/dist/runtime/workers/application.js.map +0 -1
- package/dist/runtime/workers/base.d.ts +0 -14
- package/dist/runtime/workers/base.js +0 -41
- package/dist/runtime/workers/base.js.map +0 -1
- package/dist/runtime/workers/cli.d.ts +0 -1
- package/dist/runtime/workers/cli.js +0 -2
- package/dist/runtime/workers/cli.js.map +0 -1
- package/dist/runtime/workers/job.d.ts +0 -20
- package/dist/runtime/workers/job.js +0 -170
- package/dist/runtime/workers/job.js.map +0 -1
- package/dist/vite/builder.d.ts +0 -5
- package/dist/vite/builder.js +0 -79
- package/dist/vite/builder.js.map +0 -1
- package/dist/vite/config.d.ts +0 -28
- package/dist/vite/config.js +0 -22
- package/dist/vite/config.js.map +0 -1
- package/dist/vite/plugins.d.ts +0 -2
- package/dist/vite/plugins.js +0 -43
- package/dist/vite/plugins.js.map +0 -1
- package/dist/vite/runners/worker.d.ts +0 -3
- package/dist/vite/runners/worker.js +0 -34
- package/dist/vite/runners/worker.js.map +0 -1
- package/dist/vite/server.d.ts +0 -3
- package/dist/vite/server.js +0 -36
- package/dist/vite/server.js.map +0 -1
- package/dist/vite/servers/main.d.ts +0 -8
- package/dist/vite/servers/main.js +0 -24
- package/dist/vite/servers/main.js.map +0 -1
- package/dist/vite/servers/worker.d.ts +0 -13
- package/dist/vite/servers/worker.js +0 -124
- package/dist/vite/servers/worker.js.map +0 -1
- package/src/cli.ts +0 -162
- package/src/codegen.ts +0 -30
- package/src/config.ts +0 -69
- package/src/entrypoints/cli.ts +0 -13
- package/src/entrypoints/main.ts +0 -317
- package/src/entrypoints/thread.ts +0 -223
- package/src/entrypoints/worker.ts +0 -174
- package/src/resolver.ts +0 -7
- package/src/runtime/application/index.ts +0 -1
- package/src/runtime/constants.ts +0 -13
- package/src/runtime/enums.ts +0 -12
- package/src/runtime/hooks.ts +0 -1
- package/src/runtime/index.ts +0 -29
- package/src/runtime/injectables.ts +0 -101
- package/src/runtime/jobs/job.ts +0 -467
- package/src/runtime/jobs/manager.ts +0 -454
- package/src/runtime/jobs/router.ts +0 -967
- package/src/runtime/jobs/runner.ts +0 -583
- package/src/runtime/jobs/step.ts +0 -66
- package/src/runtime/jobs/types.ts +0 -116
- package/src/runtime/metrics/metric.ts +0 -18
- package/src/runtime/metrics/registry.ts +0 -11
- package/src/runtime/metrics/server.ts +0 -69
- package/src/runtime/plugin.ts +0 -2
- package/src/runtime/runtime.ts +0 -103
- package/src/runtime/scheduler/index.ts +0 -39
- package/src/runtime/server/applications.ts +0 -264
- package/src/runtime/server/config.ts +0 -199
- package/src/runtime/server/environment.ts +0 -71
- package/src/runtime/server/error-policy.ts +0 -132
- package/src/runtime/server/hmr-coordinator.ts +0 -116
- package/src/runtime/server/jobs.ts +0 -266
- package/src/runtime/server/lifecycle.ts +0 -234
- package/src/runtime/server/managed-worker.ts +0 -546
- package/src/runtime/server/pool-manager.ts +0 -187
- package/src/runtime/server/proxy.ts +0 -119
- package/src/runtime/server/server.ts +0 -218
- package/src/runtime/server/types.ts +0 -32
- package/src/runtime/server/worker-pool.ts +0 -275
- package/src/runtime/store/index.ts +0 -30
- package/src/runtime/subscription/manager.ts +0 -307
- package/src/runtime/subscription/redis.ts +0 -159
- package/src/runtime/types.ts +0 -84
- package/src/runtime/workers/application.ts +0 -133
- package/src/runtime/workers/base.ts +0 -65
- package/src/runtime/workers/cli.ts +0 -0
- package/src/runtime/workers/job.ts +0 -142
- package/src/vite/builder.ts +0 -94
- package/src/vite/config.ts +0 -45
- package/src/vite/plugins.ts +0 -53
- package/src/vite/runners/worker.ts +0 -55
- package/src/vite/server.ts +0 -55
- package/src/vite/servers/main.ts +0 -41
- package/src/vite/servers/worker.ts +0 -177
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
|
-
import { fileURLToPath } from 'node:url';
|
|
10
|
-
import { workerData as _workerData } from 'node:worker_threads';
|
|
11
|
-
import { createLogger } from '@nmtjs/core';
|
|
12
|
-
const workerData = _workerData;
|
|
13
|
-
const logger = createLogger({
|
|
14
|
-
pinoOptions: {
|
|
15
|
-
level: workerData.vite === 'development' ? 'debug' : 'info',
|
|
16
|
-
},
|
|
17
|
-
}, 'Thread');
|
|
18
|
-
const ext = new URL(import.meta.url).pathname.endsWith('.ts') ? '.ts' : '.js';
|
|
19
|
-
const workerPath = fileURLToPath(new URL(`./worker${ext}`, import.meta.url));
|
|
20
|
-
const kReportedError = Symbol.for('nmtjs.worker.reported-error');
|
|
21
|
-
let runner;
|
|
22
|
-
let workerModule;
|
|
23
|
-
let runtime;
|
|
24
|
-
let runtimeStarted = false;
|
|
25
|
-
let cleanupPromise = null;
|
|
26
|
-
process.on('uncaughtException', (error) => {
|
|
27
|
-
reportError(error, 'runtime', { fatal: true });
|
|
28
|
-
});
|
|
29
|
-
process.on('unhandledRejection', (error) => {
|
|
30
|
-
reportError(error, 'runtime', { fatal: true });
|
|
31
|
-
});
|
|
32
|
-
process.once('SIGTERM', () => {
|
|
33
|
-
void terminate(0);
|
|
34
|
-
});
|
|
35
|
-
process.once('SIGINT', () => {
|
|
36
|
-
void terminate(0);
|
|
37
|
-
});
|
|
38
|
-
process.once('beforeExit', () => {
|
|
39
|
-
if (!cleanupPromise && (runtimeStarted || runner)) {
|
|
40
|
-
void cleanup();
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
async function cleanup() {
|
|
44
|
-
if (cleanupPromise)
|
|
45
|
-
return cleanupPromise;
|
|
46
|
-
cleanupPromise = (async () => {
|
|
47
|
-
await stopRuntime();
|
|
48
|
-
await closeRunner();
|
|
49
|
-
})().finally(() => {
|
|
50
|
-
cleanupPromise = null;
|
|
51
|
-
});
|
|
52
|
-
return cleanupPromise;
|
|
53
|
-
}
|
|
54
|
-
async function terminate(code) {
|
|
55
|
-
await cleanup();
|
|
56
|
-
process.exit(code);
|
|
57
|
-
}
|
|
58
|
-
async function closeRunner() {
|
|
59
|
-
if (!runner)
|
|
60
|
-
return;
|
|
61
|
-
try {
|
|
62
|
-
await runner.close();
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
reportError(error, 'runtime', { fatal: false });
|
|
66
|
-
}
|
|
67
|
-
finally {
|
|
68
|
-
runner = undefined;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
async function stopRuntime() {
|
|
72
|
-
if (!runtime)
|
|
73
|
-
return;
|
|
74
|
-
try {
|
|
75
|
-
if (runtimeStarted) {
|
|
76
|
-
await runtime.stop();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
reportError(error, 'runtime', { fatal: false });
|
|
81
|
-
}
|
|
82
|
-
finally {
|
|
83
|
-
runtimeStarted = false;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
function normalizeError(value) {
|
|
87
|
-
if (value instanceof Error)
|
|
88
|
-
return value;
|
|
89
|
-
if (typeof value === 'string')
|
|
90
|
-
return new Error(value);
|
|
91
|
-
if (value && typeof value === 'object') {
|
|
92
|
-
try {
|
|
93
|
-
return new Error(JSON.stringify(value));
|
|
94
|
-
}
|
|
95
|
-
catch { }
|
|
96
|
-
}
|
|
97
|
-
return new Error(String(value));
|
|
98
|
-
}
|
|
99
|
-
function serializeError(error, origin, fatal) {
|
|
100
|
-
return {
|
|
101
|
-
message: error.message,
|
|
102
|
-
name: error.name,
|
|
103
|
-
stack: error.stack,
|
|
104
|
-
origin,
|
|
105
|
-
fatal,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
function reportError(value, origin, options = {}) {
|
|
109
|
-
const fatal = options.fatal ?? origin !== 'runtime';
|
|
110
|
-
const error = normalizeError(value);
|
|
111
|
-
if (!error[kReportedError]) {
|
|
112
|
-
try {
|
|
113
|
-
workerData.port.postMessage({
|
|
114
|
-
type: 'error',
|
|
115
|
-
data: serializeError(error, origin, fatal),
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
catch { }
|
|
119
|
-
logger.error(new Error(`Worker thread ${origin} error`, { cause: error }));
|
|
120
|
-
error[kReportedError] = true;
|
|
121
|
-
}
|
|
122
|
-
return error;
|
|
123
|
-
}
|
|
124
|
-
async function loadWorkerModule() {
|
|
125
|
-
try {
|
|
126
|
-
if (workerData.vite) {
|
|
127
|
-
const { createModuleRunner } = (await import('../vite/runners/worker.js'));
|
|
128
|
-
runner = createModuleRunner(workerData.vitePort, workerData.vite, workerData.viteModuleRunnerTimeoutMs);
|
|
129
|
-
workerModule = await runner.import(workerPath);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
runner = undefined;
|
|
133
|
-
workerModule = await import(__rewriteRelativeImportExtension(
|
|
134
|
-
/* @vite-ignore */
|
|
135
|
-
workerPath));
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
throw reportError(error, 'bootstrap');
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
async function initializeRuntime() {
|
|
143
|
-
try {
|
|
144
|
-
runtime = await workerModule.run(workerData.runtime);
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
throw reportError(error, 'bootstrap');
|
|
148
|
-
}
|
|
149
|
-
workerData.port.on('message', async (msg) => {
|
|
150
|
-
if (msg.type === 'stop') {
|
|
151
|
-
await terminate(0);
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
async function startRuntime() {
|
|
156
|
-
if (!runtime)
|
|
157
|
-
return;
|
|
158
|
-
try {
|
|
159
|
-
const hosts = (await runtime.start()) || undefined;
|
|
160
|
-
runtimeStarted = true;
|
|
161
|
-
workerData.port.postMessage({
|
|
162
|
-
type: 'ready',
|
|
163
|
-
data: { hosts },
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
catch (error) {
|
|
167
|
-
throw reportError(error, 'start');
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
async function main() {
|
|
171
|
-
await loadWorkerModule();
|
|
172
|
-
await initializeRuntime();
|
|
173
|
-
await startRuntime();
|
|
174
|
-
}
|
|
175
|
-
main().catch(async (error) => {
|
|
176
|
-
const normalized = error instanceof Error ? error : normalizeError(error);
|
|
177
|
-
if (!normalized[kReportedError]) {
|
|
178
|
-
reportError(normalized, 'bootstrap');
|
|
179
|
-
}
|
|
180
|
-
await terminate(1);
|
|
181
|
-
});
|
|
182
|
-
//# sourceMappingURL=thread.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/entrypoints/thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { RunWorkerOptions } from './thread.ts';
|
|
2
|
-
import { ApplicationWorkerRuntime, JobWorkerRuntime } from '../runtime/index.ts';
|
|
3
|
-
/**
|
|
4
|
-
* Worker entry point.
|
|
5
|
-
*
|
|
6
|
-
* Handles initialization of application or job worker runtimes.
|
|
7
|
-
* Includes HMR supersede logic for application workers.
|
|
8
|
-
*/
|
|
9
|
-
export declare function run(options: RunWorkerOptions['runtime']): Promise<ApplicationWorkerRuntime | JobWorkerRuntime>;
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
|
-
import { workerData } from 'node:worker_threads';
|
|
10
|
-
import { ApplicationWorkerRuntime, isApplicationHostDefinition, JobWorkerRuntime, } from '../runtime/index.js';
|
|
11
|
-
/**
|
|
12
|
-
* Worker entry point.
|
|
13
|
-
*
|
|
14
|
-
* Handles initialization of application or job worker runtimes.
|
|
15
|
-
* Includes HMR supersede logic for application workers.
|
|
16
|
-
*/
|
|
17
|
-
export async function run(options) {
|
|
18
|
-
const serverConfig = await import(
|
|
19
|
-
// @ts-expect-error
|
|
20
|
-
'#server').then((m) => m.default);
|
|
21
|
-
if (options.type === 'application') {
|
|
22
|
-
return initializeApplicationWorker(options, serverConfig);
|
|
23
|
-
}
|
|
24
|
-
else if (options.type === 'jobs') {
|
|
25
|
-
return initializeJobWorker(options, serverConfig);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
throw new Error(`Unknown runtime type: ${options.type}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Initialize an application worker with HMR support.
|
|
33
|
-
*/
|
|
34
|
-
async function initializeApplicationWorker(options, serverConfig) {
|
|
35
|
-
const { name, path, transportsData } = options;
|
|
36
|
-
// Load initial application host definition
|
|
37
|
-
const hostDefinition = await import(__rewriteRelativeImportExtension(
|
|
38
|
-
/* @vite-ignore */
|
|
39
|
-
path)).then((m) => m.default);
|
|
40
|
-
if (!isApplicationHostDefinition(hostDefinition)) {
|
|
41
|
-
throw new Error(`Invalid application host definition: ${name}`);
|
|
42
|
-
}
|
|
43
|
-
// Create runtime
|
|
44
|
-
const runtime = new ApplicationWorkerRuntime(serverConfig, { name, path, transports: transportsData }, hostDefinition);
|
|
45
|
-
// Set up HMR with supersede logic
|
|
46
|
-
setupApplicationHMR(runtime);
|
|
47
|
-
return runtime;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Set up HMR acceptance for application host definition changes with supersede logic.
|
|
51
|
-
*
|
|
52
|
-
* When a reload is in progress and another HMR event arrives, the pending
|
|
53
|
-
* reload is superseded - only the most recent config is applied.
|
|
54
|
-
*/
|
|
55
|
-
function setupApplicationHMR(runtime) {
|
|
56
|
-
const logger = runtime.logger.child({ component: 'HMR' });
|
|
57
|
-
// Track active reload
|
|
58
|
-
let activeReload = null;
|
|
59
|
-
// Track pending reload (supersedes previous pending)
|
|
60
|
-
let pendingConfig = null;
|
|
61
|
-
let pendingResolve = null;
|
|
62
|
-
let pendingReject = null;
|
|
63
|
-
/**
|
|
64
|
-
* Execute a reload with the given config.
|
|
65
|
-
*/
|
|
66
|
-
const executeReload = async (config) => {
|
|
67
|
-
activeReload = doReload(config);
|
|
68
|
-
try {
|
|
69
|
-
await activeReload;
|
|
70
|
-
}
|
|
71
|
-
finally {
|
|
72
|
-
activeReload = null;
|
|
73
|
-
// If there's a pending reload, execute it now
|
|
74
|
-
if (pendingConfig !== null) {
|
|
75
|
-
const config = pendingConfig;
|
|
76
|
-
const resolve = pendingResolve;
|
|
77
|
-
const reject = pendingReject;
|
|
78
|
-
pendingConfig = null;
|
|
79
|
-
pendingResolve = null;
|
|
80
|
-
pendingReject = null;
|
|
81
|
-
executeReload(config).then(resolve, reject);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* Perform the actual reload.
|
|
87
|
-
*/
|
|
88
|
-
const doReload = async (config) => {
|
|
89
|
-
try {
|
|
90
|
-
logger.debug('Reloading application...');
|
|
91
|
-
await runtime.reload(config);
|
|
92
|
-
logger.info('Application reloaded successfully');
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
// Log error but keep worker alive for next HMR update
|
|
96
|
-
logger.error(new Error('Error during HMR reload', { cause: error }));
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
/**
|
|
100
|
-
* Schedule a reload. If reload is in progress, supersedes any pending.
|
|
101
|
-
*/
|
|
102
|
-
const scheduleReload = (config) => {
|
|
103
|
-
// If no active reload, execute immediately
|
|
104
|
-
if (!activeReload) {
|
|
105
|
-
return executeReload(config);
|
|
106
|
-
}
|
|
107
|
-
logger.debug('Reload in progress, queuing update...');
|
|
108
|
-
// Supersede any existing pending reload
|
|
109
|
-
if (pendingResolve) {
|
|
110
|
-
logger.debug('Superseding previous pending reload');
|
|
111
|
-
pendingResolve(); // Resolve old pending (it's superseded)
|
|
112
|
-
}
|
|
113
|
-
// Create new pending
|
|
114
|
-
return new Promise((resolve, reject) => {
|
|
115
|
-
pendingConfig = config;
|
|
116
|
-
pendingResolve = resolve;
|
|
117
|
-
pendingReject = reject;
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
// Register global hot accept handler
|
|
121
|
-
globalThis._hotAccept = async (module) => {
|
|
122
|
-
logger.debug('Received HMR update');
|
|
123
|
-
if (!module)
|
|
124
|
-
return;
|
|
125
|
-
if (!isApplicationHostDefinition(module.default)) {
|
|
126
|
-
logger.error(new Error('Invalid application host definition during HMR reload'));
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
await scheduleReload(module.default);
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Initialize a job worker.
|
|
134
|
-
*/
|
|
135
|
-
async function initializeJobWorker(options, serverConfig) {
|
|
136
|
-
const { jobWorkerPool } = options;
|
|
137
|
-
const runtime = new JobWorkerRuntime(serverConfig, {
|
|
138
|
-
poolName: jobWorkerPool,
|
|
139
|
-
port: workerData.port,
|
|
140
|
-
});
|
|
141
|
-
return runtime;
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/entrypoints/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.d.ts
DELETED
package/dist/resolver.js
DELETED
package/dist/resolver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;IAC1C,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@nmtjs/application';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/application/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const kServerConfig: unique symbol;
|
|
2
|
-
export type kServerConfig = typeof kServerConfig;
|
|
3
|
-
export declare const kCommand: unique symbol;
|
|
4
|
-
export type kCommand = typeof kCommand;
|
|
5
|
-
export declare const kJobKey: unique symbol;
|
|
6
|
-
export type kJobKey = typeof kJobKey;
|
|
7
|
-
export declare const kJobStepKey: unique symbol;
|
|
8
|
-
export type kJobStepKey = typeof kJobStepKey;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export const kServerConfig = Symbol.for('neemata:ServerConfigKey');
|
|
2
|
-
export const kCommand = Symbol.for('neemata:CommandKey');
|
|
3
|
-
export const kJobKey = Symbol.for('neemata:JobKey');
|
|
4
|
-
export const kJobStepKey = Symbol.for('neemata:JobStepKey');
|
|
5
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,CAAC,GAAG,CACpD,yBAAyB,CAC1B,CAAA;AAGD,MAAM,CAAC,MAAM,QAAQ,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAGvE,MAAM,CAAC,MAAM,OAAO,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAGlE,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA"}
|
package/dist/runtime/enums.d.ts
DELETED
package/dist/runtime/enums.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export var StoreType;
|
|
2
|
-
(function (StoreType) {
|
|
3
|
-
StoreType["Redis"] = "Redis";
|
|
4
|
-
StoreType["Valkey"] = "Valkey";
|
|
5
|
-
})(StoreType || (StoreType = {}));
|
|
6
|
-
export var WorkerType;
|
|
7
|
-
(function (WorkerType) {
|
|
8
|
-
WorkerType["Application"] = "Application";
|
|
9
|
-
WorkerType["Job"] = "Job";
|
|
10
|
-
WorkerType["Command"] = "Command";
|
|
11
|
-
})(WorkerType || (WorkerType = {}));
|
|
12
|
-
export { LifecycleHook } from '@nmtjs/application';
|
|
13
|
-
//# sourceMappingURL=enums.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/runtime/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,yBAAW,CAAA;IACX,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/runtime/hooks.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { LifecycleHooks } from '@nmtjs/application';
|
package/dist/runtime/hooks.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/runtime/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/runtime/index.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export * from '@nmtjs/application';
|
|
2
|
-
export * from './constants.ts';
|
|
3
|
-
export * from './enums.ts';
|
|
4
|
-
export * from './injectables.ts';
|
|
5
|
-
export * from './jobs/job.ts';
|
|
6
|
-
export * from './jobs/manager.ts';
|
|
7
|
-
export * from './jobs/router.ts';
|
|
8
|
-
export * from './jobs/step.ts';
|
|
9
|
-
export * from './jobs/types.ts';
|
|
10
|
-
export * from './runtime.ts';
|
|
11
|
-
export * from './scheduler/index.ts';
|
|
12
|
-
export * from './server/config.ts';
|
|
13
|
-
export * from './server/environment.ts';
|
|
14
|
-
export * from './server/error-policy.ts';
|
|
15
|
-
export * from './server/hmr-coordinator.ts';
|
|
16
|
-
export * from './server/lifecycle.ts';
|
|
17
|
-
export * from './server/managed-worker.ts';
|
|
18
|
-
export * from './server/pool-manager.ts';
|
|
19
|
-
export * from './server/server.ts';
|
|
20
|
-
export * from './server/types.ts';
|
|
21
|
-
export * from './server/worker-pool.ts';
|
|
22
|
-
export * from './store/index.ts';
|
|
23
|
-
export * from './subscription/manager.ts';
|
|
24
|
-
export * from './subscription/redis.ts';
|
|
25
|
-
export * from './types.ts';
|
|
26
|
-
export * from './workers/application.ts';
|
|
27
|
-
export * from './workers/base.ts';
|
|
28
|
-
export * from './workers/job.ts';
|
package/dist/runtime/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export * from '@nmtjs/application';
|
|
2
|
-
export * from './constants.js';
|
|
3
|
-
export * from './enums.js';
|
|
4
|
-
export * from './injectables.js';
|
|
5
|
-
export * from './jobs/job.js';
|
|
6
|
-
export * from './jobs/manager.js';
|
|
7
|
-
export * from './jobs/router.js';
|
|
8
|
-
export * from './jobs/step.js';
|
|
9
|
-
export * from './jobs/types.js';
|
|
10
|
-
export * from './runtime.js';
|
|
11
|
-
export * from './scheduler/index.js';
|
|
12
|
-
export * from './server/config.js';
|
|
13
|
-
export * from './server/environment.js';
|
|
14
|
-
export * from './server/error-policy.js';
|
|
15
|
-
export * from './server/hmr-coordinator.js';
|
|
16
|
-
export * from './server/lifecycle.js';
|
|
17
|
-
export * from './server/managed-worker.js';
|
|
18
|
-
export * from './server/pool-manager.js';
|
|
19
|
-
export * from './server/server.js';
|
|
20
|
-
export * from './server/types.js';
|
|
21
|
-
export * from './server/worker-pool.js';
|
|
22
|
-
export * from './store/index.js';
|
|
23
|
-
export * from './subscription/manager.js';
|
|
24
|
-
export * from './subscription/redis.js';
|
|
25
|
-
export * from './types.js';
|
|
26
|
-
export * from './workers/application.js';
|
|
27
|
-
export * from './workers/base.js';
|
|
28
|
-
export * from './workers/job.js';
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAElC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Scope } from '@nmtjs/core';
|
|
2
|
-
import type { WorkerType } from './enums.ts';
|
|
3
|
-
import type { JobManagerInstance } from './jobs/manager.ts';
|
|
4
|
-
import type { JobExecutionContext, SaveJobProgress } from './jobs/types.ts';
|
|
5
|
-
import type { ServerStoreConfig } from './server/config.ts';
|
|
6
|
-
import type { PublishFn, SubscribeFn, SubscriptionAdapterType } from './subscription/manager.ts';
|
|
7
|
-
import { SubscriptionManager } from './subscription/manager.ts';
|
|
8
|
-
export declare const subscriptionAdapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
9
|
-
export declare const subscriptionManager: import("@nmtjs/core").FactoryInjectable<SubscriptionManager, {
|
|
10
|
-
adapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
11
|
-
logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
|
|
12
|
-
logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
|
|
13
|
-
}>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, Scope.Global>;
|
|
14
|
-
}, Scope.Global, SubscriptionManager>;
|
|
15
|
-
export declare const publish: import("@nmtjs/core").FactoryInjectable<PublishFn, {
|
|
16
|
-
manager: import("@nmtjs/core").FactoryInjectable<SubscriptionManager, {
|
|
17
|
-
adapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
18
|
-
logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
|
|
19
|
-
logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
|
|
20
|
-
}>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, Scope.Global>;
|
|
21
|
-
}, Scope.Global, SubscriptionManager>;
|
|
22
|
-
}, Scope.Global, PublishFn>;
|
|
23
|
-
export declare const subscribe: import("@nmtjs/core").FactoryInjectable<SubscribeFn, {
|
|
24
|
-
manager: import("@nmtjs/core").FactoryInjectable<SubscriptionManager, {
|
|
25
|
-
adapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
26
|
-
logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
|
|
27
|
-
logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
|
|
28
|
-
}>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, Scope.Global>;
|
|
29
|
-
}, Scope.Global, SubscriptionManager>;
|
|
30
|
-
}, Scope.Global, SubscribeFn>;
|
|
31
|
-
export declare const jobManager: import("@nmtjs/core").LazyInjectable<JobManagerInstance, Scope.Global>;
|
|
32
|
-
export declare const storeConfig: import("@nmtjs/core").LazyInjectable<ServerStoreConfig, Scope.Global>;
|
|
33
|
-
export declare const workerType: import("@nmtjs/core").LazyInjectable<WorkerType, Scope.Global>;
|
|
34
|
-
export declare const jobWorkerPool: import("@nmtjs/core").LazyInjectable<string, Scope.Global>;
|
|
35
|
-
export declare const jobAbortSignal: import("@nmtjs/core").LazyInjectable<AbortSignal, Scope.Global>;
|
|
36
|
-
export declare const saveJobProgress: import("@nmtjs/core").LazyInjectable<SaveJobProgress, Scope.Global>;
|
|
37
|
-
export declare const currentJobInfo: import("@nmtjs/core").LazyInjectable<JobExecutionContext, Scope.Global>;
|
|
38
|
-
export declare const RuntimeInjectables: {
|
|
39
|
-
subscriptionAdapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
40
|
-
subscriptionManager: import("@nmtjs/core").FactoryInjectable<SubscriptionManager, {
|
|
41
|
-
adapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
42
|
-
logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
|
|
43
|
-
logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
|
|
44
|
-
}>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, Scope.Global>;
|
|
45
|
-
}, Scope.Global, SubscriptionManager>;
|
|
46
|
-
publish: import("@nmtjs/core").FactoryInjectable<PublishFn, {
|
|
47
|
-
manager: import("@nmtjs/core").FactoryInjectable<SubscriptionManager, {
|
|
48
|
-
adapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
49
|
-
logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
|
|
50
|
-
logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
|
|
51
|
-
}>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, Scope.Global>;
|
|
52
|
-
}, Scope.Global, SubscriptionManager>;
|
|
53
|
-
}, Scope.Global, PublishFn>;
|
|
54
|
-
subscribe: import("@nmtjs/core").FactoryInjectable<SubscribeFn, {
|
|
55
|
-
manager: import("@nmtjs/core").FactoryInjectable<SubscriptionManager, {
|
|
56
|
-
adapter: import("@nmtjs/core").LazyInjectable<SubscriptionAdapterType, Scope.Global>;
|
|
57
|
-
logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
|
|
58
|
-
logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
|
|
59
|
-
}>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, Scope.Global>;
|
|
60
|
-
}, Scope.Global, SubscriptionManager>;
|
|
61
|
-
}, Scope.Global, SubscribeFn>;
|
|
62
|
-
jobManager: import("@nmtjs/core").LazyInjectable<JobManagerInstance, Scope.Global>;
|
|
63
|
-
storeConfig: import("@nmtjs/core").LazyInjectable<ServerStoreConfig, Scope.Global>;
|
|
64
|
-
workerType: import("@nmtjs/core").LazyInjectable<WorkerType, Scope.Global>;
|
|
65
|
-
jobWorkerPool: import("@nmtjs/core").LazyInjectable<string, Scope.Global>;
|
|
66
|
-
jobAbortSignal: import("@nmtjs/core").LazyInjectable<AbortSignal, Scope.Global>;
|
|
67
|
-
saveJobProgress: import("@nmtjs/core").LazyInjectable<SaveJobProgress, Scope.Global>;
|
|
68
|
-
currentJobInfo: import("@nmtjs/core").LazyInjectable<JobExecutionContext, Scope.Global>;
|
|
69
|
-
};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { CoreInjectables, createFactoryInjectable, createLazyInjectable, Scope, } from '@nmtjs/core';
|
|
2
|
-
import { SubscriptionManager } from './subscription/manager.js';
|
|
3
|
-
export const subscriptionAdapter = createLazyInjectable(Scope.Global, 'SubscriptionAdapter');
|
|
4
|
-
export const subscriptionManager = createFactoryInjectable({
|
|
5
|
-
dependencies: {
|
|
6
|
-
adapter: subscriptionAdapter,
|
|
7
|
-
logger: CoreInjectables.logger,
|
|
8
|
-
},
|
|
9
|
-
factory: ({ adapter, logger }) => new SubscriptionManager({ logger, adapter }),
|
|
10
|
-
dispose: (manager) => manager.dispose(),
|
|
11
|
-
}, 'SubscriptionManager');
|
|
12
|
-
export const publish = createFactoryInjectable({
|
|
13
|
-
dependencies: { manager: subscriptionManager },
|
|
14
|
-
factory: ({ manager }) => manager.publish.bind(manager),
|
|
15
|
-
}, 'Publish');
|
|
16
|
-
export const subscribe = createFactoryInjectable({
|
|
17
|
-
dependencies: { manager: subscriptionManager },
|
|
18
|
-
factory: ({ manager }) => manager.subscribe.bind(manager),
|
|
19
|
-
}, 'Subscribe');
|
|
20
|
-
export const jobManager = createLazyInjectable(Scope.Global, 'JobManager');
|
|
21
|
-
export const storeConfig = createLazyInjectable(Scope.Global, 'StoreConfig');
|
|
22
|
-
export const workerType = createLazyInjectable(Scope.Global, 'WorkerType');
|
|
23
|
-
export const jobWorkerPool = createLazyInjectable(Scope.Global, 'JobWorkerPool');
|
|
24
|
-
export const jobAbortSignal = createLazyInjectable(Scope.Global, 'JobAbortSignal');
|
|
25
|
-
export const saveJobProgress = createLazyInjectable(Scope.Global, 'SaveJobProgress');
|
|
26
|
-
export const currentJobInfo = createLazyInjectable(Scope.Global, 'CurrentJobInfo');
|
|
27
|
-
export const RuntimeInjectables = {
|
|
28
|
-
subscriptionAdapter,
|
|
29
|
-
subscriptionManager,
|
|
30
|
-
publish,
|
|
31
|
-
subscribe,
|
|
32
|
-
jobManager,
|
|
33
|
-
storeConfig,
|
|
34
|
-
workerType,
|
|
35
|
-
jobWorkerPool,
|
|
36
|
-
jobAbortSignal,
|
|
37
|
-
saveJobProgress,
|
|
38
|
-
currentJobInfo,
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=injectables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../src/runtime/injectables.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,GACN,MAAM,aAAa,CAAA;AAWpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAC9B,oBAAoB,CAClB,KAAK,CAAC,MAAM,EACZ,qBAAqB,CACtB,CAAA;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CACxD;IACE,YAAY,EAAE;QACZ,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B;IACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9C,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;CACxC,EACD,qBAAqB,CACtB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,uBAAuB,CAC5C;IACE,YAAY,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAC9C,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAa,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;CACnE,EACD,SAAS,CACV,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,uBAAuB,CAC9C;IACE,YAAY,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAC9C,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAe,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;CACvE,EACD,WAAW,CACZ,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAC5C,KAAK,CAAC,MAAM,EACZ,YAAY,CACb,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAC7C,KAAK,CAAC,MAAM,EACZ,aAAa,CACd,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAC5C,KAAK,CAAC,MAAM,EACZ,YAAY,CACb,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,KAAK,CAAC,MAAM,EACZ,eAAe,CAChB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAChD,KAAK,CAAC,MAAM,EACZ,gBAAgB,CACjB,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CACjD,KAAK,CAAC,MAAM,EACZ,iBAAiB,CAClB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAChD,KAAK,CAAC,MAAM,EACZ,gBAAgB,CACjB,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,mBAAmB;IACnB,mBAAmB;IACnB,OAAO;IACP,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,aAAa;IACb,cAAc;IACd,eAAe;IACf,cAAc;CACf,CAAA"}
|