Nutrias Punching Marmots

    eslint-plugin-hexagonal-architecture

    1.0.3 • Public • Published

    🎯 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

    Install

    npm i eslint-plugin-hexagonal-architecture

    DownloadsWeekly Downloads

    62

    Version

    1.0.3

    License

    SEE LICENCE IN LICENCE

    Unpacked Size

    62.3 kB

    Total Files

    37

    Last publish

    Collaborators

    • carmencodely
    • nuria
    • rgomezcasas
    • dani.santamaria
    • ismanapa
    • javiercane