@unchainedshop/platform 3.0.0-rc9 → 3.0.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.
@@ -6,7 +6,7 @@ export const runMigrations = async ({ migrationRepository, logger = createLogger
6
6
  const findCurrentId = async () => {
7
7
  const last = await LastMigration.findOne({ category: 'unchained' }, { sort: { _id: -1 } });
8
8
  const id = last ? last._id : 0;
9
- logger.info(`Most recent migration id: ${id}`);
9
+ logger.debug(`Most recent migration id: ${id}`);
10
10
  return id;
11
11
  };
12
12
  const onMigrationComplete = async (id, action) => {
@@ -37,11 +37,11 @@ export const runMigrations = async ({ migrationRepository, logger = createLogger
37
37
  logger.info(`All ${operationCount} migrations completed with most recent id: ${lastMigrationId}`);
38
38
  }
39
39
  else {
40
- logger.info(`No migrations run, already at latest id: ${currentId}`);
40
+ logger.debug(`No migrations run, already at latest id: ${currentId}`);
41
41
  }
42
42
  }
43
43
  else {
44
- logger.info(`Some migrations failed, last successful id: ${lastMigrationId}`);
44
+ logger.warn(`Some migrations failed, last successful id: ${lastMigrationId}`);
45
45
  }
46
46
  };
47
47
  //# sourceMappingURL=runMigrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runMigrations.js","sourceRoot":"","sources":["../../src/migrations/runMigrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,mBAAmB,EACnB,MAAM,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAC7C,YAAY,GAKb,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE1E,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,EAAU,EAAE,MAAc,EAAE,EAAE;QAC/D,MAAM,aAAa,CAAC,SAAS,CAC3B,oBAAoB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EACnD;YACE,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE;gBACP,MAAM;gBACN,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB;SACF,EACD;YACE,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACnC,SAAS;QACT,MAAM;QACN,mBAAmB;QACnB,mBAAmB;QACnB,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IAE7D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,8CAA8C,eAAe,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,+CAA+C,eAAe,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"runMigrations.js","sourceRoot":"","sources":["../../src/migrations/runMigrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,mBAAmB,EACnB,MAAM,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAC7C,YAAY,GAKb,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE1E,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,EAAU,EAAE,MAAc,EAAE,EAAE;QAC/D,MAAM,aAAa,CAAC,SAAS,CAC3B,oBAAoB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EACnD;YACE,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE;gBACP,MAAM;gBACN,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB;SACF,EACD;YACE,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACnC,SAAS;QACT,MAAM;QACN,mBAAmB;QACnB,mBAAmB;QACnB,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IAE7D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,8CAA8C,eAAe,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,+CAA+C,eAAe,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC,CAAC"}
@@ -2,4 +2,5 @@ export * from './startPlatform.js';
2
2
  export * from './context/index.js';
3
3
  export * from './bulk-importer/createBulkImporter.js';
4
4
  export * from './templates/index.js';
5
+ export declare const printRuntimeConfiguration: () => void;
5
6
  //# sourceMappingURL=platform-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-index.d.ts","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"platform-index.d.ts","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AAMrC,eAAO,MAAM,yBAAyB,YASrC,CAAC"}
@@ -2,4 +2,15 @@ export * from './startPlatform.js';
2
2
  export * from './context/index.js';
3
3
  export * from './bulk-importer/createBulkImporter.js';
4
4
  export * from './templates/index.js';
5
+ import { MessagingDirector, getAllAdapters } from '@unchainedshop/core';
6
+ import { getRegisteredEvents } from '@unchainedshop/events';
7
+ import { log } from '@unchainedshop/logger';
8
+ export const printRuntimeConfiguration = () => {
9
+ const messaging = MessagingDirector.getRegisteredTemplates();
10
+ log(`Messaging Templates: ${messaging.length}`, { messaging });
11
+ const events = getRegisteredEvents();
12
+ log(`Events: ${events.length}`, { events });
13
+ const adapters = getAllAdapters().map((adapter) => adapter.asString());
14
+ log(`Adapters: ${adapters.length}`, { adapters });
15
+ };
5
16
  //# sourceMappingURL=platform-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-index.js","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"platform-index.js","sourceRoot":"","sources":["../src/platform-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IAC7D,GAAG,CAAC,wBAAwB,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC"}
@@ -16,7 +16,7 @@ export type PlatformOptions = {
16
16
  workQueueOptions?: SetupWorkqueueOptions & SetupCartsOptions & {
17
17
  skipInvalidationOnStartup?: boolean;
18
18
  };
19
- } & Omit<UnchainedCoreOptions, 'bulkImporter' | 'migrationRepository' | 'db'> & Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI' | 'workTypes' | 'events'>;
19
+ } & Omit<UnchainedCoreOptions, 'bulkImporter' | 'migrationRepository' | 'db'> & Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI'>;
20
20
  export declare const queueWorkers: Array<any>;
21
21
  export declare const startPlatform: ({ modules, services, options, rolesOptions, bulkImporter: bulkImporterOptions, workQueueOptions, ...arbitraryAPIServerConfiguration }: PlatformOptions) => Promise<{
22
22
  unchainedAPI: UnchainedCore;
@@ -1 +1 @@
1
- {"version":3,"file":"startPlatform.d.ts","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAU,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,uCAAuC,CAAC;AAIrG,OAAO,EAAE,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAkB,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC9C,CAAC;IACF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,GAAG;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACxG,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAC3E,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;AA2BlF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,GAAG,CAAM,CAAC;AAE3C,eAAO,MAAM,aAAa,0IAQvB,eAAe,KAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;CAChB,CA4DA,CAAC"}
1
+ {"version":3,"file":"startPlatform.d.ts","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAU,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,uCAAuC,CAAC;AAIrG,OAAO,EAAE,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAkB,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC9C,CAAC;IACF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,GAAG;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACxG,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAC3E,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AAyBzD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,GAAG,CAAM,CAAC;AAE3C,eAAO,MAAM,aAAa,0IAQvB,eAAe,KAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;CAChB,CA8DA,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import { startAPIServer, roles } from '@unchainedshop/api';
2
2
  import { initCore } from '@unchainedshop/core';
3
3
  import { initDb } from '@unchainedshop/mongodb';
4
- import { createLogger } from '@unchainedshop/logger';
5
- import { getRegisteredEvents } from '@unchainedshop/events';
6
- import { WorkerDirector } from '@unchainedshop/core';
4
+ import { defaultLogger } from '@unchainedshop/logger';
7
5
  import { createBulkImporterFactory } from './bulk-importer/createBulkImporter.js';
8
6
  import { runMigrations } from './migrations/runMigrations.js';
9
7
  import { setupAccounts } from './setup/setupAccounts.js';
@@ -13,7 +11,6 @@ import { setupTemplates, MessageTypes } from './setup/setupTemplates.js';
13
11
  import { setupWorkqueue } from './setup/setupWorkqueue.js';
14
12
  import { createMigrationRepository } from './migrations/migrationRepository.js';
15
13
  export { MessageTypes };
16
- const logger = createLogger('unchained');
17
14
  const REQUIRED_ENV_VARIABLES = [
18
15
  'EMAIL_WEBSITE_NAME',
19
16
  'EMAIL_WEBSITE_URL',
@@ -25,7 +22,7 @@ const { UNCHAINED_DISABLE_WORKER } = process.env;
25
22
  const exitOnMissingEnvironmentVariables = () => {
26
23
  const failedEnv = REQUIRED_ENV_VARIABLES.filter((key) => !process.env[key]);
27
24
  if (failedEnv.length > 0) {
28
- logger.error(`Missing required environment variables at boot time: ${failedEnv.join(', ')}`);
25
+ defaultLogger.error(`Missing required environment variables at boot time: ${failedEnv.join(', ')}`);
29
26
  process.exit(1);
30
27
  }
31
28
  };
@@ -37,6 +34,8 @@ const checkWorkQueueEnabled = (options) => {
37
34
  export const queueWorkers = [];
38
35
  export const startPlatform = async ({ modules, services, options, rolesOptions = {}, bulkImporter: bulkImporterOptions, workQueueOptions, ...arbitraryAPIServerConfiguration }) => {
39
36
  exitOnMissingEnvironmentVariables();
37
+ const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
38
+ const configuredRoles = roles.configureRoles(rolesOptions);
40
39
  // Configure database
41
40
  const db = await initDb();
42
41
  // Prepare Migrations
@@ -51,13 +50,9 @@ export const startPlatform = async ({ modules, services, options, rolesOptions =
51
50
  services,
52
51
  options,
53
52
  });
54
- const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
55
53
  if (isWorkQueueEnabled) {
56
54
  await runMigrations({ migrationRepository, unchainedAPI });
57
55
  }
58
- const configuredRoles = roles.configureRoles(rolesOptions);
59
- const configuredEvents = getRegisteredEvents();
60
- const configuredWorkTypes = WorkerDirector.getActivePluginTypes();
61
56
  // Setup accountsjs specific extensions and event handlers
62
57
  setupAccounts(unchainedAPI);
63
58
  // Setup email templates
@@ -68,8 +63,6 @@ export const startPlatform = async ({ modules, services, options, rolesOptions =
68
63
  const graphqlHandler = await startAPIServer({
69
64
  unchainedAPI,
70
65
  roles: configuredRoles,
71
- events: configuredEvents,
72
- workTypes: configuredWorkTypes,
73
66
  ...arbitraryAPIServerConfiguration,
74
67
  });
75
68
  // Setup work queues for scheduled work
@@ -82,6 +75,10 @@ export const startPlatform = async ({ modules, services, options, rolesOptions =
82
75
  if (!workQueueOptions?.skipInvalidationOnStartup) {
83
76
  setImmediate(() => unchainedAPI.services.filters.invalidateFilterCache());
84
77
  }
78
+ const { default: packageJson } = await import(`${import.meta.dirname}/../package.json`, {
79
+ with: { type: 'json' },
80
+ });
81
+ defaultLogger.info(`Unchained Engine running`, { version: packageJson.version });
85
82
  return { unchainedAPI, graphqlHandler, db };
86
83
  };
87
84
  //# sourceMappingURL=startPlatform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startPlatform.js","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startPlatform.js","sourceRoot":"","sources":["../src/startPlatform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/platform",
3
- "version": "3.0.0-rc9",
3
+ "version": "3.0.1",
4
4
  "main": "lib/platform-index.js",
5
5
  "types": "lib/platform-index.d.ts",
6
6
  "type": "module",
@@ -34,23 +34,23 @@
34
34
  "node": ">=22.0.0"
35
35
  },
36
36
  "dependencies": {
37
- "@unchainedshop/api": "^3.0.0-rc9",
38
- "@unchainedshop/core": "^3.0.0-rc9",
39
- "@unchainedshop/events": "^3.0.0-rc9",
40
- "@unchainedshop/file-upload": "^3.0.0-rc9",
41
- "@unchainedshop/logger": "^3.0.0-rc9",
42
- "@unchainedshop/mongodb": "^3.0.0-rc9",
43
- "@unchainedshop/plugins": "^3.0.0-rc9",
44
- "@unchainedshop/roles": "^3.0.0-rc9",
45
- "@unchainedshop/utils": "^3.0.0-rc9",
37
+ "@unchainedshop/api": "^3.0.0",
38
+ "@unchainedshop/core": "^3.0.0",
39
+ "@unchainedshop/events": "^3.0.0",
40
+ "@unchainedshop/file-upload": "^3.0.0",
41
+ "@unchainedshop/logger": "^3.0.0",
42
+ "@unchainedshop/mongodb": "^3.0.0",
43
+ "@unchainedshop/plugins": "^3.0.0",
44
+ "@unchainedshop/roles": "^3.0.0",
45
+ "@unchainedshop/utils": "^3.0.0",
46
46
  "mustache": "^4.2.0",
47
47
  "safe-stable-stringify": "^2.5.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/mustache": "^4.2.5",
51
- "@types/node": "^22.10.2",
51
+ "@types/node": "^22.10.5",
52
52
  "jest": "^29.7.0",
53
53
  "ts-jest": "^29.2.5",
54
- "typescript": "^5.7.2"
54
+ "typescript": "^5.7.3"
55
55
  }
56
56
  }
@@ -17,7 +17,7 @@ export const runMigrations = async ({
17
17
  const findCurrentId = async () => {
18
18
  const last = await LastMigration.findOne({ category: 'unchained' }, { sort: { _id: -1 } });
19
19
  const id = last ? last._id : 0;
20
- logger.info(`Most recent migration id: ${id}`);
20
+ logger.debug(`Most recent migration id: ${id}`);
21
21
  return id;
22
22
  };
23
23
 
@@ -55,9 +55,9 @@ export const runMigrations = async ({
55
55
  if (operationCount > 0) {
56
56
  logger.info(`All ${operationCount} migrations completed with most recent id: ${lastMigrationId}`);
57
57
  } else {
58
- logger.info(`No migrations run, already at latest id: ${currentId}`);
58
+ logger.debug(`No migrations run, already at latest id: ${currentId}`);
59
59
  }
60
60
  } else {
61
- logger.info(`Some migrations failed, last successful id: ${lastMigrationId}`);
61
+ logger.warn(`Some migrations failed, last successful id: ${lastMigrationId}`);
62
62
  }
63
63
  };
@@ -2,3 +2,18 @@ export * from './startPlatform.js';
2
2
  export * from './context/index.js';
3
3
  export * from './bulk-importer/createBulkImporter.js';
4
4
  export * from './templates/index.js';
5
+
6
+ import { MessagingDirector, getAllAdapters } from '@unchainedshop/core';
7
+ import { getRegisteredEvents } from '@unchainedshop/events';
8
+ import { log } from '@unchainedshop/logger';
9
+
10
+ export const printRuntimeConfiguration = () => {
11
+ const messaging = MessagingDirector.getRegisteredTemplates();
12
+ log(`Messaging Templates: ${messaging.length}`, { messaging });
13
+
14
+ const events = getRegisteredEvents();
15
+ log(`Events: ${events.length}`, { events });
16
+
17
+ const adapters = getAllAdapters().map((adapter) => adapter.asString());
18
+ log(`Adapters: ${adapters.length}`, { adapters });
19
+ };
@@ -1,10 +1,8 @@
1
1
  import { startAPIServer, roles, UnchainedServerOptions } from '@unchainedshop/api';
2
2
  import { initCore, UnchainedCoreOptions } from '@unchainedshop/core';
3
3
  import { initDb, mongodb } from '@unchainedshop/mongodb';
4
- import { createLogger } from '@unchainedshop/logger';
4
+ import { defaultLogger } from '@unchainedshop/logger';
5
5
  import { UnchainedCore } from '@unchainedshop/core';
6
- import { getRegisteredEvents } from '@unchainedshop/events';
7
- import { WorkerDirector } from '@unchainedshop/core';
8
6
  import { BulkImportHandler, createBulkImporterFactory } from './bulk-importer/createBulkImporter.js';
9
7
  import { runMigrations } from './migrations/runMigrations.js';
10
8
  import { setupAccounts } from './setup/setupAccounts.js';
@@ -24,9 +22,7 @@ export type PlatformOptions = {
24
22
  rolesOptions?: IRoleOptionConfig;
25
23
  workQueueOptions?: SetupWorkqueueOptions & SetupCartsOptions & { skipInvalidationOnStartup?: boolean };
26
24
  } & Omit<UnchainedCoreOptions, 'bulkImporter' | 'migrationRepository' | 'db'> &
27
- Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI' | 'workTypes' | 'events'>;
28
-
29
- const logger = createLogger('unchained');
25
+ Omit<UnchainedServerOptions, 'roles' | 'unchainedAPI'>;
30
26
 
31
27
  const REQUIRED_ENV_VARIABLES = [
32
28
  'EMAIL_WEBSITE_NAME',
@@ -41,7 +37,7 @@ const { UNCHAINED_DISABLE_WORKER } = process.env;
41
37
  const exitOnMissingEnvironmentVariables = () => {
42
38
  const failedEnv = REQUIRED_ENV_VARIABLES.filter((key) => !process.env[key]);
43
39
  if (failedEnv.length > 0) {
44
- logger.error(`Missing required environment variables at boot time: ${failedEnv.join(', ')}`);
40
+ defaultLogger.error(`Missing required environment variables at boot time: ${failedEnv.join(', ')}`);
45
41
  process.exit(1);
46
42
  }
47
43
  };
@@ -68,6 +64,10 @@ export const startPlatform = async ({
68
64
  }> => {
69
65
  exitOnMissingEnvironmentVariables();
70
66
 
67
+ const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
68
+
69
+ const configuredRoles = roles.configureRoles(rolesOptions);
70
+
71
71
  // Configure database
72
72
  const db = await initDb();
73
73
 
@@ -85,15 +85,10 @@ export const startPlatform = async ({
85
85
  options,
86
86
  });
87
87
 
88
- const isWorkQueueEnabled = checkWorkQueueEnabled(workQueueOptions);
89
88
  if (isWorkQueueEnabled) {
90
89
  await runMigrations({ migrationRepository, unchainedAPI });
91
90
  }
92
91
 
93
- const configuredRoles = roles.configureRoles(rolesOptions);
94
- const configuredEvents = getRegisteredEvents();
95
- const configuredWorkTypes = WorkerDirector.getActivePluginTypes();
96
-
97
92
  // Setup accountsjs specific extensions and event handlers
98
93
  setupAccounts(unchainedAPI);
99
94
 
@@ -107,8 +102,6 @@ export const startPlatform = async ({
107
102
  const graphqlHandler = await startAPIServer({
108
103
  unchainedAPI,
109
104
  roles: configuredRoles,
110
- events: configuredEvents,
111
- workTypes: configuredWorkTypes,
112
105
  ...arbitraryAPIServerConfiguration,
113
106
  });
114
107
 
@@ -124,5 +117,10 @@ export const startPlatform = async ({
124
117
  setImmediate(() => unchainedAPI.services.filters.invalidateFilterCache());
125
118
  }
126
119
 
120
+ const { default: packageJson } = await import(`${import.meta.dirname}/../package.json`, {
121
+ with: { type: 'json' },
122
+ });
123
+ defaultLogger.info(`Unchained Engine running`, { version: packageJson.version });
124
+
127
125
  return { unchainedAPI, graphqlHandler, db };
128
126
  };