{"id":13801976,"url":"https://github.com/codacy/codacy-eslint","last_synced_at":"2025-04-23T11:33:00.254Z","repository":{"id":37451286,"uuid":"220488131","full_name":"codacy/codacy-eslint","owner":"codacy","description":"Codacy tool for Eslint","archived":false,"fork":false,"pushed_at":"2025-04-17T13:36:39.000Z","size":672099,"stargazers_count":16,"open_issues_count":23,"forks_count":19,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-20T11:43:53.843Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"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/codacy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-08T14:53:08.000Z","updated_at":"2025-04-09T10:15:00.000Z","dependencies_parsed_at":"2023-02-13T22:45:28.835Z","dependency_job_id":"9527192a-4f82-4b6e-8797-014246b0e450","html_url":"https://github.com/codacy/codacy-eslint","commit_stats":null,"previous_names":[],"tags_count":2287,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codacy%2Fcodacy-eslint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codacy%2Fcodacy-eslint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codacy%2Fcodacy-eslint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codacy%2Fcodacy-eslint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codacy","download_url":"https://codeload.github.com/codacy/codacy-eslint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250425593,"owners_count":21428584,"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-08-04T00:01:32.048Z","updated_at":"2025-04-23T11:32:55.374Z","avatar_url":"https://github.com/codacy.png","language":"TypeScript","funding_links":[],"categories":["Tools"],"sub_categories":["Testing Tools"],"readme":"# Codacy ESLint\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/88324e5ee7464c62abe07115b884c6a9)](https://app.codacy.com/gh/codacy/codacy-eslint/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![CircleCI](https://circleci.com/gh/codacy/codacy-eslint.svg?style=svg)](https://circleci.com/gh/codacy/codacy-eslint)\n\n## Manually upgrading packages / plugins / configs\n\n```shell\nnpm run upgrade\n```\n\n## Adding new packages / plugins / configs\n\nInstall the package / plugin using npm:\n```shell\nnpm install --legacy-peer-deps --omit=dev package-name\n```\n\n## Configuring new plugins\n\n**NOTE**: Before adding a plugin to the Codacy UI, make sure it has widespread use and is actively maintained.\n\n1.  If the plugin has descriptions for rules on GitHub, reference them\n    at `src/docGeneratorMain.ts` to include them on the generated documentation.\n\n    -   Add a section similar to the following example:\n        ```typescript\n        await docGenerator.downloadDocs(\n          // plugin prefix (e.g., xss/some-pattern-id)\n          \"eslint-plugin-xss\",\n          // path to .md patterns files within github\n          `/Rantanen/eslint-plugin-xss/master/docs/rules/`,\n          // prefix for tag relases (for example if tags are \"v.1.0.0\" you have to prefix tags with \"v.\")\n          // or \"false\" if package has no tags released\n          // (default) \"v\"\n          \"v\",\n          // change to true if it should fail in case of missing .md files for any pattern\n          // (default) false\n          false\n        )\n        ```\n\n    -   In `src/eslintPlugins.ts` add a new value to the array with the name of the package/plugin:\n        ```typescript\n        // make sure it matches the correct name of the package\n        const packageNames = [\n          //(...)\n          \"@angular-eslint/eslint-plugin\",\n          //(...)\n          \"eslint-plugin-xss\",\n          //(...)\n        ]\n        ```\n\n2.  Generate documentation so it adds the new plugin documentation.\n\n    ```shell\n    npm run build:docs\n    ```\n\n3.  Add a new test in `/docs/multiple-tests` that uses the newly added plugin.\n    You can use the Getting Started section of the package documentation to find a small usage example. \n\n## Generating documentation\n\n```shell\nnpm run build:docs\n```\n\n## Test changes to codacy-seed locally\n\nYou may need to test changes that comes from our [codacy-engine-typescript-seed](https://github.com/codacy/codacy-engine-typescript-seed).\n\n1.  Create a package with your changes on the seed:\n    *   Don't forget to update the dependencies: `npm install`\n    *   Compile the library: `npm run compile`\n    *   Package the library: `npm pack`\n    \u003e This should generate a codacy-seed-0.0.1.tgz on your codacy-seed repository\n\n2.  Copy the `codacy-seed-0.0.1.tgz` into the root of this repository\n\n3.  Install the package: `npm install codacy-seed-0.0.1.tgz`\n\n4.  Update Dockerfile and `.dockerignore` so you copy the `codacy-seed-0.0.1.tgz` inside the docker you will be building\n    *   Add `!codacy-seed-0.0.1.tgz` to your `.dockerignore`\n    *   Add the package to the docker before `RUN npm install`: `COPY codacy-seed-0.0.1.tgz ./`\n    *   Remove multi-stage docker steps\n        -   Lines from the beginning of the file until `RUN rm -rf /package.json /package-lock.json`\n        \u003e This way you skip copying the files to the other docker, and another `npm install`\n\n5.  Publish your docker locally as normal: `docker build -t codacy-eslint:local .`\n\n## Limitations\n\n### Incompatible rules\n\nThere are some ESLint rules that will be ignored when running this Docker container. For more details on the ignored rules, check `blacklistRegexes` defined at [blacklist.ts](src/blacklist.ts).\n\nUsually, these rules need an Internet connection and/or to check `node_modules`, and would not run successfully on our Docker container environment.\n\n## What is Codacy\n\n[Codacy](https://www.codacy.com/) is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews.\n\n### Among Codacy’s features\n\n-   Identify new Static Analysis issues\n-   Commit and Pull Request Analysis with GitHub, BitBucket/Stash, GitLab (and also direct git repositories)\n-   Auto-comments on Commits and Pull Requests\n-   Integrations with Slack, HipChat, Jira, YouTrack\n-   Track issues in Code Style, Security, Error Proneness, Performance, Unused Code and other categories\n\nCodacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity.\n\nCodacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others.\n\n### Free for Open Source\n\nCodacy is free for Open Source projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodacy%2Fcodacy-eslint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodacy%2Fcodacy-eslint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodacy%2Fcodacy-eslint/lists"}