projen 0.103.4 → 0.103.6

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.
Files changed (231) hide show
  1. package/.jsii +1565 -36
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +1 -1
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +3 -3
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-build.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/cdktn/cdktn-app-ts.js +1 -1
  33. package/lib/cdktn/cdktn-config.js +1 -1
  34. package/lib/cdktn/cdktn-construct.js +1 -1
  35. package/lib/cdktn/cdktn-deps.js +1 -1
  36. package/lib/cdktn/cdktn-tasks.js +1 -1
  37. package/lib/circleci/circleci.js +1 -1
  38. package/lib/component.js +2 -2
  39. package/lib/dependencies.js +1 -1
  40. package/lib/dev-env.js +1 -1
  41. package/lib/docker-compose/docker-compose-service.js +1 -1
  42. package/lib/docker-compose/docker-compose.js +1 -1
  43. package/lib/file.js +1 -1
  44. package/lib/gitattributes.js +1 -1
  45. package/lib/github/actions-provider.js +1 -1
  46. package/lib/github/auto-approve.js +1 -1
  47. package/lib/github/auto-merge.js +1 -1
  48. package/lib/github/auto-queue.js +1 -1
  49. package/lib/github/dependabot.js +1 -1
  50. package/lib/github/dependency-review.js +1 -1
  51. package/lib/github/github-credentials.js +1 -1
  52. package/lib/github/github-project.js +1 -1
  53. package/lib/github/github.js +1 -1
  54. package/lib/github/merge-queue.js +1 -1
  55. package/lib/github/mergify.js +1 -1
  56. package/lib/github/pr-template.js +1 -1
  57. package/lib/github/pull-request-backport.js +1 -1
  58. package/lib/github/pull-request-lint.js +1 -1
  59. package/lib/github/stale.js +1 -1
  60. package/lib/github/task-workflow-job.js +1 -1
  61. package/lib/github/task-workflow.js +1 -1
  62. package/lib/github/workflow-actions.js +1 -1
  63. package/lib/github/workflow-jobs.js +1 -1
  64. package/lib/github/workflow-steps.js +1 -1
  65. package/lib/github/workflows.js +1 -1
  66. package/lib/gitlab/configuration.js +1 -1
  67. package/lib/gitlab/gitlab-configuration.js +1 -1
  68. package/lib/gitlab/nested-configuration.js +1 -1
  69. package/lib/gitpod.js +1 -1
  70. package/lib/ignore-file.js +1 -1
  71. package/lib/index.d.ts +2 -0
  72. package/lib/index.js +4 -2
  73. package/lib/ini.js +1 -1
  74. package/lib/java/java-project.js +1 -1
  75. package/lib/java/junit.js +1 -1
  76. package/lib/java/maven-compile.js +1 -1
  77. package/lib/java/maven-packaging.js +1 -1
  78. package/lib/java/maven-sample.js +1 -1
  79. package/lib/java/pom.js +2 -2
  80. package/lib/java/projenrc.js +1 -1
  81. package/lib/javascript/biome/biome.js +1 -1
  82. package/lib/javascript/bundler.js +1 -1
  83. package/lib/javascript/eslint.js +1 -1
  84. package/lib/javascript/jest.js +4 -4
  85. package/lib/javascript/license-checker.js +1 -1
  86. package/lib/javascript/node-config-file.js +1 -1
  87. package/lib/javascript/node-package.js +9 -2
  88. package/lib/javascript/node-project.js +1 -1
  89. package/lib/javascript/npm-config.js +1 -1
  90. package/lib/javascript/pnpm-workspace-config.js +2 -2
  91. package/lib/javascript/pnpm-workspace.js +1 -1
  92. package/lib/javascript/prettier.js +1 -1
  93. package/lib/javascript/projenrc.js +1 -1
  94. package/lib/javascript/typescript-config.js +2 -2
  95. package/lib/javascript/upgrade-dependencies.js +2 -2
  96. package/lib/javascript/yarnrc.js +1 -1
  97. package/lib/json-patch.js +1 -1
  98. package/lib/json.js +1 -1
  99. package/lib/license.js +1 -1
  100. package/lib/logger.js +1 -1
  101. package/lib/makefile.js +1 -1
  102. package/lib/object-file.js +1 -1
  103. package/lib/project-build.js +1 -1
  104. package/lib/project-tree.js +1 -1
  105. package/lib/project.js +1 -1
  106. package/lib/projects.js +1 -1
  107. package/lib/projenrc-json.js +1 -1
  108. package/lib/projenrc.js +1 -1
  109. package/lib/properties-file.d.ts +50 -0
  110. package/lib/properties-file.js +77 -0
  111. package/lib/python/pip.js +1 -1
  112. package/lib/python/poetry.js +2 -2
  113. package/lib/python/projenrc.js +1 -1
  114. package/lib/python/pyproject-toml-file.js +1 -1
  115. package/lib/python/pytest-sample.js +1 -1
  116. package/lib/python/pytest.js +1 -1
  117. package/lib/python/python-project.js +1 -1
  118. package/lib/python/python-sample.js +1 -1
  119. package/lib/python/requirements-file.js +1 -1
  120. package/lib/python/setuppy.js +1 -1
  121. package/lib/python/setuptools.js +1 -1
  122. package/lib/python/uv-config.js +1 -1
  123. package/lib/python/uv.js +1 -1
  124. package/lib/python/venv.js +1 -1
  125. package/lib/readme.js +1 -1
  126. package/lib/release/publisher.js +1 -1
  127. package/lib/release/release-trigger.js +1 -1
  128. package/lib/release/release.js +1 -1
  129. package/lib/renovatebot.js +1 -1
  130. package/lib/run-task.cjs +7 -5
  131. package/lib/sample-file.js +2 -2
  132. package/lib/script-runner.js +1 -1
  133. package/lib/sonarqube/index.d.ts +4 -0
  134. package/lib/sonarqube/index.js +21 -0
  135. package/lib/sonarqube/javascript.d.ts +35 -0
  136. package/lib/sonarqube/javascript.js +57 -0
  137. package/lib/sonarqube/rust.d.ts +37 -0
  138. package/lib/sonarqube/rust.js +58 -0
  139. package/lib/sonarqube/sonarqube.d.ts +439 -0
  140. package/lib/sonarqube/sonarqube.js +184 -0
  141. package/lib/sonarqube/typescript.d.ts +36 -0
  142. package/lib/sonarqube/typescript.js +61 -0
  143. package/lib/source-code.js +1 -1
  144. package/lib/task-shell.js +1 -1
  145. package/lib/task.js +1 -1
  146. package/lib/tasks.js +1 -1
  147. package/lib/testing.js +1 -1
  148. package/lib/textfile.js +1 -1
  149. package/lib/toml.js +1 -1
  150. package/lib/typescript/projenrc-ts.js +1 -1
  151. package/lib/typescript/projenrc.js +1 -1
  152. package/lib/typescript/typescript-runner.js +1 -1
  153. package/lib/typescript/typescript-typedoc.js +1 -1
  154. package/lib/typescript/typescript.js +5 -5
  155. package/lib/util.d.ts +9 -0
  156. package/lib/util.js +39 -1
  157. package/lib/version.js +2 -2
  158. package/lib/vscode/devcontainer.js +1 -1
  159. package/lib/vscode/extensions.js +1 -1
  160. package/lib/vscode/launch-config.js +1 -1
  161. package/lib/vscode/settings.js +1 -1
  162. package/lib/vscode/vscode.js +1 -1
  163. package/lib/web/next.js +3 -3
  164. package/lib/web/postcss.js +1 -1
  165. package/lib/web/react.js +3 -3
  166. package/lib/web/tailwind.js +1 -1
  167. package/lib/xmlfile.js +1 -1
  168. package/lib/yaml.js +1 -1
  169. package/node_modules/properties-file/LICENSE +21 -0
  170. package/node_modules/properties-file/README.md +253 -0
  171. package/node_modules/properties-file/dist/cjs/bundler/bun.d.ts +10 -0
  172. package/node_modules/properties-file/dist/cjs/bundler/bun.js +1 -0
  173. package/node_modules/properties-file/dist/cjs/bundler/esbuild.d.ts +11 -0
  174. package/node_modules/properties-file/dist/cjs/bundler/esbuild.js +1 -0
  175. package/node_modules/properties-file/dist/cjs/bundler/rollup.d.ts +11 -0
  176. package/node_modules/properties-file/dist/cjs/bundler/rollup.js +1 -0
  177. package/node_modules/properties-file/dist/cjs/bundler/webpack.d.ts +12 -0
  178. package/node_modules/properties-file/dist/cjs/bundler/webpack.js +1 -0
  179. package/node_modules/properties-file/dist/cjs/characters.d.ts +32 -0
  180. package/node_modules/properties-file/dist/cjs/characters.js +1 -0
  181. package/node_modules/properties-file/dist/cjs/editor/index.d.ts +181 -0
  182. package/node_modules/properties-file/dist/cjs/editor/index.js +1 -0
  183. package/node_modules/properties-file/dist/cjs/escape/index.d.ts +18 -0
  184. package/node_modules/properties-file/dist/cjs/escape/index.js +1 -0
  185. package/node_modules/properties-file/dist/cjs/index.d.ts +25 -0
  186. package/node_modules/properties-file/dist/cjs/index.js +1 -0
  187. package/node_modules/properties-file/dist/cjs/package.json +1 -0
  188. package/node_modules/properties-file/dist/cjs/parser/index.d.ts +3 -0
  189. package/node_modules/properties-file/dist/cjs/parser/index.js +1 -0
  190. package/node_modules/properties-file/dist/cjs/parser/nodes.d.ts +154 -0
  191. package/node_modules/properties-file/dist/cjs/parser/nodes.js +1 -0
  192. package/node_modules/properties-file/dist/cjs/parser/normalize.d.ts +12 -0
  193. package/node_modules/properties-file/dist/cjs/parser/normalize.js +1 -0
  194. package/node_modules/properties-file/dist/cjs/parser/parse.d.ts +23 -0
  195. package/node_modules/properties-file/dist/cjs/parser/parse.js +1 -0
  196. package/node_modules/properties-file/dist/cjs/parser/properties.d.ts +93 -0
  197. package/node_modules/properties-file/dist/cjs/parser/properties.js +1 -0
  198. package/node_modules/properties-file/dist/cjs/properties-file.d.ts +8 -0
  199. package/node_modules/properties-file/dist/cjs/unescape/index.d.ts +14 -0
  200. package/node_modules/properties-file/dist/cjs/unescape/index.js +1 -0
  201. package/node_modules/properties-file/dist/esm/bundler/bun.d.ts +10 -0
  202. package/node_modules/properties-file/dist/esm/bundler/bun.js +1 -0
  203. package/node_modules/properties-file/dist/esm/bundler/esbuild.d.ts +11 -0
  204. package/node_modules/properties-file/dist/esm/bundler/esbuild.js +1 -0
  205. package/node_modules/properties-file/dist/esm/bundler/rollup.d.ts +11 -0
  206. package/node_modules/properties-file/dist/esm/bundler/rollup.js +1 -0
  207. package/node_modules/properties-file/dist/esm/bundler/webpack.d.ts +12 -0
  208. package/node_modules/properties-file/dist/esm/bundler/webpack.js +1 -0
  209. package/node_modules/properties-file/dist/esm/characters.d.ts +32 -0
  210. package/node_modules/properties-file/dist/esm/characters.js +1 -0
  211. package/node_modules/properties-file/dist/esm/editor/index.d.ts +181 -0
  212. package/node_modules/properties-file/dist/esm/editor/index.js +1 -0
  213. package/node_modules/properties-file/dist/esm/escape/index.d.ts +18 -0
  214. package/node_modules/properties-file/dist/esm/escape/index.js +1 -0
  215. package/node_modules/properties-file/dist/esm/index.d.ts +25 -0
  216. package/node_modules/properties-file/dist/esm/index.js +1 -0
  217. package/node_modules/properties-file/dist/esm/parser/index.d.ts +3 -0
  218. package/node_modules/properties-file/dist/esm/parser/index.js +1 -0
  219. package/node_modules/properties-file/dist/esm/parser/nodes.d.ts +154 -0
  220. package/node_modules/properties-file/dist/esm/parser/nodes.js +1 -0
  221. package/node_modules/properties-file/dist/esm/parser/normalize.d.ts +12 -0
  222. package/node_modules/properties-file/dist/esm/parser/normalize.js +1 -0
  223. package/node_modules/properties-file/dist/esm/parser/parse.d.ts +23 -0
  224. package/node_modules/properties-file/dist/esm/parser/parse.js +1 -0
  225. package/node_modules/properties-file/dist/esm/parser/properties.d.ts +93 -0
  226. package/node_modules/properties-file/dist/esm/parser/properties.js +1 -0
  227. package/node_modules/properties-file/dist/esm/properties-file.d.ts +8 -0
  228. package/node_modules/properties-file/dist/esm/unescape/index.d.ts +14 -0
  229. package/node_modules/properties-file/dist/esm/unescape/index.js +1 -0
  230. package/node_modules/properties-file/package.json +190 -0
  231. package/package.json +7 -5
