{"id":22003477,"url":"https://github.com/enactjs/eslint-plugin-enact","last_synced_at":"2025-05-05T16:44:32.398Z","repository":{"id":30576754,"uuid":"68743632","full_name":"enactjs/eslint-plugin-enact","owner":"enactjs","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-20T09:32:17.000Z","size":387,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":100,"default_branch":"master","last_synced_at":"2025-04-14T15:48:58.877Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enactjs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-20T18:57:01.000Z","updated_at":"2025-02-20T09:32:07.000Z","dependencies_parsed_at":"2024-01-23T12:29:31.127Z","dependency_job_id":"f91f4190-bd96-4a1d-ab9b-75a79b9786cf","html_url":"https://github.com/enactjs/eslint-plugin-enact","commit_stats":{"total_commits":39,"total_committers":14,"mean_commits":"2.7857142857142856","dds":0.8205128205128205,"last_synced_commit":"a5c7a7d7939370eceb9f50f8db814f8dd669c7cd"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactjs%2Feslint-plugin-enact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactjs%2Feslint-plugin-enact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactjs%2Feslint-plugin-enact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enactjs%2Feslint-plugin-enact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enactjs","download_url":"https://codeload.github.com/enactjs/eslint-plugin-enact/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252535366,"owners_count":21763951,"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-30T00:09:38.592Z","updated_at":"2025-05-05T16:44:32.390Z","avatar_url":"https://github.com/enactjs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"ESLint-plugin-Enact\n===================\n\nEnact specific linting rules for ESLint\n\n# Installation\n\nInstall [ESLint](https://www.github.com/eslint/eslint) either locally or globally.\n\n```sh\n$ npm install eslint\n```\n\nIf you installed `ESLint` globally, you have to install React plugin globally too. Otherwise, install it locally.\n\n```sh\n$ npm install eslint-plugin-enact\n```\n\n# Configuration\n\nAdd `plugins` section and specify ESLint-plugin-Enact as a plugin.\n\n```json\n{\n  \"plugins\": [\n    \"enact\"\n  ]\n}\n```\n\nYou can also specify some settings that will be shared across all the plugin rules.\n\n```js\n{\n  \"settings\": {\n    \"enact\": {\n      \"kind\": \"kind\", // Regex for Component Factory to use, default to \"kind\"\n      \"hoc\": \"hoc\"    // Regex for HoC Factory to use, default to \"hoc\"\n    }\n  }\n}\n```\n\nIf it is not already the case you must also configure `ESLint` to support JSX.\n\nWith ESLint 1.x.x:\n\n```json\n{\n  \"ecmaFeatures\": {\n    \"jsx\": true\n  }\n}\n```\n\nWith ESLint 2.x.x+:\n\n```json\n{\n  \"parserOptions\": {\n    \"ecmaFeatures\": {\n      \"jsx\": true\n    }\n  }\n}\n```\n\nFinally, enable all the rules that you would like to use:\n\n```json\n  \"rules\": {\n    \"enact/kind-name\": 1,\n    \"enact/display-name\": 1,\n    \"enact/no-module-exports-import\": 2\n  }\n```\n\n# List of supported rules\n\n* [enact/kind-name](docs/rules/kind-name.md): Prevent missing `name` in an Enact component definition\n* [enact/display-name](docs/rules/display-name.md): Prevent missing `displayName` in a React component definitions without false-flagging Enact kinds\n* [enact/no-module-exports-import](docs/rules/no-module-exports-import.md): Disallow module.exports with import statements (see [webpack issue #4039](https://github.com/webpack/webpack/issues/4039))\n\n\u003e Note: `enact/display-name` supersede `react/display-name`, respectively. The latter two should be disabled when used with Enact.\n\n## Other useful plugins\n\n- React: [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react)\n\n# License\n\nESLint-plugin-Enact is based on work from ESLint-plugin-React and is licensed under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n\n## Copyright and License Information\n\nUnless otherwise specified, all content, including all source code files and\ndocumentation files in this repository are:\n\nCopyright (c) 2016-2025 LG Electronics\n\nUnless otherwise specified or set forth in the NOTICE file, all content,\nincluding all source code files and documentation files in this repository are:\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this content except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenactjs%2Feslint-plugin-enact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenactjs%2Feslint-plugin-enact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenactjs%2Feslint-plugin-enact/lists"}