* to vite * fx customSnackBar test * fix emptyCard test * clean debug * fix status test * fix customDialogTitle test * fix CustomButton test * fix customDialog test * fix some of customInput tests * add missing dependency * fix missing dependency * testing-library is dropped support for react 17, so we need to stick with 12.1.2 * fix tablehead test * fix toobar test * remove unused test * fix table tests * fix simple menu test * fix layout test * fix grid test * fix custom input test * remove unused file * add missing coverage dependency * upgrade electron * remove unused file
2.3 KiB
Attu client
How to run
- yarn install
- yarn start
Folder Structure
└── public # Static resources
└── src
├── assets # Put images here
├── components # Components
├── consts # Constant values
├── context # React context
├── hooks # React hooks
├── http # Http request api. And we have http interceptor in GlobalEffect.tsx file
├── i18n # Language i18n
├── pages # All pages, business components and types.
├── plugins # All import plugins.
├── router # React router, control the page auth.
├── styles # Styles, normally we use material to control styles.
├── types # Global types
└── utils # The common functoins
Fixed pacakge version
Temporarily we specify 3 packages' version for ts build.
"@material-ui/core": "4.11.4",
"@material-ui/lab": "4.0.0-alpha.58",
"react-i18next": "11.10.0",
react-i18next's useTranslation(<name>) will return a t function, which used to return string and string{} type. But in latest version it only return string and cause typecheck error.
@material-ui/core change TablePagination(from '@material-ui/core/TablePagination') type in latest version. We specified a former version to prevent error here.
In future we will fix all type issues and remove specified package version usage.
How to name the file
We use Camel-Case to name the file.
In components / pages folder, we need subfolder to wrapper all related files.
Global Effect
We get global data or take global side effect in components/layout/GlobalEffect
Http request
We support user to define HOST_URL when docker run and it will write the env-config.js in public folder.
We use class getter to define our client fields like _field, because of our server response fields may be changed.
Helper Folder
Like utils / consts / utils / hooks , we dont want put all functions or data in one file like index.ts because of maintainability.
So when we need to create new file , treat the file like Class then name it.