package/.jsii CHANGED
@@ -21,6 +21,7 @@
21
21
  "fast-json-patch": "^3.1.1",
22
22
  "ini": "^2.0.0",
23
23
  "parse-conflict-json": "^4.0.0",
24
+ "properties-file": "^5.0.6",
24
25
  "semver": "^7.8.5",
25
26
  "xmlbuilder2": "^4.0.3",
26
27
  "yaml": "^2.2.2",
@@ -61,7 +62,7 @@
61
62
  "stability": "experimental"
62
63
  },
63
64
  "homepage": "https://github.com/projen/projen.git",
64
- "jsiiVersion": "6.0.10 (build bb45f01)",
65
+ "jsiiVersion": "6.0.11 (build d41f82c)",
65
66
  "keywords": [
66
67
  "cdk",
67
68
  "cicd",
@@ -93,56 +94,56 @@
93
94
  "projen.awscdk": {
94
95
  "locationInModule": {
95
96
  "filename": "src/index.ts",
96
- "line": 56
97
+ "line": 58
97
98
  },
98
99
  "symbolId": "src/awscdk/index:"
99
100
  },
100
101
  "projen.build": {
101
102
  "locationInModule": {
102
103
  "filename": "src/index.ts",
103
- "line": 61
104
+ "line": 63
104
105
  },
105
106
  "symbolId": "src/build/index:"
106
107
  },
107
108
  "projen.cdk": {
108
109
  "locationInModule": {
109
110
  "filename": "src/index.ts",
110
- "line": 60
111
+ "line": 62
111
112
  },
112
113
  "symbolId": "src/cdk/index:"
113
114
  },
114
115
  "projen.cdk8s": {
115
116
  "locationInModule": {
116
117
  "filename": "src/index.ts",
117
- "line": 57
118
+ "line": 59
118
119
  },
119
120
  "symbolId": "src/cdk8s/index:"
120
121
  },
121
122
  "projen.cdktf": {
122
123
  "locationInModule": {
123
124
  "filename": "src/index.ts",
124
- "line": 58
125
+ "line": 60
125
126
  },
126
127
  "symbolId": "src/cdktf/index:"
127
128
  },
128
129
  "projen.cdktn": {
129
130
  "locationInModule": {
130
131
  "filename": "src/index.ts",
131
- "line": 59
132
+ "line": 61
132
133
  },
133
134
  "symbolId": "src/cdktn/index:"
134
135
  },
135
136
  "projen.circleci": {
136
137
  "locationInModule": {
137
138
  "filename": "src/index.ts",
138
- "line": 49
139
+ "line": 51
139
140
  },
140
141
  "symbolId": "src/circleci/index:"
141
142
  },
142
143
  "projen.github": {
143
144
  "locationInModule": {
144
145
  "filename": "src/index.ts",
145
- "line": 47
146
+ "line": 49
146
147
  },
147
148
  "symbolId": "src/github/index:"
148
149
  },
@@ -156,21 +157,21 @@
156
157
  "projen.gitlab": {
157
158
  "locationInModule": {
158
159
  "filename": "src/index.ts",
159
- "line": 48
160
+ "line": 50
160
161
  },
161
162
  "symbolId": "src/gitlab/index:"
162
163
  },
163
164
  "projen.java": {
164
165
  "locationInModule": {
165
166
  "filename": "src/index.ts",
166
- "line": 51
167
+ "line": 53
167
168
  },
168
169
  "symbolId": "src/java/index:"
169
170
  },
170
171
  "projen.javascript": {
171
172
  "locationInModule": {
172
173
  "filename": "src/index.ts",
173
- "line": 54
174
+ "line": 56
174
175
  },
175
176
  "symbolId": "src/javascript/index:"
176
177
  },
@@ -184,7 +185,7 @@
184
185
  "projen.python": {
185
186
  "locationInModule": {
186
187
  "filename": "src/index.ts",
187
- "line": 52
188
+ "line": 54
188
189
  },
189
190
  "symbolId": "src/python/index:"
190
191
  },
@@ -198,28 +199,35 @@
198
199
  "projen.release": {
199
200
  "locationInModule": {
200
201
  "filename": "src/index.ts",
201
- "line": 55
202
+ "line": 57
202
203
  },
203
204
  "symbolId": "src/release/index:"
204
205
  },
206
+ "projen.sonarqube": {
207
+ "locationInModule": {
208
+ "filename": "src/index.ts",
209
+ "line": 47
210
+ },
211
+ "symbolId": "src/sonarqube/index:"
212
+ },
205
213
  "projen.typescript": {
206
214
  "locationInModule": {
207
215
  "filename": "src/index.ts",
208
- "line": 53
216
+ "line": 55
209
217
  },
210
218
  "symbolId": "src/typescript/index:"
211
219
  },
212
220
  "projen.vscode": {
213
221
  "locationInModule": {
214
222
  "filename": "src/index.ts",
215
- "line": 50
223
+ "line": 52
216
224
  },
217
225
  "symbolId": "src/vscode/index:"
218
226
  },
219
227
  "projen.web": {
220
228
  "locationInModule": {
221
229
  "filename": "src/index.ts",
222
- "line": 46
230
+ "line": 48
223
231
  },
224
232
  "symbolId": "src/web/index:"
225
233
  }
@@ -9521,6 +9529,127 @@
9521
9529
  ],
9522
9530
  "symbolId": "src/projenrc-json:ProjenrcJsonOptions"
9523
9531
  },
