Skip to content

Commit

Permalink
Transform client type for updated client names (#827)
Browse files Browse the repository at this point in the history
  • Loading branch information
trivikr authored Apr 9, 2024
1 parent 345fe62 commit 14eb23a
Show file tree
Hide file tree
Showing 14 changed files with 98 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .changeset/happy-bulldogs-smoke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"aws-sdk-js-codemod": patch
---

Replace client type reference if client names are different in v2 and v3
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import AWS = require("aws-sdk");

let accessAnalyzerClient: AWS.AccessAnalyzer;
let discoveryClient: AWS.Discovery;
let acmClient: AWS.ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import AWS_client_accessanalyzer = require("@aws-sdk/client-accessanalyzer");
import AccessAnalyzer = AWS_client_accessanalyzer.AccessAnalyzer;
import AWS_client_acm = require("@aws-sdk/client-acm");
import ACM = AWS_client_acm.ACM;
import AWS_client_application_discovery_service = require("@aws-sdk/client-application-discovery-service");
import ApplicationDiscoveryService = AWS_client_application_discovery_service.ApplicationDiscoveryService;

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: ApplicationDiscoveryService;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import AWS from "aws-sdk";

let accessAnalyzerClient: AWS.AccessAnalyzer;
let discoveryClient: AWS.Discovery;
let acmClient: AWS.ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { AccessAnalyzer } from "@aws-sdk/client-accessanalyzer";
import { ACM } from "@aws-sdk/client-acm";
import { ApplicationDiscoveryService } from "@aws-sdk/client-application-discovery-service";

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: ApplicationDiscoveryService;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import AccessAnalyzer from "aws-sdk/clients/accessanalyzer";
import Discovery from "aws-sdk/clients/discovery";
import ACM from "aws-sdk/clients/acm";

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: Discovery;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { AccessAnalyzer } from "@aws-sdk/client-accessanalyzer";
import { ACM } from "@aws-sdk/client-acm";
import { ApplicationDiscoveryService } from "@aws-sdk/client-application-discovery-service";

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: ApplicationDiscoveryService;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import AccessAnalyzer = require("aws-sdk/clients/accessanalyzer");
import Discovery = require("aws-sdk/clients/discovery");
import ACM = require("aws-sdk/clients/acm");

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: Discovery;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import AWS_client_accessanalyzer = require("@aws-sdk/client-accessanalyzer");
import AccessAnalyzer = AWS_client_accessanalyzer.AccessAnalyzer;
import AWS_client_acm = require("@aws-sdk/client-acm");
import ACM = AWS_client_acm.ACM;
import AWS_client_application_discovery_service = require("@aws-sdk/client-application-discovery-service");
import ApplicationDiscoveryService = AWS_client_application_discovery_service.ApplicationDiscoveryService;

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: ApplicationDiscoveryService;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import {
AccessAnalyzer as AccessAnalyzerClient,
Discovery as DiscoveryClient,
ACM as ACMClient
} from "aws-sdk";

let accessAnalyzerClient: AccessAnalyzerClient;
let discoveryClient: DiscoveryClient;
let acmClient: ACMClient;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { AccessAnalyzer as AccessAnalyzerClient } from "@aws-sdk/client-accessanalyzer";
import { ACM as ACMClient } from "@aws-sdk/client-acm";
import { ApplicationDiscoveryService as DiscoveryClient } from "@aws-sdk/client-application-discovery-service";

let accessAnalyzerClient: AccessAnalyzerClient;
let discoveryClient: DiscoveryClient;
let acmClient: ACMClient;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { AccessAnalyzer, Discovery, ACM } from "aws-sdk";

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: Discovery;
let acmClient: ACM;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { AccessAnalyzer } from "@aws-sdk/client-accessanalyzer";
import { ACM } from "@aws-sdk/client-acm";
import { ApplicationDiscoveryService } from "@aws-sdk/client-application-discovery-service";

let accessAnalyzerClient: AccessAnalyzer;
let discoveryClient: ApplicationDiscoveryService;
let acmClient: ACM;
7 changes: 7 additions & 0 deletions src/transforms/v2-to-v3/ts-type/replaceTSTypeReference.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ export const replaceTSTypeReference = (
});
}

// Replace client type reference if client names are different in v2 and v3.
if (v2ClientName !== v3ClientName) {
source
.find(j.TSTypeReference, { typeName: { type: "Identifier", name: v2ClientName } })
.replaceWith(() => j.tsTypeReference(j.identifier(v3ClientName)));
}

const [clientNamePrefix, clientNameSuffix] = v2ClientLocalName.split(".");
// Replace reference to client types created with client module.
source
Expand Down

0 comments on commit 14eb23a

Please sign in to comment.