Skip to content

[Bug?]: Codemod incorrectly generates duplicate WriteRequest imports for DynamoDB (v2 → v3 transform) #1013

@Aarav3479

Description

@Aarav3479

Self-service

  • I'd be willing to implement a fix

Describe the bug

When migrating from aws-sdk v2 to v3 using the codemod (npx aws-sdk-js-codemod -t v2-to-v3 src), the tool fails to distinguish between AWS.DynamoDB.WriteRequest and AWS.DynamoDB.DocumentClient.WriteRequest.

As a result, it produces duplicate v3 imports for WriteRequest from both:

import WriteRequest = AWS_lib_dynamodb.WriteRequest;
import WriteRequest = AWS_client_dynamodb.WriteRequest

which causes a Duplicate identifier 'WriteRequest' error.

1. Start with v2 code using both:

    AWS.DynamoDB.WriteRequest
    AWS.DynamoDB.DocumentClient.WriteRequest

2. Run:

    npx aws-sdk-js-codemod -t v2-to-v3 src

3. Output contains conflicting imports:

    import WriteRequest = AWS_lib_dynamodb.WriteRequest;
    import WriteRequest = AWS_client_dynamodb.WriteRequest;

Observed behavior

Duplicate identifier 'WriteRequest'.

Expected behavior

Codemod should differentiate between:

    DocumentClient.WriteRequest → @aws-sdk/lib-dynamodb equivalents
    DynamoDB.WriteRequest → @aws-sdk/client-dynamodb models

OR

Automatically rename one of them

Environment

aws-sdk-js-codemod: 3.0.2
- jscodeshift: 17.3.0
- recast: 0.23.11

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageTriaging bugs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions