@friggframework/core 2.0.0--canary.545.a2a8f01.0 → 2.0.0--canary.545.302ab9b.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -170,7 +170,7 @@ function loadModuleEncryptionSchemas(integrations) {
170
170
 
171
171
  const {
172
172
  getModulesDefinitionFromIntegrationClasses,
173
- } = require('../integrations/utils/map-integration-dto');
173
+ } = require('../../integrations/utils/map-integration-dto');
174
174
 
175
175
  const moduleDefinitions =
176
176
  getModulesDefinitionFromIntegrationClasses(integrations);
@@ -8,28 +8,36 @@
8
8
  * - eventbridge: AWS EventBridge Scheduler (production on AWS)
9
9
  * - netlify: Netlify poll-and-dispatch scheduler (production on Netlify)
10
10
  * - mock: In-memory mock scheduler (local development)
11
+ *
12
+ * IMPORTANT: Adapter classes are lazily loaded via getters so that
13
+ * requiring this barrel does NOT pull in heavy SDK deps
14
+ * (e.g. @aws-sdk/client-scheduler) unless the adapter is actually used.
11
15
  */
12
16
 
13
17
  const { SchedulerServiceInterface } = require('./scheduler-service-interface');
14
- const { EventBridgeSchedulerAdapter } = require('./eventbridge-scheduler-adapter');
15
- const { MockSchedulerAdapter } = require('./mock-scheduler-adapter');
16
- const { NetlifySchedulerAdapter } = require('./netlify-scheduler-adapter');
17
18
  const {
18
19
  createSchedulerService,
19
20
  SCHEDULER_PROVIDERS,
20
21
  determineProvider,
21
22
  } = require('./scheduler-service-factory');
22
23
 
24
+ // Lazy-loaded adapter classes — only resolved on first property access
23
25
  module.exports = {
24
26
  // Interface (Port)
25
27
  SchedulerServiceInterface,
26
28
 
27
- // Adapters
28
- EventBridgeSchedulerAdapter,
29
- MockSchedulerAdapter,
30
- NetlifySchedulerAdapter,
29
+ // Adapters — lazy to avoid eager require of @aws-sdk/client-scheduler
30
+ get EventBridgeSchedulerAdapter() {
31
+ return require('./eventbridge-scheduler-adapter').EventBridgeSchedulerAdapter;
32
+ },
33
+ get MockSchedulerAdapter() {
34
+ return require('./mock-scheduler-adapter').MockSchedulerAdapter;
35
+ },
36
+ get NetlifySchedulerAdapter() {
37
+ return require('./netlify-scheduler-adapter').NetlifySchedulerAdapter;
38
+ },
31
39
 
32
- // Factory
40
+ // Factory (also lazy-loads adapters internally)
33
41
  createSchedulerService,
34
42
  SCHEDULER_PROVIDERS,
35
43
  determineProvider,
@@ -11,9 +11,8 @@
11
11
  * - Default in other stages -> EventBridge scheduler
12
12
  */
13
13
 
14
- const { EventBridgeSchedulerAdapter } = require('./eventbridge-scheduler-adapter');
15
- const { MockSchedulerAdapter } = require('./mock-scheduler-adapter');
16
- const { NetlifySchedulerAdapter } = require('./netlify-scheduler-adapter');
14
+ // Adapters are lazily required to avoid pulling in heavy SDK deps
15
+ // (e.g. @aws-sdk/client-scheduler) when they won't be used.
17
16
 
18
17
  const SCHEDULER_PROVIDERS = {
19
18
  EVENTBRIDGE: 'eventbridge',
@@ -57,19 +56,25 @@ function createSchedulerService(options = {}) {
57
56
  const provider = options.provider || determineProvider();
58
57
 
59
58
  switch (provider) {
60
- case SCHEDULER_PROVIDERS.EVENTBRIDGE:
59
+ case SCHEDULER_PROVIDERS.EVENTBRIDGE: {
60
+ const { EventBridgeSchedulerAdapter } = require('./eventbridge-scheduler-adapter');
61
61
  return new EventBridgeSchedulerAdapter({
62
62
  region: options.region,
63
63
  });
64
- case SCHEDULER_PROVIDERS.MOCK:
64
+ }
65
+ case SCHEDULER_PROVIDERS.MOCK: {
66
+ const { MockSchedulerAdapter } = require('./mock-scheduler-adapter');
65
67
  return new MockSchedulerAdapter({
66
68
  verbose: options.verbose,
67
69
  });
68
- case SCHEDULER_PROVIDERS.NETLIFY:
70
+ }
71
+ case SCHEDULER_PROVIDERS.NETLIFY: {
72
+ const { NetlifySchedulerAdapter } = require('./netlify-scheduler-adapter');
69
73
  return new NetlifySchedulerAdapter({
70
74
  repository: options.repository,
71
75
  queueProvider: options.queueProvider,
72
76
  });
77
+ }
73
78
  default:
74
79
  throw new Error(`Unknown scheduler provider: ${provider}`);
75
80
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@friggframework/core",
3
3
  "prettier": "@friggframework/prettier-config",
4
- "version": "2.0.0--canary.545.a2a8f01.0",
4
+ "version": "2.0.0--canary.545.302ab9b.0",
5
5
  "dependencies": {
6
6
  "@aws-sdk/client-apigatewaymanagementapi": "^3.588.0",
7
7
  "@aws-sdk/client-kms": "^3.588.0",
@@ -39,9 +39,9 @@
39
39
  }
40
40
  },
41
41
  "devDependencies": {
42
- "@friggframework/eslint-config": "2.0.0--canary.545.a2a8f01.0",
43
- "@friggframework/prettier-config": "2.0.0--canary.545.a2a8f01.0",
44
- "@friggframework/test": "2.0.0--canary.545.a2a8f01.0",
42
+ "@friggframework/eslint-config": "2.0.0--canary.545.302ab9b.0",
43
+ "@friggframework/prettier-config": "2.0.0--canary.545.302ab9b.0",
44
+ "@friggframework/test": "2.0.0--canary.545.302ab9b.0",
45
45
  "@prisma/client": "^6.17.0",
46
46
  "@types/lodash": "4.17.15",
47
47
  "@typescript-eslint/eslint-plugin": "^8.0.0",
@@ -82,5 +82,5 @@
82
82
  "publishConfig": {
83
83
  "access": "public"
84
84
  },
85
- "gitHead": "a2a8f01af5f6aa4bd61fd3a982733ae295459e2d"
85
+ "gitHead": "302ab9baf3116458ee080f854fab184814c053a4"
86
86
  }