Skip to content

Commit 928090c

Browse files
authored
Bump dependencies and update peer deps to react >= 16.8.6 (#104)
* Bump deps * Fix tests * Add devcontainer.json * Update to lerna@4.0.0 * Add entry * Update esbuild
1 parent f14866c commit 928090c

16 files changed

+40448
-76783
lines changed

.devcontainer/Dockerfile

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.202.1/containers/javascript-node/.devcontainer/base.Dockerfile
2+
3+
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster
4+
ARG VARIANT="16-bullseye"
5+
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT}
6+
7+
# [Optional] Uncomment this section to install additional OS packages.
8+
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
9+
# && apt-get -y install --no-install-recommends <your-package-list-here>
10+
11+
# [Optional] Uncomment if you want to install an additional version of node using nvm
12+
# ARG EXTRA_NODE_VERSION=10
13+
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"
14+
15+
# [Optional] Uncomment if you want to install more global node modules
16+
# RUN su node -c "npm install -g <your-package-list-here>"

.devcontainer/devcontainer.json

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.202.1/containers/javascript-node
3+
{
4+
"name": "Node.js",
5+
"runArgs": ["--init"],
6+
"build": {
7+
"dockerfile": "Dockerfile",
8+
// Update 'VARIANT' to pick a Node version: 16, 14, 12.
9+
// Append -bullseye or -buster to pin to an OS version.
10+
// Use -bullseye variants on local arm64/Apple Silicon.
11+
"args": { "VARIANT": "16-bullseye" }
12+
},
13+
14+
// Set *default* container specific settings.json values on container create.
15+
"settings": {},
16+
17+
// Add the IDs of extensions you want installed when the container is created.
18+
"extensions": ["dbaeumer.vscode-eslint", "compulim.compulim-vscode-closetag", "esbenp.prettier-vscode"],
19+
20+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
21+
// "forwardPorts": [],
22+
23+
// Use 'postCreateCommand' to run commands after the container is created.
24+
"postCreateCommand": ["npm install", "npm run bootstrap", "npm run build"],
25+
26+
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
27+
"remoteUser": "node",
28+
29+
"features": {
30+
"docker-in-docker": "latest"
31+
},
32+
33+
"containerEnv": {
34+
"SKIP_PREFLIGHT_CHECK": "true"
35+
}
36+
}

CHANGELOG.md

