fuck me
This commit is contained in:
72
OPTIMIZED-BUILD.md
Normal file
72
OPTIMIZED-BUILD.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Optimized Builds for Slower CPUs
|
||||
|
||||
This document provides instructions for building the project on slower CPUs or resource-constrained environments.
|
||||
|
||||
## Quick Start
|
||||
|
||||
Run the optimized build using:
|
||||
|
||||
```bash
|
||||
npm run build:optimized
|
||||
```
|
||||
|
||||
## Optimization Features
|
||||
|
||||
The following optimizations have been implemented to improve build performance:
|
||||
|
||||
1. **Memory Limit Control**: Sets Node.js memory limit to prevent crashes on memory-constrained systems
|
||||
2. **Build Cache Management**: Automatically cleans up caches to prevent bloat
|
||||
3. **TypeScript/ESLint Skip**: Skips type checking and linting during production builds
|
||||
4. **Code Splitting**: Implements React.lazy() for code splitting and lazy loading
|
||||
5. **Source Map Disabling**: Disables source maps in production for faster builds
|
||||
|
||||
## Manual Optimization Steps
|
||||
|
||||
If you need to manually optimize the build process:
|
||||
|
||||
### 1. Clean the caches
|
||||
```bash
|
||||
npm run clean
|
||||
```
|
||||
|
||||
### 2. Set Node.js memory limit
|
||||
```bash
|
||||
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||
```
|
||||
|
||||
### 3. Skip non-essential checks
|
||||
```bash
|
||||
NEXT_SKIP_LINT=1 NEXT_SKIP_TS_CHECK=1 npm run build
|
||||
```
|
||||
|
||||
### 4. Use SWC compiler with optimized settings
|
||||
```bash
|
||||
NEXT_TELEMETRY_DISABLED=1 npm run build:fast
|
||||
```
|
||||
|
||||
## Configuration Files
|
||||
|
||||
The following configuration files have been optimized:
|
||||
|
||||
- **next.config.mjs**: Contains SWC optimizations and standalone output
|
||||
- **.npmrc**: Configures Node.js memory limits and disables notifications
|
||||
- **.env.production**: Sets environment variables for production builds
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Out of Memory Errors
|
||||
|
||||
If you encounter "JavaScript heap out of memory" errors, try:
|
||||
|
||||
```bash
|
||||
export NODE_OPTIONS="--max-old-space-size=2048"
|
||||
npm run build:fast
|
||||
```
|
||||
|
||||
### Slow Builds
|
||||
|
||||
If builds are still slow:
|
||||
|
||||
1. Try running with lower memory settings
|
||||
2. Disable unnecessary parts of the app temporarily
|
||||
3. Build incrementally using `next build --no-lint`
|
||||
Reference in New Issue
Block a user