@zintrust/core 0.4.14 → 0.4.15
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/package.json +1 -1
- package/src/boot/bootstrap.js +5 -3
- package/src/boot/registry/registerRoute.d.ts.map +1 -1
- package/src/boot/registry/registerRoute.js +35 -19
- package/src/cli/PromptHelper.d.ts.map +1 -1
- package/src/cli/PromptHelper.js +1 -0
- package/src/cli/commands/NewCommand.d.ts +1 -1
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +4 -1
- package/src/cli/commands/StartCommand.js +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +1 -0
- package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ServiceScaffolder.js +2 -0
- package/src/index.js +3 -3
- package/src/microservices/ServiceManifest.d.ts +1 -0
- package/src/microservices/ServiceManifest.d.ts.map +1 -1
- package/src/microservices/ServiceManifest.js +5 -0
- package/src/runtime/ProjectRuntime.d.ts.map +1 -1
- package/src/runtime/ProjectRuntime.js +21 -11
- package/src/runtime/WorkerAdapterImports.d.ts.map +1 -1
- package/src/runtime/WorkerAdapterImports.js +17 -0
- package/src/runtime/WorkersModule.d.ts.map +1 -1
- package/src/runtime/WorkersModule.js +9 -4
- package/src/templates/project/basic/src/zintrust.plugins.wg.ts.tpl +5 -0
package/package.json
CHANGED
package/src/boot/bootstrap.js
CHANGED
|
@@ -199,9 +199,11 @@ const BootstrapFunctions = Object.freeze({
|
|
|
199
199
|
// (This is driven by src/zintrust.plugins.ts generated by `zin plugin install`.)
|
|
200
200
|
try {
|
|
201
201
|
const { PluginAutoImports } = await import('../runtime/PluginAutoImports.js');
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
if (appConfig.dockerWorker === true) {
|
|
203
|
+
const officialImports = await PluginAutoImports.tryImportRuntimeAutoImports('base');
|
|
204
|
+
if (!officialImports.ok) {
|
|
205
|
+
Logger.warn('Official plugin auto-imports failed:', ErrorFactory.createGeneralError('officialImports', officialImports.errorMessage));
|
|
206
|
+
}
|
|
205
207
|
}
|
|
206
208
|
const projectImports = await PluginAutoImports.tryImportProjectAutoImports();
|
|
207
209
|
if (!projectImports.ok && projectImports.reason !== 'not-found') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRoute.d.ts","sourceRoot":"","sources":["../../../../src/boot/registry/registerRoute.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAc3D,eAAO,MAAM,kBAAkB,QAAO,OAKrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,CAAC,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAMpF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,CAAC,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAOrF,CAAC;
|
|
1
|
+
{"version":3,"file":"registerRoute.d.ts","sourceRoot":"","sources":["../../../../src/boot/registry/registerRoute.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAc3D,eAAO,MAAM,kBAAkB,QAAO,OAKrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,CAAC,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAMpF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,CAAC,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAOrF,CAAC;AA2LF,eAAO,MAAM,oBAAoB,GAC/B,kBAAkB,MAAM,EACxB,QAAQ,OAAO,KACd,OAAO,CAAC,IAAI,CAqBd,CAAC"}
|
|
@@ -89,6 +89,8 @@ const resolveServicePrefix = (entry) => {
|
|
|
89
89
|
const ensureManifestServiceEnvLoaded = async (entry) => {
|
|
90
90
|
if (isCloudflare)
|
|
91
91
|
return;
|
|
92
|
+
if (entry.loadEnv === false)
|
|
93
|
+
return;
|
|
92
94
|
const { EnvFileLoader } = await import('../../cli/utils/EnvFileLoader.js');
|
|
93
95
|
const projectRoot = getProjectRoot();
|
|
94
96
|
const envPath = resolveManifestServiceEnvDir(projectRoot, entry);
|
|
@@ -98,6 +100,35 @@ const ensureManifestServiceEnvLoaded = async (entry) => {
|
|
|
98
100
|
envPaths: [envPath],
|
|
99
101
|
});
|
|
100
102
|
};
|
|
103
|
+
const shouldRegisterManifestEntry = (entry, activeService) => {
|
|
104
|
+
if (entry.monolithEnabled === false || typeof entry.loadRoutes !== 'function') {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
if (activeService !== undefined && activeService.id !== entry.id) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return true;
|
|
111
|
+
};
|
|
112
|
+
const loadRuntimeManifest = async () => {
|
|
113
|
+
if (isCloudflare) {
|
|
114
|
+
await ProjectRuntime.tryLoadWorkerRuntime();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
await ProjectRuntime.tryLoadNodeRuntime();
|
|
118
|
+
};
|
|
119
|
+
const registerManifestEntryRoutes = async (router, entry, activeService) => {
|
|
120
|
+
try {
|
|
121
|
+
await ensureManifestServiceEnvLoaded(entry);
|
|
122
|
+
const mod = await entry.loadRoutes?.();
|
|
123
|
+
const registerRoutes = isObject(mod) ? mod.registerRoutes : undefined;
|
|
124
|
+
if (typeof registerRoutes === 'function') {
|
|
125
|
+
registerLoadedRoutes(router, entry, registerRoutes, activeService);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
Logger.warn(`Failed to register manifest routes for ${entry.id}`, error);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
101
132
|
const registerLoadedRoutes = (router, entry, registerRoutes, activeService) => {
|
|
102
133
|
const servicePrefix = resolveServicePrefix(entry);
|
|
103
134
|
if (activeService?.id === entry.id) {
|
|
@@ -109,7 +140,7 @@ const registerLoadedRoutes = (router, entry, registerRoutes, activeService) => {
|
|
|
109
140
|
});
|
|
110
141
|
};
|
|
111
142
|
const registerManifestRoutes = async (router) => {
|
|
112
|
-
await
|
|
143
|
+
await loadRuntimeManifest();
|
|
113
144
|
const serviceManifest = ProjectRuntime.getServiceManifest();
|
|
114
145
|
if (serviceManifest.length === 0)
|
|
115
146
|
return;
|
|
@@ -117,25 +148,10 @@ const registerManifestRoutes = async (router) => {
|
|
|
117
148
|
if (activeService !== undefined && isCloudflare)
|
|
118
149
|
return;
|
|
119
150
|
for (const entry of serviceManifest) {
|
|
120
|
-
if (entry
|
|
151
|
+
if (!shouldRegisterManifestEntry(entry, activeService))
|
|
121
152
|
continue;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
try {
|
|
127
|
-
// eslint-disable-next-line no-await-in-loop
|
|
128
|
-
await ensureManifestServiceEnvLoaded(entry);
|
|
129
|
-
// eslint-disable-next-line no-await-in-loop
|
|
130
|
-
const mod = await entry.loadRoutes();
|
|
131
|
-
const registerRoutes = isObject(mod) ? mod.registerRoutes : undefined;
|
|
132
|
-
if (typeof registerRoutes === 'function') {
|
|
133
|
-
registerLoadedRoutes(router, entry, registerRoutes, activeService);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
Logger.warn(`Failed to register manifest routes for ${entry.id}`, error);
|
|
138
|
-
}
|
|
153
|
+
// eslint-disable-next-line no-await-in-loop
|
|
154
|
+
await registerManifestEntryRoutes(router, entry, activeService);
|
|
139
155
|
}
|
|
140
156
|
};
|
|
141
157
|
const registerFrameworkRoutes = async (resolvedBasePath, router) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptHelper.d.ts","sourceRoot":"","sources":["../../../src/cli/PromptHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;OAEG;sBACqB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMlE;;OAEG;8BAC6B,MAAM,gBAAe,OAAO,GAAU,OAAO,CAAC,MAAM,CAAC;IAuBrF;;OAEG;6BAEU,MAAM,gBACJ,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"PromptHelper.d.ts","sourceRoot":"","sources":["../../../src/cli/PromptHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;OAEG;sBACqB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMlE;;OAEG;8BAC6B,MAAM,gBAAe,OAAO,GAAU,OAAO,CAAC,MAAM,CAAC;IAuBrF;;OAEG;6BAEU,MAAM,gBACJ,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC;IAwBlB;;OAEG;uBACqB,MAAM,gBAAsB,OAAO,GAAU,OAAO,CAAC,MAAM,CAAC;IAqBpF;;OAEG;uCAEkB,MAAM,EAAE,gBACd,OAAO,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBpB;;OAEG;qBAEQ,MAAM,mBACC,OAAO,gBACV,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC;IAiBnB;;OAEG;wBAEQ,MAAM,WACN,MAAM,EAAE,kBACF,MAAM,gBACR,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC;IAkBlB;;OAEG;uBAEQ,MAAM,iBACD,MAAM,gBACP,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC;EAgBlB,CAAC"}
|
package/src/cli/PromptHelper.js
CHANGED
|
@@ -54,6 +54,7 @@ export const PromptHelper = Object.freeze({
|
|
|
54
54
|
{ name: 'PostgreSQL — Production-ready relational DB', value: 'postgresql' },
|
|
55
55
|
{ name: 'MySQL — Production-ready relational DB', value: 'mysql' },
|
|
56
56
|
{ name: 'SQLite — Local dev (file-based)', value: 'sqlite' },
|
|
57
|
+
{ name: 'd1 — Cloudflare D1 database', value: 'd1' },
|
|
57
58
|
{ name: 'd1-proxy — Cloudflare D1 via HTTPS proxy', value: 'd1-remote' },
|
|
58
59
|
],
|
|
59
60
|
default: defaultDb,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { CommandOptions, IBaseCommand } from '../BaseCommand';
|
|
6
6
|
type TemplateType = 'basic' | 'api' | 'microservice' | 'fullstack';
|
|
7
|
-
type DatabaseType = 'sqlite' | 'mysql' | 'postgresql' | 'mongodb' | 'd1-remote';
|
|
7
|
+
type DatabaseType = 'sqlite' | 'mysql' | 'postgresql' | 'mongodb' | 'd1' | 'd1-remote';
|
|
8
8
|
interface NewProjectConfigResult {
|
|
9
9
|
template: TemplateType;
|
|
10
10
|
database: DatabaseType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewCommand.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/NewCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBrE,KAAK,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,cAAc,GAAG,WAAW,CAAC;AACnE,KAAK,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"NewCommand.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/NewCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBrE,KAAK,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,cAAc,GAAG,WAAW,CAAC;AACnE,KAAK,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC;AAYvF,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0PhD,UAAU,WAAY,SAAQ,YAAY;IACxC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACzF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,gBAAgB,EAAE,CAAC;IACjF,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;IAChC,YAAY,IAAI,MAAM,CAAC;IACvB,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,sBAAsB,EAC9B,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpE;AA8RD;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;cACO,WAAW;EAGrB,CAAC"}
|
|
@@ -54,6 +54,8 @@ const getProjectDefaults = (name, options) => {
|
|
|
54
54
|
const v = value.trim();
|
|
55
55
|
if (v === 'd1-proxy')
|
|
56
56
|
return 'd1-remote';
|
|
57
|
+
if (v === 'd1')
|
|
58
|
+
return 'd1';
|
|
57
59
|
if (v === 'd1-remote')
|
|
58
60
|
return 'd1-remote';
|
|
59
61
|
if (v === 'sqlite')
|
|
@@ -99,6 +101,7 @@ const getQuestions = (name, defaults) => {
|
|
|
99
101
|
{ name: 'sqlite — Local dev (file-based)', value: 'sqlite' },
|
|
100
102
|
{ name: 'postgresql — Production-ready relational DB', value: 'postgresql' },
|
|
101
103
|
{ name: 'mysql — Production-ready relational DB', value: 'mysql' },
|
|
104
|
+
{ name: 'd1 — Cloudflare D1 database', value: 'd1' },
|
|
102
105
|
{ name: 'd1-proxy — Cloudflare D1 via HTTPS proxy', value: 'd1-remote' },
|
|
103
106
|
{ name: 'mongodb — Document DB (may require additional setup)', value: 'mongodb' },
|
|
104
107
|
],
|
|
@@ -223,7 +226,7 @@ const installDependencies = async (projectPath, log, packageManager, force = fal
|
|
|
223
226
|
const addOptions = (command) => {
|
|
224
227
|
command.argument('<name>', 'Project name');
|
|
225
228
|
command.option('--template <type>', 'Project template (basic, api, microservice, fullstack)', 'basic');
|
|
226
|
-
command.option('--database <type>', 'Database driver (sqlite, mysql, postgresql)', 'sqlite');
|
|
229
|
+
command.option('--database <type>', 'Database driver (sqlite, mysql, postgresql, d1, d1-remote, mongodb)', 'sqlite');
|
|
227
230
|
command.option('--port <number>', 'Default port number', '7777');
|
|
228
231
|
command.option('--author <name>', 'Project author');
|
|
229
232
|
command.option('--description <text>', 'Project description');
|
|
@@ -303,7 +303,7 @@ const preloadManifestServiceEnv = async (context, options) => {
|
|
|
303
303
|
process.env['ZINTRUST_PROJECT_ROOT'] = context.projectRoot;
|
|
304
304
|
ProjectRuntime.clear();
|
|
305
305
|
await ProjectRuntime.tryLoadNodeRuntime();
|
|
306
|
-
const manifest = ProjectRuntime.getServiceManifest().filter((entry) => entry.monolithEnabled !== false);
|
|
306
|
+
const manifest = ProjectRuntime.getServiceManifest().filter((entry) => entry.monolithEnabled !== false && entry.loadEnv !== false);
|
|
307
307
|
if (manifest.length === 0)
|
|
308
308
|
return;
|
|
309
309
|
const envPaths = manifest
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectScaffolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/ProjectScaffolder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtD,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IACpE,cAAc,IAAI,MAAM,CAAC;IACzB,sBAAsB,IAAI,OAAO,CAAC;IAClC,iBAAiB,IAAI,MAAM,CAAC;IAC5B,WAAW,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC;IACtD,gBAAgB,IAAI,OAAO,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC3E;AAodD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAsBrE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAsBA;
|
|
1
|
+
{"version":3,"file":"ProjectScaffolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/ProjectScaffolder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtD,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IACpE,cAAc,IAAI,MAAM,CAAC;IACzB,sBAAsB,IAAI,OAAO,CAAC;IAClC,iBAAiB,IAAI,MAAM,CAAC;IAC5B,WAAW,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC;IACtD,gBAAgB,IAAI,OAAO,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC3E;AAodD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAsBrE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAsBA;AA6ID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,GAAE,MAAsB,GAAG,kBAAkB,CAsB/F;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceScaffolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/ServiceScaffolder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD;;GAEG;AAEH;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAGnF;AAED;;GAEG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,qBAAqB,CAAC,CAiDhC;
|
|
1
|
+
{"version":3,"file":"ServiceScaffolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/ServiceScaffolder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD;;GAEG;AAEH;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAGnF;AAED;;GAEG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,qBAAqB,CAAC,CAiDhC;AAocD,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAC"}
|
|
@@ -110,6 +110,7 @@ export const serviceManifest: ReadonlyArray<ServiceManifestEntry> = [
|
|
|
110
110
|
name: '${options.name}',
|
|
111
111
|
configRoot: '${getServiceConfigRoot(domain, options.name)}',
|
|
112
112
|
prefix: '${serviceId}',
|
|
113
|
+
loadEnv: false,
|
|
113
114
|
port: ${options.port ?? 3001},
|
|
114
115
|
monolithEnabled: true,
|
|
115
116
|
loadRoutes: async () => ${routeImportExpression},
|
|
@@ -152,6 +153,7 @@ function updateServiceManifest(projectRoot, options) {
|
|
|
152
153
|
name: '${options.name}',
|
|
153
154
|
configRoot: '${getServiceConfigRoot(domain, options.name)}',
|
|
154
155
|
prefix: '${serviceId}',
|
|
156
|
+
loadEnv: false,
|
|
155
157
|
port: ${options.port ?? 3001},
|
|
156
158
|
monolithEnabled: true,
|
|
157
159
|
loadRoutes: async () => ${routeImportExpression},
|
package/src/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @zintrust/core v0.4.
|
|
2
|
+
* @zintrust/core v0.4.15
|
|
3
3
|
*
|
|
4
4
|
* ZinTrust Framework - Production-Grade TypeScript Backend
|
|
5
5
|
* Built for performance, type safety, and exceptional developer experience
|
|
6
6
|
*
|
|
7
7
|
* Build Information:
|
|
8
|
-
* Built: 2026-03-
|
|
8
|
+
* Built: 2026-03-24T09:07:10.631Z
|
|
9
9
|
* Node: >=20.0.0
|
|
10
10
|
* License: MIT
|
|
11
11
|
*
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Available at runtime for debugging and health checks
|
|
22
22
|
*/
|
|
23
23
|
export const ZINTRUST_VERSION = '0.1.41';
|
|
24
|
-
export const ZINTRUST_BUILD_DATE = '2026-03-
|
|
24
|
+
export const ZINTRUST_BUILD_DATE = '2026-03-24T09:07:10.598Z'; // Replaced during build
|
|
25
25
|
export { Application } from './boot/Application.js';
|
|
26
26
|
export { AwsSigV4 } from './common/index.js';
|
|
27
27
|
export { SignedRequest } from './security/SignedRequest.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceManifest.d.ts","sourceRoot":"","sources":["../../../src/microservices/ServiceManifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,MAA6B,CAAC;AAE1F,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,MACrC,CAAC;AAenC,eAAO,MAAM,gBAAgB,GAAI,MAAM;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,KAAG,MAMH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAI9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM;IACzC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,KAAG,MAKH,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"ServiceManifest.d.ts","sourceRoot":"","sources":["../../../src/microservices/ServiceManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,10 @@ export const isServiceManifestEntry = (value) => {
|
|
|
50
50
|
if (configRoot !== undefined && typeof configRoot !== 'string') {
|
|
51
51
|
return false;
|
|
52
52
|
}
|
|
53
|
+
const loadEnv = value['loadEnv'];
|
|
54
|
+
if (loadEnv !== undefined && typeof loadEnv !== 'boolean') {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
53
57
|
const loadRoutes = value['loadRoutes'];
|
|
54
58
|
if (loadRoutes !== undefined && !isFunction(loadRoutes)) {
|
|
55
59
|
return false;
|
|
@@ -64,6 +68,7 @@ export const normalizeServiceManifest = (value) => {
|
|
|
64
68
|
id: toCanonicalServiceId(entry),
|
|
65
69
|
prefix: getServicePrefix(entry),
|
|
66
70
|
...(isNonEmptyString(entry.configRoot) ? { configRoot: entry.configRoot } : {}),
|
|
71
|
+
loadEnv: entry.loadEnv !== false,
|
|
67
72
|
monolithEnabled: entry.monolithEnabled !== false,
|
|
68
73
|
}));
|
|
69
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtime/ProjectRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtime/ProjectRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,gCAAgC,CAAC;AAoGxC,eAAO,MAAM,cAAc;aAChB,IAAI;iBAIA,oBAAoB,GAAG,SAAS;gBAIjC,OAAO,GAAG,oBAAoB;oCAIV,OAAO,GAAG,oBAAoB,GAAG,SAAS;0BAM9C,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;4BAgBvC,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;0BAOjD,aAAa,CAAC,oBAAoB,CAAC;wBAIrC,oBAAoB,GAAG,SAAS;EAGpD,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -52,10 +52,27 @@ const tryImportNodeRuntimeCandidate = async (candidate) => {
|
|
|
52
52
|
return undefined;
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
const
|
|
55
|
+
const tryImportWorkerRuntimeLiteralCandidates = async () => {
|
|
56
56
|
try {
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
return cacheProjectRuntime((await import('../zintrust.runtime.wg.js')));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// continue
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
return cacheProjectRuntime((await import('../zintrust.runtime.js')));
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// continue
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
return cacheProjectRuntime((await import('../index.js' + 'zintrust.runtime.wg.js')));
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// continue
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
return cacheProjectRuntime((await import('../index.js' + 'zintrust.runtime.js')));
|
|
59
76
|
}
|
|
60
77
|
catch {
|
|
61
78
|
return undefined;
|
|
@@ -95,14 +112,7 @@ export const ProjectRuntime = Object.freeze({
|
|
|
95
112
|
const cached = getCachedProjectRuntime();
|
|
96
113
|
if (hasLoadedServiceManifest(cached))
|
|
97
114
|
return cached;
|
|
98
|
-
|
|
99
|
-
for (const moduleId of workerModuleIds) {
|
|
100
|
-
// eslint-disable-next-line no-await-in-loop
|
|
101
|
-
const loaded = await tryImportWorkerRuntimeCandidate(moduleId);
|
|
102
|
-
if (loaded !== undefined)
|
|
103
|
-
return loaded;
|
|
104
|
-
}
|
|
105
|
-
return undefined;
|
|
115
|
+
return tryImportWorkerRuntimeLiteralCandidates();
|
|
106
116
|
},
|
|
107
117
|
getServiceManifest() {
|
|
108
118
|
return getCachedProjectRuntime()?.serviceManifest ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerAdapterImports.d.ts","sourceRoot":"","sources":["../../../src/runtime/WorkerAdapterImports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkerAdapterImports.d.ts","sourceRoot":"","sources":["../../../src/runtime/WorkerAdapterImports.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,oBAAoB;;;EAG/B,CAAC"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
// Worker-only adapter auto-imports for bundler-based runtimes (e.g. Cloudflare Workers).
|
|
2
2
|
// Keep this list limited to database adapters needed by runtime config.
|
|
3
|
+
import { ProjectRuntime } from './ProjectRuntime.js';
|
|
4
|
+
const tryImportProjectRuntime = async () => {
|
|
5
|
+
try {
|
|
6
|
+
ProjectRuntime.set(await import('../zintrust.runtime.wg.js'));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
// continue
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
ProjectRuntime.set(await import('../zintrust.runtime.js'));
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Ignore missing runtime modules. Worker startup can still proceed without them.
|
|
17
|
+
}
|
|
18
|
+
};
|
|
3
19
|
// These imports resolve against the host project (developer working directory)
|
|
4
20
|
// via the @/ alias configured by the ZinTrust app templates.
|
|
5
21
|
const tryImportOptional = async () => {
|
|
22
|
+
await tryImportProjectRuntime();
|
|
6
23
|
try {
|
|
7
24
|
await import('../zintrust.plugins.wg.js');
|
|
8
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkersModule.d.ts","sourceRoot":"","sources":["../../../src/runtime/WorkersModule.ts"],"names":[],"mappings":"AAOA,KAAK,aAAa,GAAG,cAAc,mBAAmB,CAAC,CAAC;AACxD,KAAK,kBAAkB,GAAG,cAAc,yBAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkersModule.d.ts","sourceRoot":"","sources":["../../../src/runtime/WorkersModule.ts"],"names":[],"mappings":"AAOA,KAAK,aAAa,GAAG,cAAc,mBAAmB,CAAC,CAAC;AACxD,KAAK,kBAAkB,GAAG,cAAc,yBAAyB,CAAC,CAAC;AAmUnE,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,aAAa,CAwB/D,CAAC;AA4CF,eAAO,MAAM,sBAAsB,QAAa,OAAO,CAAC,kBAAkB,CAkBzE,CAAC"}
|
|
@@ -194,6 +194,9 @@ const importLocalModule = async (packageDir, packageName) => {
|
|
|
194
194
|
};
|
|
195
195
|
const importLocalWorkersModule = async () => importLocalModule('workers', '@zintrust/workers');
|
|
196
196
|
const importLocalQueueMonitorModule = async () => importLocalModule('queue-monitor', '@zintrust/queue-monitor');
|
|
197
|
+
const importOptionalPackage = async (specifier) => {
|
|
198
|
+
return (await import(specifier));
|
|
199
|
+
};
|
|
197
200
|
let workersModulePromise;
|
|
198
201
|
let patchAttempted = false;
|
|
199
202
|
let patchAfterFailureAttempted = false;
|
|
@@ -250,7 +253,7 @@ const handleImportFailure = async (error) => {
|
|
|
250
253
|
filesChanged,
|
|
251
254
|
replacements,
|
|
252
255
|
});
|
|
253
|
-
workersModulePromise =
|
|
256
|
+
workersModulePromise = importOptionalPackage('@zintrust/workers');
|
|
254
257
|
return workersModulePromise;
|
|
255
258
|
}
|
|
256
259
|
}
|
|
@@ -283,7 +286,7 @@ export const loadWorkersModule = async () => {
|
|
|
283
286
|
}
|
|
284
287
|
}
|
|
285
288
|
logWorkersResolverDiagnostics();
|
|
286
|
-
workersModulePromise ??=
|
|
289
|
+
workersModulePromise ??= importOptionalPackage('@zintrust/workers');
|
|
287
290
|
try {
|
|
288
291
|
return await workersModulePromise;
|
|
289
292
|
}
|
|
@@ -307,7 +310,8 @@ const handleQueueMonitorImportFailure = async (error) => {
|
|
|
307
310
|
filesChanged,
|
|
308
311
|
replacements,
|
|
309
312
|
});
|
|
310
|
-
queueMonitorModulePromise =
|
|
313
|
+
queueMonitorModulePromise =
|
|
314
|
+
importOptionalPackage('@zintrust/queue-monitor');
|
|
311
315
|
return queueMonitorModulePromise;
|
|
312
316
|
}
|
|
313
317
|
}
|
|
@@ -334,7 +338,8 @@ export const loadQueueMonitorModule = async () => {
|
|
|
334
338
|
return localFallback;
|
|
335
339
|
}
|
|
336
340
|
}
|
|
337
|
-
queueMonitorModulePromise ??=
|
|
341
|
+
queueMonitorModulePromise ??=
|
|
342
|
+
importOptionalPackage('@zintrust/queue-monitor');
|
|
338
343
|
try {
|
|
339
344
|
return await queueMonitorModulePromise;
|
|
340
345
|
}
|