CodelyTV / eslint-plugin-hexagonal-architecture

A plugin that helps you to enforce hexagonal architecture best practises
https://www.npmjs.com/package/eslint-plugin-hexagonal-architecture
GNU Affero General Public License v3.0
294 stars 17 forks source link

Missleading naming of this plugin (Not Hexagonal architecture) #3

Open zatloeri opened 8 months ago

zatloeri commented 8 months ago

Hello. The name of this plugin can lead many to believe, that this has something to do with Hexagonal architecture and might promote a false premise, that Hexagonal architecture has something to do with number of layers and their structure in your Application core, which it really does not.

Hexagonal architecture is originally named ports and adapters architecture, because its main premise is that you hide parts of the application, ussially technology specific (UI, DB, CLI) and technology agnostic code (Application core) respectively, behind "ports". Additionally Hexagonal architecture usually splits into 3 parts. Driven part, Application core and Driving part. Driving part initiates interaction, calls Application core through a port and that then may or may not call Driven port to get data or anything else.

It does not tell you much or anything about how to structure Application core (that is btw why it pairs well with architectures aimed at structuring the domain related code like DDD).

I suggest adding at least a note, that this does not reflect the architecture and its main principle, but rather enforces opinionated folder structure inspired by hexagonal architecture.