+37
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
- Added support of GitHub Codespaces, by [@compulim](https://github.com/compulim) in PR [#104](https://github.com/compulim/react-scroll-to-bottom/pull/104)
13+
- Changed peer dependencies requirement to `react >= 16.8.6`, by [@compulim](https://github.com/compulim) in PR [#104](https://github.com/compulim/react-scroll-to-bottom/pull/104)
14+
- Bumped dependencies, by [@compulim](https://github.com/compulim) in PR [#104](https://github.com/compulim/react-scroll-to-bottom/pull/104)
15+
- Production dependencies
16+
- [`@babel/runtime-corejs3@7.15.4`](https://npmjs.com/package/@babel/runtime-corejs3)
17+
- [`@emotion/css@11.1.3`](https://npmjs.com/package/@emotion/css)
18+
- [`core-js@3.18.3`](https://npmjs.com/package/core-js)
19+
- Non-production dependencies
20+
- [`@babel/cli@7.15.7`](https://npmjs.com/package/@babel/cli)
21+
- [`@babel/core@7.15.8`](https://npmjs.com/package/@babel/core)
22+
- [`@babel/preset-env@7.15.8`](https://npmjs.com/package/@babel/preset-env)
23+
- [`@testing-library/jest-dom@5.14.1`](https://npmjs.com/package/@testing-library/jest-dom)
24+
- [`concurrently@6.3.0`](https://npmjs.com/package/concurrently)
25+
- [`esbuild@0.13.5`](https://npmjs.com/package/esbuild)
26+
- [`eslint-plugin-prettier@4.0.0`](https://npmjs.com/package/eslint-plugin-prettier)
27+
- [`eslint-plugin-react@7.26.1`](https://npmjs.com/package/eslint-plugin-react)
28+
- [`eslint@7.32.0`](https://npmjs.com/package/eslint)
29+
- [`husky@7.0.2`](https://npmjs.com/package/husky)
30+
- [`istanbul-lib-coverage@3.0.2`](https://npmjs.com/package/istanbul-lib-coverage)
31+
- [`jest-environment-node@27.2.5`](https://npmjs.com/package/jest-environment-node)
32+
- [`jest-image-snapshot@4.5.1`](https://npmjs.com/package/jest-image-snapshot)
33+
- [`jest@27.2.5`](https://npmjs.com/package/jest)
34+
- [`lerna@4.0.0`](https://npmjs.com/package/lerna)
35+
- [`lint-staged@11.2.3`](https://npmjs.com/package/lint-staged)
36+
- [`lorem-ipsum@2.0.4`](https://npmjs.com/package/lorem-ipsum)
37+
- [`node-fetch@2.6.5`](https://npmjs.com/package/node-fetch)
38+
- [`nodemon@2.0.13`](https://npmjs.com/package/nodemon)
39+
- [`prettier@2.4.1`](https://npmjs.com/package/prettier)
40+
- [`react-dom@16.14.0`](https://npmjs.com/package/react-dom)
41+
- [`react-scripts@4.0.3`](https://npmjs.com/package/react-scripts)
42+
- [`react@16.14.0`](https://npmjs.com/package/react)
43+
- [`selenium-webdriver@4.0.0-rc-2`](https://npmjs.com/package/selenium-webdriver)
44+
- [`serve@12.0.1`](https://npmjs.com/package/serve)
45+
- [`strip-ansi@6.0.1`](https://npmjs.com/package/strip-ansi)
46+
1047
## [4.1.2] - 2021-05-17
1148

1249
### Changed

__tests__/race-condition-append-while-scrolling.html

+10-3
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,16 @@
5353
run(async function () {
5454
let paragraphs = pageObjects.paragraphs;
5555

56-
for (let i = 0; i < 20; i++) {
56+
for (let index = 0; index < 20; index++) {
5757
// Preparation: scrollable should stay at the bottom before start.
58-
await render(paragraphs, () => ReactScrollToBottom.useScrollTo()('100%', { behavior: 'auto' }));
58+
await render(paragraphs, () => {
59+
const scrollTo = ReactScrollToBottom.useScrollTo();
60+
61+
React.useEffect(() => {
62+
scrollTo('100%', { behavior: 'auto' });
63+
}, [index, scrollTo]);
64+
});
65+
5966
await pageObjects.scrollStabilizedAtBottom();
6067

6168
const scrollable = document.getElementsByClassName('scrollable')[0];
@@ -64,7 +71,7 @@
6471
const scrolling = new Promise(resolve => scrollable.addEventListener('scroll', resolve, { once: true }));
6572

6673
// Alternate between discrete and smooth scrolling.
67-
scrollable.scrollTo({ behavior: i % 2 ? 'auto' : 'smooth', top: 0 });
74+
scrollable.scrollTo({ behavior: index % 2 ? 'auto' : 'smooth', top: 0 });
6875

6976
// "scroll" event dispatched after we call scrollTo(), it should be safe to append a new element.
7077
// Withou the "scroll" event, the component can't guarantee if it is safe to append, due to technical difficulties.

__tests__/race-condition-append-while-scrolling.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ jest.setTimeout(30000);
55

66
describe('when under heavy load', () => {
77
test('append an element while scrolling to the top should continue to scroll', () =>
8-
runHTML('race-condition-scroll-into-view'));
8+
runHTML('race-condition-append-while-scrolling'));
99
});

__tests__/race-condition-scroll-into-view.html

+9-3
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@
6565
run(async function () {
6666
await render();
6767

68-
for (let i = 0; i < 20; i++) {
68+
for (let index = 0; index < 20; index++) {
6969
await pageObjects.scrollStabilizedAtBottom();
7070
await became('sticky', () => document.getElementsByClassName('sticky').length, 5000);
7171

72-
if (i % 2) {
72+
if (index % 2) {
7373
document.getElementsByClassName('scrollable')[0].scrollTo({ behavior: 'auto', top: 0 });
7474
} else {
7575
document.getElementsByClassName('scrollable')[0].children[0].scrollIntoView({ behavior: 'auto' });
@@ -83,7 +83,13 @@
8383
await pageObjects.scrollStabilizedAtTop();
8484
await became('not sticky', () => !document.getElementsByClassName('sticky').length, 5000);
8585

86-
await render(() => ReactScrollToBottom.useScrollTo()('100%', { behavior: 'smooth' }));
86+
await render(() => {
87+
const scrollTo = ReactScrollToBottom.useScrollTo();
88+
89+
React.useEffect(() => {
90+
scrollTo('100%', { behavior: 'smooth' });
91+
}, [index, scrollTo]);
92+
});
8793
}
8894
});
8995
</script>

__tests__/use-scroll-to-x.html

+12-4
Original file line numberDiff line numberDiff line change
@@ -55,31 +55,39 @@
5555
await render(() => {
5656
const scrollToTop = ReactScrollToBottom.useScrollToTop();
5757

58-
scrollToTop();
58+
React.useEffect(() => {
59+
scrollToTop();
60+
}, [scrollToTop]);
5961
});
6062

6163
await pageObjects.scrollStabilizedAtTop();
6264

6365
await render(() => {
6466
const scrollToBottom = ReactScrollToBottom.useScrollToBottom();
6567

66-
scrollToBottom();
68+
React.useEffect(() => {
69+
scrollToBottom();
70+
}, [scrollToBottom]);
6771
});
6872

6973
await pageObjects.scrollStabilizedAtBottom();
7074

7175
await render(() => {
7276
const scrollToStart = ReactScrollToBottom.useScrollToStart();
7377

74-
scrollToStart();
78+
React.useEffect(() => {
79+
scrollToStart();
80+
}, [scrollToStart]);
7581
});
7682

7783
await pageObjects.scrollStabilizedAtTop();
7884

7985
await render(() => {
8086
const scrollToEnd = ReactScrollToBottom.useScrollToEnd();
8187

82-
scrollToEnd();
88+
React.useEffect(() => {
89+
scrollToEnd();
90+
}, [scrollToEnd]);
8391
});
8492

8593
await pageObjects.scrollStabilizedAtBottom();

__tests__/use-scroll-to.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@
4747
await render(() => {
4848
const scrollTo = ReactScrollToBottom.useScrollTo();
4949

50-
scrollTo(100, { behavior: 'auto' });
50+
React.useEffect(() => {
51+
scrollTo(100, { behavior: 'auto' });
52+
}, [scrollTo]);
5153
});
5254

5355
await became(

0 commit comments

Comments
 (0)