@meridianjs/framework 0.1.7 → 0.1.8
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/index.d.ts +1 -1
- package/dist/index.js +8 -4
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -120,7 +120,7 @@ declare function loadRoutes(app: Express, container: MeridianContainer, apiDir:
|
|
|
120
120
|
* - default: async function handler({ event, container }) { ... }
|
|
121
121
|
* - config: { event: "event.name" | string[] }
|
|
122
122
|
*/
|
|
123
|
-
declare function loadSubscribers(container: MeridianContainer, subscribersDir: string): Promise<void>;
|
|
123
|
+
declare function loadSubscribers(container: MeridianContainer, subscribersDir: string, disabledEvents?: string[]): Promise<void>;
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Scans src/jobs/ for scheduled job files and registers them with the scheduler.
|
package/dist/index.js
CHANGED
|
@@ -233,7 +233,7 @@ function filePathToRoutePath(filePath, baseDir) {
|
|
|
233
233
|
import fs2 from "fs/promises";
|
|
234
234
|
import path4 from "path";
|
|
235
235
|
import { pathToFileURL as pathToFileURL4 } from "url";
|
|
236
|
-
async function loadSubscribers(container, subscribersDir) {
|
|
236
|
+
async function loadSubscribers(container, subscribersDir, disabledEvents = []) {
|
|
237
237
|
const logger = container.resolve("logger");
|
|
238
238
|
try {
|
|
239
239
|
await fs2.access(subscribersDir);
|
|
@@ -266,6 +266,10 @@ async function loadSubscribers(container, subscribersDir) {
|
|
|
266
266
|
}
|
|
267
267
|
const events = Array.isArray(config.event) ? config.event : [config.event];
|
|
268
268
|
for (const eventName of events) {
|
|
269
|
+
if (disabledEvents.includes(eventName)) {
|
|
270
|
+
logger.debug(`Subscriber ${file} skipped (disabled by plugin config)`);
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
269
273
|
eventBus.subscribe(
|
|
270
274
|
eventName,
|
|
271
275
|
(args) => handler({ ...args, container })
|
|
@@ -447,12 +451,12 @@ async function loadPlugins(container, plugins, rootDir, server) {
|
|
|
447
451
|
}
|
|
448
452
|
}
|
|
449
453
|
if (scanRoot) {
|
|
450
|
-
await autoScanPlugin(scanRoot, container, logger, server);
|
|
454
|
+
await autoScanPlugin(scanRoot, container, logger, server, plugin.disableSubscribers ?? []);
|
|
451
455
|
}
|
|
452
456
|
logger.info(`Plugin loaded: ${plugin.resolve}`);
|
|
453
457
|
}
|
|
454
458
|
}
|
|
455
|
-
async function autoScanPlugin(scanRoot, container, logger, server) {
|
|
459
|
+
async function autoScanPlugin(scanRoot, container, logger, server, disabledEvents = []) {
|
|
456
460
|
const candidates = [
|
|
457
461
|
scanRoot,
|
|
458
462
|
// pluginRoot already points to compiled dir
|
|
@@ -470,7 +474,7 @@ async function autoScanPlugin(scanRoot, container, logger, server) {
|
|
|
470
474
|
}
|
|
471
475
|
await Promise.all([
|
|
472
476
|
server ? loadRoutes(server, container, apiDir) : Promise.resolve(),
|
|
473
|
-
loadSubscribers(container, path7.join(candidate, "subscribers")),
|
|
477
|
+
loadSubscribers(container, path7.join(candidate, "subscribers"), disabledEvents),
|
|
474
478
|
loadJobs(container, path7.join(candidate, "jobs")),
|
|
475
479
|
loadLinks(container, path7.join(candidate, "links"))
|
|
476
480
|
]);
|
package/package.json
CHANGED