Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to React 16 and latest node.js version #648

Closed
7 tasks done
lukereative opened this issue Sep 17, 2018 · 3 comments
Closed
7 tasks done

Upgrade to React 16 and latest node.js version #648

lukereative opened this issue Sep 17, 2018 · 3 comments

Comments

@lukereative
Copy link
Contributor

lukereative commented Sep 17, 2018

As React is the integral front-end library for the CMS, it is important we keep it up to date so we can take advantage of improvements made to it and also so we may use other packages which depend on newer versions. @unclecheese and I have already done the majority of the upgrade effort and have moved prop-types to the 'new' external library (#644) and there are branches 'dont-over-react' on each of the modules that use react with initial upgrades.


Also, from @torleif in #673:

node.js 6 maintenance ends in April 2019.

From what I can tell this might be a bit of a challenge, as silverstripe/webpack-config seems to have issues with the eslint module and proptypes in the latest version of react.

Note before merging

Need to bump the version number and npm release webpack-config silverstripe/webpack-config#32 and update the other PRs before merging. Use yarn link to test the other branches with the new webpack-config before merging

PRs

@robbieaverill
Copy link
Contributor

I think we should take some care here. This is labelled as impact/medium and a minor change, but there is probably a bunch of implementations over the admin module already which might break with this upgrade - that said, the upgrade guide says this:

Proactively fixing warnings ensures you are prepared for the next major release. If your app produces zero warnings in 15.5, it should continue to work in 16 without any changes.

@robbieaverill robbieaverill changed the title Upgrade to React 16 Upgrade to React 16 and latest node.js version Oct 4, 2018
@robbieaverill
Copy link
Contributor

@lukereative @unclecheese I've just changed the scope of this issue - in case that affects the estimate you've put on it already

@robbieaverill
Copy link
Contributor

robbieaverill commented Nov 19, 2018

Hey @unclecheese, quick question regarding module compatibility with this in SilverStripe 4.4:

If silverstripe/somemodule requires SilverStripe ^4.0 and has some React stuff that uses components from admin in it, how likely is that the code will no longer be compatible with SilverStripe 4.4 with React 16?

If it's likely to be incompatible then obviously we can release new a new minor version of silverstripe/somemodule which requires ^4.4, but constraining the previous releases (which have ^4.0 as the requirement) is not possible unless people composer update silverstripe/somemodule to pull in a new patch release with more restrictive constraints.

What should we make as the de-facto way of doing this? Patch release the stable release line to change the constraint to ^4.0 <4.4 so future updates will mark it as incompatible, then release a new minor version that requires ^4.4?

cc @NightJar @ScopeyNZ for future CWP recipe context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants