Skip to content

Commit 2465404

Browse files
committed
feat: Replace react-script to vite
1 parent ecd4095 commit 2465404

File tree

47 files changed

+2557
-4625
lines changed

Some content is hidden

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

47 files changed

+2557
-4625
lines changed

packages/neuron-ui/.eslintrc.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ module.exports = {
6565
'import/no-extraneous-dependencies': [
6666
'error',
6767
{
68-
devDependencies: ['**/*.stories.*', 'src/setupTests.ts', '**/*.test.ts'],
68+
devDependencies: ['**/*.stories.*', 'src/setupTests.ts', '**/*.test.ts', './vitest-setup.js'],
6969
},
7070
],
7171
'import/extensions': [
@@ -96,5 +96,6 @@ module.exports = {
9696
allowExpressions: true,
9797
},
9898
],
99+
'import/no-unresolved': [2, { ignore: ['.svg'] }],
99100
},
100101
}

packages/neuron-ui/index.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8" />
6+
<link rel="shortcut icon" href="/favicon.ico" />
7+
<link rel="stylesheet" href="/css/fonts.css" />
8+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
9+
<meta name="theme-color" content="#000000" />
10+
<title>Neuron</title>
11+
</head>
12+
13+
<body>
14+
<navbar class="navbar"></navbar>
15+
<div id="notification" class="notification"></div>
16+
<main id="root" class="main-content"></main>
17+
<div id="dialog" class="dialog"></div>
18+
<script type="module" src="/src/index.tsx"></script>
19+
</body>
20+
21+
</html>

