projen 0.92.10__py3-none-any.whl → 0.92.12__py3-none-any.whl

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.

Potentially problematic release.


This version of projen might be problematic. Click here for more details.

@@ -83,6 +83,7 @@ from ..release import (
83
83
  ReleaseProjectOptions as _ReleaseProjectOptions_929803c8,
84
84
  ReleaseTrigger as _ReleaseTrigger_e4dc221f,
85
85
  )
86
+ from .biome_config import IConfiguration as _IConfiguration_70e9f813
86
87
 
87
88
 
88
89
  @jsii.enum(jsii_type="projen.javascript.ArrowParens")
@@ -126,6 +127,240 @@ class AutoRelease(enum.Enum):
126
127
  '''
127
128
 
128
129
 
130
+ class Biome(
131
+ _Component_2b0ad27f,
132
+ metaclass=jsii.JSIIMeta,
133
+ jsii_type="projen.javascript.Biome",
134
+ ):
135
+ '''
136
+ :stability: experimental
137
+ '''
138
+
139
+ def __init__(
140
+ self,
141
+ project: "NodeProject",
142
+ *,
143
+ biome_config: typing.Optional[_IConfiguration_70e9f813] = None,
144
+ formatter: typing.Optional[builtins.bool] = None,
145
+ linter: typing.Optional[builtins.bool] = None,
146
+ merge_arrays_in_configuration: typing.Optional[builtins.bool] = None,
147
+ organize_imports: typing.Optional[builtins.bool] = None,
148
+ version: typing.Optional[builtins.str] = None,
149
+ ) -> None:
150
+ '''
151
+ :param project: -
152
+ :param biome_config: (experimental) Full Biome configuration. Note that this configuration dictates the final outcome if value is set.
153
+ :param formatter: (experimental) Enable code formatter. Replaces mainly Prettier Default: false
154
+ :param linter: (experimental) Enable linting. Replaces Eslint. Default: true
155
+ :param merge_arrays_in_configuration: (experimental) Should arrays be merged or overwritten when creating Biome configuration. By default arrays are merged and duplicate values are removed Default: true
156
+ :param organize_imports: (experimental) Enable import sorting/organizing. Replaces mainly Prettier Default: false
157
+ :param version: (experimental) Version of Biome to use. Default: "^1"
158
+
159
+ :stability: experimental
160
+ '''
161
+ if __debug__:
162
+ type_hints = typing.get_type_hints(_typecheckingstub__9f2264088409136f62af7e2ac4488206c06c3b9a69056be8b9ead20ab895f1bc)
163
+ check_type(argname="argument project", value=project, expected_type=type_hints["project"])
164
+ options = BiomeOptions(
165
+ biome_config=biome_config,
166
+ formatter=formatter,
167
+ linter=linter,
168
+ merge_arrays_in_configuration=merge_arrays_in_configuration,
169
+ organize_imports=organize_imports,
170
+ version=version,
171
+ )
172
+
173
+ jsii.create(self.__class__, self, [project, options])
174
+
175
+ @jsii.member(jsii_name="of")
176
+ @builtins.classmethod
177
+ def of(cls, project: _Project_57d89203) -> typing.Optional["Biome"]:
178
+ '''
179
+ :param project: -
180
+
181
+ :stability: experimental
182
+ '''
183
+ if __debug__:
184
+ type_hints = typing.get_type_hints(_typecheckingstub__02197aa3a69f17c43ff359679227be724559aba6ef0881da4e04e9a0bf66d078)
185
+ check_type(argname="argument project", value=project, expected_type=type_hints["project"])
186
+ return typing.cast(typing.Optional["Biome"], jsii.sinvoke(cls, "of", [project]))
187
+
188
+ @jsii.member(jsii_name="addLintPattern")
189
+ def add_lint_pattern(self, pattern: builtins.str) -> None:
190
+ '''
191
+ :param pattern: -
192
+
193
+ :stability: experimental
194
+ '''
195
+ if __debug__:
196
+ type_hints = typing.get_type_hints(_typecheckingstub__2b6d2bb84dd9b7c5eb08b33b88046ee37fd213655ef24dbb058f24785fe54fe8)
197
+ check_type(argname="argument pattern", value=pattern, expected_type=type_hints["pattern"])
198
+ return typing.cast(None, jsii.invoke(self, "addLintPattern", [pattern]))
199
+
200
+ @builtins.property
201
+ @jsii.member(jsii_name="file")
202
+ def file(self) -> _JsonFile_fa8164db:
203
+ '''(experimental) Biome configuration file content.
204
+
205
+ :stability: experimental
206
+ '''
207
+ return typing.cast(_JsonFile_fa8164db, jsii.get(self, "file"))
208
+
209
+ @builtins.property
210
+ @jsii.member(jsii_name="task")
211
+ def task(self) -> _Task_9fa875b6:
212
+ '''(experimental) Biome task.
213
+
214
+ :stability: experimental
215
+ '''
216
+ return typing.cast(_Task_9fa875b6, jsii.get(self, "task"))
217
+
218
+
219
+ @jsii.data_type(
220
+ jsii_type="projen.javascript.BiomeOptions",
221
+ jsii_struct_bases=[],
222
+ name_mapping={
223
+ "biome_config": "biomeConfig",
224
+ "formatter": "formatter",
225
+ "linter": "linter",
226
+ "merge_arrays_in_configuration": "mergeArraysInConfiguration",
227
+ "organize_imports": "organizeImports",
228
+ "version": "version",
229
+ },
230
+ )
231
+ class BiomeOptions:
232
+ def __init__(
233
+ self,
234
+ *,
235
+ biome_config: typing.Optional[_IConfiguration_70e9f813] = None,
236
+ formatter: typing.Optional[builtins.bool] = None,
237
+ linter: typing.Optional[builtins.bool] = None,
238
+ merge_arrays_in_configuration: typing.Optional[builtins.bool] = None,
239
+ organize_imports: typing.Optional[builtins.bool] = None,
240
+ version: typing.Optional[builtins.str] = None,
241
+ ) -> None:
242
+ '''
243
+ :param biome_config: (experimental) Full Biome configuration. Note that this configuration dictates the final outcome if value is set.
244
+ :param formatter: (experimental) Enable code formatter. Replaces mainly Prettier Default: false
245
+ :param linter: (experimental) Enable linting. Replaces Eslint. Default: true
246
+ :param merge_arrays_in_configuration: (experimental) Should arrays be merged or overwritten when creating Biome configuration. By default arrays are merged and duplicate values are removed Default: true
247
+ :param organize_imports: (experimental) Enable import sorting/organizing. Replaces mainly Prettier Default: false
248
+ :param version: (experimental) Version of Biome to use. Default: "^1"
249
+
250
+ :stability: experimental
251
+ '''
252
+ if __debug__:
253
+ type_hints = typing.get_type_hints(_typecheckingstub__b53a2988afa9afc23bda2fe96e2de8ffaff18ab919e00b69a6c8d3d229f3dcc1)
254
+ check_type(argname="argument biome_config", value=biome_config, expected_type=type_hints["biome_config"])
255
+ check_type(argname="argument formatter", value=formatter, expected_type=type_hints["formatter"])
256
+ check_type(argname="argument linter", value=linter, expected_type=type_hints["linter"])
257
+ check_type(argname="argument merge_arrays_in_configuration", value=merge_arrays_in_configuration, expected_type=type_hints["merge_arrays_in_configuration"])
258
+ check_type(argname="argument organize_imports", value=organize_imports, expected_type=type_hints["organize_imports"])
259
+ check_type(argname="argument version", value=version, expected_type=type_hints["version"])
260
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
261
+ if biome_config is not None:
262
+ self._values["biome_config"] = biome_config
263
+ if formatter is not None:
264
+ self._values["formatter"] = formatter
265
+ if linter is not None:
266
+ self._values["linter"] = linter
267
+ if merge_arrays_in_configuration is not None:
268
+ self._values["merge_arrays_in_configuration"] = merge_arrays_in_configuration
269
+ if organize_imports is not None:
270
+ self._values["organize_imports"] = organize_imports
271
+ if version is not None:
272
+ self._values["version"] = version
273
+
274
+ @builtins.property
275
+ def biome_config(self) -> typing.Optional[_IConfiguration_70e9f813]:
276
+ '''(experimental) Full Biome configuration.
277
+
278
+ Note that this configuration dictates the final outcome if value is set.
279
+
280
+ :stability: experimental
281
+
282
+ Example::
283
+
284
+ if linter is disabled on main level, it can be enabled on fullConfiguration.formatter.enabled.
285
+ '''
286
+ result = self._values.get("biome_config")
287
+ return typing.cast(typing.Optional[_IConfiguration_70e9f813], result)
288
+
289
+ @builtins.property
290
+ def formatter(self) -> typing.Optional[builtins.bool]:
291
+ '''(experimental) Enable code formatter.
292
+
293
+ Replaces mainly Prettier
294
+
295
+ :default: false
296
+
297
+ :stability: experimental
298
+ '''
299
+ result = self._values.get("formatter")
300
+ return typing.cast(typing.Optional[builtins.bool], result)
301
+
302
+ @builtins.property
303
+ def linter(self) -> typing.Optional[builtins.bool]:
304
+ '''(experimental) Enable linting.
305
+
306
+ Replaces Eslint.
307
+
308
+ :default: true
309
+
310
+ :stability: experimental
311
+ '''
312
+ result = self._values.get("linter")
313
+ return typing.cast(typing.Optional[builtins.bool], result)
314
+
315
+ @builtins.property
316
+ def merge_arrays_in_configuration(self) -> typing.Optional[builtins.bool]:
317
+ '''(experimental) Should arrays be merged or overwritten when creating Biome configuration.
318
+
319
+ By default arrays are merged and duplicate values are removed
320
+
321
+ :default: true
322
+
323
+ :stability: experimental
324
+ '''
325
+ result = self._values.get("merge_arrays_in_configuration")
326
+ return typing.cast(typing.Optional[builtins.bool], result)
327
+
328
+ @builtins.property
329
+ def organize_imports(self) -> typing.Optional[builtins.bool]:
330
+ '''(experimental) Enable import sorting/organizing.
331
+
332
+ Replaces mainly Prettier
333
+
334
+ :default: false
335
+
336
+ :stability: experimental
337
+ '''
338
+ result = self._values.get("organize_imports")
339
+ return typing.cast(typing.Optional[builtins.bool], result)
340
+
341
+ @builtins.property
342
+ def version(self) -> typing.Optional[builtins.str]:
343
+ '''(experimental) Version of Biome to use.
344
+
345
+ :default: "^1"
346
+
347
+ :stability: experimental
348
+ '''
349
+ result = self._values.get("version")
350
+ return typing.cast(typing.Optional[builtins.str], result)
351
+
352
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
353
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
354
+
355
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
356
+ return not (rhs == self)
357
+
358
+ def __repr__(self) -> str:
359
+ return "BiomeOptions(%s)" % ", ".join(
360
+ k + "=" + repr(v) for k, v in self._values.items()
361
+ )
362
+
363
+
129
364
  @jsii.data_type(
130
365
  jsii_type="projen.javascript.BuildWorkflowOptions",
131
366
  jsii_struct_bases=[_BuildWorkflowCommonOptions_7e3d5c39],
@@ -5427,6 +5662,8 @@ class NodeProject(
5427
5662
  default_release_branch: builtins.str,
5428
5663
  artifacts_directory: typing.Optional[builtins.str] = None,
5429
5664
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
5665
+ biome: typing.Optional[builtins.bool] = None,
5666
+ biome_options: typing.Optional[typing.Union[BiomeOptions, typing.Dict[builtins.str, typing.Any]]] = None,
5430
5667
  build_workflow: typing.Optional[builtins.bool] = None,
5431
5668
  build_workflow_options: typing.Optional[typing.Union[BuildWorkflowOptions, typing.Dict[builtins.str, typing.Any]]] = None,
5432
5669
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5559,6 +5796,8 @@ class NodeProject(
5559
5796
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
5560
5797
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
5561
5798
  :param auto_approve_upgrades: (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true but ``autoApproveOptions`` are not defined. Default: - true
5799
+ :param biome: (experimental) Setup Biome. Default: false
5800
+ :param biome_options: (experimental) Biome options. Default: - default options
5562
5801
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
5563
5802
  :param build_workflow_options: (experimental) Options for PR build workflow.
5564
5803
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
@@ -5693,6 +5932,8 @@ class NodeProject(
5693
5932
  default_release_branch=default_release_branch,
5694
5933
  artifacts_directory=artifacts_directory,
5695
5934
  auto_approve_upgrades=auto_approve_upgrades,
5935
+ biome=biome,
5936
+ biome_options=biome_options,
5696
5937
  build_workflow=build_workflow,
5697
5938
  build_workflow_options=build_workflow_options,
5698
5939
  build_workflow_triggers=build_workflow_triggers,
@@ -6182,6 +6423,14 @@ class NodeProject(
6182
6423
  '''