9532
+ "projen.PropertiesFile": {
9533
+ "assembly": "projen",
9534
+ "base": "projen.ObjectFile",
9535
+ "docs": {
9536
+ "example": "new PropertiesFile(project, 'sonar-project.properties', {\n obj: {\n sonar: {\n projectKey: 'my-project',\n sources: 'src',\n },\n },\n});\n\n// Produces:\n// sonar.projectKey=my-project\n// sonar.sources=src",
9537
+ "remarks": "Properties files consist of key=value pairs, one per line,\nwith `#` used for comments. This file format is commonly\nused by tools like SonarQube, Gradle, and other JVM-based\necosystem tools.\n\nThe object passed as `obj` can be a nested structure. Nested keys are\nflattened into dot-separated property keys on synthesis. For example,\n`{ sonar: { sources: \"src\" } }` produces `sonar.sources=src`.\n\nThis means `addOverride` uses dot notation as a path separator,\nconsistent with ObjectFile/JsonPatch semantics.",
9538
+ "stability": "experimental",
9539
+ "summary": "Represents a Java `.properties` file."
9540
+ },
9541
+ "fqn": "projen.PropertiesFile",
9542
+ "initializer": {
9543
+ "docs": {
9544
+ "stability": "experimental"
9545
+ },
9546
+ "locationInModule": {
9547
+ "filename": "src/properties-file.ts",
9548
+ "line": 53
9549
+ },
9550
+ "parameters": [
9551
+ {
9552
+ "name": "scope",
9553
+ "type": {
9554
+ "fqn": "constructs.IConstruct"
9555
+ }
9556
+ },
9557
+ {
9558
+ "name": "filePath",
9559
+ "type": {
9560
+ "primitive": "string"
9561
+ }
9562
+ },
9563
+ {
9564
+ "name": "options",
9565
+ "type": {
9566
+ "fqn": "projen.PropertiesFileOptions"
9567
+ }
9568
+ }
9569
+ ]
9570
+ },
9571
+ "kind": "class",
9572
+ "locationInModule": {
9573
+ "filename": "src/properties-file.ts",
9574
+ "line": 50
9575
+ },
9576
+ "methods": [
9577
+ {
9578
+ "docs": {
9579
+ "stability": "experimental",
9580
+ "summary": "Implemented by derived classes and returns the contents of the file to emit."
9581
+ },
9582
+ "locationInModule": {
9583
+ "filename": "src/properties-file.ts",
9584
+ "line": 62
9585
+ },
9586
+ "name": "synthesizeContent",
9587
+ "overrides": "projen.ObjectFile",
9588
+ "parameters": [
9589
+ {
9590
+ "name": "resolver",
9591
+ "type": {
9592
+ "fqn": "projen.IResolver"
9593
+ }
9594
+ }
9595
+ ],
9596
+ "protected": true,
9597
+ "returns": {
9598
+ "optional": true,
9599
+ "type": {
9600
+ "primitive": "string"
9601
+ }
9602
+ }
9603
+ }
9604
+ ],
9605
+ "name": "PropertiesFile",
9606
+ "symbolId": "src/properties-file:PropertiesFile"
9607
+ },
9608
+ "projen.PropertiesFileOptions": {
9609
+ "assembly": "projen",
9610
+ "datatype": true,
9611
+ "docs": {
9612
+ "stability": "experimental",
9613
+ "summary": "Options for `PropertiesFile`."
9614
+ },
9615
+ "fqn": "projen.PropertiesFileOptions",
9616
+ "interfaces": [
9617
+ "projen.ObjectFileOptions"
9618
+ ],
9619
+ "kind": "interface",
9620
+ "locationInModule": {
9621
+ "filename": "src/properties-file.ts",
9622
+ "line": 11
9623
+ },
9624
+ "name": "PropertiesFileOptions",
9625
+ "properties": [
9626
+ {
9627
+ "abstract": true,
9628
+ "docs": {
9629
+ "default": "- no additional comment",
9630
+ "remarks": "Each string in the array becomes a separate comment line.",
9631
+ "stability": "experimental",
9632
+ "summary": "A comment to include at the top of the file (after the projen marker, if enabled)."
9633
+ },
9634
+ "immutable": true,
9635
+ "locationInModule": {
9636
+ "filename": "src/properties-file.ts",
9637
+ "line": 18
9638
+ },
9639
+ "name": "comment",
9640
+ "optional": true,
9641
+ "type": {
9642
+ "collection": {
9643
+ "elementtype": {
9644
+ "primitive": "string"
9645
+ },
9646
+ "kind": "array"
9647
+ }
9648
+ }
9649
+ }
9650
+ ],
9651
+ "symbolId": "src/properties-file:PropertiesFileOptions"
9652
+ },
9524
9653
  "projen.ReleasableCommits": {
9525
9654
  "assembly": "projen",
9526
9655
  "docs": {
@@ -48968,7 +49097,7 @@
48968
49097
  "kind": "enum",
48969
49098
  "locationInModule": {
48970
49099
  "filename": "src/javascript/node-package.ts",
48971
- "line": 2412
49100
+ "line": 2423
48972
49101
  },
48973
49102
  "members": [
48974
49103
  {
@@ -49008,7 +49137,7 @@
49008
49137
  "kind": "interface",
49009
49138
  "locationInModule": {
49010
49139
  "filename": "src/javascript/node-package.ts",
49011
- "line": 2424
49140
+ "line": 2435
49012
49141
  },
49013
49142
  "name": "InstallTrigger",
49014
49143
  "namespace": "javascript",
@@ -49022,7 +49151,7 @@
49022
49151
  "immutable": true,
49023
49152
  "locationInModule": {
49024
49153
  "filename": "src/javascript/node-package.ts",
49025
- "line": 2426
49154
+ "line": 2437
49026
49155
  },
49027
49156
  "name": "reason",
49028
49157
  "type": {
@@ -49038,7 +49167,7 @@
49038
49167
  "immutable": true,
49039
49168
  "locationInModule": {
49040
49169
  "filename": "src/javascript/node-package.ts",
49041
- "line": 2432
49170
+ "line": 2443
49042
49171
  },
49043
49172
  "name": "diff",
49044
49173
  "optional": true,
@@ -49061,7 +49190,7 @@
49061
49190
  "immutable": true,
49062
49191
  "locationInModule": {
49063
49192
  "filename": "src/javascript/node-package.ts",
49064
- "line": 2438
49193
+ "line": 2449
49065
49194
  },
49066
49195
  "name": "resolutions",
49067
49196
  "optional": true,
@@ -56073,7 +56202,7 @@
56073
56202
  },
56074
56203
  "locationInModule": {
56075
56204
  "filename": "src/javascript/node-package.ts",
56076
- "line": 2158
56205
+ "line": 2169
56077
56206
  },
56078
56207
  "name": "installDependencies",
56079
56208
  "parameters": [
@@ -56656,7 +56785,7 @@
56656
56785
  "kind": "enum",
56657
56786
  "locationInModule": {
56658
56787
  "filename": "src/javascript/node-package.ts",
56659
- "line": 2290
56788
+ "line": 2301
56660
56789
  },
56661
56790
  "members": [
56662
56791
  {
@@ -59032,7 +59161,7 @@
59032
59161
  "kind": "enum",
59033
59162
  "locationInModule": {
59034
59163
  "filename": "src/javascript/node-package.ts",
59035
- "line": 2334
59164
+ "line": 2345
59036
59165
  },
59037
59166
  "members": [
59038
59167
  {
@@ -59227,7 +59356,7 @@
59227
59356
  "kind": "interface",
59228
59357
  "locationInModule": {
59229
59358
  "filename": "src/javascript/node-package.ts",
59230
- "line": 2279
59359
+ "line": 2290
59231
59360
  },
59232
59361
  "name": "PeerDependencyOptions",
59233
59362
  "namespace": "javascript",
@@ -59242,7 +59371,7 @@
59242
59371
  "immutable": true,
59243
59372
  "locationInModule": {
59244
59373
  "filename": "src/javascript/node-package.ts",
59245
- "line": 2284
59374
+ "line": 2295
59246
59375
  },
59247
59376
  "name": "pinnedDevDependency",
59248
59377
  "optional": true,
@@ -59264,7 +59393,7 @@
59264
59393
  "kind": "interface",
59265
59394
  "locationInModule": {
59266
59395
  "filename": "src/javascript/node-package.ts",
59267
- "line": 2394
59396
+ "line": 2405
59268
59397
  },
59269
59398
  "name": "PnpmOptions",
59270
59399
  "namespace": "javascript",
@@ -59279,7 +59408,7 @@
59279
59408
  "immutable": true,
59280
59409
  "locationInModule": {
59281
59410
  "filename": "src/javascript/node-package.ts",
59282
- "line": 2400
59411
+ "line": 2411
59283
59412
  },
59284
59413
  "name": "workspaceYamlOptions",
59285
59414
  "optional": true,
@@ -68956,7 +69085,7 @@
68956
69085
  "kind": "interface",
68957
69086
  "locationInModule": {
68958
69087
  "filename": "src/javascript/node-package.ts",
68959
- "line": 2349
69088
+ "line": 2360
68960
69089
  },
68961
69090
  "name": "YarnBerryOptions",
68962
69091
  "namespace": "javascript",
@@ -68972,7 +69101,7 @@
68972
69101
  "immutable": true,
68973
69102
  "locationInModule": {
68974
69103
  "filename": "src/javascript/node-package.ts",
68975
- "line": 2388
69104
+ "line": 2399
68976
69105
  },
68977
69106
  "name": "dedupePackages",
68978
69107
  "optional": true,
@@ -68995,7 +69124,7 @@
68995
69124
  "immutable": true,
68996
69125
  "locationInModule": {
68997
69126
  "filename": "src/javascript/node-package.ts",
68998
- "line": 2355
69127
+ "line": 2366
68999
69128
  },
69000
69129
  "name": "version",
69001
69130
  "optional": true,
@@ -69013,7 +69142,7 @@
69013
69142
  "immutable": true,
69014
69143
  "locationInModule": {
69015
69144
  "filename": "src/javascript/node-package.ts",
69016
- "line": 2362
69145
+ "line": 2373
69017
69146
  },
69018
69147
  "name": "yarnRcOptions",
69019
69148
  "optional": true,
@@ -69032,7 +69161,7 @@
69032
69161
  "immutable": true,
69033
69162
  "locationInModule": {
69034
69163
  "filename": "src/javascript/node-package.ts",
69035
- "line": 2370
69164
+ "line": 2381
69036
69165
  },
69037
69166
  "name": "zeroInstalls",
69038
69167
  "optional": true,
@@ -91797,6 +91926,1406 @@
91797
91926
  ],
91798
91927
  "symbolId": "src/release/release-trigger:TagReleaseOptions"
91799
91928
  },
91929
+ "projen.sonarqube.SonarqubeCoverageOptions": {
91930
+ "assembly": "projen",
91931
+ "datatype": true,
91932
+ "docs": {
91933
+ "stability": "experimental",
91934
+ "summary": "Options for `sonar.coverage.*` properties."
91935
+ },
91936
+ "fqn": "projen.sonarqube.SonarqubeCoverageOptions",
91937
+ "kind": "interface",
91938
+ "locationInModule": {
91939
+ "filename": "src/sonarqube/sonarqube.ts",
91940
+ "line": 70
91941
+ },
91942
+ "name": "SonarqubeCoverageOptions",
91943
+ "namespace": "sonarqube",
91944
+ "properties": [
91945
+ {
91946
+ "abstract": true,
91947
+ "docs": {
91948
+ "default": "- no coverage exclusions",
91949
+ "remarks": "Maps to `sonar.coverage.exclusions`.",
91950
+ "stability": "experimental",
91951
+ "summary": "Comma-separated file path patterns to exclude from test coverage calculations."
91952
+ },
91953
+ "immutable": true,
91954
+ "locationInModule": {
91955
+ "filename": "src/sonarqube/sonarqube.ts",
91956
+ "line": 79
91957
+ },
91958
+ "name": "exclusions",
91959
+ "optional": true,
91960
+ "type": {
91961
+ "collection": {
91962
+ "elementtype": {
91963
+ "primitive": "string"
91964
+ },
91965
+ "kind": "array"
91966
+ }
91967
+ }
91968
+ }
91969
+ ],
91970
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeCoverageOptions"
91971
+ },
91972
+ "projen.sonarqube.SonarqubeCpdOptions": {
91973
+ "assembly": "projen",
91974
+ "datatype": true,
91975
+ "docs": {
91976
+ "stability": "experimental",
91977
+ "summary": "Options for `sonar.cpd.*` properties."
91978
+ },
91979
+ "fqn": "projen.sonarqube.SonarqubeCpdOptions",
91980
+ "kind": "interface",
91981
+ "locationInModule": {
91982
+ "filename": "src/sonarqube/sonarqube.ts",
91983
+ "line": 85
91984
+ },
91985
+ "name": "SonarqubeCpdOptions",
91986
+ "namespace": "sonarqube",
91987
+ "properties": [
91988
+ {
91989
+ "abstract": true,
91990
+ "docs": {
91991
+ "default": "- no duplication exclusions",
91992
+ "remarks": "Maps to `sonar.cpd.exclusions`.",
91993
+ "stability": "experimental",
91994
+ "summary": "Comma-separated file path patterns to exclude from code duplication detection."
91995
+ },
91996
+ "immutable": true,
91997
+ "locationInModule": {
91998
+ "filename": "src/sonarqube/sonarqube.ts",
91999
+ "line": 94
92000
+ },
92001
+ "name": "exclusions",
92002
+ "optional": true,
92003
+ "type": {
92004
+ "collection": {
92005
+ "elementtype": {
92006
+ "primitive": "string"
92007
+ },
92008
+ "kind": "array"
92009
+ }
92010
+ }
92011
+ }
92012
+ ],
92013
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeCpdOptions"
92014
+ },
92015
+ "projen.sonarqube.SonarqubeFileOptions": {
92016
+ "assembly": "projen",
92017
+ "datatype": true,
92018
+ "docs": {
92019
+ "stability": "experimental",
92020
+ "summary": "File options for the generated `sonar-project.properties` file."
92021
+ },
92022
+ "fqn": "projen.sonarqube.SonarqubeFileOptions",
92023
+ "kind": "interface",
92024
+ "locationInModule": {
92025
+ "filename": "src/sonarqube/sonarqube.ts",
92026
+ "line": 430
92027
+ },
92028
+ "name": "SonarqubeFileOptions",
92029
+ "namespace": "sonarqube",
92030
+ "properties": [
92031
+ {
92032
+ "abstract": true,
92033
+ "docs": {
92034
+ "default": "- no additional comment",
92035
+ "stability": "experimental",
92036
+ "summary": "A comment to include at the top of the file."
92037
+ },
92038
+ "immutable": true,
92039
+ "locationInModule": {
92040
+ "filename": "src/sonarqube/sonarqube.ts",
92041
+ "line": 457
92042
+ },
92043
+ "name": "comment",
92044
+ "optional": true,
92045
+ "type": {
92046
+ "collection": {
92047
+ "elementtype": {
92048
+ "primitive": "string"
92049
+ },
92050
+ "kind": "array"
92051
+ }
92052
+ }
92053
+ },
92054
+ {
92055
+ "abstract": true,
92056
+ "docs": {
92057
+ "default": "true",
92058
+ "stability": "experimental",
92059
+ "summary": "Whether the generated file should be committed to git."
92060
+ },
92061
+ "immutable": true,
92062
+ "locationInModule": {
92063
+ "filename": "src/sonarqube/sonarqube.ts",
92064
+ "line": 436
92065
+ },
92066
+ "name": "committed",
92067
+ "optional": true,
92068
+ "type": {
92069
+ "primitive": "boolean"
92070
+ }
92071
+ },
92072
+ {
92073
+ "abstract": true,
92074
+ "docs": {
92075
+ "default": "- marker will be included as long as the project is not ejected",
92076
+ "stability": "experimental",
92077
+ "summary": "Adds the projen marker to the file."
92078
+ },
92079
+ "immutable": true,
92080
+ "locationInModule": {
92081
+ "filename": "src/sonarqube/sonarqube.ts",
92082
+ "line": 450
92083
+ },
92084
+ "name": "marker",
92085
+ "optional": true,
92086
+ "type": {
92087
+ "primitive": "boolean"
92088
+ }
92089
+ },
92090
+ {
92091
+ "abstract": true,
92092
+ "docs": {
92093
+ "default": "true",
92094
+ "stability": "experimental",
92095
+ "summary": "Whether the generated file should be readonly."
92096
+ },
92097
+ "immutable": true,
92098
+ "locationInModule": {
92099
+ "filename": "src/sonarqube/sonarqube.ts",
92100
+ "line": 443
92101
+ },
92102
+ "name": "readonly",
92103
+ "optional": true,
92104
+ "type": {
92105
+ "primitive": "boolean"
92106
+ }
92107
+ }
92108
+ ],
92109
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeFileOptions"
92110
+ },
92111
+ "projen.sonarqube.SonarqubeJavascriptOptions": {
92112
+ "assembly": "projen",
92113
+ "datatype": true,
92114
+ "docs": {
92115
+ "stability": "experimental",
92116
+ "summary": "Options for `sonar.javascript.*` properties."
92117
+ },
92118
+ "fqn": "projen.sonarqube.SonarqubeJavascriptOptions",
92119
+ "kind": "interface",
92120
+ "locationInModule": {
92121
+ "filename": "src/sonarqube/sonarqube.ts",
92122
+ "line": 100
92123
+ },
92124
+ "name": "SonarqubeJavascriptOptions",
92125
+ "namespace": "sonarqube",
92126
+ "properties": [
92127
+ {
92128
+ "abstract": true,
92129
+ "docs": {
92130
+ "default": "- no LCOV configuration",
92131
+ "stability": "experimental",
92132
+ "summary": "Options for `sonar.javascript.lcov.*`."
92133
+ },
92134
+ "immutable": true,
92135
+ "locationInModule": {
92136
+ "filename": "src/sonarqube/sonarqube.ts",
92137
+ "line": 106
92138
+ },
92139
+ "name": "lcov",
92140
+ "optional": true,
92141
+ "type": {
92142
+ "fqn": "projen.sonarqube.SonarqubeLcovOptions"
92143
+ }
92144
+ }
92145
+ ],
92146
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeJavascriptOptions"
92147
+ },
92148
+ "projen.sonarqube.SonarqubeJavascriptProperties": {
92149
+ "assembly": "projen",
92150
+ "base": "projen.sonarqube.SonarqubeProperties",
92151
+ "docs": {
92152
+ "example": "new SonarqubeJavascriptProperties(project, {\n projectKey: 'my-org_my-js-project',\n});",
92153
+ "remarks": "Provides sensible defaults for JavaScript analysis:\n- `sonar.language` = `js`\n- `sonar.sources` = `src`\n- `sonar.tests` = `test`\n- `sonar.sourceEncoding` = `UTF-8`\n- `sonar.profile` = `Sonar Way`\n- `sonar.scm.provider` = `git`\n- Typical exclusions for `node_modules`, `coverage`, and test files\n- `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info`\n\nAll defaults can be overridden via options. Nested options (e.g. `coverage`,\n`javascript`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
92154
+ "stability": "experimental",
92155
+ "summary": "A SonarQube configuration preset for JavaScript projects."
92156
+ },
92157
+ "fqn": "projen.sonarqube.SonarqubeJavascriptProperties",
92158
+ "initializer": {
92159
+ "docs": {
92160
+ "stability": "experimental"
92161
+ },
92162
+ "locationInModule": {
92163
+ "filename": "src/sonarqube/javascript.ts",
92164
+ "line": 36
92165
+ },
92166
+ "parameters": [
92167
+ {
92168
+ "name": "scope",
92169
+ "type": {
92170
+ "fqn": "constructs.IConstruct"
92171
+ }
92172
+ },
92173
+ {
92174
+ "name": "options",
92175
+ "type": {
92176
+ "fqn": "projen.sonarqube.SonarqubeJavascriptPropertiesOptions"
92177
+ }
92178
+ }
92179
+ ]
92180
+ },
92181
+ "kind": "class",
92182
+ "locationInModule": {
92183
+ "filename": "src/sonarqube/javascript.ts",
92184
+ "line": 35
92185
+ },
92186
+ "name": "SonarqubeJavascriptProperties",
92187
+ "namespace": "sonarqube",
92188
+ "symbolId": "src/sonarqube/javascript:SonarqubeJavascriptProperties"
92189
+ },
92190
+ "projen.sonarqube.SonarqubeJavascriptPropertiesOptions": {
92191
+ "assembly": "projen",
92192
+ "datatype": true,
92193
+ "docs": {
92194
+ "remarks": "Extends base options with JavaScript-specific defaults.",
92195
+ "stability": "experimental",
92196
+ "summary": "Options for `SonarqubeJavascriptProperties`."
92197
+ },
92198
+ "fqn": "projen.sonarqube.SonarqubeJavascriptPropertiesOptions",
92199
+ "interfaces": [
92200
+ "projen.sonarqube.SonarqubePropertiesOptions"
92201
+ ],
92202
+ "kind": "interface",
92203
+ "locationInModule": {
92204
+ "filename": "src/sonarqube/javascript.ts",
92205
+ "line": 11
92206
+ },
92207
+ "name": "SonarqubeJavascriptPropertiesOptions",
92208
+ "namespace": "sonarqube",
92209
+ "symbolId": "src/sonarqube/javascript:SonarqubeJavascriptPropertiesOptions"
92210
+ },
92211
+ "projen.sonarqube.SonarqubeLcovOptions": {
92212
+ "assembly": "projen",
92213
+ "datatype": true,
92214
+ "docs": {
92215
+ "stability": "experimental",
92216
+ "summary": "Options for lcov report paths (shared between languages)."
92217
+ },
92218
+ "fqn": "projen.sonarqube.SonarqubeLcovOptions",
92219
+ "kind": "interface",
92220
+ "locationInModule": {
92221
+ "filename": "src/sonarqube/sonarqube.ts",
92222
+ "line": 152
92223
+ },
92224
+ "name": "SonarqubeLcovOptions",
92225
+ "namespace": "sonarqube",
92226
+ "properties": [
92227
+ {
92228
+ "abstract": true,
92229
+ "docs": {
92230
+ "default": "- not set",
92231
+ "remarks": "Maps to `sonar.<language>.lcov.reportPaths`.",
92232
+ "stability": "experimental",
92233
+ "summary": "Comma-separated paths to LCOV coverage report files."
92234
+ },
92235
+ "immutable": true,
92236
+ "locationInModule": {
92237
+ "filename": "src/sonarqube/sonarqube.ts",
92238
+ "line": 160
92239
+ },
92240
+ "name": "reportPaths",
92241
+ "optional": true,
92242
+ "type": {
92243
+ "collection": {
92244
+ "elementtype": {
92245
+ "primitive": "string"
92246
+ },
92247
+ "kind": "array"
92248
+ }
92249
+ }
92250
+ }
92251
+ ],
92252
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeLcovOptions"
92253
+ },
92254
+ "projen.sonarqube.SonarqubeLogLevel": {
92255
+ "assembly": "projen",
92256
+ "docs": {
92257
+ "stability": "experimental",
92258
+ "summary": "Log level for SonarQube analysis."
92259
+ },
92260
+ "fqn": "projen.sonarqube.SonarqubeLogLevel",
92261
+ "kind": "enum",
92262
+ "locationInModule": {
92263
+ "filename": "src/sonarqube/sonarqube.ts",
92264
+ "line": 8
92265
+ },
92266
+ "members": [
92267
+ {
92268
+ "docs": {
92269
+ "stability": "experimental",
92270
+ "summary": "Standard logging (default)."
92271
+ },
92272
+ "name": "INFO"
92273
+ },
92274
+ {
92275
+ "docs": {
92276
+ "stability": "experimental",
92277
+ "summary": "Verbose logging."
92278
+ },
92279
+ "name": "DEBUG"
92280
+ },
92281
+ {
92282
+ "docs": {
92283
+ "stability": "experimental",
92284
+ "summary": "Most verbose, includes plugin/library output."
92285
+ },
92286
+ "name": "TRACE"
92287
+ }
92288
+ ],
92289
+ "name": "SonarqubeLogLevel",
92290
+ "namespace": "sonarqube",
92291
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeLogLevel"
92292
+ },
92293
+ "projen.sonarqube.SonarqubeLogOptions": {
92294
+ "assembly": "projen",
92295
+ "datatype": true,
92296
+ "docs": {
92297
+ "stability": "experimental",
92298
+ "summary": "Options for `sonar.log.*` properties."
92299
+ },
92300
+ "fqn": "projen.sonarqube.SonarqubeLogOptions",
92301
+ "kind": "interface",
92302
+ "locationInModule": {
92303
+ "filename": "src/sonarqube/sonarqube.ts",
92304
+ "line": 194
92305
+ },
92306
+ "name": "SonarqubeLogOptions",
92307
+ "namespace": "sonarqube",
92308
+ "properties": [
92309
+ {
92310
+ "abstract": true,
92311
+ "docs": {
92312
+ "default": "SonarqubeLogLevel.INFO",
92313
+ "remarks": "Maps to `sonar.log.level`.",
92314
+ "stability": "experimental",
92315
+ "summary": "Controls the quantity/level of logs produced during analysis."
92316
+ },
92317
+ "immutable": true,
92318
+ "locationInModule": {
92319
+ "filename": "src/sonarqube/sonarqube.ts",
92320
+ "line": 202
92321
+ },
92322
+ "name": "level",
92323
+ "optional": true,
92324
+ "type": {
92325
+ "fqn": "projen.sonarqube.SonarqubeLogLevel"
92326
+ }
92327
+ }
92328
+ ],
92329
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeLogOptions"
92330
+ },
92331
+ "projen.sonarqube.SonarqubeProperties": {
92332
+ "assembly": "projen",
92333
+ "base": "projen.Component",
92334
+ "docs": {
92335
+ "example": "new SonarqubeProperties(project, {\n projectKey: 'my-org_my-project',\n organization: 'my-org',\n sources: 'src',\n tests: 'test',\n exclusions: ['*{@literal *}/node_modules/**'],\n coverage: { exclusions: ['*{@literal *}/test/**'] },\n javascript: { lcov: { reportPaths: ['coverage/lcov.info'] } },\n sourceEncoding: 'UTF-8',\n});",
92336
+ "remarks": "This component generates a `sonar-project.properties` file at the project\nroot with the specified configuration parameters. It provides typed options\nwhose structure mirrors the dot-notation property namespaces.",
92337
+ "see": "https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/analysis-parameters/parameters-not-settable-in-ui",
92338
+ "stability": "experimental",
92339
+ "summary": "Manages the `sonar-project.properties` configuration file for SonarQube analysis."
92340
+ },
92341
+ "fqn": "projen.sonarqube.SonarqubeProperties",
92342
+ "initializer": {
92343
+ "docs": {
92344
+ "stability": "experimental"
92345
+ },
92346
+ "locationInModule": {
92347
+ "filename": "src/sonarqube/sonarqube.ts",
92348
+ "line": 488
92349
+ },
92350
+ "parameters": [
92351
+ {
92352
+ "name": "scope",
92353
+ "type": {
92354
+ "fqn": "constructs.IConstruct"
92355
+ }
92356
+ },
92357
+ {
92358
+ "name": "options",
92359
+ "type": {
92360
+ "fqn": "projen.sonarqube.SonarqubePropertiesOptions"
92361
+ }
92362
+ }
92363
+ ]
92364
+ },
92365
+ "kind": "class",
92366
+ "locationInModule": {
92367
+ "filename": "src/sonarqube/sonarqube.ts",
92368
+ "line": 482
92369
+ },
92370
+ "name": "SonarqubeProperties",
92371
+ "namespace": "sonarqube",
92372
+ "properties": [
92373
+ {
92374
+ "docs": {
92375
+ "stability": "experimental",
92376
+ "summary": "The underlying properties file."
92377
+ },
92378
+ "immutable": true,
92379
+ "locationInModule": {
92380
+ "filename": "src/sonarqube/sonarqube.ts",
92381
+ "line": 486
92382
+ },
92383
+ "name": "file",
92384
+ "type": {
92385
+ "fqn": "projen.PropertiesFile"
92386
+ }
92387
+ }
92388
+ ],
92389
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeProperties"
92390
+ },
92391
+ "projen.sonarqube.SonarqubePropertiesOptions": {
92392
+ "assembly": "projen",
92393
+ "datatype": true,
92394
+ "docs": {
92395
+ "remarks": "The interface structure mirrors the `sonar.*` dot-notation used in\n`sonar-project.properties`. Nested interfaces map to nested property\nnamespaces. For example, `scm.provider` maps to `sonar.scm.provider`.",
92396
+ "stability": "experimental",
92397
+ "summary": "Options for `SonarqubeProperties`."
92398
+ },
92399
+ "fqn": "projen.sonarqube.SonarqubePropertiesOptions",
92400
+ "kind": "interface",
92401
+ "locationInModule": {
92402
+ "filename": "src/sonarqube/sonarqube.ts",
92403
+ "line": 237
92404
+ },
92405
+ "name": "SonarqubePropertiesOptions",
92406
+ "namespace": "sonarqube",
92407
+ "properties": [
92408
+ {
92409
+ "abstract": true,
92410
+ "docs": {
92411
+ "remarks": "Can include up to 400 characters. Allowed characters:\nletters, digits, dash, underscore, periods, and colons.\n\nMaps to `sonar.projectKey`. This parameter is mandatory.",
92412
+ "stability": "experimental",
92413
+ "summary": "The project's unique key."
92414
+ },
92415
+ "immutable": true,
92416
+ "locationInModule": {
92417
+ "filename": "src/sonarqube/sonarqube.ts",
92418
+ "line": 246
92419
+ },
92420
+ "name": "projectKey",
92421
+ "type": {
92422
+ "primitive": "string"
92423
+ }
92424
+ },
92425
+ {
92426
+ "abstract": true,
92427
+ "docs": {
92428
+ "default": "- no coverage configuration",
92429
+ "stability": "experimental",
92430
+ "summary": "Coverage-related options (`sonar.coverage.*`)."
92431
+ },
92432
+ "immutable": true,
92433
+ "locationInModule": {
92434
+ "filename": "src/sonarqube/sonarqube.ts",
92435
+ "line": 361
92436
+ },
92437
+ "name": "coverage",
92438
+ "optional": true,
92439
+ "type": {
92440
+ "fqn": "projen.sonarqube.SonarqubeCoverageOptions"
92441
+ }
92442
+ },
92443
+ {
92444
+ "abstract": true,
92445
+ "docs": {
92446
+ "default": "- no CPD configuration",
92447
+ "stability": "experimental",
92448
+ "summary": "Duplication detection options (`sonar.cpd.*`)."
92449
+ },
92450
+ "immutable": true,
92451
+ "locationInModule": {
92452
+ "filename": "src/sonarqube/sonarqube.ts",
92453
+ "line": 368
92454
+ },
92455
+ "name": "cpd",
92456
+ "optional": true,
92457
+ "type": {
92458
+ "fqn": "projen.sonarqube.SonarqubeCpdOptions"
92459
+ }
92460
+ },
92461
+ {
92462
+ "abstract": true,
92463
+ "docs": {
92464
+ "default": "- no exclusions",
92465
+ "remarks": "Maps to `sonar.exclusions`.",
92466
+ "stability": "experimental",
92467
+ "summary": "Comma-separated file path patterns to exclude from the analysis scope."
92468
+ },
92469
+ "immutable": true,
92470
+ "locationInModule": {
92471
+ "filename": "src/sonarqube/sonarqube.ts",
92472
+ "line": 320
92473
+ },
92474
+ "name": "exclusions",
92475
+ "optional": true,
92476
+ "type": {
92477
+ "collection": {
92478
+ "elementtype": {
92479
+ "primitive": "string"
92480
+ },
92481
+ "kind": "array"
92482
+ }
92483
+ }
92484
+ },
92485
+ {
92486
+ "abstract": true,
92487
+ "docs": {
92488
+ "default": "- no additional properties",
92489
+ "remarks": "Use this for properties not covered by the typed options.\nKeys use dot-notation (e.g., `sonar.java.binaries`).\n\nThese are applied as overrides after the typed options above, so a key\nthat is a prefix of a typed option (e.g. `\"sonar.coverage\"`) replaces\nthat entire subtree rather than merging with it.",
92490
+ "stability": "experimental",
92491
+ "summary": "Additional arbitrary properties to include in the configuration."
92492
+ },
92493
+ "immutable": true,
92494
+ "locationInModule": {
92495
+ "filename": "src/sonarqube/sonarqube.ts",
92496
+ "line": 417
92497
+ },
92498
+ "name": "extraProperties",
92499
+ "optional": true,
92500
+ "type": {
92501
+ "collection": {
92502
+ "elementtype": {
92503
+ "primitive": "string"
92504
+ },
92505
+ "kind": "map"
92506
+ }
92507
+ }
92508
+ },
92509
+ {
92510
+ "abstract": true,
92511
+ "docs": {
92512
+ "default": "- default file options",
92513
+ "stability": "experimental",
92514
+ "summary": "Options for the generated properties file."
92515
+ },
92516
+ "immutable": true,
92517
+ "locationInModule": {
92518
+ "filename": "src/sonarqube/sonarqube.ts",
92519
+ "line": 424
92520
+ },
92521
+ "name": "fileOptions",
92522
+ "optional": true,
92523
+ "type": {
92524
+ "fqn": "projen.sonarqube.SonarqubeFileOptions"
92525
+ }
92526
+ },
92527
+ {
92528
+ "abstract": true,
92529
+ "docs": {
92530
+ "default": "- no JavaScript configuration",
92531
+ "stability": "experimental",
92532
+ "summary": "JavaScript-specific options (`sonar.javascript.*`)."
92533
+ },
92534
+ "immutable": true,
92535
+ "locationInModule": {
92536
+ "filename": "src/sonarqube/sonarqube.ts",
92537
+ "line": 375
92538
+ },
92539
+ "name": "javascript",
92540
+ "optional": true,
92541
+ "type": {
92542
+ "fqn": "projen.sonarqube.SonarqubeJavascriptOptions"
92543
+ }
92544
+ },
92545
+ {
92546
+ "abstract": true,
92547
+ "docs": {
92548
+ "default": "- auto-detected",
92549
+ "remarks": "Maps to `sonar.language`.",
92550
+ "stability": "experimental",
92551
+ "summary": "The language for analysis."
92552
+ },
92553
+ "immutable": true,
92554
+ "locationInModule": {
92555
+ "filename": "src/sonarqube/sonarqube.ts",
92556
+ "line": 329
92557
+ },
92558
+ "name": "language",
92559
+ "optional": true,
92560
+ "type": {
92561
+ "primitive": "string"
92562
+ }
92563
+ },
92564
+ {
92565
+ "abstract": true,
92566
+ "docs": {
92567
+ "default": "- INFO level",
92568
+ "stability": "experimental",
92569
+ "summary": "Logging options (`sonar.log.*`)."
92570
+ },
92571
+ "immutable": true,
92572
+ "locationInModule": {
92573
+ "filename": "src/sonarqube/sonarqube.ts",
92574
+ "line": 396
92575
+ },
92576
+ "name": "log",
92577
+ "optional": true,
92578
+ "type": {
92579
+ "fqn": "projen.sonarqube.SonarqubeLogOptions"
92580
+ }
92581
+ },
92582
+ {
92583
+ "abstract": true,
92584
+ "docs": {
92585
+ "default": "- no organization",
92586
+ "remarks": "Maps to `sonar.organization`. Mandatory for SonarQube Cloud.",
92587
+ "stability": "experimental",
92588
+ "summary": "The key of the organization to which the project belongs."
92589
+ },
92590
+ "immutable": true,
92591
+ "locationInModule": {
92592
+ "filename": "src/sonarqube/sonarqube.ts",
92593
+ "line": 255
92594
+ },
92595
+ "name": "organization",
92596
+ "optional": true,
92597
+ "type": {
92598
+ "primitive": "string"
92599
+ }
92600
+ },
92601
+ {
92602
+ "abstract": true,
92603
+ "docs": {
92604
+ "default": "- uses the default profile configured on the server",
92605
+ "remarks": "Maps to `sonar.profile`.",
92606
+ "stability": "experimental",
92607
+ "summary": "The quality profile name."
92608
+ },
92609
+ "immutable": true,
92610
+ "locationInModule": {
92611
+ "filename": "src/sonarqube/sonarqube.ts",
92612
+ "line": 338
92613
+ },
92614
+ "name": "profile",
92615
+ "optional": true,
92616
+ "type": {
92617
+ "primitive": "string"
92618
+ }
92619
+ },
92620
+ {
92621
+ "abstract": true,
92622
+ "docs": {
92623
+ "default": "- the directory from which the analysis was started",
92624
+ "remarks": "Maps to `sonar.projectBaseDir`.",
92625
+ "stability": "experimental",
92626
+ "summary": "The project's base directory when the analysis needs to take place in a directory other than the one from which it was started."
92627
+ },
92628
+ "immutable": true,
92629
+ "locationInModule": {
92630
+ "filename": "src/sonarqube/sonarqube.ts",
92631
+ "line": 302
92632
+ },
92633
+ "name": "projectBaseDir",
92634
+ "optional": true,
92635
+ "type": {
92636
+ "primitive": "string"
92637
+ }
92638
+ },
92639
+ {
92640
+ "abstract": true,
92641
+ "docs": {
92642
+ "default": "- not set",
92643
+ "remarks": "Maps to `sonar.projectName`.",
92644
+ "stability": "experimental",
92645
+ "summary": "Name of the project displayed on the web interface."
92646
+ },
92647
+ "immutable": true,
92648
+ "locationInModule": {
92649
+ "filename": "src/sonarqube/sonarqube.ts",
92650
+ "line": 264
92651
+ },
92652
+ "name": "projectName",
92653
+ "optional": true,
92654
+ "type": {
92655
+ "primitive": "string"
92656
+ }
92657
+ },
92658
+ {
92659
+ "abstract": true,
92660
+ "docs": {
92661
+ "default": "- not set",
92662
+ "remarks": "Maps to `sonar.projectVersion`.",
92663
+ "stability": "experimental",
92664
+ "summary": "The project version."
92665
+ },
92666
+ "immutable": true,
92667
+ "locationInModule": {
92668
+ "filename": "src/sonarqube/sonarqube.ts",
92669
+ "line": 273
92670
+ },
92671
+ "name": "projectVersion",
92672
+ "optional": true,
92673
+ "type": {
92674
+ "primitive": "string"
92675
+ }
92676
+ },
92677
+ {
92678
+ "abstract": true,
92679
+ "docs": {
92680
+ "default": "- quality gate not awaited",
92681
+ "stability": "experimental",
92682
+ "summary": "Quality gate options (`sonar.qualitygate.*`)."
92683
+ },
92684
+ "immutable": true,
92685
+ "locationInModule": {
92686
+ "filename": "src/sonarqube/sonarqube.ts",
92687
+ "line": 403
92688
+ },
92689
+ "name": "qualitygate",
92690
+ "optional": true,
92691
+ "type": {
92692
+ "fqn": "projen.sonarqube.SonarqubeQualityGateOptions"
92693
+ }
92694
+ },
92695
+ {
92696
+ "abstract": true,
92697
+ "docs": {
92698
+ "default": "SonarqubeRegion.EU",
92699
+ "remarks": "Maps to `sonar.region`.",
92700
+ "stability": "experimental",
92701
+ "summary": "The SonarQube Cloud instance's region."
92702
+ },
92703
+ "immutable": true,
92704
+ "locationInModule": {
92705
+ "filename": "src/sonarqube/sonarqube.ts",
92706
+ "line": 347
92707
+ },
92708
+ "name": "region",
92709
+ "optional": true,
92710
+ "type": {
92711
+ "fqn": "projen.sonarqube.SonarqubeRegion"
92712
+ }
92713
+ },
92714
+ {
92715
+ "abstract": true,
92716
+ "docs": {
92717
+ "default": "- no Rust configuration",
92718
+ "stability": "experimental",
92719
+ "summary": "Rust-specific options (`sonar.rust.*`)."
92720
+ },
92721
+ "immutable": true,
92722
+ "locationInModule": {
92723
+ "filename": "src/sonarqube/sonarqube.ts",
92724
+ "line": 389
92725
+ },
92726
+ "name": "rust",
92727
+ "optional": true,
92728
+ "type": {
92729
+ "fqn": "projen.sonarqube.SonarqubeRustOptions"
92730
+ }
92731
+ },
92732
+ {
92733
+ "abstract": true,
92734
+ "docs": {
92735
+ "default": "- no SCM configuration",
92736
+ "stability": "experimental",
92737
+ "summary": "SCM-related options (`sonar.scm.*`)."
92738
+ },
92739
+ "immutable": true,
92740
+ "locationInModule": {
92741
+ "filename": "src/sonarqube/sonarqube.ts",
92742
+ "line": 354
92743
+ },
92744
+ "name": "scm",
92745
+ "optional": true,
92746
+ "type": {
92747
+ "fqn": "projen.sonarqube.SonarqubeScmOptions"
92748
+ }
92749
+ },
92750
+ {
92751
+ "abstract": true,
92752
+ "docs": {
92753
+ "default": "- system encoding",
92754
+ "remarks": "Maps to `sonar.sourceEncoding`.",
92755
+ "stability": "experimental",
92756
+ "summary": "Encoding of the source files."
92757
+ },
92758
+ "immutable": true,
92759
+ "locationInModule": {
92760
+ "filename": "src/sonarqube/sonarqube.ts",
92761
+ "line": 311
92762
+ },
92763
+ "name": "sourceEncoding",
92764
+ "optional": true,
92765
+ "type": {
92766
+ "primitive": "string"
92767
+ }
92768
+ },
92769
+ {
92770
+ "abstract": true,
92771
+ "docs": {
92772
+ "default": "- the project base directory",
92773
+ "remarks": "Maps to `sonar.sources`.",
92774
+ "stability": "experimental",
92775
+ "summary": "Comma-separated paths to directories containing main source code (non-test code)."
92776
+ },
92777
+ "immutable": true,
92778
+ "locationInModule": {
92779
+ "filename": "src/sonarqube/sonarqube.ts",
92780
+ "line": 283
92781
+ },
92782
+ "name": "sources",
92783
+ "optional": true,
92784
+ "type": {
92785
+ "primitive": "string"
92786
+ }
92787
+ },
92788
+ {
92789
+ "abstract": true,
92790
+ "docs": {
92791
+ "default": "- no test code analyzed",
92792
+ "remarks": "Maps to `sonar.tests`.",
92793
+ "stability": "experimental",
92794
+ "summary": "Comma-separated paths to directories containing test code."
92795
+ },
92796
+ "immutable": true,
92797
+ "locationInModule": {
92798
+ "filename": "src/sonarqube/sonarqube.ts",
92799
+ "line": 292
92800
+ },
92801
+ "name": "tests",
92802
+ "optional": true,
92803
+ "type": {
92804
+ "primitive": "string"
92805
+ }
92806
+ },
92807
+ {
92808
+ "abstract": true,
92809
+ "docs": {
92810
+ "default": "- no TypeScript configuration",
92811
+ "stability": "experimental",
92812
+ "summary": "TypeScript-specific options (`sonar.typescript.*`)."
92813
+ },
92814
+ "immutable": true,
92815
+ "locationInModule": {
92816
+ "filename": "src/sonarqube/sonarqube.ts",
92817
+ "line": 382
92818
+ },
92819
+ "name": "typescript",
92820
+ "optional": true,
92821
+ "type": {
92822
+ "fqn": "projen.sonarqube.SonarqubeTypescriptOptions"
92823
+ }
92824
+ }
92825
+ ],
92826
+ "symbolId": "src/sonarqube/sonarqube:SonarqubePropertiesOptions"
92827
+ },
92828
+ "projen.sonarqube.SonarqubeQualityGateOptions": {
92829
+ "assembly": "projen",
92830
+ "datatype": true,
92831
+ "docs": {
92832
+ "stability": "experimental",
92833
+ "summary": "Options for `sonar.qualitygate.*` properties."
92834
+ },
92835
+ "fqn": "projen.sonarqube.SonarqubeQualityGateOptions",
92836
+ "kind": "interface",
92837
+ "locationInModule": {
92838
+ "filename": "src/sonarqube/sonarqube.ts",
92839
+ "line": 208
92840
+ },
92841
+ "name": "SonarqubeQualityGateOptions",
92842
+ "namespace": "sonarqube",
92843
+ "properties": [
92844
+ {
92845
+ "abstract": true,
92846
+ "docs": {
92847
+ "default": "300",
92848
+ "remarks": "Maps to `sonar.qualitygate.timeout`.",
92849
+ "stability": "experimental",
92850
+ "summary": "The number of seconds that the scanner should wait for a report to be processed."
92851
+ },
92852
+ "immutable": true,
92853
+ "locationInModule": {
92854
+ "filename": "src/sonarqube/sonarqube.ts",
92855
+ "line": 227
92856
+ },
92857
+ "name": "timeout",
92858
+ "optional": true,
92859
+ "type": {
92860
+ "primitive": "number"
92861
+ }
92862
+ },
92863
+ {
92864
+ "abstract": true,
92865
+ "docs": {
92866
+ "default": "false",
92867
+ "remarks": "Will fail the pipeline if the quality gate fails.\n\nMaps to `sonar.qualitygate.wait`.",
92868
+ "stability": "experimental",
92869
+ "summary": "Forces the analysis step to poll the server and wait for the Quality Gate status."
92870
+ },
92871
+ "immutable": true,
92872
+ "locationInModule": {
92873
+ "filename": "src/sonarqube/sonarqube.ts",
92874
+ "line": 217
92875
+ },
92876
+ "name": "wait",
92877
+ "optional": true,
92878
+ "type": {
92879
+ "primitive": "boolean"
92880
+ }
92881
+ }
92882
+ ],
92883
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeQualityGateOptions"
92884
+ },
92885
+ "projen.sonarqube.SonarqubeRegion": {
92886
+ "assembly": "projen",
92887
+ "docs": {
92888
+ "stability": "experimental",
92889
+ "summary": "SonarQube Cloud region."
92890
+ },
92891
+ "fqn": "projen.sonarqube.SonarqubeRegion",
92892
+ "kind": "enum",
92893
+ "locationInModule": {
92894
+ "filename": "src/sonarqube/sonarqube.ts",
92895
+ "line": 20
92896
+ },
92897
+ "members": [
92898
+ {
92899
+ "docs": {
92900
+ "stability": "experimental",
92901
+ "summary": "EU instance (default)."
92902
+ },
92903
+ "name": "EU"
92904
+ },
92905
+ {
92906
+ "docs": {
92907
+ "stability": "experimental",
92908
+ "summary": "US instance."
92909
+ },
92910
+ "name": "US"
92911
+ }
92912
+ ],
92913
+ "name": "SonarqubeRegion",
92914
+ "namespace": "sonarqube",
92915
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeRegion"
92916
+ },
92917
+ "projen.sonarqube.SonarqubeRustClippyOptions": {
92918
+ "assembly": "projen",
92919
+ "datatype": true,
92920
+ "docs": {
92921
+ "stability": "experimental",
92922
+ "summary": "Options for `sonar.rust.clippy.*` properties."
92923
+ },
92924
+ "fqn": "projen.sonarqube.SonarqubeRustClippyOptions",
92925
+ "kind": "interface",
92926
+ "locationInModule": {
92927
+ "filename": "src/sonarqube/sonarqube.ts",
92928
+ "line": 166
92929
+ },
92930
+ "name": "SonarqubeRustClippyOptions",
92931
+ "namespace": "sonarqube",
92932
+ "properties": [
92933
+ {
92934
+ "abstract": true,
92935
+ "docs": {
92936
+ "default": "true",
92937
+ "remarks": "Maps to `sonar.rust.clippy.enabled`.",
92938
+ "stability": "experimental",
92939
+ "summary": "Whether Clippy analysis is enabled."
92940
+ },
92941
+ "immutable": true,
92942
+ "locationInModule": {
92943
+ "filename": "src/sonarqube/sonarqube.ts",
92944
+ "line": 174
92945
+ },
92946
+ "name": "enabled",
92947
+ "optional": true,
92948
+ "type": {
92949
+ "primitive": "boolean"
92950
+ }
92951
+ }
92952
+ ],
92953
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeRustClippyOptions"
92954
+ },
92955
+ "projen.sonarqube.SonarqubeRustClippyReportOptions": {
92956
+ "assembly": "projen",
92957
+ "datatype": true,
92958
+ "docs": {
92959
+ "stability": "experimental",
92960
+ "summary": "Options for `sonar.rust.clippyReport.*` properties."
92961
+ },
92962
+ "fqn": "projen.sonarqube.SonarqubeRustClippyReportOptions",
92963
+ "kind": "interface",
92964
+ "locationInModule": {
92965
+ "filename": "src/sonarqube/sonarqube.ts",
92966
+ "line": 180
92967
+ },
92968
+ "name": "SonarqubeRustClippyReportOptions",
92969
+ "namespace": "sonarqube",
92970
+ "properties": [
92971
+ {
92972
+ "abstract": true,
92973
+ "docs": {
92974
+ "default": "- not set",
92975
+ "remarks": "Maps to `sonar.rust.clippyReport.reportPaths`.",
92976
+ "stability": "experimental",
92977
+ "summary": "Paths to Clippy JSON report files."
92978
+ },
92979
+ "immutable": true,
92980
+ "locationInModule": {
92981
+ "filename": "src/sonarqube/sonarqube.ts",
92982
+ "line": 188
92983
+ },
92984
+ "name": "reportPaths",
92985
+ "optional": true,
92986
+ "type": {
92987
+ "collection": {
92988
+ "elementtype": {
92989
+ "primitive": "string"
92990
+ },
92991
+ "kind": "array"
92992
+ }
92993
+ }
92994
+ }
92995
+ ],
92996
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeRustClippyReportOptions"
92997
+ },
92998
+ "projen.sonarqube.SonarqubeRustOptions": {
92999
+ "assembly": "projen",
93000
+ "datatype": true,
93001
+ "docs": {
93002
+ "stability": "experimental",
93003
+ "summary": "Options for `sonar.rust.*` properties."
93004
+ },
93005
+ "fqn": "projen.sonarqube.SonarqubeRustOptions",
93006
+ "kind": "interface",
93007
+ "locationInModule": {
93008
+ "filename": "src/sonarqube/sonarqube.ts",
93009
+ "line": 126
93010
+ },
93011
+ "name": "SonarqubeRustOptions",
93012
+ "namespace": "sonarqube",
93013
+ "properties": [
93014
+ {
93015
+ "abstract": true,
93016
+ "docs": {
93017
+ "default": "- no clippy configuration",
93018
+ "stability": "experimental",
93019
+ "summary": "Options for `sonar.rust.clippy.*`."
93020
+ },
93021
+ "immutable": true,
93022
+ "locationInModule": {
93023
+ "filename": "src/sonarqube/sonarqube.ts",
93024
+ "line": 139
93025
+ },
93026
+ "name": "clippy",
93027
+ "optional": true,
93028
+ "type": {
93029
+ "fqn": "projen.sonarqube.SonarqubeRustClippyOptions"
93030
+ }
93031
+ },
93032
+ {
93033
+ "abstract": true,
93034
+ "docs": {
93035
+ "default": "- no clippy report configuration",
93036
+ "stability": "experimental",
93037
+ "summary": "Options for `sonar.rust.clippyReport.*`."
93038
+ },
93039
+ "immutable": true,
93040
+ "locationInModule": {
93041
+ "filename": "src/sonarqube/sonarqube.ts",
93042
+ "line": 146
93043
+ },
93044
+ "name": "clippyReport",
93045
+ "optional": true,
93046
+ "type": {
93047
+ "fqn": "projen.sonarqube.SonarqubeRustClippyReportOptions"
93048
+ }
93049
+ },
93050
+ {
93051
+ "abstract": true,
93052
+ "docs": {
93053
+ "default": "- no Rust LCOV configuration",
93054
+ "stability": "experimental",
93055
+ "summary": "Options for `sonar.rust.lcov.*`."
93056
+ },
93057
+ "immutable": true,
93058
+ "locationInModule": {
93059
+ "filename": "src/sonarqube/sonarqube.ts",
93060
+ "line": 132
93061
+ },
93062
+ "name": "lcov",
93063
+ "optional": true,
93064
+ "type": {
93065
+ "fqn": "projen.sonarqube.SonarqubeLcovOptions"
93066
+ }
93067
+ }
93068
+ ],
93069
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeRustOptions"
93070
+ },
93071
+ "projen.sonarqube.SonarqubeRustProperties": {
93072
+ "assembly": "projen",
93073
+ "base": "projen.sonarqube.SonarqubeProperties",
93074
+ "docs": {
93075
+ "example": "new SonarqubeRustProperties(project, {\n projectKey: 'my-org_my-rust-project',\n});",
93076
+ "remarks": "Provides sensible defaults for Rust analysis:\n- `sonar.language` = `rust`\n- `sonar.sources` = `src`\n- `sonar.tests` = `tests`\n- `sonar.sourceEncoding` = `UTF-8`\n- `sonar.profile` = `Sonar Way`\n- `sonar.scm.provider` = `git`\n- Typical exclusions for `coverage`, test, and `target` dirs\n- `sonar.rust.lcov.reportPaths` = `target/lcov.info`\n- `sonar.rust.clippy.enabled` = `false`\n- `sonar.rust.clippyReport.reportPaths` = `target/clippy.json`\n\nAll defaults can be overridden via options. Nested options (e.g. `coverage`,\n`rust`) are deep-merged with the defaults, so overriding one nested field\ndoes not drop the other defaults in that subtree.",
93077
+ "stability": "experimental",
93078
+ "summary": "A SonarQube configuration preset for Rust projects."
93079
+ },
93080
+ "fqn": "projen.sonarqube.SonarqubeRustProperties",
93081
+ "initializer": {
93082
+ "docs": {
93083
+ "stability": "experimental"
93084
+ },
93085
+ "locationInModule": {
93086
+ "filename": "src/sonarqube/rust.ts",
93087
+ "line": 38
93088
+ },
93089
+ "parameters": [
93090
+ {
93091
+ "name": "scope",
93092
+ "type": {
93093
+ "fqn": "constructs.IConstruct"
93094
+ }
93095
+ },
93096
+ {
93097
+ "name": "options",
93098
+ "type": {
93099
+ "fqn": "projen.sonarqube.SonarqubeRustPropertiesOptions"
93100
+ }
93101
+ }
93102
+ ]
93103
+ },
93104
+ "kind": "class",
93105
+ "locationInModule": {
93106
+ "filename": "src/sonarqube/rust.ts",
93107
+ "line": 37
93108
+ },
93109
+ "name": "SonarqubeRustProperties",
93110
+ "namespace": "sonarqube",
93111
+ "symbolId": "src/sonarqube/rust:SonarqubeRustProperties"
93112
+ },
93113
+ "projen.sonarqube.SonarqubeRustPropertiesOptions": {
93114
+ "assembly": "projen",
93115
+ "datatype": true,
93116
+ "docs": {
93117
+ "remarks": "Extends base options with Rust-specific defaults.",
93118
+ "stability": "experimental",
93119
+ "summary": "Options for `SonarqubeRustProperties`."
93120
+ },
93121
+ "fqn": "projen.sonarqube.SonarqubeRustPropertiesOptions",
93122
+ "interfaces": [
93123
+ "projen.sonarqube.SonarqubePropertiesOptions"
93124
+ ],
93125
+ "kind": "interface",
93126
+ "locationInModule": {
93127
+ "filename": "src/sonarqube/rust.ts",
93128
+ "line": 11
93129
+ },
93130
+ "name": "SonarqubeRustPropertiesOptions",
93131
+ "namespace": "sonarqube",
93132
+ "symbolId": "src/sonarqube/rust:SonarqubeRustPropertiesOptions"
93133
+ },
93134
+ "projen.sonarqube.SonarqubeScmExclusionsOptions": {
93135
+ "assembly": "projen",
93136
+ "datatype": true,
93137
+ "docs": {
93138
+ "stability": "experimental",
93139
+ "summary": "Options for `sonar.scm.exclusions.*` properties."
93140
+ },
93141
+ "fqn": "projen.sonarqube.SonarqubeScmExclusionsOptions",
93142
+ "kind": "interface",
93143
+ "locationInModule": {
93144
+ "filename": "src/sonarqube/sonarqube.ts",
93145
+ "line": 55
93146
+ },
93147
+ "name": "SonarqubeScmExclusionsOptions",
93148
+ "namespace": "sonarqube",
93149
+ "properties": [
93150
+ {
93151
+ "abstract": true,
93152
+ "docs": {
93153
+ "default": "false",
93154
+ "remarks": "Maps to `sonar.scm.exclusions.disabled`.",
93155
+ "stability": "experimental",
93156
+ "summary": "Whether to disable files ignored by the SCM (e.g., files in .gitignore) from being excluded from analysis."
93157
+ },
93158
+ "immutable": true,
93159
+ "locationInModule": {
93160
+ "filename": "src/sonarqube/sonarqube.ts",
93161
+ "line": 64
93162
+ },
93163
+ "name": "disabled",
93164
+ "optional": true,
93165
+ "type": {
93166
+ "primitive": "boolean"
93167
+ }
93168
+ }
93169
+ ],
93170
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeScmExclusionsOptions"
93171
+ },
93172
+ "projen.sonarqube.SonarqubeScmOptions": {
93173
+ "assembly": "projen",
93174
+ "datatype": true,
93175
+ "docs": {
93176
+ "stability": "experimental",
93177
+ "summary": "Options for `sonar.scm.*` properties."
93178
+ },
93179
+ "fqn": "projen.sonarqube.SonarqubeScmOptions",
93180
+ "kind": "interface",
93181
+ "locationInModule": {
93182
+ "filename": "src/sonarqube/sonarqube.ts",
93183
+ "line": 34
93184
+ },
93185
+ "name": "SonarqubeScmOptions",
93186
+ "namespace": "sonarqube",
93187
+ "properties": [
93188
+ {
93189
+ "abstract": true,
93190
+ "docs": {
93191
+ "default": "- no exclusion overrides",
93192
+ "stability": "experimental",
93193
+ "summary": "Options for `sonar.scm.exclusions.*`."
93194
+ },
93195
+ "immutable": true,
93196
+ "locationInModule": {
93197
+ "filename": "src/sonarqube/sonarqube.ts",
93198
+ "line": 49
93199
+ },
93200
+ "name": "exclusions",
93201
+ "optional": true,
93202
+ "type": {
93203
+ "fqn": "projen.sonarqube.SonarqubeScmExclusionsOptions"
93204
+ }
93205
+ },
93206
+ {
93207
+ "abstract": true,
93208
+ "docs": {
93209
+ "default": "- auto-detected",
93210
+ "remarks": "Maps to `sonar.scm.provider`.",
93211
+ "stability": "experimental",
93212
+ "summary": "The SCM provider to use."
93213
+ },
93214
+ "immutable": true,
93215
+ "locationInModule": {
93216
+ "filename": "src/sonarqube/sonarqube.ts",
93217
+ "line": 42
93218
+ },
93219
+ "name": "provider",
93220
+ "optional": true,
93221
+ "type": {
93222
+ "primitive": "string"
93223
+ }
93224
+ }
93225
+ ],
93226
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeScmOptions"
93227
+ },
93228
+ "projen.sonarqube.SonarqubeTypescriptOptions": {
93229
+ "assembly": "projen",
93230
+ "datatype": true,
93231
+ "docs": {
93232
+ "stability": "experimental",
93233
+ "summary": "Options for `sonar.typescript.*` properties."
93234
+ },
93235
+ "fqn": "projen.sonarqube.SonarqubeTypescriptOptions",
93236
+ "kind": "interface",
93237
+ "locationInModule": {
93238
+ "filename": "src/sonarqube/sonarqube.ts",
93239
+ "line": 112
93240
+ },
93241
+ "name": "SonarqubeTypescriptOptions",
93242
+ "namespace": "sonarqube",
93243
+ "properties": [
93244
+ {
93245
+ "abstract": true,
93246
+ "docs": {
93247
+ "default": "- not set",
93248
+ "remarks": "Maps to `sonar.typescript.tsconfigPath`.",
93249
+ "stability": "experimental",
93250
+ "summary": "Path to the TypeScript configuration file."
93251
+ },
93252
+ "immutable": true,
93253
+ "locationInModule": {
93254
+ "filename": "src/sonarqube/sonarqube.ts",
93255
+ "line": 120
93256
+ },
93257
+ "name": "tsconfigPath",
93258
+ "optional": true,
93259
+ "type": {
93260
+ "primitive": "string"
93261
+ }
93262
+ }
93263
+ ],
93264
+ "symbolId": "src/sonarqube/sonarqube:SonarqubeTypescriptOptions"
93265
+ },
93266
+ "projen.sonarqube.SonarqubeTypescriptProperties": {
93267
+ "assembly": "projen",
93268
+ "base": "projen.sonarqube.SonarqubeProperties",
93269
+ "docs": {
93270
+ "example": "new SonarqubeTypescriptProperties(project, {\n projectKey: 'my-org_my-ts-project',\n});",
93271
+ "remarks": "Provides sensible defaults for TypeScript analysis:\n- `sonar.language` = `ts`\n- `sonar.sources` = `src`\n- `sonar.tests` = `test`\n- `sonar.sourceEncoding` = `UTF-8`\n- `sonar.profile` = `Sonar Way`\n- `sonar.scm.provider` = `git`\n- `sonar.typescript.tsconfigPath` = `tsconfig.json`\n- Typical exclusions for `node_modules`, `coverage`, test files\n- `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info`\n\nAll defaults can be overridden via options. Nested options (e.g. `coverage`,\n`javascript`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
93272
+ "stability": "experimental",
93273
+ "summary": "A SonarQube configuration preset for TypeScript projects."
93274
+ },
93275
+ "fqn": "projen.sonarqube.SonarqubeTypescriptProperties",
93276
+ "initializer": {
93277
+ "docs": {
93278
+ "stability": "experimental"
93279
+ },
93280
+ "locationInModule": {
93281
+ "filename": "src/sonarqube/typescript.ts",
93282
+ "line": 37
93283
+ },
93284
+ "parameters": [
93285
+ {
93286
+ "name": "scope",
93287
+ "type": {
93288
+ "fqn": "constructs.IConstruct"
93289
+ }
93290
+ },
93291
+ {
93292
+ "name": "options",
93293
+ "type": {
93294
+ "fqn": "projen.sonarqube.SonarqubeTypescriptPropertiesOptions"
93295
+ }
93296
+ }
93297
+ ]
93298
+ },
93299
+ "kind": "class",
93300
+ "locationInModule": {
93301
+ "filename": "src/sonarqube/typescript.ts",
93302
+ "line": 36
93303
+ },
93304
+ "name": "SonarqubeTypescriptProperties",
93305
+ "namespace": "sonarqube",
93306
+ "symbolId": "src/sonarqube/typescript:SonarqubeTypescriptProperties"
93307
+ },
93308
+ "projen.sonarqube.SonarqubeTypescriptPropertiesOptions": {
93309
+ "assembly": "projen",
93310
+ "datatype": true,
93311
+ "docs": {
93312
+ "remarks": "Extends base options with TypeScript-specific defaults.",
93313
+ "stability": "experimental",
93314
+ "summary": "Options for `SonarqubeTypescriptProperties`."
93315
+ },
93316
+ "fqn": "projen.sonarqube.SonarqubeTypescriptPropertiesOptions",
93317
+ "interfaces": [
93318
+ "projen.sonarqube.SonarqubePropertiesOptions"
93319
+ ],
93320
+ "kind": "interface",
93321
+ "locationInModule": {
93322
+ "filename": "src/sonarqube/typescript.ts",
93323
+ "line": 11
93324
+ },
93325
+ "name": "SonarqubeTypescriptPropertiesOptions",
93326
+ "namespace": "sonarqube",
93327
+ "symbolId": "src/sonarqube/typescript:SonarqubeTypescriptPropertiesOptions"
93328
+ },
91800
93329
  "projen.typescript.NodeRunnerOptions": {
91801
93330
  "assembly": "projen",
91802
93331
  "datatype": true,
@@ -96426,6 +97955,6 @@
96426
97955
  "usedFeatures": [
96427
97956
  "class-covariant-overrides"
96428
97957
  ],
96429
- "version": "0.103.4",
96430
- "fingerprint": "6nW0Pe9nOhQjvKjINDunXLQOYNDuPIp07bW5BommteI="
97958
+ "version": "0.103.6",
97959
+ "fingerprint": "3PdMWP5e2Arx7Ba8pW8+qgJ8GNr3ZfF/Zs2qcRw6Cu4="
96431
97960
  }