Skip to content

Commit b348b95

Browse files
authored
chore(parser): add parser subpath exports to package.json (#2179)
* add exports and type version to package json, including index.js * use index.js as import for coverage * use package lock from main * fix envelope path and add types to exports * use explicit exports instead of * * import type * make export types explicit * adjust imports in tests for coverage, removed unused exports * remove duplicate imports
1 parent a9f5d79 commit b348b95

39 files changed

+4029
-2366
lines changed

Diff for: package-lock.json

+3,872-2,316
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: packages/parser/package.json

+36
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,42 @@
3737
"types": "./lib/esm/index.d.ts",
3838
"default": "./lib/esm/index.js"
3939
}
40+
},
41+
"./middleware": {
42+
"require": "./lib/cjs/middleware/parser.js",
43+
"import": "./lib/esm/middleware/parser.js"
44+
},
45+
"./schemas": {
46+
"require": "./lib/cjs/schemas/index.js",
47+
"import": "./lib/esm/schemas/index.js"
48+
},
49+
"./envelopes": {
50+
"require": "./lib/cjs/envelopes/index.js",
51+
"import": "./lib/esm/envelopes/index.js"
52+
},
53+
"./types": {
54+
"require": "./lib/cjs/types/index.js",
55+
"import": "./lib/esm/types/index.js"
56+
}
57+
},
58+
"typesVersions": {
59+
"*": {
60+
"types": [
61+
"./lib/cjs/types/index.d.ts",
62+
"./lib/esm/types/index.d.ts"
63+
],
64+
"middleware": [
65+
"./lib/cjs/middleware/parser.d.ts",
66+
"./lib/esm/middleware/parser.d.ts"
67+
],
68+
"schemas": [
69+
"./lib/cjs/schemas/index.d.ts",
70+
"./lib/esm/schemas/index.d.ts"
71+
],
72+
"envelopes": [
73+
"./lib/cjs/envelopes/index.d.ts",
74+
"./lib/esm/envelopes/index.d.ts"
75+
]
4076
}
4177
},
4278
"main": "./lib/cjs/index.js",

Diff for: packages/parser/src/envelopes/index.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export { apiGatewayEnvelope } from './apigw.js';
2+
export { apiGatewayV2Envelope } from './apigwv2.js';
3+
export { cloudWatchEnvelope } from './cloudwatch.js';
4+
export { dynamoDDStreamEnvelope } from './dynamodb.js';
5+
export { eventBridgeEnvelope } from './event-bridge.js';
6+
export { kafkaEnvelope } from './kafka.js';
7+
export { kinesisEnvelope } from './kinesis.js';
8+
export { kinesisFirehoseEnvelope } from './kinesis-firehose.js';
9+
export { lambdaFunctionUrlEnvelope } from './lambda.js';
10+
export { snsEnvelope, snsSqsEnvelope } from './sns.js';
11+
export { sqsEnvelope } from './sqs.js';
12+
export { vpcLatticeEnvelope } from './vpc-lattice.js';
13+
export { vpcLatticeV2Envelope } from './vpc-latticev2.js';

Diff for: packages/parser/src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { parser } from './parser.js';

