{"id":19816706,"url":"https://github.com/welldone-software/eslint-plugin-welldone","last_synced_at":"2025-06-25T03:37:40.526Z","repository":{"id":42983784,"uuid":"214213727","full_name":"welldone-software/eslint-plugin-welldone","owner":"welldone-software","description":"Custom eslint rules helpful for our needs","archived":false,"fork":false,"pushed_at":"2022-03-24T19:38:12.000Z","size":139,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T12:46:09.883Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/welldone-software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-10T15:06:42.000Z","updated_at":"2023-03-03T14:19:00.000Z","dependencies_parsed_at":"2022-09-19T18:50:48.444Z","dependency_job_id":null,"html_url":"https://github.com/welldone-software/eslint-plugin-welldone","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welldone-software%2Feslint-plugin-welldone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welldone-software%2Feslint-plugin-welldone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welldone-software%2Feslint-plugin-welldone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welldone-software%2Feslint-plugin-welldone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/welldone-software","download_url":"https://codeload.github.com/welldone-software/eslint-plugin-welldone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251860438,"owners_count":21655747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T10:10:25.428Z","updated_at":"2025-05-01T10:33:06.643Z","avatar_url":"https://github.com/welldone-software.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @welldone-software/eslint-plugin\n\nPrevent to use anything except import/export\n\n## Installation\n\nYou'll first need to install [ESLint](http://eslint.org):\n\n```\n$ npm i eslint --save-dev\n```\n\nNext, install `@welldone-software/eslint-plugin`:\n\n```\n$ npm install @welldone-software/eslint-plugin --save-dev\n```\n\n**Note:** If you installed ESLint globally (using the `-g` flag) then you must also install `@welldone-software/eslint-plugin` globally.\n\n## Usage\n\nAdd `@welldone-software` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix:\n\n```json\n{\n  \"plugins\": [\"@welldone-software\"]\n}\n```\n\nThen configure the rules you want to use under the rules section.\n\n```json\n{\n  \"rules\": {\n    \"@welldone-software/modules-engagement\": \"error\",\n  }\n}\n```\n\n## Plugins\n### Rules of Modules Engagement\n\n([`@welldone-software/modules-engagement`](./rules/modules-engagement))\n\nThis rule enforces Welldone's standard file structure.\n[More details about the rule](https://welldone-software.gitbook.io/welldone-file-structure/modules/modules#rules-of-engagement)\ncan be found here.\n\n### config:\nThese are the possible configs and their defaults for the rule:\n\n```json5\n{\n  \"rules\": {\n    \"@welldone-software/modules-engagement\": [\"error\", {\n      // provide a glob to only lint certain paths. F.E:\n      //   glob\": \"/packages/!(common-package)/**/!(*.stories|*.test).js\"\n      \"glob\": null, \n      \n      // path of modules under package.json's\n      \"modulesPath\": \"/src\",\n      \n      // Levels to enforce imports between modules\n      \"modulesLevels\": {'common': 1, 'shared': 1, 'app': 3},\n      \n      // Default level for other modules\n      \"middleModulesLevel\": 2,\n      \n      // Allow importing from inner paths in modules. F.E:\n      // \"moduleInnerPaths\": ['/components']\n      \"moduleInnerPaths\": [],\n      \n      // Array of modules that can be used not only from their root path\n      \"ignoreInnerPathsForModules\": ['common', 'shared']\n    }],\n  }\n}\n```\n\n## Supported Rules\n\n- Fill in provided rules here\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwelldone-software%2Feslint-plugin-welldone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwelldone-software%2Feslint-plugin-welldone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwelldone-software%2Feslint-plugin-welldone/lists"}