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.
Files changed (231) hide show
  1. package/.jsii +1547 -18
  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 +1 -1
  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 +4 -2
  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 +4 -2
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",
@@ -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": {
@@ -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.5",
97959
+ "fingerprint": "FdzQ9eoG8pAN7bB7ReO50sq6a9qa7QPPRrl07Ml4x3M="
96431
97960
  }