From c1cf068b09873a47f6d6ccf7da167bf44bfddf23 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:37:05 -0700 Subject: [PATCH 1/6] chore(deps-dev): bump biome to 2.0.0-beta.1 --- package.json | 2 +- yarn.lock | 76 ++++++++++++++++++++++++++-------------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index b5230fbc..daec844b 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "jscodeshift": "17.1.1" }, "devDependencies": { - "@biomejs/biome": "1.9.0", + "@biomejs/biome": "2.0.0-beta.1", "@changesets/cli": "^2.27.1", "@tsconfig/node16": "^16.1.3", "@types/jscodeshift": "^0.12.0", diff --git a/yarn.lock b/yarn.lock index 60befaf6..2e736253 100644 --- a/yarn.lock +++ b/yarn.lock @@ -429,18 +429,18 @@ __metadata: languageName: node linkType: hard -"@biomejs/biome@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/biome@npm:1.9.0" - dependencies: - "@biomejs/cli-darwin-arm64": "npm:1.9.0" - "@biomejs/cli-darwin-x64": "npm:1.9.0" - "@biomejs/cli-linux-arm64": "npm:1.9.0" - "@biomejs/cli-linux-arm64-musl": "npm:1.9.0" - "@biomejs/cli-linux-x64": "npm:1.9.0" - "@biomejs/cli-linux-x64-musl": "npm:1.9.0" - "@biomejs/cli-win32-arm64": "npm:1.9.0" - "@biomejs/cli-win32-x64": "npm:1.9.0" +"@biomejs/biome@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/biome@npm:2.0.0-beta.1" + dependencies: + "@biomejs/cli-darwin-arm64": "npm:2.0.0-beta.1" + "@biomejs/cli-darwin-x64": "npm:2.0.0-beta.1" + "@biomejs/cli-linux-arm64": "npm:2.0.0-beta.1" + "@biomejs/cli-linux-arm64-musl": "npm:2.0.0-beta.1" + "@biomejs/cli-linux-x64": "npm:2.0.0-beta.1" + "@biomejs/cli-linux-x64-musl": "npm:2.0.0-beta.1" + "@biomejs/cli-win32-arm64": "npm:2.0.0-beta.1" + "@biomejs/cli-win32-x64": "npm:2.0.0-beta.1" dependenciesMeta: "@biomejs/cli-darwin-arm64": optional: true @@ -460,62 +460,62 @@ __metadata: optional: true bin: biome: bin/biome - checksum: 10c0/b07ad2c8dc3d52c0a4eea37f98d36399b33a13759903aa65f9678db916810b773fe94937c304899158479bccd8c3c90f0f30af22b34d6dc5963774f1acc5e245 + checksum: 10c0/6bbe214a0be6e6adc411ff4f6d9c74f082ba0bf02967a956cc91c2bad7ad9664a18e3c2404d4b8df091df5c8bd8d9f0d47946b508adc98be3709d08abe828511 languageName: node linkType: hard -"@biomejs/cli-darwin-arm64@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-darwin-arm64@npm:1.9.0" +"@biomejs/cli-darwin-arm64@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-darwin-arm64@npm:2.0.0-beta.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@biomejs/cli-darwin-x64@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-darwin-x64@npm:1.9.0" +"@biomejs/cli-darwin-x64@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-darwin-x64@npm:2.0.0-beta.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@biomejs/cli-linux-arm64-musl@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-linux-arm64-musl@npm:1.9.0" +"@biomejs/cli-linux-arm64-musl@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-linux-arm64-musl@npm:2.0.0-beta.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@biomejs/cli-linux-arm64@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-linux-arm64@npm:1.9.0" +"@biomejs/cli-linux-arm64@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-linux-arm64@npm:2.0.0-beta.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@biomejs/cli-linux-x64-musl@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-linux-x64-musl@npm:1.9.0" +"@biomejs/cli-linux-x64-musl@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-linux-x64-musl@npm:2.0.0-beta.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@biomejs/cli-linux-x64@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-linux-x64@npm:1.9.0" +"@biomejs/cli-linux-x64@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-linux-x64@npm:2.0.0-beta.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@biomejs/cli-win32-arm64@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-win32-arm64@npm:1.9.0" +"@biomejs/cli-win32-arm64@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-win32-arm64@npm:2.0.0-beta.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@biomejs/cli-win32-x64@npm:1.9.0": - version: 1.9.0 - resolution: "@biomejs/cli-win32-x64@npm:1.9.0" +"@biomejs/cli-win32-x64@npm:2.0.0-beta.1": + version: 2.0.0-beta.1 + resolution: "@biomejs/cli-win32-x64@npm:2.0.0-beta.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1205,7 +1205,7 @@ __metadata: version: 0.0.0-use.local resolution: "aws-sdk-js-codemod@workspace:." dependencies: - "@biomejs/biome": "npm:1.9.0" + "@biomejs/biome": "npm:2.0.0-beta.1" "@changesets/cli": "npm:^2.27.1" "@tsconfig/node16": "npm:^16.1.3" "@types/jscodeshift": "npm:^0.12.0" From a6d9b0bfa680bd44e20fffc73ce41c0096c99e5d Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:41:40 -0700 Subject: [PATCH 2/6] chore: yarn biome migrate --write --- biome.json | 47 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/biome.json b/biome.json index 06a31aa1..255f72da 100644 --- a/biome.json +++ b/biome.json @@ -1,8 +1,8 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.0/schema.json", + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", "files": { "maxSize": 5242880, - "ignore": ["**/__fixtures__/**", "package.json"] + "includes": ["**", "!**/__fixtures__/**", "!**/package.json"] }, "formatter": { "enabled": true, @@ -11,21 +11,44 @@ }, "linter": { "rules": { - "recommended": true, - "complexity": { - "noForEach": "off" - }, - "correctness": { - "noNewSymbol": "error", - "noUndeclaredVariables": "error", - "noUnusedVariables": "error" - }, "style": { "noNamespace": "error", "useConsistentArrayType": { "level": "error", "options": { "syntax": "shorthand" } - } + }, + "useLiteralEnumMembers": "error", + "noCommaOperator": "error", + "useNodejsImportProtocol": "error", + "useAsConstAssertion": "error", + "useNumericLiterals": "error", + "useEnumInitializers": "error", + "useSelfClosingElements": "error", + "useConst": "error", + "useSingleVarDeclarator": "error", + "noUnusedTemplateLiteral": "error", + "useNumberNamespace": "error", + "noInferrableTypes": "error", + "useExponentiationOperator": "error", + "useTemplate": "error", + "noParameterAssign": "error", + "noNonNullAssertion": "error", + "useDefaultParameterLast": "error", + "noArguments": "error", + "useImportType": "error", + "useExportType": "error", + "noUselessElse": "error", + "useShorthandFunctionType": "error" + }, + "correctness": { + "noInvalidBuiltinInstantiation": { + "level": "error" + }, + "noUndeclaredVariables": "error", + "noUnusedVariables": "error" + }, + "complexity": { + "noForEach": "off" }, "suspicious": { "noEmptyBlockStatements": "error" From c619f4993eca5b5ca32454b84ae9aaba7906fd39 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:55:12 -0700 Subject: [PATCH 3/6] chore: use natural sort order for imports --- .../getServiceImportDeepWithNameOutput.ts | 2 +- .../getServiceImportEqualsWithNameOutput.ts | 2 +- .../generateNewClientTests/getServiceImportWithNameOutput.ts | 2 +- .../getServiceRequireDeepWithNameOutput.ts | 2 +- .../generateNewClientTests/getServiceRequireWithNameOutput.ts | 2 +- src/transforms/v2-to-v3/apis/renameErrorCodeWithName.ts | 2 +- src/transforms/v2-to-v3/apis/replaceAwsError.ts | 2 +- src/transforms/v2-to-v3/apis/replaceAwsIdentity.ts | 2 +- src/transforms/v2-to-v3/transformer.ts | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/generateNewClientTests/getServiceImportDeepWithNameOutput.ts b/scripts/generateNewClientTests/getServiceImportDeepWithNameOutput.ts index 353c98b7..5c0e8dd3 100644 --- a/scripts/generateNewClientTests/getServiceImportDeepWithNameOutput.ts +++ b/scripts/generateNewClientTests/getServiceImportDeepWithNameOutput.ts @@ -1,6 +1,6 @@ import { CLIENTS_TO_TEST } from "./config"; -import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName"; +import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode"; import { getV3PackageImportsCode } from "./getV3PackageImportsCode"; diff --git a/scripts/generateNewClientTests/getServiceImportEqualsWithNameOutput.ts b/scripts/generateNewClientTests/getServiceImportEqualsWithNameOutput.ts index e3ea5e36..9f496fa6 100644 --- a/scripts/generateNewClientTests/getServiceImportEqualsWithNameOutput.ts +++ b/scripts/generateNewClientTests/getServiceImportEqualsWithNameOutput.ts @@ -1,6 +1,6 @@ import { CLIENTS_TO_TEST } from "./config"; -import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName"; +import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode"; import { getV3PackageImportEqualsCode } from "./getV3PackageImportEqualsCode"; diff --git a/scripts/generateNewClientTests/getServiceImportWithNameOutput.ts b/scripts/generateNewClientTests/getServiceImportWithNameOutput.ts index 29af9003..a39667ac 100644 --- a/scripts/generateNewClientTests/getServiceImportWithNameOutput.ts +++ b/scripts/generateNewClientTests/getServiceImportWithNameOutput.ts @@ -1,6 +1,6 @@ import { CLIENTS_TO_TEST } from "./config"; -import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName"; +import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode"; import { getV3PackageImportsCode } from "./getV3PackageImportsCode"; diff --git a/scripts/generateNewClientTests/getServiceRequireDeepWithNameOutput.ts b/scripts/generateNewClientTests/getServiceRequireDeepWithNameOutput.ts index 0fb42a7b..e8cb3aae 100644 --- a/scripts/generateNewClientTests/getServiceRequireDeepWithNameOutput.ts +++ b/scripts/generateNewClientTests/getServiceRequireDeepWithNameOutput.ts @@ -1,6 +1,6 @@ import { CLIENTS_TO_TEST } from "./config"; -import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName"; +import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode"; import { getV3PackageRequiresCode } from "./getV3PackageRequiresCode"; diff --git a/scripts/generateNewClientTests/getServiceRequireWithNameOutput.ts b/scripts/generateNewClientTests/getServiceRequireWithNameOutput.ts index 2c115531..0fbaa076 100644 --- a/scripts/generateNewClientTests/getServiceRequireWithNameOutput.ts +++ b/scripts/generateNewClientTests/getServiceRequireWithNameOutput.ts @@ -1,6 +1,6 @@ import { CLIENTS_TO_TEST } from "./config"; -import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getClientNamesSortedByPackageName } from "./getClientNamesSortedByPackageName"; +import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix"; import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode"; import { getV3PackageRequiresCode } from "./getV3PackageRequiresCode"; diff --git a/src/transforms/v2-to-v3/apis/renameErrorCodeWithName.ts b/src/transforms/v2-to-v3/apis/renameErrorCodeWithName.ts index cd21fb4e..2ed28f49 100644 --- a/src/transforms/v2-to-v3/apis/renameErrorCodeWithName.ts +++ b/src/transforms/v2-to-v3/apis/renameErrorCodeWithName.ts @@ -1,6 +1,6 @@ import type { - ASTPath, ArrowFunctionExpression, + ASTPath, CallExpression, Collection, FunctionExpression, diff --git a/src/transforms/v2-to-v3/apis/replaceAwsError.ts b/src/transforms/v2-to-v3/apis/replaceAwsError.ts index 04afc068..185e846f 100644 --- a/src/transforms/v2-to-v3/apis/replaceAwsError.ts +++ b/src/transforms/v2-to-v3/apis/replaceAwsError.ts @@ -1,5 +1,5 @@ import type { Collection, JSCodeshift } from "jscodeshift"; -import { type ImportType, addNamedModule } from "../modules"; +import { addNamedModule, type ImportType } from "../modules"; export interface ReplaceAwsErrorOptions { v2GlobalName?: string; diff --git a/src/transforms/v2-to-v3/apis/replaceAwsIdentity.ts b/src/transforms/v2-to-v3/apis/replaceAwsIdentity.ts index 04f62ea9..3b202b3d 100644 --- a/src/transforms/v2-to-v3/apis/replaceAwsIdentity.ts +++ b/src/transforms/v2-to-v3/apis/replaceAwsIdentity.ts @@ -1,6 +1,6 @@ import type { Collection, JSCodeshift, NewExpression } from "jscodeshift"; import { AWS_CREDENTIALS_MAP, AWS_TOKEN_MAP } from "../config"; -import { type ImportType, addNamedModule } from "../modules"; +import { addNamedModule, type ImportType } from "../modules"; export interface ReplaceAwsCredentialsOptions { v2GlobalName?: string; diff --git a/src/transforms/v2-to-v3/transformer.ts b/src/transforms/v2-to-v3/transformer.ts index db2fbb47..6782c296 100644 --- a/src/transforms/v2-to-v3/transformer.ts +++ b/src/transforms/v2-to-v3/transformer.ts @@ -37,11 +37,11 @@ import { } from "./modules"; import { removeTypesFromTSQualifiedName, replaceTSTypeReference } from "./ts-type"; import { - IndentationType, getFormattedSourceString, getMostUsedIndentationType, getMostUsedStringLiteralQuote, getValueIndentedWithTabs, + IndentationType, isTrailingCommaUsed, isTypeScriptFile, } from "./utils"; From 95b6dfe628a31b018a00175162002249a99e11e6 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:56:52 -0700 Subject: [PATCH 4/6] chore: remove biome-ignore for multiline string --- src/cli.ts | 1 - src/transforms/v2-to-v3/apis/removePromiseForCallExpression.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 5e5572cd..faec9fe2 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -58,7 +58,6 @@ try { ({ options, positionalArguments } = parser.parse()); if (positionalArguments.length === 0 && !options.stdin) { process.stderr.write( - // biome-ignore lint/style/useTemplate: This is a multiline string "Error: You have to provide at least one file/directory to transform." + "\n\n---\n\n" + parser.getHelpText() diff --git a/src/transforms/v2-to-v3/apis/removePromiseForCallExpression.ts b/src/transforms/v2-to-v3/apis/removePromiseForCallExpression.ts index ec9bb56d..c0e83944 100644 --- a/src/transforms/v2-to-v3/apis/removePromiseForCallExpression.ts +++ b/src/transforms/v2-to-v3/apis/removePromiseForCallExpression.ts @@ -32,7 +32,6 @@ export const removePromiseForCallExpression = ( } default: { emitWarning( - // biome-ignore lint/style/useTemplate: This is a multiline string `Removal of .promise() not implemented for parentPath: ${callExpression.parentPath.value.type}\n` + `Code processed: ${j(callExpression.parentPath).toSource()}\n\n` + "Please report your use case on https://github.com/aws/aws-sdk-js-codemod\n" From 86f728f8084399e17abbe67231325cd0f196ef35 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:58:31 -0700 Subject: [PATCH 5/6] chore: sort biome.json --- biome.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/biome.json b/biome.json index 255f72da..c8a74b30 100644 --- a/biome.json +++ b/biome.json @@ -11,6 +11,16 @@ }, "linter": { "rules": { + "complexity": { + "noForEach": "off" + }, + "correctness": { + "noInvalidBuiltinInstantiation": { + "level": "error" + }, + "noUndeclaredVariables": "error", + "noUnusedVariables": "error" + }, "style": { "noNamespace": "error", "useConsistentArrayType": { @@ -40,16 +50,6 @@ "noUselessElse": "error", "useShorthandFunctionType": "error" }, - "correctness": { - "noInvalidBuiltinInstantiation": { - "level": "error" - }, - "noUndeclaredVariables": "error", - "noUnusedVariables": "error" - }, - "complexity": { - "noForEach": "off" - }, "suspicious": { "noEmptyBlockStatements": "error" } From 1f573f34bdb468c4e38e9c34258106cdb72138d4 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Mon, 24 Mar 2025 23:00:11 -0700 Subject: [PATCH 6/6] chore: enable recommended lint rules --- biome.json | 1 + 1 file changed, 1 insertion(+) diff --git a/biome.json b/biome.json index c8a74b30..089b1d28 100644 --- a/biome.json +++ b/biome.json @@ -11,6 +11,7 @@ }, "linter": { "rules": { + "recommended": true, "complexity": { "noForEach": "off" },