From Takomo 5.x to 6.x
Takomo 6.0 is a maintenance release with a few breaking changes. Upgrading from 5.x should be straightforward in most cases.
Breaking changes
Here are the breaking changes introduced in Takomo 6.0.
Require Nodejs 18.14.2
Nodejs 18.14.2 is now required to run Takomo. This change makes it possible to keep upgrading project dependencies to their latest versions in the future.
Required actions
Upgrade your Nodejs to version 18.14.2 or later.
ESM module
In order to keep the codebase modern and dependencies up to date, Takomo is now a native ESM module.
Required actions
If you have implemented your own parameter resolvers, hooks and helpers, you should convert them to be compatible with ESM. To find out more, take a look at this guide.
Drop commands
To simplify the codebase and user experience, the following less-useful CLI commands were removed.
Initialize project
The purpose of this command was to help users create new Takomo projects with optional sample code.
tkm init
Bootstrap and tear down deployment targets
The purpose of these commands were to provide a way to deploy initial stacks containing restricted deployment roles that could be used from CI pipelines.
tkm targets bootstrap
tkm targets tear-down
A better way to achieve this functionality is to use CloudFormation stack sets that are deployed automatically to every new AWS account.
Rename the temp directory
The directory for temporary files generated by Takomo was changed from .takomo-cache
to .takomo/cache
.
Required actions
Remove .takomo-cache
from your project and add .takomo
directory to your .gitignore
file.
Changes to public API
The following breaking change was introduced to make it possible to stop using deprecated code from AWS SDK.
Credentials
type from @aws-sdk/client-sts
package was replaced with AwsCredentialIdentity
from @aws-sdk/types
package.
Required actions
If you have used TypeScript to implement custom parameter resolvers, hooks or helpers that use Credentials type, you need to replace the following imports:
import { Credentials } from "@aws-sdk/client-sts"
with
import { AwsCredentialIdentity } from "@aws-sdk/types"