@@ -4,28 +4,32 @@ import findImports from "jscodeshift-find-imports";
44import {
55 addV3ClientImport ,
66 getV2ClientNames ,
7+ getV2DefaultImportName ,
78 getV3ClientName ,
89 getV3ClientPackageName ,
910 replaceClientCreation ,
1011} from "./utils" ;
1112
1213export default function transformer ( file : FileInfo , api : API ) {
1314 const j = api . jscodeshift ;
14- const { statement } = j . template ;
1515 const source = j ( file . source ) ;
1616
17- const imports = findImports ( source , statement `import AWS from 'aws-sdk'` ) ;
18- for ( const importObj of Object . values ( imports ) ) {
19- if ( importObj . type === "Identifier" ) {
20- const v2ClientNames = getV2ClientNames ( j , source , importObj ) ;
17+ const v2DefaultImportName = getV2DefaultImportName ( j , source ) ;
18+ if ( ! v2DefaultImportName ) {
19+ return source . toSource ( ) ;
20+ }
21+
22+ const v2ClientNames = getV2ClientNames ( j , source , v2DefaultImportName ) ;
2123
22- for ( const v2ClientName of v2ClientNames ) {
23- const v3ClientName = getV3ClientName ( v2ClientName ) ;
24- const v3ClientPackageName = getV3ClientPackageName ( v2ClientName ) ;
25- addV3ClientImport ( j , source , { v3ClientName, v3ClientPackageName } ) ;
26- replaceClientCreation ( j , source , { importObj, v2ClientName, v3ClientName } ) ;
27- }
28- }
24+ for ( const v2ClientName of v2ClientNames ) {
25+ const v3ClientName = getV3ClientName ( v2ClientName ) ;
26+ const v3ClientPackageName = getV3ClientPackageName ( v2ClientName ) ;
27+ addV3ClientImport ( j , source , { v3ClientName, v3ClientPackageName } ) ;
28+ replaceClientCreation ( j , source , {
29+ v2DefaultImportName,
30+ v2ClientName,
31+ v3ClientName,
32+ } ) ;
2933 }
3034
3135 return source . toSource ( ) ;
0 commit comments