-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: contributing docs: combine explanation docs
- Loading branch information
1 parent
71ef90d
commit 2e2ac8e
Showing
6 changed files
with
231 additions
and
145 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Contributing | ||
|
||
Follow the [contributing how-to guide](https://nx-sonarqube.dev/how-to-guides/contributing) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,90 +1,9 @@ | ||
# @koliveira15/nx-sonarqube | ||
|
||
![logo](https://i.ibb.co/R0bzqtP/nx-sonarqube.png) | ||
<img src='apps/docs-site/src/assets/radar.webp' width='300'> | ||
|
||
## About | ||
A Nx Plugin that contains executors and generators to support scanning projects using Sonar | ||
|
||
A Nx plugin that scans projects using [SonarQube](https://www.sonarqube.org) | ||
/ [SonarCloud](https://sonarcloud.io). | ||
## Get Started | ||
|
||
![graph](https://i.ibb.co/whmZkm2/graph.png) | ||
|
||
To analyze project "app", we need to know the its dependencies and sub-dependencies. Using the Nx project graph, | ||
we see that this project has five dependencies, four static and one implicit. With this information, | ||
the plugin gathers the source and coverage paths for the analysis. | ||
|
||
Sources: | ||
|
||
- apps/app/src | ||
- libs/lib-b/src | ||
- libs/lib-c/src | ||
- libs/libs-d/src | ||
- libs/libs-e/src | ||
- libs/libs-f/src | ||
|
||
lcov Paths: | ||
|
||
- coverage/apps/app/lcov.info | ||
- coverage/libs/lib-b/lcov.info | ||
- coverage/libs/lib-c/lcov.info | ||
- coverage/libs/libs-d/lcov.info | ||
- coverage/libs/libs-e/lcov.info | ||
- coverage/libs/libs-f/lcov.info | ||
|
||
## Usage | ||
|
||
### Prerequisites | ||
|
||
1. Nx workspace | ||
2. SonarQube or Sonar Cloud instance | ||
3. Jest/Vite tests & code coverage enabled | ||
|
||
### Installation | ||
|
||
1. Install the package: | ||
```bash | ||
npm i -D @koliveira15/nx-sonarqube | ||
``` | ||
2. Execute the configuration generator to setup sonar for a given project: | ||
```bash | ||
npx nx g @koliveira15/nx-sonarqube:config | ||
``` | ||
3. Execute the sonar target for the given project: | ||
```bash | ||
npx nx sonar my-project | ||
``` | ||
or | ||
```bash | ||
npx nx affected --target sonar --parallel 1 | ||
``` | ||
**Note:** Due to limitations with the scanner, you cannot run more than one scan in parallel | ||
|
||
## Authentication | ||
|
||
Sonar can require authentication credentials. You can set these via environment variables using [Nrwl's Nx recipe](https://nx.dev/recipes/environment-variables/define-environment-variables) | ||
|
||
**SONAR_LOGIN:** The authentication token or login of a SonarQube user with either Execute Analysis permission on the project or Global Execute Analysis permission | ||
|
||
**SONAR_PASSWORD:** If you're using an authentication token, leave this blank. If you're using a login, this is the password that goes with your SONAR_LOGIN username | ||
|
||
## Customization | ||
|
||
Modify the executor options based on the configuration table below. These options are based on [Analysis Parameters](https://docs.sonarqube.org/latest/analysis/analysis-parameters/) | ||
|
||
| Name | Required | Description | Default | | ||
| ------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | ||
| hostUrl | Yes | Sonar server URL | http://localhost:9000 | | ||
| projectKey | Yes | The project's unique key. Allowed characters are: letters, numbers, -, \_, . and :, with at least one non-digit. | | | ||
| branch | No | The branch name | | | ||
| exclusions | No | Files to exclude from coverage | | | ||
| organization | No | Sonar organization | | | ||
| projectName | No | Name of the project that will be displayed on the web interface | | | ||
| projectVersion | No | The project version. | this will default to the package.json version of the app/lib, otherwise it will take the root version | | ||
| qualityGate | No | Forces the analysis step to poll the SonarQube instance and wait for the Quality Gate status | true | | ||
| qualityGateTimeout | No | Sets the number of seconds that the scanner should wait for a report to be processed | 300 | | ||
| skipImplicitDeps | No | Skips adding implicit dependencies to the project graph analysis | false | | ||
| testInclusions | No | Comma-delimited list of test file path patterns to be included in analysis. When set, only test files matching the paths set here will be included in analysis | \*_/_.spec.ts | | ||
| verbose | No | Add more detail to both client and server-side analysis logs | false | | ||
| extra | No | A key value pair for any extra sonar variable that is not included in the list above | | | ||
|
||
In Addition, the plugin recognizes any environment variable that is prefixed by `SONAR` and will add it to the sonar executor variables. For example the environment variable `SONAR_LOG_LEVEL=DEBUG` will be recognized as `sonar.log.level=DEBUG` | ||
Go to the [documentation site](https://nx-sonarqube.dev/) to get started |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 0 additions & 53 deletions
53
apps/docs-site/src/content/docs/explanation/sonar-scanner.mdx
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.