Prevent to use anything except import/export
You'll first need to install ESLint:
$ npm i eslint --save-dev Next, install @welldone-software/eslint-plugin:
$ npm install @welldone-software/eslint-plugin --save-dev Note: If you installed ESLint globally (using the -g flag) then you must also install @welldone-software/eslint-plugin globally.
Add @welldone-software to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:
{ "plugins": ["@welldone-software"] }Then configure the rules you want to use under the rules section.
{ "rules": { "@welldone-software/modules-engagement": "error", } }(@welldone-software/modules-engagement)
This rule enforces Welldone's standard file structure. More details about the rule can be found here.
These are the possible configs and their defaults for the rule:
{ "rules": { "@welldone-software/modules-engagement": ["error", { // provide a glob to only lint certain paths. F.E: // glob": "/packages/!(common-package)/**/!(*.stories|*.test).js" "glob": null, // path of modules under package.json's "modulesPath": "/src", // Levels to enforce imports between modules "modulesLevels": {'common': 1, 'shared': 1, 'app': 3}, // Default level for other modules "middleModulesLevel": 2, // Allow importing from inner paths in modules. F.E: // "moduleInnerPaths": ['/components'] "moduleInnerPaths": [], // Array of modules that can be used not only from their root path "ignoreInnerPathsForModules": ['common', 'shared'] }], } }- Fill in provided rules here