From 7c5186c1bfa40af6aa891ff2c8f361666d7ff9f7 Mon Sep 17 00:00:00 2001
From: Manoj Vivek
Date: Fri, 21 Jun 2024 13:14:16 +0530
Subject: [PATCH 01/13] cra to vite
---
ui/README.md | 2 +-
ui/config/next.tsconfig.json | 3 +-
ui/packages/app/web/.env.local-dev | 2 +-
ui/packages/app/web/.swcrc | 13 -
ui/packages/app/web/craco.config.js | 30 -
ui/packages/app/web/{public => }/index.html | 17 +-
ui/packages/app/web/package.json | 12 +-
ui/packages/app/web/postcss.config.js | 14 +-
ui/packages/app/web/src/pages/index.tsx | 20 +-
ui/packages/app/web/src/pages/targets.tsx | 35 +-
ui/packages/app/web/tailwind.config.js | 10 +-
ui/packages/app/web/tsconfig.json | 3 +-
ui/packages/app/web/vite.config.ts | 11 +
.../components/src/NoDataPrompt/index.tsx | 13 +-
ui/packages/shared/icons/package.json | 3 +-
ui/packages/shared/icons/src/index.tsx | 24 +-
ui/packages/shared/parser/src/index.ts | 10 +-
ui/packages/shared/parser/src/selector.js | 19 +-
ui/packages/shared/store/src/store.ts | 30 +-
ui/packages/shared/utilities/src/index.ts | 6 +-
ui/pnpm-lock.yaml | 643 +++++++++++++++---
ui/tsconfig.json | 3 +-
22 files changed, 704 insertions(+), 219 deletions(-)
delete mode 100644 ui/packages/app/web/.swcrc
delete mode 100644 ui/packages/app/web/craco.config.js
rename ui/packages/app/web/{public => }/index.html (68%)
create mode 100644 ui/packages/app/web/vite.config.ts
diff --git a/ui/README.md b/ui/README.md
index 8b6c1738e1d..2b8f8833259 100644
--- a/ui/README.md
+++ b/ui/README.md
@@ -7,7 +7,7 @@ This is a [Create React App](https://create-react-app.dev/) project that utilize
The React app requires an environment variable for the API endpoint so as to talk to the Parca backend. Create a file named `.env.local` in `packages/app/web/` to add the environment variable for the API endpoint.
```shell
-REACT_APP_PUBLIC_API_ENDPOINT=http://localhost:7070
+VITE_API_ENDPOINT=http://localhost:7070
```
Then, start the Parca backend by running the command below. The `--cors-allowed-origins='*'` flag allows for enabling CORS headers on Parca.
diff --git a/ui/config/next.tsconfig.json b/ui/config/next.tsconfig.json
index b95f1a65338..1eac38fa468 100644
--- a/ui/config/next.tsconfig.json
+++ b/ui/config/next.tsconfig.json
@@ -16,6 +16,7 @@
"paths": {
"@parca/*": ["../packages/shared/*"]
},
- "strictNullChecks": true
+ "strictNullChecks": true,
+ "types": ["vite/client"]
}
}
diff --git a/ui/packages/app/web/.env.local-dev b/ui/packages/app/web/.env.local-dev
index 1aa2b2ab700..c11a3ce515b 100644
--- a/ui/packages/app/web/.env.local-dev
+++ b/ui/packages/app/web/.env.local-dev
@@ -1 +1 @@
-REACT_APP_PUBLIC_API_ENDPOINT=http://localhost:7070
+VITE_API_ENDPOINT=http://localhost:7070
diff --git a/ui/packages/app/web/.swcrc b/ui/packages/app/web/.swcrc
deleted file mode 100644
index f2f3f4145bc..00000000000
--- a/ui/packages/app/web/.swcrc
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "jsc": {
- "parser": {
- "syntax": "typescript",
- "jsx": true,
- },
- "transform": {
- "react": {
- "runtime": "automatic",
- },
- },
- },
-}
diff --git a/ui/packages/app/web/craco.config.js b/ui/packages/app/web/craco.config.js
deleted file mode 100644
index d8866f3aed8..00000000000
--- a/ui/packages/app/web/craco.config.js
+++ /dev/null
@@ -1,30 +0,0 @@
-const path = require('path');
-const {loaderByName, addAfterLoader, removeLoaders} = require('@craco/craco');
-
-const packages = [__dirname];
-packages.push(path.join(__dirname, '../../shared/client'));
-packages.push(path.join(__dirname, '../../shared/components'));
-packages.push(path.join(__dirname, '../../shared/dynamicsize'));
-packages.push(path.join(__dirname, '../../shared/functions'));
-packages.push(path.join(__dirname, '../../shared/icons'));
-packages.push(path.join(__dirname, '../../shared/parser'));
-packages.push(path.join(__dirname, '../../shared/profile'));
-packages.push(path.join(__dirname, '../../shared/store'));
-packages.push(path.join(__dirname, '../../shared/hooks'));
-packages.push(path.join(__dirname, '../../shared/utilities'));
-
-module.exports = {
- webpack: {
- configure: (webpackConfig, arg) => {
- addAfterLoader(webpackConfig, loaderByName('babel-loader'), {
- test: /\.(js|mjs|jsx|ts|tsx)$/,
- include: packages,
- loader: require.resolve('swc-loader'),
- });
-
- removeLoaders(webpackConfig, loaderByName('babel-loader'));
-
- return webpackConfig;
- },
- },
-};
diff --git a/ui/packages/app/web/public/index.html b/ui/packages/app/web/index.html
similarity index 68%
rename from ui/packages/app/web/public/index.html
rename to ui/packages/app/web/index.html
index 10bb35ed01e..abdb2fcc5e4 100644
--- a/ui/packages/app/web/public/index.html
+++ b/ui/packages/app/web/index.html
@@ -6,16 +6,16 @@
window.APP_VERSION = '{{.Version}}';
-
+
-
+
-
+
+