Skip to content

Commit

Permalink
Fix twenty-front performances (#6744)
Browse files Browse the repository at this point in the history
I have investigated the performance of our frontend vite build:
`npx nx run twenty:start` of `npx nx run twenty:build`

RAM usage:
- 160Mb: vite serve
- background typescript checker: 2.5GB
- background eslint checker: 3.5GB

I'm introducing two environment variables in FE .env to disable these
checkers on lower configuration (and to disable them from CD build):
```
# VITE_DISABLE_TYPESCRIPT_CHECKER=true
# VITE_DISABLE_ESLINT_CHECKER=true
```
  • Loading branch information
charlesBochet authored Aug 26, 2024
1 parent 55685d3 commit 1d6a1f6
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 8 deletions.
2 changes: 1 addition & 1 deletion nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
},
"start": {
"cache": true,
"dependsOn": ["^typecheck","^build"]
"dependsOn": ["^build"]
},
"lint": {
"executor": "@nx/eslint:lint",
Expand Down
2 changes: 2 additions & 0 deletions packages/twenty-front/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ GENERATE_SOURCEMAP=false

# ———————— Optional ————————
# CHROMATIC_PROJECT_TOKEN=
# VITE_DISABLE_TYPESCRIPT_CHECKER=true
# VITE_DISABLE_ESLINT_CHECKER=true
2 changes: 1 addition & 1 deletion packages/twenty-front/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"build": "npx vite build && sh ./scripts/inject-runtime-env.sh",
"build:sourcemaps": "VITE_BUILD_SOURCEMAP=true NODE_OPTIONS=--max-old-space-size=4096 npx nx build",
"build:sourcemaps": "VITE_BUILD_SOURCEMAP=true VITE_DISABLE_TYPESCRIPT_CHECKER=true VITE_DISABLE_ESLINT_CHECKER=true NODE_OPTIONS=--max-old-space-size=4096 npx nx build",
"start:prod": "NODE_ENV=production npx vite --host",
"tsup": "npx tsup"
},
Expand Down
18 changes: 13 additions & 5 deletions packages/twenty-front/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@ export default defineConfig(({ command, mode }) => {
/*
Using explicit env variables, there is no need to expose all of them (security).
*/
const { REACT_APP_SERVER_BASE_URL, VITE_BUILD_SOURCEMAP } = env;
const {
REACT_APP_SERVER_BASE_URL,
VITE_BUILD_SOURCEMAP,
VITE_DISABLE_TYPESCRIPT_CHECKER,
VITE_DISABLE_ESLINT_CHECKER,
} = env;

const isBuildCommand = command === 'build';

Expand All @@ -24,13 +29,16 @@ export default defineConfig(({ command, mode }) => {
: path.resolve(__dirname, './tsconfig.dev.json');

const checkers: Checkers = {
typescript: {
tsconfigPath: tsConfigPath,
},
overlay: false,
};

if (!isBuildCommand) {
if (VITE_DISABLE_TYPESCRIPT_CHECKER !== 'true') {
checkers['typescript'] = {
tsconfigPath: tsConfigPath,
};
}

if (VITE_DISABLE_ESLINT_CHECKER !== 'true') {
checkers['eslint'] = {
lintCommand:
'eslint . --report-unused-disable-directives --max-warnings 0 --config .eslintrc.cjs',
Expand Down
2 changes: 1 addition & 1 deletion packages/twenty-server/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
},
"start": {
"executor": "nx:run-commands",
"dependsOn": ["build"],
"dependsOn": ["typecheck", "build"],
"options": {
"cwd": "packages/twenty-server",
"command": "NODE_ENV=development && nest start --watch"
Expand Down

0 comments on commit 1d6a1f6

Please sign in to comment.