The react-pose and react-spring package are intentionally not updated in order to prevent incompatibilities. Due to the transitive dependency of react-pose to the stylefire package, some SVG animations would break because the latest version of stylefire changed the way how x & y CSS transform and translate propertiy values are handled. This results in SVG element not being scaled from their original position but from the top of the viewBox.
Using the latest version of react-spring causes a value not defined error for the animation of the floating port project logos.
Both problems will be solved later on by finding the root cause of the undefined value as well as migrating away from the deprecated react-pose package to the new framer-motion package and API.
Updated ESLint Configuration
The ESLint configuration will be adapted to the new @arcticicestudio/eslint-config package. This simplifies the configuration at all by removing custom overrides that were missing in the preset. It also removes the import of the import/no-extraneous-dependencies rule object from the @arcticicestudio/eslint-config-base package since the rule will be disabled for all files matching the **/.gatsby/**/*.js pattern.
The new preset also comes with the new development dependency package eslint-config-prettier. In order to resolve alias imports the eslint-import-resolver-alias package will also be added and configured.
After updating all configurations the whole code base will be linted and possible errors and warnings will be fixed.
Testing Setup
The awesome react-testing libraries moved to the @testing-library package scope which requires some changes to be done to migrate the test setup:
Update all package import paths, e.g. react-testing-library to @testing-library/react.
Remove the deprecated import of the cleanup-after-each function that yields the following warning
The module @testing-library/react/cleanup-after-each has been deprecated and no longer does anything (it is not needed). You no longer need to import this module and can safely remove any import or configuration which imports this module.
Update failing snapshots were only the class name of styled components changed. This is because the generated class names are now starting with a counter of 0 instead of 1 causing only changes like this:
This is the regular batch update for outdated dependencies.
Deprecated Packages
The following packages have been deprecated in favour of new (scoped) packages:
eslint-config-arcticicestudio
➔@arcticicestudio/eslint-config
gatsby-mdx
➔gatsby-plugin-mdx
jest-dom
➔@testing-library/jest-dom
react-hooks-testing-library
➔@testing-library/react-hooks
react-testing-library
➔@testing-library/react
Known Issues
The
react-pose
andreact-spring
package are intentionally not updated in order to prevent incompatibilities. Due to the transitive dependency ofreact-pose
to thestylefire
package, some SVG animations would break because the latest version ofstylefire
changed the way howx
&y
CSStransform
andtranslate
propertiy values are handled. This results in SVG element not being scaled from their original position but from the top of theviewBox
. Using the latest version ofreact-spring
causes avalue not defined
error for the animation of the floating port project logos. Both problems will be solved later on by finding the root cause of the undefinedvalue
as well as migrating away from the deprecatedreact-pose
package to the newframer-motion
package and API.Updated ESLint Configuration
The ESLint configuration will be adapted to the new
@arcticicestudio/eslint-config
package. This simplifies the configuration at all by removing custom overrides that were missing in the preset. It also removes the import of theimport/no-extraneous-dependencies
rule object from the@arcticicestudio/eslint-config-base
package since the rule will be disabled for all files matching the**/.gatsby/**/*.js
pattern.The new preset also comes with the new development dependency package
eslint-config-prettier
. In order to resolve alias imports theeslint-import-resolver-alias
package will also be added and configured.After updating all configurations the whole code base will be linted and possible errors and warnings will be fixed.
Testing Setup
The awesome react-testing libraries moved to the
@testing-library
package scope which requires some changes to be done to migrate the test setup:react-testing-library
to@testing-library/react
.cleanup-after-each
function that yields the following warning0
instead of1
causing only changes like this:Production Dependencies
1.0.6
➔1.5.1
0.18.0
➔0.19.0
2.6.1
➔2.6.4
2.0.0-alpha.27
➔2.4.1
2.3.29
➔2.15.36
2.0.40
➔2.2.27
gatsby-mdx➔ gatsby-plugin-mdx0.6.2
1.0.51
2.0.12
➔2.1.11
2.0.13
➔2.1.13
1.0.16
➔1.1.12
3.0.5
➔3.1.11
2.0.29
➔2.2.21
2.0.15
➔ 2.1.19``2.0.2
➔2.1.1
2.0.25
➔3.0.14
3.0.12
➔3.1.11
2.0.11
➔2.1.10
1.4.0
➔1.5.0
2.0.35
➔2.2.29
2.0.12
➔2.2.17
3.0.7
➔3.1.9
0.0.3
➔1.0.0
2.0.32
➔2.1.31
2.0.18
➔2.1.18
2.1.18
➔2.2.21
2.1.12
➔2.2.13
3.5.0
➔3.10.0
4.17.11
➔4.17.15
3.2.0
➔3.4.1
16.8.6
➔16.10.2
16.8.6
➔16.10.2
5.2.0
➔5.2.1
8.0.7
➔8.0.27
6.0.0
➔6.3.0
4.2.0
➔4.4.0
Development Dependencies
7.4.3
➔7.6.4
7.4.0
➔7.5.5
7.2.0
➔7.5.2
7.4.3
➔7.4.4
7.2.0
➔7.6.0
1.0.14
➔1.5.1
4.2.0
➔4.3.3
10.0.1
➔10.0.3
24.7.1
➔24.9.0
1.10.0
➔1.10.6
0.1.11
➔0.2.18
1.1.0
➔3.0.0
5.16.0
➔6.5.1
eslint-config-arcticicestudio➔ @arcticicestudio/eslint-config>=0.4.0 <1.0.0
>=0.8.0 <1.0.0
6.4.0
2.1.1
➔3.0.0
1.1.2
2.17.2
➔2.18.2
6.2.1
➔6.2.3
3.0.1
➔3.1.1
7.12.4
➔7.16.0
1.6.0
➔2.1.2
3.0.3
➔3.0.4
7.1.3
➔7.1.4
2.1.0
➔3.0.9
24.7.1
➔24.9.0
jest-dom➔ @testing-library/jest-dom3.1.3
4.1.2
6.3.0
➔8.0.0
6.3.1
➔6.3.3
8.1.5
➔9.4.2
1.17.0
➔1.18.2
2.0.2
➔2.0.3
react-hooks-testing-library➔ @testing-library/react0.5.0
9.3.0
react-testing-library➔ @testing-library/react-hooks6.1.2
2.0.3
1.0.2
➔1.0.3
6.0.1
➔7.0.0
7.0.6
➔8.0.0
>=0.2.0 <1.0.0
➔>=0.3.0 <1.0.0
3.3.2
➔3.5.2