From 878fa2043c6ec58f4cdbcee6ed432a8b79762d9d Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 13 Feb 2025 11:55:15 +0100 Subject: [PATCH 1/6] chore(parser): add dir exports instead of individual files --- packages/parser/package.json | 130 +++-------------------------------- 1 file changed, 10 insertions(+), 120 deletions(-) diff --git a/packages/parser/package.json b/packages/parser/package.json index 6f949a4b7f..ce4394b2b9 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -124,61 +124,9 @@ "require": "./lib/cjs/schemas/vpc-latticev2.js", "import": "./lib/esm/schemas/vpc-latticev2.js" }, - "./envelopes": { - "require": "./lib/cjs/envelopes/index.js", - "import": "./lib/esm/envelopes/index.js" - }, - "./envelopes/api-gateway": { - "require": "./lib/cjs/envelopes/apigw.js", - "import": "./lib/esm/envelopes/apigw.js" - }, - "./envelopes/api-gatewayv2": { - "require": "./lib/cjs/envelopes/apigwv2.js", - "import": "./lib/esm/envelopes/apigwv2.js" - }, - "./envelopes/cloudwatch": { - "require": "./lib/cjs/envelopes/cloudwatch.js", - "import": "./lib/esm/envelopes/cloudwatch.js" - }, - "./envelopes/dynamodb": { - "require": "./lib/cjs/envelopes/dynamodb.js", - "import": "./lib/esm/envelopes/dynamodb.js" - }, - "./envelopes/eventbridge": { - "require": "./lib/cjs/envelopes/eventbridge.js", - "import": "./lib/esm/envelopes/eventbridge.js" - }, - "./envelopes/kafka": { - "require": "./lib/cjs/envelopes/kafka.js", - "import": "./lib/esm/envelopes/kafka.js" - }, - "./envelopes/kinesis": { - "require": "./lib/cjs/envelopes/kinesis.js", - "import": "./lib/esm/envelopes/kinesis.js" - }, - "./envelopes/kinesis-firehose": { - "require": "./lib/cjs/envelopes/kinesis-firehose.js", - "import": "./lib/esm/envelopes/kinesis-firehose.js" - }, - "./envelopes/lambda": { - "require": "./lib/cjs/envelopes/lambda.js", - "import": "./lib/esm/envelopes/lambda.js" - }, - "./envelopes/sns": { - "require": "./lib/cjs/envelopes/sns.js", - "import": "./lib/esm/envelopes/sns.js" - }, - "./envelopes/sqs": { - "require": "./lib/cjs/envelopes/sqs.js", - "import": "./lib/esm/envelopes/sqs.js" - }, - "./envelopes/vpc-lattice": { - "require": "./lib/cjs/envelopes/vpc-lattice.js", - "import": "./lib/esm/envelopes/vpc-lattice.js" - }, - "./envelopes/vpc-latticev2": { - "require": "./lib/cjs/envelopes/vpc-latticev2.js", - "import": "./lib/esm/envelopes/vpc-latticev2.js" + "./envelopes/*.ts": { + "require": "./lib/cjs/envelopes/*.js", + "import": "./lib/esm/envelopes/*.js" }, "./helpers": { "require": "./lib/cjs/helpers.js", @@ -196,7 +144,7 @@ "typesVersions": { "*": { "types": [ - "./lib/cjs/types/index.d.ts", + "./lib/cjs/types/index.d.ts", "./lib/esm/types/index.d.ts" ], "middleware": [ @@ -256,7 +204,7 @@ "./lib/esm/schemas/lambda.d.ts" ], "schemas/s3": [ - "./lib/cjs/schemas/s3.d.ts", + "./lib/cjs/schemas/s3.d.ts", "./lib/esm/schemas/s3.d.ts" ], "schemas/ses": [ @@ -279,77 +227,19 @@ "./lib/cjs/schemas/vpc-latticev2.d.ts", "./lib/esm/schemas/vpc-latticev2.d.ts" ], - "envelopes": [ - "./lib/cjs/envelopes/index.d.ts", - "./lib/esm/envelopes/index.d.ts" - ], - "envelopes/api-gateway": [ - "./lib/cjs/envelopes/apigw.d.ts", - "./lib/esm/envelopes/apigw.d.ts" - ], - "envelopes/api-gatewayv2": [ - "./lib/cjs/envelopes/apigwv2.d.ts", - "./lib/esm/envelopes/apigwv2.d.ts" - ], - "envelopes/cloudwatch": [ - "./lib/cjs/envelopes/cloudwatch.d.ts", - "./lib/esm/envelopes/cloudwatch.d.ts" - ], - "envelopes/dynamodb": [ - "./lib/cjs/envelopes/dynamodb.d.ts", - "./lib/esm/envelopes/dynamodb.d.ts" - ], - "envelopes/eventbridge": [ - "./lib/cjs/envelopes/eventbridge.d.ts", - "./lib/esm/envelopes/eventbridge.d.ts" - ], - "envelopes/kafka": [ - "./lib/cjs/envelopes/kafka.d.ts", - "./lib/esm/envelopes/kafka.d.ts" - ], - "envelopes/kinesis": [ - "./lib/cjs/envelopes/kinesis.d.ts", - "./lib/esm/envelopes/kinesis.d.ts" - ], - "envelopes/kinesis-firehose": [ - "./lib/cjs/envelopes/kinesis-firehose.d.ts", - "./lib/esm/envelopes/kinesis-firehose.d.ts" - ], - "envelopes/lambda": [ - "./lib/cjs/envelopes/lambda.d.ts", - "./lib/esm/envelopes/lambda.d.ts" - ], - "envelopes/sns": [ - "./lib/cjs/envelopes/sns.d.ts", - "./lib/esm/envelopes/sns.d.ts" - ], - "envelopes/sqs": [ - "./lib/cjs/envelopes/sqs.d.ts", - "./lib/esm/envelopes/sqs.d.ts" - ], - "schemas/transfer-family": [ - "./lib/cjs/schemas/transfer-family.d.ts", - "./lib/esm/schemas/transfer-family.d.ts" - ], - "envelopes/vpc-lattice": [ - "./lib/cjs/envelopes/vpc-lattice.d.ts", - "./lib/esm/envelopes/vpc-lattice.d.ts" - ], - "envelopes/vpc-latticev2": [ - "./lib/cjs/envelopes/vpc-latticev2.d.ts", - "./lib/esm/envelopes/vpc-latticev2.d.ts" + "envelopes/*.ts": [ + "./lib/cjs/envelopes/*.d.ts", + "./lib/esm/envelopes/*.d.ts" ], "helpers": [ - "./lib/cjs/helpers.d.ts", + "./lib/cjs/helpers.d.ts", "./lib/esm/helpers.d.ts" ] } }, "main": "./lib/cjs/index.js", "types": "./lib/cjs/index.d.ts", - "files": [ - "lib" - ], + "files": ["lib"], "repository": { "type": "git", "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" From da2bfd5bec678a3b6c2e7575f68e29eda499305f Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 13 Feb 2025 12:11:50 +0100 Subject: [PATCH 2/6] chore(parser): refactor envelope imports --- .../envelopes/{apigw.ts => api-gateway.ts} | 0 .../{apigwv2.ts => api-gatewayv2.ts} | 0 .../{event-bridge.ts => eventbridge.ts} | 0 packages/parser/src/envelopes/index.ts | 14 --------- .../src/envelopes/{snssqs.ts => sns-sqs.ts} | 0 packages/parser/tests/types/envelopes.test.ts | 30 +++++++++---------- packages/parser/tests/types/parser.test.ts | 3 +- .../{apigw.test.ts => api-gateway.test.ts} | 2 +- ...{apigwv2.test.ts => api-gatewayv2.test.ts} | 2 +- .../tests/unit/envelopes/cloudwatch.test.ts | 2 +- .../tests/unit/envelopes/dynamodb.test.ts | 2 +- ...entbridge.test.ts => event-bridge.test.ts} | 2 +- .../parser/tests/unit/envelopes/kafka.test.ts | 2 +- .../unit/envelopes/kinesis-firehose.test.ts | 2 +- .../tests/unit/envelopes/kinesis.test.ts | 2 +- .../tests/unit/envelopes/lambda.test.ts | 2 +- .../{snssqs.test.ts => sns-sqs.test.ts} | 2 +- .../tests/unit/envelopes/vpc-lattice.test.ts | 2 +- .../unit/envelopes/vpc-latticev2.test.ts | 2 +- .../tests/unit/parser.decorator.test.ts | 2 +- .../parser/tests/unit/parser.middy.test.ts | 6 ++-- 21 files changed, 32 insertions(+), 47 deletions(-) rename packages/parser/src/envelopes/{apigw.ts => api-gateway.ts} (100%) rename packages/parser/src/envelopes/{apigwv2.ts => api-gatewayv2.ts} (100%) rename packages/parser/src/envelopes/{event-bridge.ts => eventbridge.ts} (100%) delete mode 100644 packages/parser/src/envelopes/index.ts rename packages/parser/src/envelopes/{snssqs.ts => sns-sqs.ts} (100%) rename packages/parser/tests/unit/envelopes/{apigw.test.ts => api-gateway.test.ts} (98%) rename packages/parser/tests/unit/envelopes/{apigwv2.test.ts => api-gatewayv2.test.ts} (97%) rename packages/parser/tests/unit/envelopes/{eventbridge.test.ts => event-bridge.test.ts} (97%) rename packages/parser/tests/unit/envelopes/{snssqs.test.ts => sns-sqs.test.ts} (99%) diff --git a/packages/parser/src/envelopes/apigw.ts b/packages/parser/src/envelopes/api-gateway.ts similarity index 100% rename from packages/parser/src/envelopes/apigw.ts rename to packages/parser/src/envelopes/api-gateway.ts diff --git a/packages/parser/src/envelopes/apigwv2.ts b/packages/parser/src/envelopes/api-gatewayv2.ts similarity index 100% rename from packages/parser/src/envelopes/apigwv2.ts rename to packages/parser/src/envelopes/api-gatewayv2.ts diff --git a/packages/parser/src/envelopes/event-bridge.ts b/packages/parser/src/envelopes/eventbridge.ts similarity index 100% rename from packages/parser/src/envelopes/event-bridge.ts rename to packages/parser/src/envelopes/eventbridge.ts diff --git a/packages/parser/src/envelopes/index.ts b/packages/parser/src/envelopes/index.ts deleted file mode 100644 index 40932efac5..0000000000 --- a/packages/parser/src/envelopes/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { ApiGatewayEnvelope } from './apigw.js'; -export { ApiGatewayV2Envelope } from './apigwv2.js'; -export { CloudWatchEnvelope } from './cloudwatch.js'; -export { DynamoDBStreamEnvelope } from './dynamodb.js'; -export { EventBridgeEnvelope } from './event-bridge.js'; -export { KafkaEnvelope } from './kafka.js'; -export { KinesisEnvelope } from './kinesis.js'; -export { KinesisFirehoseEnvelope } from './kinesis-firehose.js'; -export { LambdaFunctionUrlEnvelope } from './lambda.js'; -export { SnsEnvelope } from './sns.js'; -export { SqsEnvelope } from './sqs.js'; -export { SnsSqsEnvelope } from './snssqs.js'; -export { VpcLatticeEnvelope } from './vpc-lattice.js'; -export { VpcLatticeV2Envelope } from './vpc-latticev2.js'; diff --git a/packages/parser/src/envelopes/snssqs.ts b/packages/parser/src/envelopes/sns-sqs.ts similarity index 100% rename from packages/parser/src/envelopes/snssqs.ts rename to packages/parser/src/envelopes/sns-sqs.ts diff --git a/packages/parser/tests/types/envelopes.test.ts b/packages/parser/tests/types/envelopes.test.ts index f211feb5f5..7ba2f9387e 100644 --- a/packages/parser/tests/types/envelopes.test.ts +++ b/packages/parser/tests/types/envelopes.test.ts @@ -1,21 +1,19 @@ import { describe, expect, expectTypeOf, it } from 'vitest'; import { z } from 'zod'; -import { - ApiGatewayEnvelope, - ApiGatewayV2Envelope, - CloudWatchEnvelope, - DynamoDBStreamEnvelope, - EventBridgeEnvelope, - KafkaEnvelope, - KinesisEnvelope, - KinesisFirehoseEnvelope, - LambdaFunctionUrlEnvelope, - SnsEnvelope, - SnsSqsEnvelope, - SqsEnvelope, - VpcLatticeEnvelope, - VpcLatticeV2Envelope, -} from '../../src/envelopes/index.js'; +import { ApiGatewayEnvelope } from '../../src/envelopes/api-gateway.js'; +import { ApiGatewayV2Envelope } from '../../src/envelopes/api-gatewayv2.js'; +import { CloudWatchEnvelope } from '../../src/envelopes/cloudwatch.js'; +import { DynamoDBStreamEnvelope } from '../../src/envelopes/dynamodb.js'; +import { EventBridgeEnvelope } from '../../src/envelopes/eventbridge.js'; +import { KafkaEnvelope } from '../../src/envelopes/kafka.js'; +import { KinesisFirehoseEnvelope } from '../../src/envelopes/kinesis-firehose.js'; +import { KinesisEnvelope } from '../../src/envelopes/kinesis.js'; +import { LambdaFunctionUrlEnvelope } from '../../src/envelopes/lambda.js'; +import { SnsSqsEnvelope } from '../../src/envelopes/sns-sqs.js'; +import { SnsEnvelope } from '../../src/envelopes/sns.js'; +import { SqsEnvelope } from '../../src/envelopes/sqs.js'; +import { VpcLatticeEnvelope } from '../../src/envelopes/vpc-lattice.js'; +import { VpcLatticeV2Envelope } from '../../src/envelopes/vpc-latticev2.js'; import type { ParserOutput } from '../../src/types/parser.js'; describe('Types ', () => { diff --git a/packages/parser/tests/types/parser.test.ts b/packages/parser/tests/types/parser.test.ts index 292acfb36c..fb49248bcc 100644 --- a/packages/parser/tests/types/parser.test.ts +++ b/packages/parser/tests/types/parser.test.ts @@ -1,7 +1,8 @@ import { describe } from 'node:test'; import { expect, expectTypeOf, it } from 'vitest'; import { z } from 'zod'; -import { EventBridgeEnvelope, SqsEnvelope } from '../../src/envelopes/index.js'; +import { EventBridgeEnvelope } from '../../src/envelopes/eventbridge.js'; +import { SqsEnvelope } from '../../src/envelopes/sqs.js'; import { parse } from '../../src/parser.js'; import type { EventBridgeEvent, SqsEvent } from '../../src/types/schema.js'; import { getTestEvent } from '../unit/helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/apigw.test.ts b/packages/parser/tests/unit/envelopes/api-gateway.test.ts similarity index 98% rename from packages/parser/tests/unit/envelopes/apigw.test.ts rename to packages/parser/tests/unit/envelopes/api-gateway.test.ts index 275d9d7c1b..bc467958b5 100644 --- a/packages/parser/tests/unit/envelopes/apigw.test.ts +++ b/packages/parser/tests/unit/envelopes/api-gateway.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { ApiGatewayEnvelope } from '../../../src/envelopes/index.js'; +import { ApiGatewayEnvelope } from '../../../src/envelopes/api-gateway.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { APIGatewayProxyEvent } from '../../../src/types/schema.js'; diff --git a/packages/parser/tests/unit/envelopes/apigwv2.test.ts b/packages/parser/tests/unit/envelopes/api-gatewayv2.test.ts similarity index 97% rename from packages/parser/tests/unit/envelopes/apigwv2.test.ts rename to packages/parser/tests/unit/envelopes/api-gatewayv2.test.ts index ffd2d890ef..99f90373a0 100644 --- a/packages/parser/tests/unit/envelopes/apigwv2.test.ts +++ b/packages/parser/tests/unit/envelopes/api-gatewayv2.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { ApiGatewayV2Envelope } from '../../../src/envelopes/index.js'; +import { ApiGatewayV2Envelope } from '../../../src/envelopes/api-gatewayv2.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { APIGatewayProxyEventV2 } from '../../../src/types/schema.js'; diff --git a/packages/parser/tests/unit/envelopes/cloudwatch.test.ts b/packages/parser/tests/unit/envelopes/cloudwatch.test.ts index 98f907724c..4e617e088d 100644 --- a/packages/parser/tests/unit/envelopes/cloudwatch.test.ts +++ b/packages/parser/tests/unit/envelopes/cloudwatch.test.ts @@ -2,7 +2,7 @@ import { gunzipSync, gzipSync } from 'node:zlib'; import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; import { ParseError } from '../../../src'; -import { CloudWatchEnvelope } from '../../../src/envelopes/index.js'; +import { CloudWatchEnvelope } from '../../../src/envelopes/cloudwatch.js'; import { DecompressError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import { getTestEvent } from '../helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/dynamodb.test.ts b/packages/parser/tests/unit/envelopes/dynamodb.test.ts index 4c5a3dccaa..3eb745bc8b 100644 --- a/packages/parser/tests/unit/envelopes/dynamodb.test.ts +++ b/packages/parser/tests/unit/envelopes/dynamodb.test.ts @@ -1,7 +1,7 @@ import { marshall } from '@aws-sdk/util-dynamodb'; import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { DynamoDBStreamEnvelope } from '../../../src/envelopes/index.js'; +import { DynamoDBStreamEnvelope } from '../../../src/envelopes/dynamodb.js'; import { ParseError } from '../../../src/errors.js'; import type { DynamoDBStreamEvent } from '../../../src/types/schema.js'; import { getTestEvent } from '../helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/eventbridge.test.ts b/packages/parser/tests/unit/envelopes/event-bridge.test.ts similarity index 97% rename from packages/parser/tests/unit/envelopes/eventbridge.test.ts rename to packages/parser/tests/unit/envelopes/event-bridge.test.ts index 7dbd0c5ede..25137e39ad 100644 --- a/packages/parser/tests/unit/envelopes/eventbridge.test.ts +++ b/packages/parser/tests/unit/envelopes/event-bridge.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { EventBridgeEnvelope } from '../../../src/envelopes/index.js'; +import { EventBridgeEnvelope } from '../../../src/envelopes/eventbridge.js'; import { ParseError } from '../../../src/errors.js'; import type { EventBridgeEvent } from '../../../src/types/schema.js'; import { getTestEvent, omit } from '../helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/kafka.test.ts b/packages/parser/tests/unit/envelopes/kafka.test.ts index 5641eedbd6..70df419978 100644 --- a/packages/parser/tests/unit/envelopes/kafka.test.ts +++ b/packages/parser/tests/unit/envelopes/kafka.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { KafkaEnvelope } from '../../../src/envelopes/index.js'; +import { KafkaEnvelope } from '../../../src/envelopes/kafka.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import { getTestEvent } from '../helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/kinesis-firehose.test.ts b/packages/parser/tests/unit/envelopes/kinesis-firehose.test.ts index 7d103d14a2..bf5476c412 100644 --- a/packages/parser/tests/unit/envelopes/kinesis-firehose.test.ts +++ b/packages/parser/tests/unit/envelopes/kinesis-firehose.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { KinesisFirehoseEnvelope } from '../../../src/envelopes/index.js'; +import { KinesisFirehoseEnvelope } from '../../../src/envelopes/kinesis-firehose.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { diff --git a/packages/parser/tests/unit/envelopes/kinesis.test.ts b/packages/parser/tests/unit/envelopes/kinesis.test.ts index b476c874ec..57ae688888 100644 --- a/packages/parser/tests/unit/envelopes/kinesis.test.ts +++ b/packages/parser/tests/unit/envelopes/kinesis.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { KinesisEnvelope } from '../../../src/envelopes/index.js'; +import { KinesisEnvelope } from '../../../src/envelopes/kinesis.js'; import { ParseError } from '../../../src/errors.js'; import type { KinesisDataStreamEvent } from '../../../src/types/schema.js'; import { getTestEvent } from '../helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/lambda.test.ts b/packages/parser/tests/unit/envelopes/lambda.test.ts index 2a200388ae..ff5f954a74 100644 --- a/packages/parser/tests/unit/envelopes/lambda.test.ts +++ b/packages/parser/tests/unit/envelopes/lambda.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; import { ParseError } from '../../../src'; -import { LambdaFunctionUrlEnvelope } from '../../../src/envelopes/index.js'; +import { LambdaFunctionUrlEnvelope } from '../../../src/envelopes/lambda.js'; import { JSONStringified } from '../../../src/helpers'; import type { LambdaFunctionUrlEvent } from '../../../src/types'; import { getTestEvent, omit } from '../helpers/utils.js'; diff --git a/packages/parser/tests/unit/envelopes/snssqs.test.ts b/packages/parser/tests/unit/envelopes/sns-sqs.test.ts similarity index 99% rename from packages/parser/tests/unit/envelopes/snssqs.test.ts rename to packages/parser/tests/unit/envelopes/sns-sqs.test.ts index 3a65ed758b..93c193a227 100644 --- a/packages/parser/tests/unit/envelopes/snssqs.test.ts +++ b/packages/parser/tests/unit/envelopes/sns-sqs.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { SnsSqsEnvelope } from '../../../src/envelopes/snssqs.js'; +import { SnsSqsEnvelope } from '../../../src/envelopes/sns-sqs.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { SqsEvent } from '../../../src/types/schema.js'; diff --git a/packages/parser/tests/unit/envelopes/vpc-lattice.test.ts b/packages/parser/tests/unit/envelopes/vpc-lattice.test.ts index b99430d5c5..9a77317d81 100644 --- a/packages/parser/tests/unit/envelopes/vpc-lattice.test.ts +++ b/packages/parser/tests/unit/envelopes/vpc-lattice.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { VpcLatticeEnvelope } from '../../../src/envelopes/index.js'; +import { VpcLatticeEnvelope } from '../../../src/envelopes/vpc-lattice.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { VpcLatticeEvent } from '../../../src/types/index.js'; diff --git a/packages/parser/tests/unit/envelopes/vpc-latticev2.test.ts b/packages/parser/tests/unit/envelopes/vpc-latticev2.test.ts index a4c1b10f83..a3097b741e 100644 --- a/packages/parser/tests/unit/envelopes/vpc-latticev2.test.ts +++ b/packages/parser/tests/unit/envelopes/vpc-latticev2.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { VpcLatticeV2Envelope } from '../../../src/envelopes/index.js'; +import { VpcLatticeV2Envelope } from '../../../src/envelopes/vpc-latticev2.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { VpcLatticeEventV2 } from '../../../src/types/index.js'; diff --git a/packages/parser/tests/unit/parser.decorator.test.ts b/packages/parser/tests/unit/parser.decorator.test.ts index 1b843e8ecb..48a647736e 100644 --- a/packages/parser/tests/unit/parser.decorator.test.ts +++ b/packages/parser/tests/unit/parser.decorator.test.ts @@ -2,7 +2,7 @@ import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; import type { Context } from 'aws-lambda'; import { describe, expect, it } from 'vitest'; import { type ZodSchema, z } from 'zod'; -import { EventBridgeEnvelope } from '../../src/envelopes/index.js'; +import { EventBridgeEnvelope } from '../../src/envelopes/eventbridge.js'; import { ParseError } from '../../src/errors.js'; import { parser } from '../../src/index.js'; import { EventBridgeSchema } from '../../src/schemas/index.js'; diff --git a/packages/parser/tests/unit/parser.middy.test.ts b/packages/parser/tests/unit/parser.middy.test.ts index 8fd9dcafb2..c6bfdb34cc 100644 --- a/packages/parser/tests/unit/parser.middy.test.ts +++ b/packages/parser/tests/unit/parser.middy.test.ts @@ -2,7 +2,7 @@ import middy from '@middy/core'; import type { Context } from 'aws-lambda'; import { describe, expect, it } from 'vitest'; import { z } from 'zod'; -import { EventBridgeEnvelope } from '../../src/envelopes/event-bridge.js'; +import { EventBridgeEnvelope } from '../../src/envelopes/eventbridge.js'; import { SqsEnvelope } from '../../src/envelopes/sqs.js'; import { ParseError } from '../../src/errors.js'; import { parser } from '../../src/middleware/parser.js'; @@ -107,7 +107,7 @@ describe('Middleware: parser', () => { const result = await middy() .use(parser({ schema: schema, safeParse: true })) .handler((event) => event)( - event as unknown as ParsedResult>, + event as unknown as ParsedResult>, {} as Context ); @@ -126,7 +126,7 @@ describe('Middleware: parser', () => { const result = await middy() .use(parser({ schema: z.string(), safeParse: true })) .handler((event) => event)( - event as unknown as ParsedResult, + event as unknown as ParsedResult, {} as Context ); From 064d6bbeb09477c93cbc0383fe976d5c087b56b6 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 13 Feb 2025 12:58:10 +0100 Subject: [PATCH 3/6] chore(parser): export types for all exported schemas --- packages/parser/src/types/index.ts | 13 ++++++++++ packages/parser/src/types/schema.ts | 40 +++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/packages/parser/src/types/index.ts b/packages/parser/src/types/index.ts index 924698b278..459cc88758 100644 --- a/packages/parser/src/types/index.ts +++ b/packages/parser/src/types/index.ts @@ -10,34 +10,47 @@ export type { Envelope } from './envelope.js'; export type { ALBEvent, ALBMultiValueHeadersEvent, + APIGatewayEventRequestContext, APIGatewayProxyEvent, APIGatewayProxyEventV2, + APIGatewayRequestAuthorizerEvent, APIGatewayRequestAuthorizerV2, APIGatewayRequestContextV2, + APIGatewayTokenAuthorizerEvent, AppSyncBatchResolverEvent, AppSyncResolverEvent, CloudFormationCustomResourceCreateEvent, CloudFormationCustomResourceDeleteEvent, CloudFormationCustomResourceUpdateEvent, + CloudWatchLogEvent, + CloudWatchLogsDecode, CloudWatchLogsEvent, DynamoDBStreamEvent, DynamoDBStreamToKinesisRecordEvent, EventBridgeEvent, KafkaMskEvent, + KafkaRecord, KafkaSelfManagedEvent, KinesisDataStreamEvent, + KinesisDataStreamRecordEvent, KinesisDynamoDBStreamEvent, KinesisFireHoseEvent, + KinesisFirehoseRecord, KinesisFireHoseSqsEvent, + KinesisFirehoseSqsRecord, LambdaFunctionUrlEvent, S3Event, S3EventNotificationEventBridge, S3ObjectLambdaEvent, S3SqsEventNotification, SesEvent, + SesRecord, SnsEvent, + SnsNotification, + SnsRecord, SnsSqsNotification, SqsEvent, + SqsRecord, TransferFamilyEvent, VpcLatticeEvent, VpcLatticeEventV2, diff --git a/packages/parser/src/types/schema.ts b/packages/parser/src/types/schema.ts index 37395bc994..fb58f39835 100644 --- a/packages/parser/src/types/schema.ts +++ b/packages/parser/src/types/schema.ts @@ -1,9 +1,12 @@ import type { z } from 'zod'; import type { + APIGatewayEventRequestContextSchema, APIGatewayProxyEventSchema, APIGatewayProxyEventV2Schema, + APIGatewayRequestAuthorizerEventSchema, APIGatewayRequestAuthorizerV2Schema, APIGatewayRequestContextV2Schema, + APIGatewayTokenAuthorizerEventSchema, AlbMultiValueHeadersSchema, AlbSchema, AppSyncBatchResolverSchema, @@ -11,6 +14,8 @@ import type { CloudFormationCustomResourceCreateSchema, CloudFormationCustomResourceDeleteSchema, CloudFormationCustomResourceUpdateSchema, + CloudWatchLogEventSchema, + CloudWatchLogsDecodeSchema, CloudWatchLogsSchema, DynamoDBStreamSchema, DynamoDBStreamToKinesisRecord, @@ -18,6 +23,7 @@ import type { KafkaMskEventSchema, KafkaRecordSchema, KafkaSelfManagedEventSchema, + KinesisDataStreamRecord, KinesisDataStreamSchema, KinesisDynamoDBStreamSchema, KinesisFirehoseRecordSchema, @@ -48,6 +54,18 @@ type ALBMultiValueHeadersEvent = z.infer; type APIGatewayProxyEvent = z.infer; +type APIGatewayRequestAuthorizerEvent = z.infer< + typeof APIGatewayRequestAuthorizerEventSchema +>; + +type APIGatewayTokenAuthorizerEvent = z.infer< + typeof APIGatewayTokenAuthorizerEventSchema +>; + +type APIGatewayEventRequestContext = z.infer< + typeof APIGatewayEventRequestContextSchema +>; + type APIGatewayProxyEventV2 = z.infer; type APIGatewayRequestAuthorizerV2 = z.infer< @@ -62,6 +80,10 @@ type AppSyncResolverEvent = z.infer; type AppSyncBatchResolverEvent = z.infer; +type CloudWatchLogEvent = z.infer; + +type CloudWatchLogsDecode = z.infer; + type CloudFormationCustomResourceCreateEvent = z.infer< typeof CloudFormationCustomResourceCreateSchema >; @@ -94,6 +116,8 @@ type KinesisDataStreamEvent = z.infer; type KinesisDynamoDBStreamEvent = z.infer; +type KinesisDataStreamRecordEvent = z.infer; + type KinesisFireHoseEvent = z.infer; type KinesisFirehoseRecord = z.infer; @@ -139,39 +163,45 @@ type VpcLatticeEventV2 = z.infer; export type { ALBEvent, ALBMultiValueHeadersEvent, + APIGatewayEventRequestContext, APIGatewayProxyEvent, APIGatewayProxyEventV2, + APIGatewayRequestAuthorizerEvent, APIGatewayRequestAuthorizerV2, APIGatewayRequestContextV2, - AppSyncResolverEvent, + APIGatewayTokenAuthorizerEvent, AppSyncBatchResolverEvent, + AppSyncResolverEvent, CloudFormationCustomResourceCreateEvent, CloudFormationCustomResourceDeleteEvent, CloudFormationCustomResourceUpdateEvent, + CloudWatchLogEvent, + CloudWatchLogsDecode, CloudWatchLogsEvent, DynamoDBStreamEvent, DynamoDBStreamToKinesisRecordEvent, EventBridgeEvent, - KafkaSelfManagedEvent, KafkaMskEvent, KafkaRecord, + KafkaSelfManagedEvent, KinesisDataStreamEvent, + KinesisDataStreamRecordEvent, KinesisDynamoDBStreamEvent, KinesisFireHoseEvent, - KinesisFirehoseRecord, KinesisFireHoseSqsEvent, + KinesisFirehoseRecord, KinesisFirehoseSqsRecord, LambdaFunctionUrlEvent, S3Event, S3EventNotificationEventBridge, - S3SqsEventNotification, S3ObjectLambdaEvent, + S3SqsEventNotification, SesEvent, SesRecord, SnsEvent, - SnsSqsNotification, SnsNotification, SnsRecord, + SnsSqsNotification, SqsEvent, SqsRecord, TransferFamilyEvent, From a4a5bb4d22de883cb5fd7bd96e4ab33541e54186 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 13 Feb 2025 13:35:05 +0100 Subject: [PATCH 4/6] chore(parser): add back indext.ts as it might break customer imports that already rely on that. --- packages/parser/src/envelopes/index.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 packages/parser/src/envelopes/index.ts diff --git a/packages/parser/src/envelopes/index.ts b/packages/parser/src/envelopes/index.ts new file mode 100644 index 0000000000..5e42fb172c --- /dev/null +++ b/packages/parser/src/envelopes/index.ts @@ -0,0 +1,14 @@ +export { ApiGatewayEnvelope } from './api-gateway.js'; +export { ApiGatewayV2Envelope } from './api-gatewayv2.js'; +export { CloudWatchEnvelope } from './cloudwatch.js'; +export { DynamoDBStreamEnvelope } from './dynamodb.js'; +export { EventBridgeEnvelope } from './eventbridge.js'; +export { KafkaEnvelope } from './kafka.js'; +export { KinesisFirehoseEnvelope } from './kinesis-firehose.js'; +export { KinesisEnvelope } from './kinesis.js'; +export { LambdaFunctionUrlEnvelope } from './lambda.js'; +export { SnsSqsEnvelope } from './sns-sqs.js'; +export { SnsEnvelope } from './sns.js'; +export { SqsEnvelope } from './sqs.js'; +export { VpcLatticeEnvelope } from './vpc-lattice.js'; +export { VpcLatticeV2Envelope } from './vpc-latticev2.js'; From 7c1cd4b2d611811aa06090691b56788356eb1595 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 13 Feb 2025 13:41:56 +0100 Subject: [PATCH 5/6] chore: import from index to cheat coverage --- packages/parser/tests/unit/schema/alb.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/parser/tests/unit/schema/alb.test.ts b/packages/parser/tests/unit/schema/alb.test.ts index 8e5a481415..1b038fdf45 100644 --- a/packages/parser/tests/unit/schema/alb.test.ts +++ b/packages/parser/tests/unit/schema/alb.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { AlbSchema } from '../../../src/schemas/alb.js'; +import { AlbSchema } from '../../../src/schemas/index.js'; import type { ALBEvent } from '../../../src/types/schema.js'; import { getTestEvent, omit } from '../helpers/utils.js'; From 9ed41eee84b64beaef0f52f38f8593b7da2c472a Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 13 Feb 2025 13:42:47 +0100 Subject: [PATCH 6/6] chore: another index import --- packages/parser/tests/unit/envelopes/api-gateway.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/parser/tests/unit/envelopes/api-gateway.test.ts b/packages/parser/tests/unit/envelopes/api-gateway.test.ts index bc467958b5..275d9d7c1b 100644 --- a/packages/parser/tests/unit/envelopes/api-gateway.test.ts +++ b/packages/parser/tests/unit/envelopes/api-gateway.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; import { ZodError, z } from 'zod'; -import { ApiGatewayEnvelope } from '../../../src/envelopes/api-gateway.js'; +import { ApiGatewayEnvelope } from '../../../src/envelopes/index.js'; import { ParseError } from '../../../src/errors.js'; import { JSONStringified } from '../../../src/helpers.js'; import type { APIGatewayProxyEvent } from '../../../src/types/schema.js';