Diff for: packages/parser/src/parser.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import { type ParserOptions } from './types/ParserOptions.js';
3131
*
3232
* @param options
3333
*/
34-
const parser = <S extends ZodSchema>(
34+
export const parser = <S extends ZodSchema>(
3535
options: ParserOptions<S>
3636
): HandlerMethodDecorator => {
3737
return (_target, _propertyKey, descriptor) => {
@@ -55,5 +55,3 @@ const parser = <S extends ZodSchema>(
5555
return descriptor;
5656
};
5757
};
58-
59-
export { parser };

Diff for: packages/parser/src/schemas/index.ts

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
export { AlbSchema, AlbMultiValueHeadersSchema } from './alb.js';
2+
export { APIGatewayProxyEventSchema } from './apigw.js';
3+
export { APIGatewayProxyEventV2Schema } from './apigwv2.js';
4+
export {
5+
CloudFormationCustomResourceCreateSchema,
6+
CloudFormationCustomResourceDeleteSchema,
7+
CloudFormationCustomResourceUpdateSchema,
8+
} from './cloudformation-custom-resource.js';
9+
export {
10+
CloudWatchLogEventSchema,
11+
CloudWatchLogsDecodeSchema,
12+
CloudWatchLogsSchema,
13+
} from './cloudwatch.js';
14+
export { DynamoDBStreamSchema } from './dynamodb.js';
15+
export { EventBridgeSchema } from './eventbridge.js';
16+
export { KafkaMskEventSchema, KafkaSelfManagedEventSchema } from './kafka.js';
17+
export { KinesisDataStreamSchema } from './kinesis.js';
18+
export {
19+
KinesisFirehoseSchema,
20+
KinesisFirehoseSqsSchema,
21+
} from './kinesis-firehose.js';
22+
export { LambdaFunctionUrlSchema } from './lambda.js';
23+
export {
24+
S3SqsEventNotificationSchema,
25+
S3EventNotificationEventBridgeSchema,
26+
S3ObjectLambdaEventSchema,
27+
S3Schema,
28+
} from './s3.js';
29+
export { SesSchema } from './ses.js';
30+
export { SnsSchema } from './sns.js';
31+
export { SqsSchema } from './sqs.js';
32+
export { VpcLatticeSchema } from './vpc-lattice.js';
33+
export { VpcLatticeV2Schema } from './vpc-latticev2.js';

Diff for: packages/parser/src/types/ParserOptions.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import type { ZodSchema } from 'zod';
22
import { Envelope } from './envelope.js';
33

4-
type ParserOptions<S extends ZodSchema> = {
4+
export type ParserOptions<S extends ZodSchema> = {
55
schema: S;
66
envelope?: Envelope;
77
};
8-
9-
export { type ParserOptions };

Diff for: packages/parser/src/types/index.ts

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
export type { ParserOptions } from './ParserOptions.js';
2+
export type { Envelope } from './envelope.js';
3+
4+
export type {
5+
ALBEvent,
6+
APIGatewayProxyEvent,
7+
ALBMultiValueHeadersEvent,
8+
APIGatewayProxyEventV2,
9+
S3Event,
10+
S3EventNotificationEventBridge,
11+
S3SqsEventNotification,
12+
SnsEvent,
13+
SqsEvent,
14+
DynamoDBStreamEvent,
15+
CloudWatchLogsEvent,
16+
CloudFormationCustomResourceCreateEvent,
17+
CloudFormationCustomResourceDeleteEvent,
18+
CloudFormationCustomResourceUpdateEvent,
19+
EventBridgeEvent,
20+
KafkaSelfManagedEvent,
21+
KafkaMskEvent,
22+
KinesisDataStreamEvent,
23+
KinesisDataStreamRecord,
24+
KinesisDataStreamRecordPayload,
25+
KinesisFireHoseEvent,
26+
KinesisFireHoseSqsEvent,
27+
LambdaFunctionUrlEvent,
28+
SesEvent,
29+
VpcLatticeEvent,
30+
VpcLatticeEventV2,
31+
} from './schema.js';

Diff for: packages/parser/tests/unit/envelopes/apigwt.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
import { generateMock } from '@anatine/zod-mock';
88
import { TestEvents, TestSchema } from '../schema/utils.js';
9-
import { APIGatewayProxyEvent } from '../../../src/types/schema.js';
10-
import { apiGatewayEnvelope } from '../../../src/envelopes/apigw';
9+
import { APIGatewayProxyEvent } from '../../../src/types/';
10+
import { apiGatewayEnvelope } from '../../../src/envelopes/';
1111

1212
describe('ApigwEnvelope ', () => {
1313
it('should parse custom schema in envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/apigwv2.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { TestEvents, TestSchema } from '../schema/utils.js';
88
import { generateMock } from '@anatine/zod-mock';
99
import { APIGatewayProxyEventV2 } from 'aws-lambda';
10-
import { apiGatewayV2Envelope } from '../../../src/envelopes/apigwv2';
10+
import { apiGatewayV2Envelope } from '../../../src/envelopes/';
1111

1212
describe('ApiGwV2Envelope ', () => {
1313
it('should parse custom schema in envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/cloudwatch.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import { gzipSync } from 'node:zlib';
99
import {
1010
CloudWatchLogEventSchema,
1111
CloudWatchLogsDecodeSchema,
12-
} from '../../../src/schemas/cloudwatch.js';
12+
} from '../../../src/schemas/';
1313
import { TestSchema } from '../schema/utils.js';
14-
import { cloudWatchEnvelope } from '../../../src/envelopes/cloudwatch';
14+
import { cloudWatchEnvelope } from '../../../src/envelopes/';
1515

1616
describe('CloudWatch', () => {
1717
it('should parse custom schema in envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/dynamodb.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { generateMock } from '@anatine/zod-mock';
88
import { TestEvents } from '../schema/utils.js';
99
import { DynamoDBStreamEvent } from 'aws-lambda';
1010
import { z } from 'zod';
11-
import { dynamoDDStreamEnvelope } from '../../../src/envelopes/dynamodb';
11+
import { dynamoDDStreamEnvelope } from '../../../src/envelopes/';
1212

1313
describe('DynamoDB', () => {
1414
const schema = z.object({

Diff for: packages/parser/tests/unit/envelopes/eventbridge.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { TestEvents, TestSchema } from '../schema/utils.js';
88
import { generateMock } from '@anatine/zod-mock';
99
import { EventBridgeEvent } from 'aws-lambda';
10-
import { eventBridgeEnvelope } from '../../../src/envelopes/event-bridge.js';
10+
import { eventBridgeEnvelope } from '../../../src/envelopes/';
1111

1212
describe('EventBridgeEnvelope ', () => {
1313
it('should parse eventbridge event', () => {

Diff for: packages/parser/tests/unit/envelopes/kafka.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { generateMock } from '@anatine/zod-mock';
88
import { TestEvents, TestSchema } from '../schema/utils.js';
99
import { MSKEvent, SelfManagedKafkaEvent } from 'aws-lambda';
10-
import { kafkaEnvelope } from '../../../src/envelopes/kafka';
10+
import { kafkaEnvelope } from '../../../src/envelopes/';
1111

1212
describe('Kafka', () => {
1313
it('should parse MSK kafka envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/kinesis-firehose.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
import { TestEvents, TestSchema } from '../schema/utils.js';
88
import { generateMock } from '@anatine/zod-mock';
9-
import { KinesisFirehoseSchema } from '../../../src/schemas/kinesis-firehose.js';
9+
import { KinesisFirehoseSchema } from '../../../src/schemas/';
1010
import { z } from 'zod';
11-
import { kinesisFirehoseEnvelope } from '../../../src/envelopes/kinesis-firehose';
11+
import { kinesisFirehoseEnvelope } from '../../../src/envelopes/';
1212

1313
describe('Kinesis Firehose Envelope', () => {
1414
it('should parse records for PutEvent', () => {

Diff for: packages/parser/tests/unit/envelopes/kinesis.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { generateMock } from '@anatine/zod-mock';
88
import { KinesisStreamEvent } from 'aws-lambda';
99
import { TestEvents, TestSchema } from '../schema/utils.js';
10-
import { kinesisEnvelope } from '../../../src/envelopes/kinesis';
10+
import { kinesisEnvelope } from '../../../src/envelopes/';
1111

1212
describe('Kinesis', () => {
1313
it('should parse Kinesis Stream event', () => {

Diff for: packages/parser/tests/unit/envelopes/lambda.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { TestEvents, TestSchema } from '../schema/utils.js';
88
import { generateMock } from '@anatine/zod-mock';
99
import { APIGatewayProxyEventV2 } from 'aws-lambda';
10-
import { lambdaFunctionUrlEnvelope } from '../../../src/envelopes/lambda';
10+
import { lambdaFunctionUrlEnvelope } from '../../../src/envelopes/';
1111

1212
describe('Lambda Functions Url ', () => {
1313
it('should parse custom schema in envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/sns.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { z } from 'zod';
88
import { generateMock } from '@anatine/zod-mock';
99
import { SNSEvent, SQSEvent } from 'aws-lambda';
1010
import { TestEvents, TestSchema } from '../schema/utils.js';
11-
import { snsEnvelope, snsSqsEnvelope } from '../../../src/envelopes/sns';
11+
import { snsEnvelope, snsSqsEnvelope } from '../../../src/envelopes/';
1212

1313
describe('SNS Envelope', () => {
1414
it('should parse custom schema in envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/sqs.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { generateMock } from '@anatine/zod-mock';
88
import { TestEvents, TestSchema } from '../schema/utils.js';
99
import { SQSEvent } from 'aws-lambda';
10-
import { sqsEnvelope } from '../../../src/envelopes/sqs';
10+
import { sqsEnvelope } from '../../../src/envelopes/';
1111

1212
describe('SqsEnvelope ', () => {
1313
it('should parse custom schema in envelope', () => {

Diff for: packages/parser/tests/unit/envelopes/vpc-lattice.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
import { generateMock } from '@anatine/zod-mock';
88
import { TestEvents, TestSchema } from '../schema/utils.js';
9-
import { VpcLatticeSchema } from '../../../src/schemas/vpc-lattice.js';
9+
import { VpcLatticeSchema } from '../../../src/schemas/';
1010
import { z } from 'zod';
11-
import { vpcLatticeEnvelope } from '../../../src/envelopes/vpc-lattice';
11+
import { vpcLatticeEnvelope } from '../../../src/envelopes/';
1212

1313
describe('VPC Lattice envelope', () => {
1414
it('should parse VPC Lattice event', () => {

Diff for: packages/parser/tests/unit/envelopes/vpc-latticev2.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
*/
66

77
import { generateMock } from '@anatine/zod-mock';
8-
import { VpcLatticeSchema } from '../../../src/schemas/vpc-lattice.js';
8+
import { VpcLatticeSchema } from '../../../src/schemas/';
99
import { z } from 'zod';
1010
import { TestEvents, TestSchema } from '../schema/utils.js';
11-
import { vpcLatticeV2Envelope } from '../../../src/envelopes/vpc-latticev2';
11+
import { vpcLatticeV2Envelope } from '../../../src/envelopes/';
1212

1313
describe('VPC Lattice envelope', () => {
1414
it('should parse VPC Lattice event', () => {

Diff for: packages/parser/tests/unit/parser.decorator.test.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
* @group unit/parser
55
*/
66

7-
import { LambdaInterface } from '@aws-lambda-powertools/commons/lib/esm/types';
7+
import type { LambdaInterface } from '@aws-lambda-powertools/commons/lib/esm/types';
88
import { Context, EventBridgeEvent } from 'aws-lambda';
9-
import { parser } from '../../src/parser';
9+
import { parser } from '../../src/index.js';
1010
import { TestSchema, TestEvents } from './schema/utils';
1111
import { generateMock } from '@anatine/zod-mock';
12-
import { eventBridgeEnvelope } from '../../src/envelopes/event-bridge';
13-
import { EventBridgeSchema } from '../../src/schemas/eventbridge';
12+
import { eventBridgeEnvelope } from '../../src/envelopes/index.js';
13+
import { EventBridgeSchema } from '../../src/schemas/index.js';
1414
import { z } from 'zod';
1515

1616
describe('Parser Decorator', () => {

Diff for: packages/parser/tests/unit/parser.middy.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import middy from '@middy/core';
88
import { Context } from 'aws-lambda';
99
import { parser } from '../../src/middleware/parser.js';
1010
import { generateMock } from '@anatine/zod-mock';
11-
import { SqsSchema } from '../../src/schemas/sqs.js';
11+
import { SqsSchema } from '../../src/schemas/index.js';
1212
import { z, type ZodSchema } from 'zod';
13-
import { sqsEnvelope } from '../../src/envelopes/sqs';
13+
import { sqsEnvelope } from '../../src/envelopes/index.js';
1414
import { TestSchema } from './schema/utils';
1515

1616
describe('Middleware: parser', () => {

Diff for: packages/parser/tests/unit/schema/alb.test.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
*
44
* @group unit/parser/schema/
55
*/
6-
import {
7-
AlbSchema,
8-
AlbMultiValueHeadersSchema,
9-
} from '../../../src/schemas/alb.js';
6+
import { AlbSchema, AlbMultiValueHeadersSchema } from '../../../src/schemas/';
107
import { TestEvents } from './utils.js';
118

129
describe('ALB ', () => {

Diff for: packages/parser/tests/unit/schema/apigw.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @group unit/parser/schema/
55
*/
66

7-
import { APIGatewayProxyEventSchema } from '../../../src/schemas/apigw.js';
7+
import { APIGatewayProxyEventSchema } from '../../../src/schemas/';
88
import { TestEvents } from './utils.js';
99

1010
describe('APIGateway ', () => {

Diff for: packages/parser/tests/unit/schema/apigwv2.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @group unit/parser/schema/
55
*/
66

7-
import { APIGatewayProxyEventV2Schema } from '../../../src/schemas/apigwv2.js';
7+
import { APIGatewayProxyEventV2Schema } from '../../../src/schemas/';
88
import { TestEvents } from './utils.js';
99

1010
describe('API GW v2 ', () => {

Diff for: packages/parser/tests/unit/schema/cloudformation-custom-resource.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
CloudFormationCustomResourceCreateSchema,
99
CloudFormationCustomResourceUpdateSchema,
1010
CloudFormationCustomResourceDeleteSchema,
11-
} from '../../../src/schemas/cloudformation-custom-resource.js';
11+
} from '../../../src/schemas/';
1212
import { TestEvents } from './utils.js';
1313

1414
describe('CloudFormationCustomResource ', () => {

Diff for: packages/parser/tests/unit/schema/cloudwatch.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @group unit/parser/schema/
55
*/
66

7-
import { CloudWatchLogsSchema } from '../../../src/schemas/cloudwatch.js';
7+
import { CloudWatchLogsSchema } from '../../../src/schemas/';
88
import { TestEvents } from './utils.js';
99

1010
describe('CloudWatchLogs ', () => {

Diff for: packages/parser/tests/unit/schema/dynamodb.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @group unit/parser/schema/
55
*/
66

7-
import { DynamoDBStreamSchema } from '../../../src/schemas/dynamodb.js';
7+
import { DynamoDBStreamSchema } from '../../../src/schemas/';
88
import { TestEvents } from './utils.js';
99

1010
describe('DynamoDB ', () => {

Diff for: packages/parser/tests/unit/schema/eventbridge.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @group unit/parser/schema/
55
*/
66

7-
import { EventBridgeSchema } from '../../../src/schemas/eventbridge.js';
7+
import { EventBridgeSchema } from '../../../src/schemas/';
88
import { TestEvents } from './utils.js';
99

1010
describe('EventBridge ', () => {

Diff for: packages/parser/tests/unit/schema/kafka.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import {
88
KafkaMskEventSchema,
99
KafkaSelfManagedEventSchema,
10-
} from '../../../src/schemas/kafka.js';
10+
} from '../../../src/schemas/';
1111
import { TestEvents } from './utils.js';
1212

1313
describe('Kafka ', () => {

0 commit comments

Comments
 (0)