6183
6424
  return typing.cast(typing.Optional[_AutoMerge_f73f9be0], jsii.get(self, "autoMerge"))
6184
6425
 
6426
+ @builtins.property
6427
+ @jsii.member(jsii_name="biome")
6428
+ def biome(self) -> typing.Optional[Biome]:
6429
+ '''
6430
+ :stability: experimental
6431
+ '''
6432
+ return typing.cast(typing.Optional[Biome], jsii.get(self, "biome"))
6433
+
6185
6434
  @builtins.property
6186
6435
  @jsii.member(jsii_name="buildWorkflow")
6187
6436
  def build_workflow(self) -> typing.Optional[_BuildWorkflow_bdd5e6cc]:
@@ -6393,6 +6642,8 @@ class NodeProject(
6393
6642
  "default_release_branch": "defaultReleaseBranch",
6394
6643
  "artifacts_directory": "artifactsDirectory",
6395
6644
  "auto_approve_upgrades": "autoApproveUpgrades",
6645
+ "biome": "biome",
6646
+ "biome_options": "biomeOptions",
6396
6647
  "build_workflow": "buildWorkflow",
6397
6648
  "build_workflow_options": "buildWorkflowOptions",
6398
6649
  "build_workflow_triggers": "buildWorkflowTriggers",
@@ -6533,6 +6784,8 @@ class NodeProjectOptions(
6533
6784
  default_release_branch: builtins.str,
6534
6785
  artifacts_directory: typing.Optional[builtins.str] = None,
6535
6786
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
6787
+ biome: typing.Optional[builtins.bool] = None,
6788
+ biome_options: typing.Optional[typing.Union[BiomeOptions, typing.Dict[builtins.str, typing.Any]]] = None,
6536
6789
  build_workflow: typing.Optional[builtins.bool] = None,
6537
6790
  build_workflow_options: typing.Optional[typing.Union[BuildWorkflowOptions, typing.Dict[builtins.str, typing.Any]]] = None,
6538
6791
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6665,6 +6918,8 @@ class NodeProjectOptions(
6665
6918
  :param default_release_branch: (experimental) The name of the main release branch. Default: "main"
6666
6919
  :param artifacts_directory: (experimental) A directory which will contain build artifacts. Default: "dist"
6667
6920
  :param auto_approve_upgrades: (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true but ``autoApproveOptions`` are not defined. Default: - true
6921
+ :param biome: (experimental) Setup Biome. Default: false
6922
+ :param biome_options: (experimental) Biome options. Default: - default options
6668
6923
  :param build_workflow: (experimental) Define a GitHub workflow for building PRs. Default: - true if not a subproject
6669
6924
  :param build_workflow_options: (experimental) Options for PR build workflow.
6670
6925
  :param build_workflow_triggers: (deprecated) Build workflow triggers. Default: "{ pullRequest: {}, workflowDispatch: {} }"
@@ -6734,6 +6989,8 @@ class NodeProjectOptions(
6734
6989
  yarn_berry_options = YarnBerryOptions(**yarn_berry_options)
6735
6990
  if isinstance(workflow_runs_on_group, dict):
6736
6991
  workflow_runs_on_group = _GroupRunnerOptions_148c59c1(**workflow_runs_on_group)
6992
+ if isinstance(biome_options, dict):
6993
+ biome_options = BiomeOptions(**biome_options)
6737
6994
  if isinstance(build_workflow_options, dict):
6738
6995
  build_workflow_options = BuildWorkflowOptions(**build_workflow_options)
6739
6996
  if isinstance(build_workflow_triggers, dict):
@@ -6852,6 +7109,8 @@ class NodeProjectOptions(
6852
7109
  check_type(argname="argument default_release_branch", value=default_release_branch, expected_type=type_hints["default_release_branch"])
6853
7110
  check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
6854
7111
  check_type(argname="argument auto_approve_upgrades", value=auto_approve_upgrades, expected_type=type_hints["auto_approve_upgrades"])
7112
+ check_type(argname="argument biome", value=biome, expected_type=type_hints["biome"])
7113
+ check_type(argname="argument biome_options", value=biome_options, expected_type=type_hints["biome_options"])
6855
7114
  check_type(argname="argument build_workflow", value=build_workflow, expected_type=type_hints["build_workflow"])
6856
7115
  check_type(argname="argument build_workflow_options", value=build_workflow_options, expected_type=type_hints["build_workflow_options"])
6857
7116
  check_type(argname="argument build_workflow_triggers", value=build_workflow_triggers, expected_type=type_hints["build_workflow_triggers"])
@@ -7076,6 +7335,10 @@ class NodeProjectOptions(
7076
7335
  self._values["artifacts_directory"] = artifacts_directory
7077
7336
  if auto_approve_upgrades is not None:
7078
7337
  self._values["auto_approve_upgrades"] = auto_approve_upgrades
7338
+ if biome is not None:
7339
+ self._values["biome"] = biome
7340
+ if biome_options is not None:
7341
+ self._values["biome_options"] = biome_options
7079
7342
  if build_workflow is not None:
7080
7343
  self._values["build_workflow"] = build_workflow
7081
7344
  if build_workflow_options is not None:
@@ -8366,6 +8629,28 @@ class NodeProjectOptions(
8366
8629
  result = self._values.get("auto_approve_upgrades")
8367
8630
  return typing.cast(typing.Optional[builtins.bool], result)
8368
8631
 
8632
+ @builtins.property
8633
+ def biome(self) -> typing.Optional[builtins.bool]:
8634
+ '''(experimental) Setup Biome.
8635
+
8636
+ :default: false
8637
+
8638
+ :stability: experimental
8639
+ '''
8640
+ result = self._values.get("biome")
8641
+ return typing.cast(typing.Optional[builtins.bool], result)
8642
+
8643
+ @builtins.property
8644
+ def biome_options(self) -> typing.Optional[BiomeOptions]:
8645
+ '''(experimental) Biome options.
8646
+
8647
+ :default: - default options
8648
+
8649
+ :stability: experimental
8650
+ '''
8651
+ result = self._values.get("biome_options")
8652
+ return typing.cast(typing.Optional[BiomeOptions], result)
8653
+
8369
8654
  @builtins.property
8370
8655
  def build_workflow(self) -> typing.Optional[builtins.bool]:
8371
8656
  '''(experimental) Define a GitHub workflow for building PRs.
@@ -15756,6 +16041,8 @@ __all__ = [
15756
16041
  "AddBundleOptions",
15757
16042
  "ArrowParens",
15758
16043
  "AutoRelease",
16044
+ "Biome",
16045
+ "BiomeOptions",
15759
16046
  "BuildWorkflowOptions",
15760
16047
  "Bundle",
15761
16048
  "BundleLogLevel",
@@ -15841,10 +16128,51 @@ __all__ = [
15841
16128
  "YarnWorkerPoolMode",
15842
16129
  "Yarnrc",
15843
16130
  "YarnrcOptions",
16131
+ "biome_config",
15844
16132
  ]
15845
16133
 
15846
16134
  publication.publish()
15847
16135
 
16136
+ # Loading modules to ensure their types are registered with the jsii runtime library
16137
+ from . import biome_config
16138
+
16139
+ def _typecheckingstub__9f2264088409136f62af7e2ac4488206c06c3b9a69056be8b9ead20ab895f1bc(
16140
+ project: NodeProject,
16141
+ *,
16142
+ biome_config: typing.Optional[_IConfiguration_70e9f813] = None,
16143
+ formatter: typing.Optional[builtins.bool] = None,
16144
+ linter: typing.Optional[builtins.bool] = None,
16145
+ merge_arrays_in_configuration: typing.Optional[builtins.bool] = None,
16146
+ organize_imports: typing.Optional[builtins.bool] = None,
16147
+ version: typing.Optional[builtins.str] = None,
16148
+ ) -> None:
16149
+ """Type checking stubs"""
16150
+ pass
16151
+
16152
+ def _typecheckingstub__02197aa3a69f17c43ff359679227be724559aba6ef0881da4e04e9a0bf66d078(
16153
+ project: _Project_57d89203,
16154
+ ) -> None:
16155
+ """Type checking stubs"""
16156
+ pass
16157
+
16158
+ def _typecheckingstub__2b6d2bb84dd9b7c5eb08b33b88046ee37fd213655ef24dbb058f24785fe54fe8(
16159
+ pattern: builtins.str,
16160
+ ) -> None:
16161
+ """Type checking stubs"""
16162
+ pass
16163
+
16164
+ def _typecheckingstub__b53a2988afa9afc23bda2fe96e2de8ffaff18ab919e00b69a6c8d3d229f3dcc1(
16165
+ *,
16166
+ biome_config: typing.Optional[_IConfiguration_70e9f813] = None,
16167
+ formatter: typing.Optional[builtins.bool] = None,
16168
+ linter: typing.Optional[builtins.bool] = None,
16169
+ merge_arrays_in_configuration: typing.Optional[builtins.bool] = None,
16170
+ organize_imports: typing.Optional[builtins.bool] = None,
16171
+ version: typing.Optional[builtins.str] = None,
16172
+ ) -> None:
16173
+ """Type checking stubs"""
16174
+ pass
16175
+
15848
16176
  def _typecheckingstub__12c3595783c38c358dfa0cc66282771c2ed2020f0770e8379920bb5731b72372(
15849
16177
  *,
15850
16178
  env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16656,6 +16984,8 @@ def _typecheckingstub__05c2eb8aa04095bbe6af788737363089516ccd341e3a6624f153e8ff7
16656
16984
  default_release_branch: builtins.str,
16657
16985
  artifacts_directory: typing.Optional[builtins.str] = None,
16658
16986
  auto_approve_upgrades: typing.Optional[builtins.bool] = None,
16987
+ biome: typing.Optional[builtins.bool] = None,
16988
+ biome_options: typing.Optional[typing.Union[BiomeOptions, typing.Dict[builtins.str, typing.Any]]] = None,
16659
16989
  build_workflow: typing.Optional[builtins.bool] = None,
16660
16990
  build_workflow_options: typing.Optional[typing.Union[BuildWorkflowOptions, typing.Dict[builtins.str, typing.Any]]] = None,
16661
16991
  build_workflow_triggers: typing.Optional[typing.Union[_Triggers_e9ae7617, typing.Dict[builtins.str, typing.Any]]] = None,