Back to all reviewers

Explicit environment configuration handling

n8n-io/n8n
Based on 4 comments
Typescript

Environment and configuration values should be explicit, visible, and environment-aware. Avoid hardcoded production values, hidden configuration properties, and complex environment variable logic. Instead:

Configurations Typescript

Reviewer Prompt

Environment and configuration values should be explicit, visible, and environment-aware. Avoid hardcoded production values, hidden configuration properties, and complex environment variable logic. Instead:

  1. Use clear environment variable defaults: ```typescript // Bad export const skipAuth = process.env.SKIP_AUTH !== ‘false’;

// Good export const skipAuth = process.env.SKIP_AUTH === ‘true’ || false;


2. Make configuration properties visible and customizable:
```typescript
// Bad
class Config {
  @Env('DB_NAME')
  database: string = 'production_db';  // Hardcoded production value
}

// Good
class Config {
  @Env('DB_NAME')
  database: string = 'local_db';  // Development-friendly default

  @Env('API_URL')
  apiUrl: string = 'http://localhost:3000';  // Visible and configurable
}
  1. Ensure paths resolve in all environments: ```typescript // Bad const DIST_DIR = join(__dirname, ‘..’, ‘..’, ‘..’, ‘packages/frontend/dist’);

// Good const DIST_DIR = process.env.DIST_DIR || join(__dirname, ‘dist’); ```

This approach improves maintainability, prevents production issues, and makes configuration more transparent for developers and operators.

4
Comments Analyzed
Typescript
Primary Language
Configurations
Category

Source Discussions