generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 90
chore: upgrade aws-sdk to 3 for ddb util mock #3337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
svidgen
merged 33 commits into
release-api-plugin-stable
from
wirej/aws-sdk-v3-amplify-category-api
Sep 25, 2025
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
8853dfb
chore: add Q's migration plan
svidgen 3d93089
Merge branch 'release-api-plugin-stable' into wirej/gen1-migrate-aws-sdk
svidgen 40d746f
chore: q self-instructions
svidgen a106b62
chore: more q context
svidgen 29cdf93
chore: q discovery
svidgen 3de734d
feat: migrate amplify-category-api SSM client to AWS SDK v3
svidgen 5c35def
chore: q todo update
svidgen 102cbcb
chore: teaching q to run e2e tests and monitor status ...
svidgen 6868920
chore: fixes to q instructions for failed build retries, cleanse acco…
svidgen f80900b
fix(amplify-category-api-e2e-tests): update AppSync error message format
svidgen a97e7ef
chore: q updated todos
svidgen 9ca2eb6
Revert "feat: migrate amplify-category-api SSM client to AWS SDK v3"
svidgen 370fd9f
chore: migrate DynamoDB utilities from AWS SDK v2 to v3
svidgen 577b216
chore: add reminder to use say command for status updates
svidgen aca6201
chore: fix import syntax and add e2e workflow documentation
svidgen 7b090c8
fix: update e2e utils to use proper SDK v3 DynamoDB client
svidgen 08efa03
chore: fix whitespace formatting in e2e utils
svidgen 7bff046
chore: fixing some Q garbage
svidgen 00ccfc0
feat: enhance e2e test manager with list, failed, and logs commands
svidgen 6c5c7de
feat: add branch information to e2e-list command
svidgen 9d0c5e8
feat: increase default e2e-list limit to 20 batches
svidgen 7d19d8f
feat: add e2e/canary filtering to e2e-list command
svidgen 0d37b50
chore: fix test error message handling
svidgen 9bbe371
Merge remote-tracking branch 'origin/release-api-plugin-stable' into …
svidgen daa9fc3
chore: updated dependency_licenses.txt
svidgen 3f9c981
chore: update TODO status after successful parent branch merge and te…
svidgen 32e6a29
refactor: use aws-sdk-client-mock-jest matchers for cleaner test asse…
svidgen 80a4b7a
feat: migrate dynamoEmulator getClient to AWS SDK v3
svidgen 4460d65
Revert "feat: migrate dynamoEmulator getClient to AWS SDK v3"
svidgen 582c84d
feat: remove AWS SDK v2 dependencies from amplify-util-mock
svidgen dbc976b
fix: update dependency licenses and yarn.lock after AWS SDK v2 removal
svidgen 5691981
chore: fix q docs to use ada --once
svidgen 9a77495
chore: prettier
svidgen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # Q Workspace | ||
|
|
||
| This directory contains Amazon Q's working files for task management, design documentation, and context preservation. | ||
|
|
||
| ## Structure | ||
|
|
||
| ### `/tasks/` | ||
|
|
||
| Individual task files with detailed requirements, progress, and implementation notes. | ||
|
|
||
| - Format: `TASK-001-brief-description.md` | ||
| - Contains: Requirements, approach, progress, blockers | ||
|
|
||
| ### `/designs/` | ||
|
|
||
| Design documents for complex features or architectural decisions. | ||
|
|
||
| - Format: `DESIGN-feature-name.md` | ||
| - Contains: Problem statement, options analysis, diagrams, decisions | ||
| - Uses Mermaid diagrams for GitHub compatibility | ||
|
|
||
| ### `/context/` | ||
|
|
||
| Context snapshots for managing session boundaries. | ||
|
|
||
| - Format: `CONTEXT-YYYY-MM-DD-session-name.md` | ||
| - Contains: Current state, key decisions, handoff notes | ||
|
|
||
| ## Usage Patterns | ||
|
|
||
| ### Before Complex Tasks | ||
|
|
||
| 1. Create design document in `/designs/` | ||
| 2. Review with user before implementation | ||
| 3. Break into discrete tasks in `/tasks/` | ||
|
|
||
| ### Context Management | ||
|
|
||
| 1. Save context snapshots before limits | ||
| 2. Reference previous contexts when resuming | ||
| 3. Update task files with progress | ||
|
|
||
| ### Task Lifecycle | ||
|
|
||
| 1. Create task file with requirements | ||
| 2. Update with progress and decisions | ||
| 3. Mark complete and archive learnings | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,198 @@ | ||
| { | ||
| "analysis_date": "2025-09-12", | ||
| "packages": [ | ||
| { | ||
| "name": "amplify-util-mock", | ||
| "path": "packages/amplify-util-mock", | ||
| "migration_status": "v2_only", | ||
| "priority": "high", | ||
| "dependencies": { | ||
| "aws-sdk": "^2.1113.0" | ||
| }, | ||
| "devDependencies": { | ||
| "aws-sdk": "^2.1113.0", | ||
| "aws-sdk-mock": "^5.6.2" | ||
| }, | ||
| "services_used": ["dynamodb"], | ||
| "usage_patterns": [ | ||
| "DynamoDB client instantiation", | ||
| "Promise-based API (.promise())", | ||
| "Table operations (describeTable, listTables)", | ||
| "Test utilities and mocking" | ||
| ], | ||
| "files_with_usage": [ | ||
| "src/utils/dynamo-db/helpers.ts", | ||
| "src/utils/dynamo-db/utils.ts", | ||
| "src/utils/dynamo-db/index.ts", | ||
| "src/__tests__/utils/dynamo-db/*.test.ts", | ||
| "src/__e2e__/subscriptions-with-auth.e2e.test.ts" | ||
| ], | ||
| "migration_complexity": "high", | ||
| "notes": "Heavy DynamoDB usage, extensive test utilities" | ||
| }, | ||
| { | ||
| "name": "amplify-category-api", | ||
| "path": "packages/amplify-category-api", | ||
| "migration_status": "mixed", | ||
| "priority": "high", | ||
| "dependencies": { | ||
| "aws-sdk": "^2.1113.0", | ||
| "@aws-sdk/client-ec2": "3.624.0", | ||
| "@aws-sdk/client-iam": "3.624.0", | ||
| "@aws-sdk/client-lambda": "3.624.0" | ||
| }, | ||
| "services_used": ["ec2", "iam", "lambda", "rds", "dynamodb"], | ||
| "usage_patterns": ["Mixed v2/v3 usage", "VPC utilities already v3", "Container templates mixed", "Lambda functions mixed"], | ||
| "files_with_usage": [ | ||
| "src/provider-utils/vpc-utils.ts (v3)", | ||
| "src/provider-utils/awscloudformation/utils/rds-resources/ssmClient.ts", | ||
| "resources/awscloudformation/lambdas/predeploy.js (v3)", | ||
| "resources/awscloudformation/lambdas/pipeline.js (v3)", | ||
| "resources/awscloudformation/container-templates/*/DynamoDBActions.js (v3)" | ||
| ], | ||
| "migration_complexity": "medium", | ||
| "notes": "Partially migrated, need to complete remaining v2 usage" | ||
| }, | ||
| { | ||
| "name": "amplify-e2e-core", | ||
| "path": "packages/amplify-e2e-core", | ||
| "migration_status": "v3_complete", | ||
| "priority": "none", | ||
| "dependencies": { | ||
| "@aws-sdk/client-ec2": "3.624.0", | ||
| "@aws-sdk/client-kms": "3.624.0", | ||
| "@aws-sdk/client-rds": "3.624.0", | ||
| "@aws-sdk/client-rds-data": "3.624.0", | ||
| "@aws-sdk/client-secrets-manager": "3.624.0", | ||
| "@aws-sdk/client-ssm": "3.624.0", | ||
| "@aws-sdk/client-sts": "3.624.0", | ||
| "@aws-sdk/credential-providers": "3.624.0" | ||
| }, | ||
| "services_used": ["ec2", "kms", "rds", "secrets-manager", "ssm", "sts"], | ||
| "usage_patterns": ["Modern v3 patterns", "Command-based API", "Proper credential providers"], | ||
| "migration_complexity": "none", | ||
| "notes": "Already fully migrated to v3 - good reference implementation" | ||
| }, | ||
| { | ||
| "name": "amplify-dynamodb-simulator", | ||
| "path": "packages/amplify-dynamodb-simulator", | ||
| "migration_status": "v2_only", | ||
| "priority": "medium", | ||
| "dependencies": { | ||
| "aws-sdk": "^2.1113.0" | ||
| }, | ||
| "services_used": ["dynamodb"], | ||
| "usage_patterns": ["DynamoDB simulator integration", "Local development utilities"], | ||
| "migration_complexity": "medium", | ||
| "notes": "Simulator package, may need coordination with simulator updates" | ||
| }, | ||
| { | ||
| "name": "amplify-e2e-tests", | ||
| "path": "packages/amplify-e2e-tests", | ||
| "migration_status": "v2_only", | ||
| "priority": "medium", | ||
| "dependencies": { | ||
| "aws-sdk": "^2.1113.0" | ||
| }, | ||
| "services_used": ["various"], | ||
| "usage_patterns": ["E2E test utilities", "Integration testing"], | ||
| "migration_complexity": "medium", | ||
| "notes": "Test package, depends on amplify-e2e-core which is already v3" | ||
| }, | ||
| { | ||
| "name": "amplify-graphql-model-transformer", | ||
| "path": "packages/amplify-graphql-model-transformer", | ||
| "migration_status": "v3_complete", | ||
| "priority": "none", | ||
| "lambda_functions": ["rds-patching-lambda", "publish-notification-lambda", "rds-lambda"], | ||
| "services_used": ["lambda", "sns", "ssm", "secrets-manager"], | ||
| "usage_patterns": ["Lambda function dependencies", "Already using v3 SDK"], | ||
| "migration_complexity": "none", | ||
| "notes": "Lambda functions already use v3 SDK" | ||
| }, | ||
| { | ||
| "name": "graphql-relational-schema-transformer", | ||
| "path": "packages/graphql-relational-schema-transformer", | ||
| "migration_status": "unknown", | ||
| "priority": "low", | ||
| "migration_complexity": "low", | ||
| "notes": "Need to investigate usage patterns" | ||
| } | ||
| ], | ||
| "container_templates": [ | ||
| { | ||
| "name": "dockerfile-rest-express", | ||
| "path": "packages/amplify-category-api/resources/awscloudformation/container-templates/dockerfile-rest-express", | ||
| "migration_status": "v3_complete", | ||
| "services_used": ["dynamodb"], | ||
| "notes": "Already uses @aws-sdk/lib-dynamodb and @aws-sdk/client-dynamodb" | ||
| }, | ||
| { | ||
| "name": "graphql-express", | ||
| "path": "packages/amplify-category-api/resources/awscloudformation/container-templates/graphql-express", | ||
| "migration_status": "v3_complete", | ||
| "services_used": ["dynamodb"], | ||
| "notes": "Already uses @aws-sdk/lib-dynamodb" | ||
| }, | ||
| { | ||
| "name": "dockercompose-rest-express", | ||
| "path": "packages/amplify-category-api/resources/awscloudformation/container-templates/dockercompose-rest-express/express", | ||
| "migration_status": "v3_complete", | ||
| "services_used": ["dynamodb"], | ||
| "notes": "Already uses @aws-sdk/lib-dynamodb" | ||
| } | ||
| ], | ||
| "lambda_functions": [ | ||
| { | ||
| "name": "predeploy.js", | ||
| "path": "packages/amplify-category-api/resources/awscloudformation/lambdas/predeploy.js", | ||
| "migration_status": "v3_complete", | ||
| "services_used": ["codepipeline", "ecs"], | ||
| "notes": "Already uses @aws-sdk/client-* packages" | ||
| }, | ||
| { | ||
| "name": "pipeline.js", | ||
| "path": "packages/amplify-category-api/resources/awscloudformation/lambdas/pipeline.js", | ||
| "migration_status": "v3_complete", | ||
| "services_used": ["codepipeline", "ecs"], | ||
| "notes": "Already uses @aws-sdk/client-* packages" | ||
| } | ||
| ], | ||
| "summary": { | ||
| "total_packages": 7, | ||
| "v2_only": 3, | ||
| "v3_complete": 3, | ||
| "mixed": 1, | ||
| "high_priority": 2, | ||
| "medium_priority": 3, | ||
| "low_priority": 1, | ||
| "main_services": { | ||
| "dynamodb": { | ||
| "v2_usage": 3, | ||
| "v3_usage": 4, | ||
| "complexity": "high" | ||
| }, | ||
| "ec2": { | ||
| "v2_usage": 0, | ||
| "v3_usage": 2, | ||
| "complexity": "low" | ||
| }, | ||
| "lambda": { | ||
| "v2_usage": 0, | ||
| "v3_usage": 3, | ||
| "complexity": "low" | ||
| }, | ||
| "rds": { | ||
| "v2_usage": 0, | ||
| "v3_usage": 2, | ||
| "complexity": "low" | ||
| } | ||
| } | ||
| }, | ||
| "migration_recommendations": { | ||
| "phase_1": ["Complete amplify-category-api mixed usage", "Investigate remaining v2 usage in RDS resources"], | ||
| "phase_2": ["Migrate amplify-util-mock (highest complexity)", "Update DynamoDB utilities and test patterns"], | ||
| "phase_3": ["Migrate amplify-dynamodb-simulator", "Migrate amplify-e2e-tests", "Investigate graphql-relational-schema-transformer"], | ||
| "phase_4": ["Remove aws-sdk v2 from root package.json resolutions", "Final cleanup and validation"] | ||
| } | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to keep this
.qfolder in the PR?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question. I'm of two minds on this. I'll let this question simmer while I dig more on some of the other oddities.