npm run upgrade
Install the package / plugin using npm:
npm install package-name -w codacy
NOTE: Before adding a plugin to the Codacy UI, make sure it has widespread use and is actively maintained.
-
If the plugin has descriptions for rules on GitHub, reference them at
workspaces/doc-generator/src/index.ts
to include them on the generated documentation.-
Add another element to the array
downloadDocs
similar to the following example:{ // plugin package-name packageName: "eslint-plugin-xss", // path to .md patterns files within github relativeUrl: `/Rantanen/eslint-plugin-xss/master/docs/rules/`, // prefix for tag relases (for example if tags are "v.1.0.0" you have to prefix tags with "v.") // or "false" if package has no tags released // (default) "v" versionPrefix: "v", // change to true if it should fail in case of missing .md files for any pattern // (default) false rejectOnError: false }
-
In
lib/models/plugins.ts
add a new value to the array with the name of the package/plugin:// make sure it matches the correct name of the package const packageNames = [ //(...) "@angular-eslint/eslint-plugin", //(...) "eslint-plugin-xss", //(...) ]
-
-
Generate documentation so it adds the new plugin documentation.
-
Add a new test in
workspaces/doc-generator/docs/multiple-tests
that uses the newly added plugin. You can use the Getting Started section of the package documentation to find a small usage example.
npm start -w docs-generator
You may need to test changes that comes from our codacy-engine-typescript-seed.
-
Create a package with your changes on the seed:
- Don't forget to update the dependencies:
npm install
- Compile the library:
npm run compile
- Package the library:
npm pack
This should generate a codacy-seed-0.0.1.tgz on your codacy-seed repository
- Don't forget to update the dependencies:
-
Copy the
codacy-seed-0.0.1.tgz
into the root of this repository -
Install the package:
npm install codacy-seed-0.0.1.tgz
-
Update Dockerfile and
.dockerignore
so you copy thecodacy-seed-0.0.1.tgz
inside the docker you will be building- Add
!codacy-seed-0.0.1.tgz
to your.dockerignore
- Add the package to the docker before
RUN npm install
:COPY codacy-seed-0.0.1.tgz ./
- Add
-
Publish your docker locally as normal:
npm run build:docker:dev
There 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.
Usually, these rules need an Internet connection and/or to check node_modules
, and would not run successfully on our Docker container environment.
Codacy 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.
- Identify new Static Analysis issues
- Commit and Pull Request Analysis with GitHub, BitBucket/Stash, GitLab (and also direct git repositories)
- Auto-comments on Commits and Pull Requests
- Integrations with Slack, HipChat, Jira, YouTrack
- Track issues in Code Style, Security, Error Proneness, Performance, Unused Code and other categories
Codacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity.
Codacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others.
Codacy is free for Open Source projects.