projen 0.103.4 → 0.103.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1547 -18
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/cdktn/cdktn-app-ts.js +1 -1
- package/lib/cdktn/cdktn-config.js +1 -1
- package/lib/cdktn/cdktn-construct.js +1 -1
- package/lib/cdktn/cdktn-deps.js +1 -1
- package/lib/cdktn/cdktn-tasks.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/component.js +2 -2
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +4 -2
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-config-file.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/pnpm-workspace-config.js +2 -2
- package/lib/javascript/pnpm-workspace.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/properties-file.d.ts +50 -0
- package/lib/properties-file.js +77 -0
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv-config.js +1 -1
- package/lib/python/uv.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +4 -2
- package/lib/sample-file.js +2 -2
- package/lib/script-runner.js +1 -1
- package/lib/sonarqube/index.d.ts +4 -0
- package/lib/sonarqube/index.js +21 -0
- package/lib/sonarqube/javascript.d.ts +35 -0
- package/lib/sonarqube/javascript.js +57 -0
- package/lib/sonarqube/rust.d.ts +37 -0
- package/lib/sonarqube/rust.js +58 -0
- package/lib/sonarqube/sonarqube.d.ts +439 -0
- package/lib/sonarqube/sonarqube.js +184 -0
- package/lib/sonarqube/typescript.d.ts +36 -0
- package/lib/sonarqube/typescript.js +61 -0
- package/lib/source-code.js +1 -1
- package/lib/task-shell.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-runner.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/util.d.ts +9 -0
- package/lib/util.js +39 -1
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/properties-file/LICENSE +21 -0
- package/node_modules/properties-file/README.md +253 -0
- package/node_modules/properties-file/dist/cjs/bundler/bun.d.ts +10 -0
- package/node_modules/properties-file/dist/cjs/bundler/bun.js +1 -0
- package/node_modules/properties-file/dist/cjs/bundler/esbuild.d.ts +11 -0
- package/node_modules/properties-file/dist/cjs/bundler/esbuild.js +1 -0
- package/node_modules/properties-file/dist/cjs/bundler/rollup.d.ts +11 -0
- package/node_modules/properties-file/dist/cjs/bundler/rollup.js +1 -0
- package/node_modules/properties-file/dist/cjs/bundler/webpack.d.ts +12 -0
- package/node_modules/properties-file/dist/cjs/bundler/webpack.js +1 -0
- package/node_modules/properties-file/dist/cjs/characters.d.ts +32 -0
- package/node_modules/properties-file/dist/cjs/characters.js +1 -0
- package/node_modules/properties-file/dist/cjs/editor/index.d.ts +181 -0
- package/node_modules/properties-file/dist/cjs/editor/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/escape/index.d.ts +18 -0
- package/node_modules/properties-file/dist/cjs/escape/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/index.d.ts +25 -0
- package/node_modules/properties-file/dist/cjs/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/package.json +1 -0
- package/node_modules/properties-file/dist/cjs/parser/index.d.ts +3 -0
- package/node_modules/properties-file/dist/cjs/parser/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/nodes.d.ts +154 -0
- package/node_modules/properties-file/dist/cjs/parser/nodes.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/normalize.d.ts +12 -0
- package/node_modules/properties-file/dist/cjs/parser/normalize.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/parse.d.ts +23 -0
- package/node_modules/properties-file/dist/cjs/parser/parse.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/properties.d.ts +93 -0
- package/node_modules/properties-file/dist/cjs/parser/properties.js +1 -0
- package/node_modules/properties-file/dist/cjs/properties-file.d.ts +8 -0
- package/node_modules/properties-file/dist/cjs/unescape/index.d.ts +14 -0
- package/node_modules/properties-file/dist/cjs/unescape/index.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/bun.d.ts +10 -0
- package/node_modules/properties-file/dist/esm/bundler/bun.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/esbuild.d.ts +11 -0
- package/node_modules/properties-file/dist/esm/bundler/esbuild.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/rollup.d.ts +11 -0
- package/node_modules/properties-file/dist/esm/bundler/rollup.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/webpack.d.ts +12 -0
- package/node_modules/properties-file/dist/esm/bundler/webpack.js +1 -0
- package/node_modules/properties-file/dist/esm/characters.d.ts +32 -0
- package/node_modules/properties-file/dist/esm/characters.js +1 -0
- package/node_modules/properties-file/dist/esm/editor/index.d.ts +181 -0
- package/node_modules/properties-file/dist/esm/editor/index.js +1 -0
- package/node_modules/properties-file/dist/esm/escape/index.d.ts +18 -0
- package/node_modules/properties-file/dist/esm/escape/index.js +1 -0
- package/node_modules/properties-file/dist/esm/index.d.ts +25 -0
- package/node_modules/properties-file/dist/esm/index.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/index.d.ts +3 -0
- package/node_modules/properties-file/dist/esm/parser/index.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/nodes.d.ts +154 -0
- package/node_modules/properties-file/dist/esm/parser/nodes.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/normalize.d.ts +12 -0
- package/node_modules/properties-file/dist/esm/parser/normalize.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/parse.d.ts +23 -0
- package/node_modules/properties-file/dist/esm/parser/parse.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/properties.d.ts +93 -0
- package/node_modules/properties-file/dist/esm/parser/properties.js +1 -0
- package/node_modules/properties-file/dist/esm/properties-file.d.ts +8 -0
- package/node_modules/properties-file/dist/esm/unescape/index.d.ts +14 -0
- package/node_modules/properties-file/dist/esm/unescape/index.js +1 -0
- package/node_modules/properties-file/package.json +190 -0
- package/package.json +4 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IConstruct } from "constructs";
|
|
2
|
+
import { SonarqubeProperties } from "./sonarqube";
|
|
3
|
+
import type { SonarqubePropertiesOptions } from "./sonarqube";
|
|
4
|
+
/**
|
|
5
|
+
* Options for `SonarqubeRustProperties`.
|
|
6
|
+
*
|
|
7
|
+
* Extends base options with Rust-specific defaults.
|
|
8
|
+
*/
|
|
9
|
+
export interface SonarqubeRustPropertiesOptions extends SonarqubePropertiesOptions {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A SonarQube configuration preset for Rust projects.
|
|
13
|
+
*
|
|
14
|
+
* Provides sensible defaults for Rust analysis:
|
|
15
|
+
* - `sonar.language` = `rust`
|
|
16
|
+
* - `sonar.sources` = `src`
|
|
17
|
+
* - `sonar.tests` = `tests`
|
|
18
|
+
* - `sonar.sourceEncoding` = `UTF-8`
|
|
19
|
+
* - `sonar.profile` = `Sonar Way`
|
|
20
|
+
* - `sonar.scm.provider` = `git`
|
|
21
|
+
* - Typical exclusions for `coverage`, test, and `target` dirs
|
|
22
|
+
* - `sonar.rust.lcov.reportPaths` = `target/lcov.info`
|
|
23
|
+
* - `sonar.rust.clippy.enabled` = `false`
|
|
24
|
+
* - `sonar.rust.clippyReport.reportPaths` = `target/clippy.json`
|
|
25
|
+
*
|
|
26
|
+
* All defaults can be overridden via options. Nested options (e.g. `coverage`,
|
|
27
|
+
* `rust`) are deep-merged with the defaults, so overriding one nested field
|
|
28
|
+
* does not drop the other defaults in that subtree.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* new SonarqubeRustProperties(project, {
|
|
32
|
+
* projectKey: 'my-org_my-rust-project',
|
|
33
|
+
* });
|
|
34
|
+
*/
|
|
35
|
+
export declare class SonarqubeRustProperties extends SonarqubeProperties {
|
|
36
|
+
constructor(scope: IConstruct, options: SonarqubeRustPropertiesOptions);
|
|
37
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SonarqubeRustProperties = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
const sonarqube_1 = require("./sonarqube");
|
|
6
|
+
const util_1 = require("../util");
|
|
7
|
+
/**
|
|
8
|
+
* A SonarQube configuration preset for Rust projects.
|
|
9
|
+
*
|
|
10
|
+
* Provides sensible defaults for Rust analysis:
|
|
11
|
+
* - `sonar.language` = `rust`
|
|
12
|
+
* - `sonar.sources` = `src`
|
|
13
|
+
* - `sonar.tests` = `tests`
|
|
14
|
+
* - `sonar.sourceEncoding` = `UTF-8`
|
|
15
|
+
* - `sonar.profile` = `Sonar Way`
|
|
16
|
+
* - `sonar.scm.provider` = `git`
|
|
17
|
+
* - Typical exclusions for `coverage`, test, and `target` dirs
|
|
18
|
+
* - `sonar.rust.lcov.reportPaths` = `target/lcov.info`
|
|
19
|
+
* - `sonar.rust.clippy.enabled` = `false`
|
|
20
|
+
* - `sonar.rust.clippyReport.reportPaths` = `target/clippy.json`
|
|
21
|
+
*
|
|
22
|
+
* All defaults can be overridden via options. Nested options (e.g. `coverage`,
|
|
23
|
+
* `rust`) are deep-merged with the defaults, so overriding one nested field
|
|
24
|
+
* does not drop the other defaults in that subtree.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* new SonarqubeRustProperties(project, {
|
|
28
|
+
* projectKey: 'my-org_my-rust-project',
|
|
29
|
+
* });
|
|
30
|
+
*/
|
|
31
|
+
class SonarqubeRustProperties extends sonarqube_1.SonarqubeProperties {
|
|
32
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.sonarqube.SonarqubeRustProperties", version: "0.103.5" };
|
|
33
|
+
constructor(scope, options) {
|
|
34
|
+
super(scope, (0, util_1.deepMerge)([
|
|
35
|
+
{
|
|
36
|
+
language: "rust",
|
|
37
|
+
sources: "src",
|
|
38
|
+
tests: "tests",
|
|
39
|
+
sourceEncoding: "UTF-8",
|
|
40
|
+
profile: "Sonar Way",
|
|
41
|
+
scm: { provider: "git" },
|
|
42
|
+
exclusions: ["**/coverage/**", "**/tests/**", "**/target/**"],
|
|
43
|
+
coverage: {
|
|
44
|
+
exclusions: ["**/tests/**", "**/target/**"],
|
|
45
|
+
},
|
|
46
|
+
cpd: { exclusions: ["**/tests/**/*.json"] },
|
|
47
|
+
rust: {
|
|
48
|
+
lcov: { reportPaths: ["target/lcov.info"] },
|
|
49
|
+
clippy: { enabled: false },
|
|
50
|
+
clippyReport: { reportPaths: ["target/clippy.json"] },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
options,
|
|
54
|
+
]));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.SonarqubeRustProperties = SonarqubeRustProperties;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zb25hcnF1YmUvcnVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsMkNBQWtEO0FBRWxELGtDQUFvQztBQVNwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLCtCQUFtQjs7SUFDOUQsWUFBWSxLQUFpQixFQUFFLE9BQXVDO1FBQ3BFLEtBQUssQ0FDSCxLQUFLLEVBQ0wsSUFBQSxnQkFBUyxFQUFDO1lBQ1I7Z0JBQ0UsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxPQUFPO2dCQUNkLGNBQWMsRUFBRSxPQUFPO2dCQUN2QixPQUFPLEVBQUUsV0FBVztnQkFDcEIsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDeEIsVUFBVSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQztnQkFDN0QsUUFBUSxFQUFFO29CQUNSLFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7aUJBQzVDO2dCQUNELEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQzNDLElBQUksRUFBRTtvQkFDSixJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO29CQUMzQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO29CQUMxQixZQUFZLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO2lCQUN0RDthQUNGO1lBQ0QsT0FBTztTQUNSLENBQW1DLENBQ3JDLENBQUM7SUFDSixDQUFDOztBQTFCSCwwREEyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU29uYXJxdWJlUHJvcGVydGllcyB9IGZyb20gXCIuL3NvbmFycXViZVwiO1xuaW1wb3J0IHR5cGUgeyBTb25hcnF1YmVQcm9wZXJ0aWVzT3B0aW9ucyB9IGZyb20gXCIuL3NvbmFycXViZVwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgU29uYXJxdWJlUnVzdFByb3BlcnRpZXNgLlxuICpcbiAqIEV4dGVuZHMgYmFzZSBvcHRpb25zIHdpdGggUnVzdC1zcGVjaWZpYyBkZWZhdWx0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb25hcnF1YmVSdXN0UHJvcGVydGllc09wdGlvbnMgZXh0ZW5kcyBTb25hcnF1YmVQcm9wZXJ0aWVzT3B0aW9ucyB7fVxuXG4vKipcbiAqIEEgU29uYXJRdWJlIGNvbmZpZ3VyYXRpb24gcHJlc2V0IGZvciBSdXN0IHByb2plY3RzLlxuICpcbiAqIFByb3ZpZGVzIHNlbnNpYmxlIGRlZmF1bHRzIGZvciBSdXN0IGFuYWx5c2lzOlxuICogLSBgc29uYXIubGFuZ3VhZ2VgID0gYHJ1c3RgXG4gKiAtIGBzb25hci5zb3VyY2VzYCA9IGBzcmNgXG4gKiAtIGBzb25hci50ZXN0c2AgPSBgdGVzdHNgXG4gKiAtIGBzb25hci5zb3VyY2VFbmNvZGluZ2AgPSBgVVRGLThgXG4gKiAtIGBzb25hci5wcm9maWxlYCA9IGBTb25hciBXYXlgXG4gKiAtIGBzb25hci5zY20ucHJvdmlkZXJgID0gYGdpdGBcbiAqIC0gVHlwaWNhbCBleGNsdXNpb25zIGZvciBgY292ZXJhZ2VgLCB0ZXN0LCBhbmQgYHRhcmdldGAgZGlyc1xuICogLSBgc29uYXIucnVzdC5sY292LnJlcG9ydFBhdGhzYCA9IGB0YXJnZXQvbGNvdi5pbmZvYFxuICogLSBgc29uYXIucnVzdC5jbGlwcHkuZW5hYmxlZGAgPSBgZmFsc2VgXG4gKiAtIGBzb25hci5ydXN0LmNsaXBweVJlcG9ydC5yZXBvcnRQYXRoc2AgPSBgdGFyZ2V0L2NsaXBweS5qc29uYFxuICpcbiAqIEFsbCBkZWZhdWx0cyBjYW4gYmUgb3ZlcnJpZGRlbiB2aWEgb3B0aW9ucy4gTmVzdGVkIG9wdGlvbnMgKGUuZy4gYGNvdmVyYWdlYCxcbiAqIGBydXN0YCkgYXJlIGRlZXAtbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHRzLCBzbyBvdmVycmlkaW5nIG9uZSBuZXN0ZWQgZmllbGRcbiAqIGRvZXMgbm90IGRyb3AgdGhlIG90aGVyIGRlZmF1bHRzIGluIHRoYXQgc3VidHJlZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogbmV3IFNvbmFycXViZVJ1c3RQcm9wZXJ0aWVzKHByb2plY3QsIHtcbiAqICAgcHJvamVjdEtleTogJ215LW9yZ19teS1ydXN0LXByb2plY3QnLFxuICogfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBTb25hcnF1YmVSdXN0UHJvcGVydGllcyBleHRlbmRzIFNvbmFycXViZVByb3BlcnRpZXMge1xuICBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgb3B0aW9uczogU29uYXJxdWJlUnVzdFByb3BlcnRpZXNPcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBzY29wZSxcbiAgICAgIGRlZXBNZXJnZShbXG4gICAgICAgIHtcbiAgICAgICAgICBsYW5ndWFnZTogXCJydXN0XCIsXG4gICAgICAgICAgc291cmNlczogXCJzcmNcIixcbiAgICAgICAgICB0ZXN0czogXCJ0ZXN0c1wiLFxuICAgICAgICAgIHNvdXJjZUVuY29kaW5nOiBcIlVURi04XCIsXG4gICAgICAgICAgcHJvZmlsZTogXCJTb25hciBXYXlcIixcbiAgICAgICAgICBzY206IHsgcHJvdmlkZXI6IFwiZ2l0XCIgfSxcbiAgICAgICAgICBleGNsdXNpb25zOiBbXCIqKi9jb3ZlcmFnZS8qKlwiLCBcIioqL3Rlc3RzLyoqXCIsIFwiKiovdGFyZ2V0LyoqXCJdLFxuICAgICAgICAgIGNvdmVyYWdlOiB7XG4gICAgICAgICAgICBleGNsdXNpb25zOiBbXCIqKi90ZXN0cy8qKlwiLCBcIioqL3RhcmdldC8qKlwiXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNwZDogeyBleGNsdXNpb25zOiBbXCIqKi90ZXN0cy8qKi8qLmpzb25cIl0gfSxcbiAgICAgICAgICBydXN0OiB7XG4gICAgICAgICAgICBsY292OiB7IHJlcG9ydFBhdGhzOiBbXCJ0YXJnZXQvbGNvdi5pbmZvXCJdIH0sXG4gICAgICAgICAgICBjbGlwcHk6IHsgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIGNsaXBweVJlcG9ydDogeyByZXBvcnRQYXRoczogW1widGFyZ2V0L2NsaXBweS5qc29uXCJdIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIF0pIGFzIFNvbmFycXViZVJ1c3RQcm9wZXJ0aWVzT3B0aW9ucyxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
import type { IConstruct } from "constructs";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
import { PropertiesFile } from "../properties-file";
|
|
4
|
+
/**
|
|
5
|
+
* Log level for SonarQube analysis.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum SonarqubeLogLevel {
|
|
8
|
+
/** Standard logging (default) */
|
|
9
|
+
INFO = "INFO",
|
|
10
|
+
/** Verbose logging */
|
|
11
|
+
DEBUG = "DEBUG",
|
|
12
|
+
/** Most verbose, includes plugin/library output */
|
|
13
|
+
TRACE = "TRACE"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* SonarQube Cloud region.
|
|
17
|
+
*/
|
|
18
|
+
export declare enum SonarqubeRegion {
|
|
19
|
+
/** EU instance (default) */
|
|
20
|
+
EU = "eu",
|
|
21
|
+
/** US instance */
|
|
22
|
+
US = "us"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for `sonar.scm.*` properties.
|
|
26
|
+
*/
|
|
27
|
+
export interface SonarqubeScmOptions {
|
|
28
|
+
/**
|
|
29
|
+
* The SCM provider to use.
|
|
30
|
+
*
|
|
31
|
+
* Maps to `sonar.scm.provider`.
|
|
32
|
+
*
|
|
33
|
+
* @default - auto-detected
|
|
34
|
+
*/
|
|
35
|
+
readonly provider?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Options for `sonar.scm.exclusions.*`.
|
|
38
|
+
*
|
|
39
|
+
* @default - no exclusion overrides
|
|
40
|
+
*/
|
|
41
|
+
readonly exclusions?: SonarqubeScmExclusionsOptions;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Options for `sonar.scm.exclusions.*` properties.
|
|
45
|
+
*/
|
|
46
|
+
export interface SonarqubeScmExclusionsOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Whether to disable files ignored by the SCM (e.g., files in .gitignore)
|
|
49
|
+
* from being excluded from analysis.
|
|
50
|
+
*
|
|
51
|
+
* Maps to `sonar.scm.exclusions.disabled`.
|
|
52
|
+
*
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
readonly disabled?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Options for `sonar.coverage.*` properties.
|
|
59
|
+
*/
|
|
60
|
+
export interface SonarqubeCoverageOptions {
|
|
61
|
+
/**
|
|
62
|
+
* Comma-separated file path patterns to exclude from test coverage
|
|
63
|
+
* calculations.
|
|
64
|
+
*
|
|
65
|
+
* Maps to `sonar.coverage.exclusions`.
|
|
66
|
+
*
|
|
67
|
+
* @default - no coverage exclusions
|
|
68
|
+
*/
|
|
69
|
+
readonly exclusions?: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Options for `sonar.cpd.*` properties.
|
|
73
|
+
*/
|
|
74
|
+
export interface SonarqubeCpdOptions {
|
|
75
|
+
/**
|
|
76
|
+
* Comma-separated file path patterns to exclude from code
|
|
77
|
+
* duplication detection.
|
|
78
|
+
*
|
|
79
|
+
* Maps to `sonar.cpd.exclusions`.
|
|
80
|
+
*
|
|
81
|
+
* @default - no duplication exclusions
|
|
82
|
+
*/
|
|
83
|
+
readonly exclusions?: string[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Options for `sonar.javascript.*` properties.
|
|
87
|
+
*/
|
|
88
|
+
export interface SonarqubeJavascriptOptions {
|
|
89
|
+
/**
|
|
90
|
+
* Options for `sonar.javascript.lcov.*`.
|
|
91
|
+
*
|
|
92
|
+
* @default - no LCOV configuration
|
|
93
|
+
*/
|
|
94
|
+
readonly lcov?: SonarqubeLcovOptions;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Options for `sonar.typescript.*` properties.
|
|
98
|
+
*/
|
|
99
|
+
export interface SonarqubeTypescriptOptions {
|
|
100
|
+
/**
|
|
101
|
+
* Path to the TypeScript configuration file.
|
|
102
|
+
*
|
|
103
|
+
* Maps to `sonar.typescript.tsconfigPath`.
|
|
104
|
+
*
|
|
105
|
+
* @default - not set
|
|
106
|
+
*/
|
|
107
|
+
readonly tsconfigPath?: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Options for `sonar.rust.*` properties.
|
|
111
|
+
*/
|
|
112
|
+
export interface SonarqubeRustOptions {
|
|
113
|
+
/**
|
|
114
|
+
* Options for `sonar.rust.lcov.*`.
|
|
115
|
+
*
|
|
116
|
+
* @default - no Rust LCOV configuration
|
|
117
|
+
*/
|
|
118
|
+
readonly lcov?: SonarqubeLcovOptions;
|
|
119
|
+
/**
|
|
120
|
+
* Options for `sonar.rust.clippy.*`.
|
|
121
|
+
*
|
|
122
|
+
* @default - no clippy configuration
|
|
123
|
+
*/
|
|
124
|
+
readonly clippy?: SonarqubeRustClippyOptions;
|
|
125
|
+
/**
|
|
126
|
+
* Options for `sonar.rust.clippyReport.*`.
|
|
127
|
+
*
|
|
128
|
+
* @default - no clippy report configuration
|
|
129
|
+
*/
|
|
130
|
+
readonly clippyReport?: SonarqubeRustClippyReportOptions;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Options for lcov report paths (shared between languages).
|
|
134
|
+
*/
|
|
135
|
+
export interface SonarqubeLcovOptions {
|
|
136
|
+
/**
|
|
137
|
+
* Comma-separated paths to LCOV coverage report files.
|
|
138
|
+
*
|
|
139
|
+
* Maps to `sonar.<language>.lcov.reportPaths`.
|
|
140
|
+
*
|
|
141
|
+
* @default - not set
|
|
142
|
+
*/
|
|
143
|
+
readonly reportPaths?: string[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Options for `sonar.rust.clippy.*` properties.
|
|
147
|
+
*/
|
|
148
|
+
export interface SonarqubeRustClippyOptions {
|
|
149
|
+
/**
|
|
150
|
+
* Whether Clippy analysis is enabled.
|
|
151
|
+
*
|
|
152
|
+
* Maps to `sonar.rust.clippy.enabled`.
|
|
153
|
+
*
|
|
154
|
+
* @default true
|
|
155
|
+
*/
|
|
156
|
+
readonly enabled?: boolean;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Options for `sonar.rust.clippyReport.*` properties.
|
|
160
|
+
*/
|
|
161
|
+
export interface SonarqubeRustClippyReportOptions {
|
|
162
|
+
/**
|
|
163
|
+
* Paths to Clippy JSON report files.
|
|
164
|
+
*
|
|
165
|
+
* Maps to `sonar.rust.clippyReport.reportPaths`.
|
|
166
|
+
*
|
|
167
|
+
* @default - not set
|
|
168
|
+
*/
|
|
169
|
+
readonly reportPaths?: string[];
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Options for `sonar.log.*` properties.
|
|
173
|
+
*/
|
|
174
|
+
export interface SonarqubeLogOptions {
|
|
175
|
+
/**
|
|
176
|
+
* Controls the quantity/level of logs produced during analysis.
|
|
177
|
+
*
|
|
178
|
+
* Maps to `sonar.log.level`.
|
|
179
|
+
*
|
|
180
|
+
* @default SonarqubeLogLevel.INFO
|
|
181
|
+
*/
|
|
182
|
+
readonly level?: SonarqubeLogLevel;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Options for `sonar.qualitygate.*` properties.
|
|
186
|
+
*/
|
|
187
|
+
export interface SonarqubeQualityGateOptions {
|
|
188
|
+
/**
|
|
189
|
+
* Forces the analysis step to poll the server and wait for the
|
|
190
|
+
* Quality Gate status. Will fail the pipeline if the quality gate fails.
|
|
191
|
+
*
|
|
192
|
+
* Maps to `sonar.qualitygate.wait`.
|
|
193
|
+
*
|
|
194
|
+
* @default false
|
|
195
|
+
*/
|
|
196
|
+
readonly wait?: boolean;
|
|
197
|
+
/**
|
|
198
|
+
* The number of seconds that the scanner should wait for a report
|
|
199
|
+
* to be processed.
|
|
200
|
+
*
|
|
201
|
+
* Maps to `sonar.qualitygate.timeout`.
|
|
202
|
+
*
|
|
203
|
+
* @default 300
|
|
204
|
+
*/
|
|
205
|
+
readonly timeout?: number;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Options for `SonarqubeProperties`.
|
|
209
|
+
*
|
|
210
|
+
* The interface structure mirrors the `sonar.*` dot-notation used in
|
|
211
|
+
* `sonar-project.properties`. Nested interfaces map to nested property
|
|
212
|
+
* namespaces. For example, `scm.provider` maps to `sonar.scm.provider`.
|
|
213
|
+
*/
|
|
214
|
+
export interface SonarqubePropertiesOptions {
|
|
215
|
+
/**
|
|
216
|
+
* The project's unique key.
|
|
217
|
+
*
|
|
218
|
+
* Can include up to 400 characters. Allowed characters:
|
|
219
|
+
* letters, digits, dash, underscore, periods, and colons.
|
|
220
|
+
*
|
|
221
|
+
* Maps to `sonar.projectKey`. This parameter is mandatory.
|
|
222
|
+
*/
|
|
223
|
+
readonly projectKey: string;
|
|
224
|
+
/**
|
|
225
|
+
* The key of the organization to which the project belongs.
|
|
226
|
+
*
|
|
227
|
+
* Maps to `sonar.organization`. Mandatory for SonarQube Cloud.
|
|
228
|
+
*
|
|
229
|
+
* @default - no organization
|
|
230
|
+
*/
|
|
231
|
+
readonly organization?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Name of the project displayed on the web interface.
|
|
234
|
+
*
|
|
235
|
+
* Maps to `sonar.projectName`.
|
|
236
|
+
*
|
|
237
|
+
* @default - not set
|
|
238
|
+
*/
|
|
239
|
+
readonly projectName?: string;
|
|
240
|
+
/**
|
|
241
|
+
* The project version.
|
|
242
|
+
*
|
|
243
|
+
* Maps to `sonar.projectVersion`.
|
|
244
|
+
*
|
|
245
|
+
* @default - not set
|
|
246
|
+
*/
|
|
247
|
+
readonly projectVersion?: string;
|
|
248
|
+
/**
|
|
249
|
+
* Comma-separated paths to directories containing main source code
|
|
250
|
+
* (non-test code).
|
|
251
|
+
*
|
|
252
|
+
* Maps to `sonar.sources`.
|
|
253
|
+
*
|
|
254
|
+
* @default - the project base directory
|
|
255
|
+
*/
|
|
256
|
+
readonly sources?: string;
|
|
257
|
+
/**
|
|
258
|
+
* Comma-separated paths to directories containing test code.
|
|
259
|
+
*
|
|
260
|
+
* Maps to `sonar.tests`.
|
|
261
|
+
*
|
|
262
|
+
* @default - no test code analyzed
|
|
263
|
+
*/
|
|
264
|
+
readonly tests?: string;
|
|
265
|
+
/**
|
|
266
|
+
* The project's base directory when the analysis needs to take place
|
|
267
|
+
* in a directory other than the one from which it was started.
|
|
268
|
+
*
|
|
269
|
+
* Maps to `sonar.projectBaseDir`.
|
|
270
|
+
*
|
|
271
|
+
* @default - the directory from which the analysis was started
|
|
272
|
+
*/
|
|
273
|
+
readonly projectBaseDir?: string;
|
|
274
|
+
/**
|
|
275
|
+
* Encoding of the source files.
|
|
276
|
+
*
|
|
277
|
+
* Maps to `sonar.sourceEncoding`.
|
|
278
|
+
*
|
|
279
|
+
* @default - system encoding
|
|
280
|
+
*/
|
|
281
|
+
readonly sourceEncoding?: string;
|
|
282
|
+
/**
|
|
283
|
+
* Comma-separated file path patterns to exclude from the analysis scope.
|
|
284
|
+
*
|
|
285
|
+
* Maps to `sonar.exclusions`.
|
|
286
|
+
*
|
|
287
|
+
* @default - no exclusions
|
|
288
|
+
*/
|
|
289
|
+
readonly exclusions?: string[];
|
|
290
|
+
/**
|
|
291
|
+
* The language for analysis.
|
|
292
|
+
*
|
|
293
|
+
* Maps to `sonar.language`.
|
|
294
|
+
*
|
|
295
|
+
* @default - auto-detected
|
|
296
|
+
*/
|
|
297
|
+
readonly language?: string;
|
|
298
|
+
/**
|
|
299
|
+
* The quality profile name.
|
|
300
|
+
*
|
|
301
|
+
* Maps to `sonar.profile`.
|
|
302
|
+
*
|
|
303
|
+
* @default - uses the default profile configured on the server
|
|
304
|
+
*/
|
|
305
|
+
readonly profile?: string;
|
|
306
|
+
/**
|
|
307
|
+
* The SonarQube Cloud instance's region.
|
|
308
|
+
*
|
|
309
|
+
* Maps to `sonar.region`.
|
|
310
|
+
*
|
|
311
|
+
* @default SonarqubeRegion.EU
|
|
312
|
+
*/
|
|
313
|
+
readonly region?: SonarqubeRegion;
|
|
314
|
+
/**
|
|
315
|
+
* SCM-related options (`sonar.scm.*`).
|
|
316
|
+
*
|
|
317
|
+
* @default - no SCM configuration
|
|
318
|
+
*/
|
|
319
|
+
readonly scm?: SonarqubeScmOptions;
|
|
320
|
+
/**
|
|
321
|
+
* Coverage-related options (`sonar.coverage.*`).
|
|
322
|
+
*
|
|
323
|
+
* @default - no coverage configuration
|
|
324
|
+
*/
|
|
325
|
+
readonly coverage?: SonarqubeCoverageOptions;
|
|
326
|
+
/**
|
|
327
|
+
* Duplication detection options (`sonar.cpd.*`).
|
|
328
|
+
*
|
|
329
|
+
* @default - no CPD configuration
|
|
330
|
+
*/
|
|
331
|
+
readonly cpd?: SonarqubeCpdOptions;
|
|
332
|
+
/**
|
|
333
|
+
* JavaScript-specific options (`sonar.javascript.*`).
|
|
334
|
+
*
|
|
335
|
+
* @default - no JavaScript configuration
|
|
336
|
+
*/
|
|
337
|
+
readonly javascript?: SonarqubeJavascriptOptions;
|
|
338
|
+
/**
|
|
339
|
+
* TypeScript-specific options (`sonar.typescript.*`).
|
|
340
|
+
*
|
|
341
|
+
* @default - no TypeScript configuration
|
|
342
|
+
*/
|
|
343
|
+
readonly typescript?: SonarqubeTypescriptOptions;
|
|
344
|
+
/**
|
|
345
|
+
* Rust-specific options (`sonar.rust.*`).
|
|
346
|
+
*
|
|
347
|
+
* @default - no Rust configuration
|
|
348
|
+
*/
|
|
349
|
+
readonly rust?: SonarqubeRustOptions;
|
|
350
|
+
/**
|
|
351
|
+
* Logging options (`sonar.log.*`).
|
|
352
|
+
*
|
|
353
|
+
* @default - INFO level
|
|
354
|
+
*/
|
|
355
|
+
readonly log?: SonarqubeLogOptions;
|
|
356
|
+
/**
|
|
357
|
+
* Quality gate options (`sonar.qualitygate.*`).
|
|
358
|
+
*
|
|
359
|
+
* @default - quality gate not awaited
|
|
360
|
+
*/
|
|
361
|
+
readonly qualitygate?: SonarqubeQualityGateOptions;
|
|
362
|
+
/**
|
|
363
|
+
* Additional arbitrary properties to include in the configuration.
|
|
364
|
+
*
|
|
365
|
+
* Use this for properties not covered by the typed options.
|
|
366
|
+
* Keys use dot-notation (e.g., `sonar.java.binaries`).
|
|
367
|
+
*
|
|
368
|
+
* These are applied as overrides after the typed options above, so a key
|
|
369
|
+
* that is a prefix of a typed option (e.g. `"sonar.coverage"`) replaces
|
|
370
|
+
* that entire subtree rather than merging with it.
|
|
371
|
+
*
|
|
372
|
+
* @default - no additional properties
|
|
373
|
+
*/
|
|
374
|
+
readonly extraProperties?: Record<string, string>;
|
|
375
|
+
/**
|
|
376
|
+
* Options for the generated properties file.
|
|
377
|
+
*
|
|
378
|
+
* @default - default file options
|
|
379
|
+
*/
|
|
380
|
+
readonly fileOptions?: SonarqubeFileOptions;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* File options for the generated `sonar-project.properties` file.
|
|
384
|
+
*/
|
|
385
|
+
export interface SonarqubeFileOptions {
|
|
386
|
+
/**
|
|
387
|
+
* Whether the generated file should be committed to git.
|
|
388
|
+
*
|
|
389
|
+
* @default true
|
|
390
|
+
*/
|
|
391
|
+
readonly committed?: boolean;
|
|
392
|
+
/**
|
|
393
|
+
* Whether the generated file should be readonly.
|
|
394
|
+
*
|
|
395
|
+
* @default true
|
|
396
|
+
*/
|
|
397
|
+
readonly readonly?: boolean;
|
|
398
|
+
/**
|
|
399
|
+
* Adds the projen marker to the file.
|
|
400
|
+
*
|
|
401
|
+
* @default - marker will be included as long as the project is not ejected
|
|
402
|
+
*/
|
|
403
|
+
readonly marker?: boolean;
|
|
404
|
+
/**
|
|
405
|
+
* A comment to include at the top of the file.
|
|
406
|
+
*
|
|
407
|
+
* @default - no additional comment
|
|
408
|
+
*/
|
|
409
|
+
readonly comment?: string[];
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Manages the `sonar-project.properties` configuration file for SonarQube
|
|
413
|
+
* analysis.
|
|
414
|
+
*
|
|
415
|
+
* This component generates a `sonar-project.properties` file at the project
|
|
416
|
+
* root with the specified configuration parameters. It provides typed options
|
|
417
|
+
* whose structure mirrors the dot-notation property namespaces.
|
|
418
|
+
*
|
|
419
|
+
* @see https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/analysis-parameters/parameters-not-settable-in-ui
|
|
420
|
+
*
|
|
421
|
+
* @example
|
|
422
|
+
* new SonarqubeProperties(project, {
|
|
423
|
+
* projectKey: 'my-org_my-project',
|
|
424
|
+
* organization: 'my-org',
|
|
425
|
+
* sources: 'src',
|
|
426
|
+
* tests: 'test',
|
|
427
|
+
* exclusions: ['*{@literal *}/node_modules/**'],
|
|
428
|
+
* coverage: { exclusions: ['*{@literal *}/test/**'] },
|
|
429
|
+
* javascript: { lcov: { reportPaths: ['coverage/lcov.info'] } },
|
|
430
|
+
* sourceEncoding: 'UTF-8',
|
|
431
|
+
* });
|
|
432
|
+
*/
|
|
433
|
+
export declare class SonarqubeProperties extends Component {
|
|
434
|
+
/**
|
|
435
|
+
* The underlying properties file.
|
|
436
|
+
*/
|
|
437
|
+
readonly file: PropertiesFile;
|
|
438
|
+
constructor(scope: IConstruct, options: SonarqubePropertiesOptions);
|
|
439
|
+
}
|