Eslint Plugin Hexagonal Architecture Save

A plugin that helps you to enforce hexagonal architecture best practises

Project README

🎯 Codely's ESLint Hexagonal Architecture plugin

Codely Open Source CodelyTV Courses

A plugin that helps you to enforce hexagonal architecture best practises. Valid for your JavaScript or TypeScript projects 🀟 Stars are welcome 😊

πŸ€” What it does

  • Enforce conventional folder naming: only domain, application and infrastructure are valid folder names (under the glob pattern you specify)
  • Prevent imports from restricted layers:
    • domain can only import files from the same folder
    • application can only import from application and domain
    • infrastructure can import from application, domain and infrastructure

hexagonal-dependency-rule

πŸ‘€ How to use

  1. Install the dependency
    npm install --save-dev eslint-plugin-hexagonal-architecture
    
  2. Add the plugin to your .eslintrc.js file:
    {
      plugins: ["hexagonal-architecture"],
    }
    
  3. Enable the rule for the specific folders that will contain your logic using ESLint's Glob Patterns overrides:
    {
      overrides: [
        {
          files: ["contexts/{backend,frontend}/*/src/**/*.ts"],
          rules: {
            "hexagonal-architecture/enforce": ["error"],
          },
        },
      ]
    }
    

πŸ‘ŒΒ Codely Code Quality Standards

Publishing this package we are committing ourselves to the following code quality standards:

  • 🀝 Respect Semantic Versioning: No breaking changes in patch or minor versions
  • 🀏 No surprises in transitive dependencies: Use the bare minimum dependencies needed to meet the purpose
  • 🎯 One specific purpose to meet without having to carry a bunch of unnecessary other utilities
  • βœ…Β Tests as documentation and usage examples
  • πŸ“– Well documented ReadMe showing how to install and use
  • βš–οΈ License favoring Open Source and collaboration

Opinionated skeletons ready for different purposes:

Open Source Agenda is not affiliated with "Eslint Plugin Hexagonal Architecture" Project. README Source: CodelyTV/eslint-plugin-hexagonal-architecture

Open Source Agenda Badge

Open Source Agenda Rating