Modernize dependencies and replace reflect-metadata#81
Open
breath103 wants to merge 3 commits into
Open
Conversation
- Update Node.js to v24, CI actions to v4 - Migrate aws-sdk v2 → @aws-sdk v3 (client-dynamodb, lib-dynamodb) - Replace .promise() pattern with command pattern (send/Command) - Update TypeScript to 5.8, target es2022 - Migrate ESLint to v9 flat config (eslint.config.mjs) - Replace faker with @faker-js/faker - Update semantic-release, mocha, and other dev deps - Add scripts/ for build, lint, and typecheck commands Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add TypeScript transformer (transformer/index.js) that injects type info into @Attribute() calls at compile time via ts-patch - Remove dependency on reflect-metadata and emitDecoratorMetadata - @Attribute() public id!: number still works — the transformer reads the type annotation and passes it as __type to the decorator - Falls back to Reflect.getMetadata for legacy setups - Export transformer as @serverless-seoul/dynamorm/transformer for consumers to use in their own tsconfig plugins - Update build scripts to use tspc instead of tsc Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@aws-sdk/client-dynamodb+@aws-sdk/lib-dynamodbcommand pattern.eslintrcwitheslint.config.mjs, upgradetypescript-eslintto v8reflect-metadatawith a compile-time TypeScript transformer (ts-patch) that injects type info into@Attribute()calls —@Attribute() public id!: numberstill works, no runtime reflection neededfaker→@faker-js/faker,mocha11,semantic-release24,chai4.5scripts/for build, lint, and typecheck commandsTest plan
__typeinto compiled outputts-patch+ transformer plugin🤖 Generated with Claude Code