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

feat: upgrade react to v18 #876

Merged
merged 3 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/dhis2-verify-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Build
run: yarn build

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: lib-build
path: |
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
with:
node-version: 18.x

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
name: lib-build

Expand All @@ -83,7 +83,7 @@ jobs:
with:
node-version: 18.x

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
name: lib-build

Expand Down
11 changes: 5 additions & 6 deletions adapter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,11 @@
},
"devDependencies": {
"@dhis2/cli-app-scripts": "12.0.0-alpha.13",
"@testing-library/react": "^12.0.0",
"@testing-library/react-hooks": "^8.0.1",
"@testing-library/react": "^16.0.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
"react": "^16.8",
"react-dom": "^16.8"
"react": "^18",
"react-dom": "^18"
},
"scripts": {
"build": "d2-app-scripts build",
Expand All @@ -44,8 +43,8 @@
"classnames": "^2",
"moment": "^2",
"prop-types": "^15",
"react": "^16.8",
"react-dom": "^16.8",
"react": "^18",
"react-dom": "^18",
"styled-jsx": "^4"
},
"jest": {
Expand Down
16 changes: 8 additions & 8 deletions adapter/src/utils/useLocale.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useDataQuery } from '@dhis2/app-runtime'
import i18n from '@dhis2/d2-i18n'
import { renderHook } from '@testing-library/react-hooks'
import { renderHook, waitFor } from '@testing-library/react'
import moment from 'moment'
import { useCurrentUserLocale } from './useLocale.js'

Expand Down Expand Up @@ -84,7 +84,7 @@ describe('formerly problematic locales', () => {
useDataQuery.mockReturnValue({
data: { userSettings: { keyUiLocale: 'pt_BR' } },
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('ltr')
// Notice different locale formats
Expand All @@ -109,7 +109,7 @@ describe('formerly problematic locales', () => {
useDataQuery.mockReturnValue({
data: { userSettings: { keyUiLocale: 'ar_EG' } },
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('rtl')
expect(result.current.locale.baseName).toBe('ar-EG')
Expand All @@ -127,7 +127,7 @@ describe('formerly problematic locales', () => {
useDataQuery.mockReturnValue({
data: { userSettings: { keyUiLocale: 'uz_UZ_Cyrl' } },
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('ltr')
expect(result.current.locale.baseName).toBe('uz-Cyrl-UZ')
Expand All @@ -141,7 +141,7 @@ describe('formerly problematic locales', () => {
useDataQuery.mockReturnValue({
data: { userSettings: { keyUiLocale: 'uz_UZ_Latn' } },
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('ltr')
expect(result.current.locale.baseName).toBe('uz-Latn-UZ')
Expand All @@ -166,7 +166,7 @@ describe('other userSettings cases', () => {
userSettings: { keyUiLocale: 'en', keyUiLanguageTag: 'pt-BR' },
},
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('ltr')
expect(result.current.locale.baseName).toBe('pt-BR')
Expand All @@ -180,7 +180,7 @@ describe('other userSettings cases', () => {
useDataQuery.mockReturnValue({
data: { userSettings: {} },
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('rtl')
expect(result.current.locale.baseName).toBe('ar-EG')
Expand All @@ -194,7 +194,7 @@ describe('other userSettings cases', () => {
useDataQuery.mockReturnValue({
data: { userSettings: { keyUiLocale: 'shouldCauseError' } },
})
const { result, waitFor } = renderHook(() => useCurrentUserLocale())
const { result } = renderHook(() => useCurrentUserLocale())

expect(result.current.direction).toBe('rtl')
expect(result.current.locale.baseName).toBe('ar-EG')
Expand Down
11 changes: 6 additions & 5 deletions cli/config/init/App.test.jsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import { CustomDataProvider } from '@dhis2/app-runtime'
import React from 'react'
import ReactDOM from 'react-dom'
import { createRoot } from 'react-dom/client'
import App from './App.jsx'

it('renders without crashing', () => {
const div = document.createElement('div')
ReactDOM.render(
const root = createRoot(div)

root.render(
<CustomDataProvider>
<App />
</CustomDataProvider>,
div
</CustomDataProvider>
)
ReactDOM.unmountComponentAtNode(div)
root.unmount()
})
4 changes: 2 additions & 2 deletions shell/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"moment": "^2.29.1",
"post-robot": "^10.0.46",
"prop-types": "^15.7.2",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react": "^18",
"react-dom": "^18",
"source-map-explorer": "^2.1.0",
"styled-jsx": "^4.0.1",
"typeface-roboto": "^0.0.75",
Expand Down
7 changes: 4 additions & 3 deletions shell/src/App.test.jsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import React from 'react'
import ReactDOM from 'react-dom'
import { createRoot } from 'react-dom/client'
import App from './App.jsx'

it('renders without crashing', () => {
const div = document.createElement('div')
ReactDOM.render(<App />, div)
ReactDOM.unmountComponentAtNode(div)
const root = createRoot(div)
root.render(<App />)
root.unmount()
})
9 changes: 5 additions & 4 deletions shell/src/index.jsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { CssReset } from '@dhis2/ui'
import React from 'react'
import ReactDOM from 'react-dom'
import { createRoot } from 'react-dom/client'
import App from './App.jsx'
import 'typeface-roboto'
import './index.css'

ReactDOM.render(
const container = document.getElementById('dhis2-app-root')
const root = createRoot(container)
root.render(
<>
<CssReset />
<App />
</>,
document.getElementById('dhis2-app-root')
</>
)
9 changes: 5 additions & 4 deletions shell/src/plugin.index.jsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { CssReset } from '@dhis2/ui'
import React from 'react'
import ReactDOM from 'react-dom'
import { createRoot } from 'react-dom/client'
import Plugin from './Plugin.jsx'
import 'typeface-roboto'
import './index.css'

ReactDOM.render(
const container = document.getElementById('dhis2-app-root')
const root = createRoot(container)
root.render(
<>
<CssReset />
<Plugin />
</>,
document.getElementById('dhis2-app-root')
</>
)
Loading
Loading