The Otter project is a highly modular framework whose goal is to provide a common platform to accelerate and facilitate the development of runtime customizable Angular based Web Applications
Today Otter exposes one single plugin with rules dedicated to different features.
In the current setup, all the Otter Linter rules are per default activated which require additional dependency to an application that would not use it in its own code.
Proposal
[ ] Split the code of the plugin to the dedicated package
[ ] Expose the linter plugin and it's recommended configuration as subentries
[ ] The additional required dependencies should be peer optional dependencies
[ ] A package to share helpers may need to be created
[ ] The @o3r/eslint-config-otter package should setup the rules of the modules provided by the application (using import() ?).
[ ] An ngUpdate should be provided to @o3r/eslint-plugin to migrate to the import of the different packages
We could check depending on the package installed which rules applied (today we have the configuration).
We could also have 1 plugin / module as a package.
Context
Today Otter exposes one single plugin with rules dedicated to different features. In the current setup, all the Otter Linter rules are per default activated which require additional dependency to an application that would not use it in its own code.
Proposal
@o3r/eslint-config-otter
package should setup the rules of the modules provided by the application (usingimport()
?).ngUpdate
should be provided to@o3r/eslint-plugin
to migrate to the import of the different packages@o3r/eslint-plugin
should be deprecated