Lesson 17 / 25

Team Setup & Shared Configurations

Create shareable ESLint and Prettier configs for your team.

Scaling configurations

Large teams benefit from centralized ESLint configs. Extract shared rules into a package (@org/eslint-config) and use it across all projects.

Shared config package

Structure for creating a reusable ESLint config package.

# Create @myorg/eslint-config package
mkdir -p packages/eslint-config
cd packages/eslint-config
npm init -y

# Add to package.json
{
  "name": "@myorg/eslint-config",
  "main": "index.js",
  "peerDependencies": { "eslint": "^8.0.0" }
}

# index.js exports the config
module.exports = {
  extends: ['eslint:recommended'],
  rules: { /* team rules */ }
};

Output:

Shared ESLint config package created

Version control configs

Store shareable configs in your main repo or as separate npm packages. Version them and let teams update at their pace.

Quick check

Quick check: Why create a shared ESLint config package?

  • To ensure all team projects follow the same standards.
  • To slow down development.
  • To reduce code.
Answer

To ensure all team projects follow the same standards. — Shared configs maintain consistency across your organization and make onboarding new projects trivial.