Skip to content

Commit 819696e

Browse files
authored
feat: bump react'version to 18.x (#774)
1 parent 66da95e commit 819696e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+3694
-2519
lines changed

.storybook/main.js

+4
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,8 @@ module.exports = {
1010
typescript: {
1111
reactDocgen: 'none',
1212
},
13+
features: {
14+
postcss: false,
15+
babelModeV7: true,
16+
},
1317
};

jest.config.js

+6
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ module.exports = {
1414
testPathIgnorePatterns: ['/node_modules/', 'esm', 'umd', 'stories'],
1515
// The directory where Jest should output its coverage files
1616
coverageDirectory: 'coverage',
17+
collectCoverageFrom: [
18+
'src/**/*.{ts,tsx}',
19+
'!src/molecule.api.ts',
20+
'!src/index.ts',
21+
'!src/extensions/**',
22+
],
1723
transformIgnorePatterns: ['node_modules/(?!(monaco-editor|.*dnd.*)/)'],
1824
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
1925
moduleNameMapper: {

mock/monacoMock.js

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ module.exports = {
99
setTheme: function (theme) {},
1010
create: function (dom, options, override) {},
1111
},
12+
Uri: {
13+
parse: function () {},
14+
},
1215
KeyMod: {},
1316
KeyCode: {},
1417
};

package.json

+16-16
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,16 @@
3838
"license": "MIT",
3939
"dependencies": {
4040
"@dtinsight/dt-utils": "^1.0.3",
41-
"@types/react": "^17.0.3",
42-
"@types/react-dom": "^17.0.3",
4341
"@vscode/codicons": "^0.0.26",
4442
"immutability-helper": "^3.1.1",
4543
"lodash": "^4.17.21",
4644
"monaco-editor": "^0.30.1",
47-
"rc-dialog": "8.2.1",
45+
"rc-dialog": "^8.9.0",
4846
"rc-textarea": "~0.3.1",
4947
"rc-tooltip": "^5.1.1",
50-
"rc-util": "~5.5.0",
51-
"react-dnd": "14.0.0",
52-
"react-dnd-html5-backend": "14.0.0",
48+
"rc-util": "^5.22.5",
49+
"react-dnd": "^16.0.1",
50+
"react-dnd-html5-backend": "^16.0.1",
5351
"react-scrollbars-custom": "^4.0.25",
5452
"reflect-metadata": "^0.1.13",
5553
"tsyringe": "4.5.0"
@@ -64,17 +62,17 @@
6462
"@babel/preset-typescript": "^7.12.16",
6563
"@commitlint/cli": "^11.0.0",
6664
"@commitlint/config-conventional": "^11.0.0",
67-
"@storybook/addon-actions": "6.1.10",
68-
"@storybook/addon-knobs": "^6.1.10",
69-
"@storybook/addon-links": "6.1.10",
70-
"@storybook/addon-notes": "^5.3.21",
71-
"@storybook/addons": "6.1.10",
72-
"@storybook/react": "6.1.10",
73-
"@testing-library/jest-dom": "^5.14.1",
74-
"@testing-library/react": "^11.2.5",
65+
"@storybook/addon-actions": "6.5.9",
66+
"@storybook/addon-links": "6.5.9",
67+
"@storybook/addons": "6.5.9",
68+
"@storybook/react": "6.5.9",
69+
"@testing-library/jest-dom": "^5.16.4",
70+
"@testing-library/react": "^13.0.0",
7571
"@types/jest": "^26.0.0",
7672
"@types/lodash": "^4.14.172",
77-
"@types/react-test-renderer": "^17.0.1",
73+
"@types/react": "^18.0.15",
74+
"@types/react-dom": "^18.0.6",
75+
"@types/react-test-renderer": "^18.0.0",
7876
"@typescript-eslint/eslint-plugin": "^3.1.0",
7977
"@typescript-eslint/parser": "^3.1.0",
8078
"babel-loader": "^8.2.2",
@@ -96,7 +94,9 @@
9694
"node-sass-alias-importer": "^1.0.2",
9795
"prettier": "^2.1.2",
9896
"pretty-quick": "^3.1.0",
99-
"react-test-renderer": "^16.14.0",
97+
"react": "^18.2.0",
98+
"react-dom": "^18.2.0",
99+
"react-test-renderer": "^18.2.0",
100100
"rimraf": "^3.0.2",
101101
"sass": "^1.26.10",
102102
"sass-loader": "^10.0.2",

src/components/collapse/__tests__/index.test.tsx

+19-6
Original file line numberDiff line numberDiff line change
@@ -113,17 +113,20 @@ describe('Test The Collapse Component', () => {
113113
expect(mockResize).toBeCalled();
114114
expect(mockResize.mock.calls[0][0]).toEqual([26, 26, 26]);
115115

116+
// collapsing mock2 and mock3
117+
await act(async () => {
118+
fireEvent.click(collaspeItem?.childNodes[0]!);
119+
await sleep(300);
120+
});
121+
116122
await act(async () => {
117-
// collapsing mock2 and mock3
118123
const mock3 = container.querySelector(
119124
'div[data-collapse-id="mock3"]'
120125
);
121-
fireEvent.click(collaspeItem?.childNodes[0]!);
122-
await sleep(300);
123126
fireEvent.click(mock3?.childNodes[0]!);
124-
125127
await sleep(300);
126128
});
129+
127130
expect(mockResize).toBeCalled();
128131
// divided the remaining space by grow number
129132
expect(mockResize.mock.calls[2][0]).toEqual([26, 316, 158]);
@@ -151,11 +154,14 @@ describe('Test The Collapse Component', () => {
151154
const mock2 = container.querySelector(
152155
'div[data-collapse-id="mock2"]'
153156
);
157+
fireEvent.click(mock2?.childNodes[0]!);
158+
await sleep(300);
159+
});
160+
161+
await act(async () => {
154162
const mock3 = container.querySelector(
155163
'div[data-collapse-id="mock3"]'
156164
);
157-
fireEvent.click(mock2?.childNodes[0]!);
158-
await sleep(300);
159165
fireEvent.click(mock3?.childNodes[0]!);
160166
await sleep(300);
161167
});
@@ -326,6 +332,9 @@ describe('Test The Collapse Component', () => {
326332
// collapsing it
327333
fireEvent.click(mock1?.childNodes[0]!);
328334
await sleep(300);
335+
});
336+
337+
await act(async () => {
329338
// @ts-ignore
330339
HTMLElement.prototype.getBoundingClientRect = () => ({
331340
height: 100,
@@ -335,6 +344,7 @@ describe('Test The Collapse Component', () => {
335344
fireEvent.click(mock1?.childNodes[0]!);
336345
await sleep(300);
337346
});
347+
338348
expect(mock1?.parentElement?.style.height).toBe('126px');
339349
});
340350

@@ -384,6 +394,9 @@ describe('Test The Collapse Component', () => {
384394
await act(async () => {
385395
fireEvent.click(mock2?.childNodes[0]!);
386396
await sleep(300);
397+
});
398+
399+
await act(async () => {
387400
fireEvent.click(mock3?.childNodes[0]!);
388401
await sleep(300);
389402
});

src/components/contextMenu/__tests__/contextMenu.test.tsx

+18-9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import { render } from '@testing-library/react';
33

44
import { IContextMenu, useContextMenu } from '../index';
5+
import { act } from 'react-test-renderer';
56

67
describe('Test ContextMenu Component', () => {
78
const container = render(<div data-testid="anchor"></div>);
@@ -17,27 +18,35 @@ describe('Test ContextMenu Component', () => {
1718
});
1819

1920
test('Test the useContextMenu method', () => {
20-
contextMenu = useContextMenu({
21-
anchor: anchorEle,
22-
render() {
23-
return <span data-testid="menuitem">Test context menu</span>;
24-
},
21+
act(() => {
22+
contextMenu = useContextMenu({
23+
anchor: anchorEle,
24+
render() {
25+
return (
26+
<span data-testid="menuitem">Test context menu</span>
27+
);
28+
},
29+
});
2530
});
2631
expect(contextMenu).not.toBeUndefined();
2732
});
2833

2934
test('Test the useContextMenu show method', () => {
30-
contextMenu?.show({
31-
x: anchorEle.offsetTop,
32-
y: anchorEle.offsetLeft,
35+
act(() => {
36+
contextMenu?.show({
37+
x: anchorEle.offsetTop,
38+
y: anchorEle.offsetLeft,
39+
});
3340
});
3441
const content = container.getByTestId('menuitem');
3542
expect(content).not.toBeUndefined();
3643
expect(contextMenu?.view?.style.visibility).toEqual('visible');
3744
});
3845

3946
test('Test the useContextMenu hide method', () => {
40-
contextMenu?.hide();
47+
act(() => {
48+
contextMenu?.hide();
49+
});
4150
expect(contextMenu?.view?.style.visibility).toEqual('hidden');
4251
});
4352
});

0 commit comments

Comments
 (0)