@pikku/lambda 0.12.1 → 0.12.3
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/CHANGELOG.md +33 -0
- package/dist/http/run-fetch.js +1 -1
- package/dist/queue/sqs-worker.js +1 -1
- package/dist/queue/sqs-worker.js.map +1 -1
- package/dist/websocket/lambda-channel-handler.js +3 -0
- package/dist/websocket/lambda-channel-handler.js.map +1 -1
- package/package.json +5 -4
- package/src/http/run-fetch.ts +1 -1
- package/src/queue/sqs-worker.ts +1 -1
- package/src/websocket/lambda-channel-handler.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
## 0.12.0
|
|
2
2
|
|
|
3
|
+
## 0.12.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e3142ad: Fix OPTIONS method comparison to use uppercase, matching the Fetch API Request.method convention. Previously the CORS preflight handler was dead code.
|
|
8
|
+
- 87433f0: Replace full SQS event logging with message count to prevent sensitive data leaking into CloudWatch logs.
|
|
9
|
+
- Updated dependencies [e412b4d]
|
|
10
|
+
- Updated dependencies [53dc8c8]
|
|
11
|
+
- Updated dependencies [0a1cc51]
|
|
12
|
+
- Updated dependencies [0a1cc51]
|
|
13
|
+
- Updated dependencies [0a1cc51]
|
|
14
|
+
- Updated dependencies [0a1cc51]
|
|
15
|
+
- Updated dependencies [0a1cc51]
|
|
16
|
+
- Updated dependencies [0a1cc51]
|
|
17
|
+
- Updated dependencies [0a1cc51]
|
|
18
|
+
- Updated dependencies [0a1cc51]
|
|
19
|
+
- Updated dependencies [0a1cc51]
|
|
20
|
+
- Updated dependencies [8b9b2e9]
|
|
21
|
+
- Updated dependencies [8b9b2e9]
|
|
22
|
+
- Updated dependencies [b973d44]
|
|
23
|
+
- Updated dependencies [8b9b2e9]
|
|
24
|
+
- Updated dependencies [8b9b2e9]
|
|
25
|
+
- @pikku/core@0.12.9
|
|
26
|
+
|
|
27
|
+
## 0.12.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 3e04565: chore: update dependencies to latest minor/patch versions
|
|
32
|
+
- Updated dependencies [cc4c9e9]
|
|
33
|
+
- Updated dependencies [3e04565]
|
|
34
|
+
- @pikku/core@0.12.2
|
|
35
|
+
|
|
3
36
|
## 0.12.1
|
|
4
37
|
|
|
5
38
|
### Patch Changes
|
package/dist/http/run-fetch.js
CHANGED
|
@@ -4,7 +4,7 @@ import { lambdaEventToRequest } from '../request-converter.js';
|
|
|
4
4
|
export const runFetch = async (event) => {
|
|
5
5
|
const request = lambdaEventToRequest(event);
|
|
6
6
|
const response = new PikkuFetchHTTPResponse();
|
|
7
|
-
if (request.method === '
|
|
7
|
+
if (request.method === 'OPTIONS') {
|
|
8
8
|
response.header('Access-Control-Allow-Headers', 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent');
|
|
9
9
|
response.header('Access-Control-Allow-Methods', 'OPTIONS,DELETE,GET,HEAD,PATCH,POST,PUT');
|
|
10
10
|
response.status(200);
|
package/dist/queue/sqs-worker.js
CHANGED
|
@@ -34,7 +34,7 @@ export function mapSQSRecordToQueueJob(record, maxAttempts) {
|
|
|
34
34
|
return job;
|
|
35
35
|
}
|
|
36
36
|
export const runSQSQueueWorker = async (logger, event) => {
|
|
37
|
-
|
|
37
|
+
logger.info(`Processing ${event.Records.length} SQS messages`);
|
|
38
38
|
const jobs = event.Records.map(mapSQSRecordToQueueJob);
|
|
39
39
|
const results = await Promise.allSettled(jobs.map(async (job) => {
|
|
40
40
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqs-worker.js","sourceRoot":"","sources":["../../src/queue/sqs-worker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAO1B,MAAM,UAAU,sBAAsB,CACpC,MAAiB,EACjB,WAAoB;IAEpB,IAAI,IAAS,CAAA;IAEb,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAA;IAEzD,MAAM,GAAG,GAAa;QACpB,SAAS;QACT,IAAI;QACJ,EAAE,EAAE,MAAM,CAAC,SAAS;QACpB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,QAA0B;QAC9C,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,CAAC;YACrE,WAAW;YACX,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC9D,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;SACjB,CAAC;QACF,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAA;QACH,CAAC;KACF,CAAA;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAKD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAAc,EACd,KAAe,EACY,EAAE;IAC7B,
|
|
1
|
+
{"version":3,"file":"sqs-worker.js","sourceRoot":"","sources":["../../src/queue/sqs-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,9 @@ class LambdaChannelHandler extends PikkuAbstractChannelHandler {
|
|
|
15
15
|
const data = JSON.stringify(message);
|
|
16
16
|
await sendMessage(this.logger, this.callbackAPI, this.channelId, data);
|
|
17
17
|
}
|
|
18
|
+
sendBinary(_data) {
|
|
19
|
+
throw new Error('Binary data is not supported on serverless lambdas');
|
|
20
|
+
}
|
|
18
21
|
}
|
|
19
22
|
export const createLambdaChannelHandlerFactory = (logger, channelStore, callbackAPI) => {
|
|
20
23
|
const factory = (channelId, channelName, openingData) => new LambdaChannelHandler(logger, callbackAPI, channelId, channelName, openingData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-channel-handler.js","sourceRoot":"","sources":["../../src/websocket/lambda-channel-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lambda-channel-handler.js","sourceRoot":"","sources":["../../src/websocket/lambda-channel-handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,oBAIJ,SAAQ,2BAA6C;IAE3C;IACA;IAFV,YACU,MAAc,EACd,WAA0C,EAClD,SAAiB,EACjB,WAAmB,EACnB,WAAwB;QAExB,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QANlC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAA+B;IAMpD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAY,EAAE,QAAkB;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxE,CAAC;IAEM,UAAU,CAAC,KAAiB;QACjC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,MAAc,EACd,YAA0B,EAC1B,WAA0C,EAC1C,EAAE;IACF,MAAM,OAAO,GAA+B,CAC1C,SAAS,EACT,WAAW,EACX,WAAW,EACX,EAAE,CACF,IAAI,oBAAoB,CACtB,MAAM,EACN,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAA;IACH,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pikku/lambda",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "yasser.fadl@gmail.com",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"release": "npm run build && npm test",
|
|
14
14
|
"test": "bash run-tests.sh",
|
|
15
15
|
"test:watch": "bash run-tests.sh --watch",
|
|
16
|
-
"test:coverage": "bash run-tests.sh --coverage"
|
|
16
|
+
"test:coverage": "bash run-tests.sh --coverage",
|
|
17
|
+
"prepublishOnly": "yarn build"
|
|
17
18
|
},
|
|
18
19
|
"exports": {
|
|
19
20
|
".": "./dist/index.js",
|
|
@@ -23,11 +24,11 @@
|
|
|
23
24
|
},
|
|
24
25
|
"peerDependencies": {
|
|
25
26
|
"@aws-sdk/client-apigatewaymanagementapi": "^3.713.0",
|
|
26
|
-
"@pikku/core": "^0.12.
|
|
27
|
+
"@pikku/core": "^0.12.9",
|
|
27
28
|
"@types/aws-lambda": "^8.10.161"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@aws-sdk/client-apigatewaymanagementapi": "^3.
|
|
31
|
+
"@aws-sdk/client-apigatewaymanagementapi": "^3.1000.0",
|
|
31
32
|
"@types/aws-lambda": "^8.10.161",
|
|
32
33
|
"typescript": "^5.9.3"
|
|
33
34
|
},
|
package/src/http/run-fetch.ts
CHANGED
|
@@ -9,7 +9,7 @@ export const runFetch = async (
|
|
|
9
9
|
const request = lambdaEventToRequest(event)
|
|
10
10
|
const response = new PikkuFetchHTTPResponse()
|
|
11
11
|
|
|
12
|
-
if (request.method === '
|
|
12
|
+
if (request.method === 'OPTIONS') {
|
|
13
13
|
response.header(
|
|
14
14
|
'Access-Control-Allow-Headers',
|
|
15
15
|
'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'
|
package/src/queue/sqs-worker.ts
CHANGED
|
@@ -60,7 +60,7 @@ export const runSQSQueueWorker = async (
|
|
|
60
60
|
logger: Logger,
|
|
61
61
|
event: SQSEvent
|
|
62
62
|
): Promise<SQSBatchResponse> => {
|
|
63
|
-
|
|
63
|
+
logger.info(`Processing ${event.Records.length} SQS messages`)
|
|
64
64
|
const jobs = event.Records.map(mapSQSRecordToQueueJob)
|
|
65
65
|
|
|
66
66
|
// Process all jobs in parallel
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CoreUserSession } from '@pikku/core'
|
|
2
2
|
import type {
|
|
3
|
+
BinaryData,
|
|
3
4
|
ChannelStore,
|
|
4
5
|
PikkuChannelHandlerFactory,
|
|
5
6
|
} from '@pikku/core/channel'
|
|
@@ -30,6 +31,10 @@ class LambdaChannelHandler<
|
|
|
30
31
|
const data = JSON.stringify(message)
|
|
31
32
|
await sendMessage(this.logger, this.callbackAPI, this.channelId, data)
|
|
32
33
|
}
|
|
34
|
+
|
|
35
|
+
public sendBinary(_data: BinaryData): void {
|
|
36
|
+
throw new Error('Binary data is not supported on serverless lambdas')
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
export const createLambdaChannelHandlerFactory = (
|