packages/neuron-ui/package.json

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
"main": "./build",
1616
"license": "MIT",
1717
"scripts": {
18-
"start": "cross-env DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false react-app-rewired start",
18+
"start": "cross-env DISABLE_ESLINT_PLUGIN=true vite",
1919
"lint": "eslint --fix --ext .tsx,.ts,.js src",
20-
"test": "react-app-rewired test --env=jsdom --watchAll=false",
21-
"build": "cross-env DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false react-app-rewired build",
20+
"test": "vitest --environment=jsdom --run --watch=false",
21+
"build": "cross-env DISABLE_ESLINT_PLUGIN=true vite build",
2222
"clean": "npx rimraf build",
2323
"precommit": "lint-staged",
2424
"storybook": "storybook dev -p 9009 -s public",
@@ -83,13 +83,16 @@
8383
"@storybook/react": "7.6.6",
8484
"@storybook/react-webpack5": "7.6.6",
8585
"@storybook/testing-library": "0.2.2",
86+
"@testing-library/jest-dom": "6.6.3",
87+
"@testing-library/react": "16.2.0",
8688
"@types/enzyme": "3.10.18",
8789
"@types/enzyme-adapter-react-16": "1.0.9",
8890
"@types/node": "20.10.5",
8991
"@types/react": "18.2.45",
9092
"@types/react-dom": "18.2.18",
9193
"@types/react-router-dom": "5.3.3",
9294
"@types/styled-components": "5.1.34",
95+
"@vitejs/plugin-react": "4.3.4",
9396
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
9497
"babel-jest": "25.5.1",
9598
"electron": "30.0.0",
@@ -100,11 +103,17 @@
100103
"eslint-plugin-jsx-a11y": "6.7.1",
101104
"eslint-plugin-react": "7.32.2",
102105
"jest-styled-components": "7.2.0",
103-
"react-app-rewired": "2.2.1",
104-
"react-scripts": "5.0.1",
106+
"jsdom": "26.0.0",
107+
"postcss-preset-env": "10.1.5",
105108
"react-test-renderer": "18.2.0",
106109
"storybook": "7.6.6",
107110
"storybook-addon-react-router-v6": "2.0.10",
111+
"vite": "6.2.1",
112+
"vite-plugin-eslint": "^1.8.1",
113+
"vite-plugin-node-polyfills": "0.23.0",
114+
"vite-plugin-require-transform": "1.0.21",
115+
"vite-plugin-svgr": "4.3.0",
116+
"vitest": "3.0.8",
108117
"webpack": "5.94.0"
109118
},
110119
"resolutions": {

packages/neuron-ui/public/index.html

Lines changed: 0 additions & 27 deletions
This file was deleted.

packages/neuron-ui/src/components/CompensationPeriodTooltip/index.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import React from 'react'
22
import { useTranslation } from 'react-i18next'
3-
import { getCompensatedTime, getCompensationPeriod, CONSTANTS, CompensationPeriod, uniformTimeFormatter } from 'utils'
3+
import { getCompensatedTime, getCompensationPeriod, CompensationPeriod, uniformTimeFormatter } from 'utils'
4+
import { WITHDRAW_EPOCHS } from 'utils/const'
45
import styles from './compensationPeriodTooltip.module.scss'
56

6-
const { WITHDRAW_EPOCHS } = CONSTANTS
7-
87
const HOUR = 3_600_000
98
const HOURS_PER_EPOCH = 4 * HOUR
109
const SECS_PER_DAY = 24 * HOUR

packages/neuron-ui/src/components/GeneralSetting/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import { useSearchParams } from 'react-router-dom'
44
import Dialog from 'widgets/Dialog'
55
import LanguageDialog from 'components/LanguageDialog'
66
import AlertDialog from 'widgets/AlertDialog'
7-
import { ReactComponent as VersionLogo } from 'widgets/Icons/VersionLogo.svg'
8-
import { ReactComponent as ArrowNext } from 'widgets/Icons/ArrowNext.svg'
9-
import { ReactComponent as Update } from 'widgets/Icons/Update.svg'
7+
import VersionLogo from 'widgets/Icons/VersionLogo.svg?react'
8+
import ArrowNext from 'widgets/Icons/ArrowNext.svg?react'
9+
import Update from 'widgets/Icons/Update.svg?react'
1010
import { cancelCheckUpdates, downloadUpdate, installUpdate, getVersion } from 'services/remote'
1111
import { uniformTimeFormatter, bytesFormatter, clsx, wakeScreen, releaseWakeLock } from 'utils'
1212
import Switch from 'widgets/Switch'

packages/neuron-ui/src/components/HardwareSign/success.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'
33
import { useNavigate } from 'react-router-dom'
44
import { RoutePath } from 'utils'
55
import Button from 'widgets/Button'
6-
import { ReactComponent as CompleteIcon } from 'widgets/Icons/Complete.svg'
6+
import CompleteIcon from 'widgets/Icons/Complete.svg?react'
77

88
import styles from './hardwareSign.module.scss'
99

packages/neuron-ui/src/components/History/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import FormattedTokenAmount, { FormattedCKBBalanceChange } from 'components/Form
1414
import { useState as useGlobalState, useDispatch } from 'states'
1515
import { exportTransactions } from 'services/remote'
1616

17-
import { ReactComponent as CKBAvatar } from 'widgets/Icons/Nervos.svg'
17+
import CKBAvatar from 'widgets/Icons/Nervos.svg?react'
1818

1919
import { RoutePath, isMainnet as isMainnetUtil, uniformTimeFormatter } from 'utils'
2020
import { onEnter } from 'utils/inputDevice'
@@ -237,7 +237,6 @@ const History = () => {
237237
navigate(`${RoutePath.History}?pageNo=${pageNo}&keywords=${keywords}&sort=${key}&direction=${type}`)
238238
}}
239239
/>
240-
241240
<div className={styles.container}>
242241
<div className={styles.pagination}>
243242
<Pagination

packages/neuron-ui/src/components/ImportHardware/confirming.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useCallback, useEffect } from 'react'
22
import { useTranslation } from 'react-i18next'
33
import Button from 'widgets/Button'
4-
import { ReactComponent as PendingIcon } from 'widgets/Icons/Pending.svg'
4+
import PendingIcon from 'widgets/Icons/Pending.svg?react'
55
import { getDeviceExtendedPublickey } from 'services/remote'
66
import { isSuccessResponse } from 'utils'
77
import { ImportStep, ActionType } from './common'

packages/neuron-ui/src/components/ImportHardware/detect-device.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'
33
import Button from 'widgets/Button'
44
import { getDevices, getDeviceCkbAppVersion, connectDevice } from 'services/remote'
55
import { isSuccessResponse, errorFormatter, useDidMount } from 'utils'
6-
import { ReactComponent as SuccessInfo } from 'widgets/Icons/SuccessInfo.svg'
6+
import SuccessInfo from 'widgets/Icons/SuccessInfo.svg?react'
77
import { Error as ErrorIcon } from 'widgets/Icons/icon'
88
import Spinner from 'widgets/Spinner'
99
import {

0 commit comments

Comments
 (0)