UNPKG

@zooshdigital/bitbucket-eslint-report

Version:

Command-line tool to upload eslint reports to Bitbucket

77 lines (46 loc) 3.19 kB
# Zoosh bitbucket-eslint-report Zoosh `bitbucket-eslint-report` is designed to facilitate the upload of eslint reports (including annotations) to Bitbucket Pull Requests. This package provides functions to automate the process of uploading reports generated during build processes. ## Installation To install Zoosh bitbucket-eslint-report, simply include it as a dependency in your project's `package.json` file: ```bash npm install @zooshdigital/bitbucket-eslint-report ``` or ```bash yarn add @zooshdigital/bitbucket-eslint-report ``` ## Usage This tool enables you to upload coverage reports to Bitbucket pipelines. ### Configuring eslint to collect JSON report Eslint supports a JSON output by default. It can be enabled by a `--format json` CLI option. We recommend creating a separate script in `package.json` (if you already had a lint script), for example: ```javascript ... "lint:json": "eslint --format json --quiet --max-warnings=0 --ext .js,.ts ./", ... ``` In this case, `--quiet` removes any warnings, so that only errors are captured (to reduce noise in bitbucket). The output of this could be piped into a `.json` file in your pipeline. ### Consuming the JSON report Simply run the tool using npx. Below is an example of how to execute the command-line utility `@zooshdigital/bitbucket-eslint-report` directly from your terminal or a pipeline: ```bash npx @zooshdigital/bitbucket-eslint-report -n reportName -p ./path-to-the-eslint-report.json ``` or ```bash yarn bitbucket-eslint-report -n reportName -p ./path-to-the-eslint-report.json ``` If you prefer using yarn, ensure that the @zooshdigital/bitbucket-eslint-report is listed in the dependencies of the current workspace if you're using multiple workspaces. ### Configuration It takes the following arguments: - `-n [name]` or `--name [name]` (required): The name of the report in Bitbucket. - `-p [path]` or `--path [path]` (required): The path to the eslint report file. - `-a` or `--add-build` (optional): Create a success/failed "build" as well besides the report. - `-s` or `--strict` (optional): Strict mode, consider report/build failed in case of eslint warnings as well (by default, only fails in case of eslint errors) Ensure that the specified path leads to an eslint json report. ## Prerequisites ### Authentication While some requests could be automatically authenticated running in a pipeline, Bitbucket doesn't allow that for all endpoints. Thus, for simplicity, the library expects an access token for all API calls. This can be a repository, project or workspace access token in the BITBUCKET_BUILD_TOKEN environment variable. Create a token and make it available as a repository or deployment variable to the pipeline. ### Other identifiers Since information is attached to a commit (even in case of a pull request), the library needs the BITBUCKET_REPO_FULL_NAME and BITBUCKET_COMMIT environment variables to do that. These two are standard Bitbucket pipeline variables, so there is no need to set them explicitly if running the script in a pipeline. ## License This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.