DRY & KISS Principles

Which aspect of this configuration management violates both KISS and DRY principles?
// development.config.js
module.exports = {
  apiUrl: 'http://localhost:3000',
  database: {
    host: 'localhost',
    port: 5432,
    name: 'myapp_dev',
    user: 'dev_user',
    password: 'dev_pass'
  },
  auth: {
    jwtSecret: 'dev_secret',
    tokenExpiration: '1h',
    refreshTokenExpiration: '7d'
  },
  logging: {
    level: 'debug',
    format: 'dev'
  }
};

// production.config.js
module.exports = {
  apiUrl: process.env.API_URL,
  database: {
    host: process.env.DB_HOST,
    port: parseInt(process.env.DB_PORT),
    name: process.env.DB_NAME,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD
  },
  auth: {
    jwtSecret: process.env.JWT_SECRET,
    tokenExpiration: '1h',
    refreshTokenExpiration: '7d'
  },
  logging: {
    level: 'info',
    format: 'combined'
  }
};

// staging.config.js
module.exports = {
  apiUrl: process.env.API_URL,
  database: {
    host: process.env.DB_HOST,
    port: parseInt(process.env.DB_PORT),
    name: process.env.DB_NAME,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD
  },
  auth: {
    jwtSecret: process.env.JWT_SECRET,
    tokenExpiration: '1h',
    refreshTokenExpiration: '7d'
  },
  logging: {
    level: 'debug',
    format: 'combined'
  }
};
Next Question (18/20)