UNPKG

projen

Version:

CDK for software projects

57 lines 6.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SonarqubeJavascriptProperties = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const sonarqube_1 = require("./sonarqube"); const util_1 = require("../util"); /** * A SonarQube configuration preset for JavaScript projects. * * Provides sensible defaults for JavaScript analysis: * - `sonar.language` = `js` * - `sonar.sources` = `src` * - `sonar.tests` = `test` * - `sonar.sourceEncoding` = `UTF-8` * - `sonar.profile` = `Sonar Way` * - `sonar.scm.provider` = `git` * - Typical exclusions for `node_modules`, `coverage`, and test files * - `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info` * * All defaults can be overridden via options. Nested options (e.g. `coverage`, * `javascript`) are deep-merged with the defaults, so overriding one nested * field does not drop the other defaults in that subtree. * * @example * new SonarqubeJavascriptProperties(project, { * projectKey: 'my-org_my-js-project', * }); */ class SonarqubeJavascriptProperties extends sonarqube_1.SonarqubeProperties { static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.sonarqube.SonarqubeJavascriptProperties", version: "0.103.12" }; constructor(scope, options) { super(scope, (0, util_1.deepMerge)([ { language: "js", sources: "src", tests: "test", sourceEncoding: "UTF-8", profile: "Sonar Way", scm: { provider: "git" }, exclusions: [ "**/node_modules/**", "**/coverage/**", "**/test/**", "**/__tests__/**", "**/*.test.ts", "**/*.spec.ts", ], coverage: { exclusions: ["**/test/**", "**/__tests__/**"] }, cpd: { exclusions: ["**/test/**/*.json", "**/__tests__/**/*.json"] }, javascript: { lcov: { reportPaths: ["coverage/lcov.info"] } }, }, options, ])); } } exports.SonarqubeJavascriptProperties = SonarqubeJavascriptProperties; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zb25hcnF1YmUvamF2YXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsMkNBQWtEO0FBRWxELGtDQUFvQztBQVNwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSwrQkFBbUI7O0lBQ3BFLFlBQ0UsS0FBaUIsRUFDakIsT0FBNkM7UUFFN0MsS0FBSyxDQUNILEtBQUssRUFDTCxJQUFBLGdCQUFTLEVBQUM7WUFDUjtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixjQUFjLEVBQUUsT0FBTztnQkFDdkIsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ3hCLFVBQVUsRUFBRTtvQkFDVixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLGNBQWM7b0JBQ2QsY0FBYztpQkFDZjtnQkFDRCxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0QsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUMsRUFBRTtnQkFDcEUsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFO2FBQzlEO1lBQ0QsT0FBTztTQUNSLENBQXlDLENBQzNDLENBQUM7SUFDSixDQUFDOztBQTlCSCxzRUErQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU29uYXJxdWJlUHJvcGVydGllcyB9IGZyb20gXCIuL3NvbmFycXViZVwiO1xuaW1wb3J0IHR5cGUgeyBTb25hcnF1YmVQcm9wZXJ0aWVzT3B0aW9ucyB9IGZyb20gXCIuL3NvbmFycXViZVwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXNgLlxuICpcbiAqIEV4dGVuZHMgYmFzZSBvcHRpb25zIHdpdGggSmF2YVNjcmlwdC1zcGVjaWZpYyBkZWZhdWx0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb25hcnF1YmVKYXZhc2NyaXB0UHJvcGVydGllc09wdGlvbnMgZXh0ZW5kcyBTb25hcnF1YmVQcm9wZXJ0aWVzT3B0aW9ucyB7fVxuXG4vKipcbiAqIEEgU29uYXJRdWJlIGNvbmZpZ3VyYXRpb24gcHJlc2V0IGZvciBKYXZhU2NyaXB0IHByb2plY3RzLlxuICpcbiAqIFByb3ZpZGVzIHNlbnNpYmxlIGRlZmF1bHRzIGZvciBKYXZhU2NyaXB0IGFuYWx5c2lzOlxuICogLSBgc29uYXIubGFuZ3VhZ2VgID0gYGpzYFxuICogLSBgc29uYXIuc291cmNlc2AgPSBgc3JjYFxuICogLSBgc29uYXIudGVzdHNgID0gYHRlc3RgXG4gKiAtIGBzb25hci5zb3VyY2VFbmNvZGluZ2AgPSBgVVRGLThgXG4gKiAtIGBzb25hci5wcm9maWxlYCA9IGBTb25hciBXYXlgXG4gKiAtIGBzb25hci5zY20ucHJvdmlkZXJgID0gYGdpdGBcbiAqIC0gVHlwaWNhbCBleGNsdXNpb25zIGZvciBgbm9kZV9tb2R1bGVzYCwgYGNvdmVyYWdlYCwgYW5kIHRlc3QgZmlsZXNcbiAqIC0gYHNvbmFyLmphdmFzY3JpcHQubGNvdi5yZXBvcnRQYXRoc2AgPSBgY292ZXJhZ2UvbGNvdi5pbmZvYFxuICpcbiAqIEFsbCBkZWZhdWx0cyBjYW4gYmUgb3ZlcnJpZGRlbiB2aWEgb3B0aW9ucy4gTmVzdGVkIG9wdGlvbnMgKGUuZy4gYGNvdmVyYWdlYCxcbiAqIGBqYXZhc2NyaXB0YCkgYXJlIGRlZXAtbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHRzLCBzbyBvdmVycmlkaW5nIG9uZSBuZXN0ZWRcbiAqIGZpZWxkIGRvZXMgbm90IGRyb3AgdGhlIG90aGVyIGRlZmF1bHRzIGluIHRoYXQgc3VidHJlZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogbmV3IFNvbmFycXViZUphdmFzY3JpcHRQcm9wZXJ0aWVzKHByb2plY3QsIHtcbiAqICAgcHJvamVjdEtleTogJ215LW9yZ19teS1qcy1wcm9qZWN0JyxcbiAqIH0pO1xuICovXG5leHBvcnQgY2xhc3MgU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXMgZXh0ZW5kcyBTb25hcnF1YmVQcm9wZXJ0aWVzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IElDb25zdHJ1Y3QsXG4gICAgb3B0aW9uczogU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXNPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIHNjb3BlLFxuICAgICAgZGVlcE1lcmdlKFtcbiAgICAgICAge1xuICAgICAgICAgIGxhbmd1YWdlOiBcImpzXCIsXG4gICAgICAgICAgc291cmNlczogXCJzcmNcIixcbiAgICAgICAgICB0ZXN0czogXCJ0ZXN0XCIsXG4gICAgICAgICAgc291cmNlRW5jb2Rpbmc6IFwiVVRGLThcIixcbiAgICAgICAgICBwcm9maWxlOiBcIlNvbmFyIFdheVwiLFxuICAgICAgICAgIHNjbTogeyBwcm92aWRlcjogXCJnaXRcIiB9LFxuICAgICAgICAgIGV4Y2x1c2lvbnM6IFtcbiAgICAgICAgICAgIFwiKiovbm9kZV9tb2R1bGVzLyoqXCIsXG4gICAgICAgICAgICBcIioqL2NvdmVyYWdlLyoqXCIsXG4gICAgICAgICAgICBcIioqL3Rlc3QvKipcIixcbiAgICAgICAgICAgIFwiKiovX190ZXN0c19fLyoqXCIsXG4gICAgICAgICAgICBcIioqLyoudGVzdC50c1wiLFxuICAgICAgICAgICAgXCIqKi8qLnNwZWMudHNcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNvdmVyYWdlOiB7IGV4Y2x1c2lvbnM6IFtcIioqL3Rlc3QvKipcIiwgXCIqKi9fX3Rlc3RzX18vKipcIl0gfSxcbiAgICAgICAgICBjcGQ6IHsgZXhjbHVzaW9uczogW1wiKiovdGVzdC8qKi8qLmpzb25cIiwgXCIqKi9fX3Rlc3RzX18vKiovKi5qc29uXCJdIH0sXG4gICAgICAgICAgamF2YXNjcmlwdDogeyBsY292OiB7IHJlcG9ydFBhdGhzOiBbXCJjb3ZlcmFnZS9sY292LmluZm9cIl0gfSB9LFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgXSkgYXMgU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXNPcHRpb25zLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==