@allthings/cloud-toolkit 4.5.2 → 5.0.0-next.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.
package/dist/lib.cjs.js CHANGED
@@ -662,29 +662,35 @@ const DEFAULT_OPTIONS = {
662
662
  const noopHandler = (_, _1) => {
663
663
  throw new ServerError('Misconfiguration in Alagarr setup. No handler function was provided.');
664
664
  };
665
- const alagarr = (handler = noopHandler, options = DEFAULT_OPTIONS) => async (event, context, callback) => {
666
- const mergedOptions = {
667
- ...DEFAULT_OPTIONS,
668
- ...options,
669
- };
670
- const request = await makeRequest(event, context, mergedOptions);
671
- const response = await makeResponse(request, callback, mergedOptions);
672
- try {
673
- return await handler(request, response, context);
674
- }
675
- catch (handlerError) {
676
- const errorHandler = typeof mergedOptions.errorHandler === 'function'
677
- ? mergedOptions.errorHandler
678
- : defaultErrorHandler;
665
+ const alagarr = (handler = noopHandler, options = DEFAULT_OPTIONS) => (event, context) => new Promise((resolve, reject) => {
666
+ const settleResponse = (error, result) => error
667
+ ? reject(error instanceof Error ? error : new Error(String(error)))
668
+ : resolve(result);
669
+ const runHandler = async () => {
670
+ const mergedOptions = {
671
+ ...DEFAULT_OPTIONS,
672
+ ...options,
673
+ };
674
+ const request = await makeRequest(event, context, mergedOptions);
675
+ const response = await makeResponse(request, settleResponse, mergedOptions);
679
676
  try {
680
- return await errorHandler(request, response, handlerError);
677
+ return await handler(request, response, context);
681
678
  }
682
- catch (error) {
683
- console.error('There was an error in the error handler provided to Alagaar', error, errorHandler.toString());
684
- return defaultErrorHandler(request, response, error);
679
+ catch (handlerError) {
680
+ const errorHandler = typeof mergedOptions.errorHandler === 'function'
681
+ ? mergedOptions.errorHandler
682
+ : defaultErrorHandler;
683
+ try {
684
+ return await errorHandler(request, response, handlerError);
685
+ }
686
+ catch (error) {
687
+ console.error('There was an error in the error handler provided to Alagaar', error, errorHandler.toString());
688
+ return defaultErrorHandler(request, response, error);
689
+ }
685
690
  }
686
- }
687
- };
691
+ };
692
+ runHandler().then(resolve, reject);
693
+ });
688
694
 
689
695
  const DEFAULT_AWS_CONFIGURATION = {
690
696
  region: 'eu-central-2',
package/dist/lib.esm.mjs CHANGED
@@ -640,29 +640,35 @@ const DEFAULT_OPTIONS = {
640
640
  const noopHandler = (_, _1) => {
641
641
  throw new ServerError('Misconfiguration in Alagarr setup. No handler function was provided.');
642
642
  };
643
- const alagarr = (handler = noopHandler, options = DEFAULT_OPTIONS) => async (event, context, callback) => {
644
- const mergedOptions = {
645
- ...DEFAULT_OPTIONS,
646
- ...options,
647
- };
648
- const request = await makeRequest(event, context, mergedOptions);
649
- const response = await makeResponse(request, callback, mergedOptions);
650
- try {
651
- return await handler(request, response, context);
652
- }
653
- catch (handlerError) {
654
- const errorHandler = typeof mergedOptions.errorHandler === 'function'
655
- ? mergedOptions.errorHandler
656
- : defaultErrorHandler;
643
+ const alagarr = (handler = noopHandler, options = DEFAULT_OPTIONS) => (event, context) => new Promise((resolve, reject) => {
644
+ const settleResponse = (error, result) => error
645
+ ? reject(error instanceof Error ? error : new Error(String(error)))
646
+ : resolve(result);
647
+ const runHandler = async () => {
648
+ const mergedOptions = {
649
+ ...DEFAULT_OPTIONS,
650
+ ...options,
651
+ };
652
+ const request = await makeRequest(event, context, mergedOptions);
653
+ const response = await makeResponse(request, settleResponse, mergedOptions);
657
654
  try {
658
- return await errorHandler(request, response, handlerError);
655
+ return await handler(request, response, context);
659
656
  }
660
- catch (error) {
661
- console.error('There was an error in the error handler provided to Alagaar', error, errorHandler.toString());
662
- return defaultErrorHandler(request, response, error);
657
+ catch (handlerError) {
658
+ const errorHandler = typeof mergedOptions.errorHandler === 'function'
659
+ ? mergedOptions.errorHandler
660
+ : defaultErrorHandler;
661
+ try {
662
+ return await errorHandler(request, response, handlerError);
663
+ }
664
+ catch (error) {
665
+ console.error('There was an error in the error handler provided to Alagaar', error, errorHandler.toString());
666
+ return defaultErrorHandler(request, response, error);
667
+ }
663
668
  }
664
- }
665
- };
669
+ };
670
+ runHandler().then(resolve, reject);
671
+ });
666
672
 
667
673
  const DEFAULT_AWS_CONFIGURATION = {
668
674
  region: 'eu-central-2',
@@ -1,5 +1,5 @@
1
- import { APIGatewayEvent, APIGatewayProxyEventV2, Callback, Context } from 'aws-lambda';
2
- export type Alagarr = (event: APIGatewayEvent | APIGatewayProxyEventV2, context: Context, callback: Callback) => void;
1
+ import { APIGatewayEvent, APIGatewayProxyEventV2, Context } from 'aws-lambda';
2
+ export type Alagarr = (event: APIGatewayEvent | APIGatewayProxyEventV2, context: Context) => Promise<string | void | object>;
3
3
  export type HandlerFunction = (request: any, response: any, context?: Context) => string | object | void | Promise<string | object | void>;
4
4
  export type Logger = (request: any, response: any) => boolean;
5
5
  export type ErrorHandler = (request: IInterfaceRequest, response: IInterfaceResponse, error: any) => void;
@@ -1,4 +1,5 @@
1
1
  export { Alagarr, default as alagarr, ClientError, HandlerFunction, IInterfaceAlagarrOptions, IInterfaceHeaders, IInterfaceQueryParameters, IInterfaceRequest, IInterfaceResponse, ServerError, } from './alagarr';
2
2
  export { DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, DEFAULT_SES_CLIENT_CONFIG, dynamodb, IDynamoDBConfig, IDynamoDBInstance, IEmailAttachment, IEmailOptions, ILambda, ILambdaInstance, IParameterStore, IParameterStoreInstance, ISES, ISESInstance, ISQS, ISQSInstance, IUnprocessedItems, lambda, parameterStore, ses, sqs, TBatchWriteItems, TDeleteItem, TDeleteQueueItem, TGetItem, TGetQueueItems, TGetQueueUrl, TGetSecret, TGetSecrets, TInvokeLambda, TPutItem, TQueryTable, TScanTable, TSendMail, TSendMessage, TUpdateItem, } from './aws';
3
3
  export { default as logger } from './logger/logger';
4
+ export type { APIGatewayEvent, APIGatewayProxyEventV2, Context, } from 'aws-lambda';
4
5
  export { Logger } from 'winston';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allthings/cloud-toolkit",
3
- "version": "4.5.2",
3
+ "version": "5.0.0-next.1",
4
4
  "description": "",
5
5
  "author": "Allthings GmbH",
6
6
  "keywords": [
@@ -14,10 +14,10 @@
14
14
  },
15
15
  "homepage": "https://github.com/allthings/cloud-toolkit",
16
16
  "engines": {
17
- "node": "^22 || >=24",
17
+ "node": ">=24",
18
18
  "npm": ">=10"
19
19
  },
20
- "packageManager": "yarn@4.16.0",
20
+ "packageManager": "yarn@4.17.1",
21
21
  "main": "dist/lib.cjs.js",
22
22
  "module": "dist/lib.esm.mjs",
23
23
  "types": "dist/src/index.d.ts",
@@ -70,29 +70,30 @@
70
70
  "@aws-sdk/client-sqs": "^3.1042.0",
71
71
  "@aws-sdk/client-ssm": "^3.1042.0",
72
72
  "@aws-sdk/lib-dynamodb": "^3.1042.0",
73
+ "@types/aws-lambda": "^8.10.162",
73
74
  "bottleneck": "^2.19.5",
74
75
  "nodemailer": "^9.0.1",
75
76
  "winston": "^3.19.0"
76
77
  },
77
78
  "devDependencies": {
78
- "@allthings/eslint-config": "5.1.0",
79
- "@commitlint/cli": "21.0.2",
80
- "@commitlint/config-conventional": "21.0.2",
79
+ "@allthings/eslint-config": "5.1.3",
80
+ "@commitlint/cli": "21.2.1",
81
+ "@commitlint/config-conventional": "21.2.0",
81
82
  "@rollup/plugin-node-resolve": "16.0.3",
82
- "@types/aws-lambda": "8.10.162",
83
- "@types/node": "24.13.1",
83
+ "@types/node": "24.13.3",
84
84
  "@types/nodemailer": "8.0.1",
85
- "@vitest/coverage-v8": "4.1.8",
85
+ "@vitest/coverage-v8": "4.1.10",
86
86
  "aws-sdk-client-mock": "4.1.0",
87
- "eslint": "10.4.1",
87
+ "conventional-changelog-conventionalcommits": "9.3.1",
88
+ "eslint": "10.7.0",
88
89
  "husky": "9.1.7",
89
- "lint-staged": "17.0.7",
90
- "prettier": "3.8.3",
90
+ "lint-staged": "17.1.0",
91
+ "prettier": "3.9.5",
91
92
  "rimraf": "6.1.3",
92
- "rollup": "4.61.1",
93
- "semantic-release": "25.0.3",
93
+ "rollup": "4.62.2",
94
+ "semantic-release": "25.0.8",
94
95
  "typescript": "6.0.3",
95
- "vitest": "4.1.8"
96
+ "vitest": "4.1.10"
96
97
  },
97
98
  "prettier": {
98
99
  "printWidth": 80,