TypeScript >= 3.9 is now required for Atlassian frontend packages

As you may already know, most Atlaskit packages are written in TypeScript and ship with TypeScript declaration (d.ts) files that provide type safety for Atlaskit components in your TypeScript applications.

TypeScript upgrades are not backward compatible, so we only support versions that are the same minor version (or greater) as the version we use to build Atlaskit components. Sometimes you can get away with being several versions behind if none of the TypeScript breaking changes affect declaration files or if no newer features are used in Atlaskit components, but we can’t provide that guarantee.

How does it impact me?

We’ve recently upgraded all of our packages to v3.9.6 of TypeScript and are now going to introduce a new TS feature that will break future upgrades for consumers using a version less than 3.8 moving forward. You can check the TypeScript version that a particular package supports by searching its changelog for the last TypeScript upgrade changeset, or, as of this change, by looking at the TypeScript version in the devDependencies of package.json.

What do I need to do?

Consumers will need to upgrade to a more recent version of TypeScript. If upgrading TypeScript is not an option, you can use a paths mapping to map @atlaskit paths to an empty declaration file to ignore type-checking for those packages. This is also documented at https://atlaskit.atlassian.com/get-started.

In the future, we plan to upgrade on a quarterly cadence.

Thanks,
Dario Novoa
Atlassian Frontend Platform

6 Likes

@Dario this is great! Can you now please fix the issue that Styled Components is still stuck at 3.2.6 for many components? Or finalise the migration to Emotions? Either way, it would be nice to not have AtlasKit block the upgrade to React 17+ (which it will if it sticks with Styled Components due to the use of deprecated componentWillMount() that will be removed in React 17+)

18 Likes