Atlaskit + React 17

It looks like Atlaskit still prefers React 16.x and react-scripts 4.x.

Is there a plan to cleanly support React 17.x?

4 Likes

Depending on your component usage you’ll be able to use react-script 5 (or rather web pack 5).

I guess that’s true – react-scripts doesn’t really seem to be an issue as much anymore. But seems like React 17 still is:

npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.0" from @atlaskit/progress-bar@0.5.2
1 Like

Any Atlaskit developers able to comment? There are a growing number of libraries requiring peer dependencies on React 17.

For instance, tiptap is a very popular WYSIWYG text editor that requires 17 (the built-in atlaskit text editor isn’t always desirable with so many great OSS alternatives). What’s the roadmap for supporting React 17?

1 Like

Now the question might be when they will support React 18…

2 Likes

Soooooo the thing with atlaskit is that it is not a single entity. It consists of components that are owned by multiple teams within atlassian.

The Design System team is responsible for maintaining the components that are found on https://atlassian.design. These components all have Typescript support, are migrated to emotion and support react 17+

All the other components on https://atlaskit.atlassian.com are maintained by other teams and most are not frequently updated, lack Typescript support and are still on Styled Components 3.x

If you use any of these components you’re basically fucked, because the DS team will not take responsibility for them, the other teams don’t give a shit and now your entire project will be shipping both SC and emotion and your’e stuck with react 16 for all eternity.

Any complaints about it will simply be you screaming at the void

14 Likes

Great context @remie

We’ll have to do an audit of which components we use from atlaskit.alassian.com. Perhaps we could replace them.

I’d love to update styled-components and React.

2 Likes

Thanks for this clarification @remie. I’m only using components from https://atlassian.design, and indeed they do all seem to work just fine with React 17, but they still do have 16 listed as the actual dependency. So --legacy-peer-deps is needed when installing.

The never ending joys of frontend web-dev, I suppose – React 18 is here and I’m beginning to have some tsc issues with the atlassian.design components.

1 Like

It looks like we use mostly components from atlassian.design plus the AtlasKit editor.

Upgrading one of our apps to React 17 did seem to work so long as I ignored all the warnings about using the wrong version of a peer dep.

I’m just wondering how risky this is. Is anyone else using React > 16 in production despite Atlaskit not officially supporting it? It’s been almost 2 years since React 17 came out so this is getting a bit ridiculous.

Kind of tangential to React 17 but styled-components 3.x seems to be only pulled in from the AtlasKit editor for us now:

=> Found "styled-components@3.4.10"
info Has been hoisted to "styled-components"
info Reasons this module exists
   - Specified in "devDependencies"
   - Hoisted from "@atlaskit#editor-core#@atlaskit#date#styled-components"
   - Hoisted from "@atlaskit#editor-core#@atlaskit#editor-markdown-transformer#@atlaskit#editor-common#@atlaskit#editor-shared-styles#styled-components"

Given this is a pretty important component to Atlassian and definitely not deprecated can we get any indication on when it will be upgraded?

2 Likes

One of those, “Can’t I just do the work for you just so I don’t have to deal with this going forward” moments.

It’d be very much appreciated if at least the package.json files could be updated to indicate the libraries are indeed compatible with React 17.

But yeah, screaming into the void. At least it makes me feel better :slight_smile:

4 Likes