@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('
|
|
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
|
-
|
|
30
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
43
|
-
"@friggframework/prettier-config": "2.0.0--canary.545.
|
|
44
|
-
"@friggframework/test": "2.0.0--canary.545.
|
|
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": "
|
|
85
|
+
"gitHead": "302ab9baf3116458ee080f854fab184814c053a4"
|
|
86
86
|
}
|