projen 0.99.46 → 0.99.47

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 (142) hide show
  1. package/.jsii +269 -38
  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 +2 -2
  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 +4 -4
  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-docgen.js +1 -1
  22. package/lib/cdk/jsii-project.js +1 -1
  23. package/lib/cdk8s/auto-discover.js +2 -2
  24. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  25. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  26. package/lib/cdk8s/cdk8s-construct.js +1 -1
  27. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps.js +1 -1
  29. package/lib/cdk8s/integration-test.js +1 -1
  30. package/lib/cdktf/cdktf-construct.js +1 -1
  31. package/lib/circleci/circleci.js +1 -1
  32. package/lib/component.js +1 -1
  33. package/lib/dependencies.js +1 -1
  34. package/lib/dev-env.js +1 -1
  35. package/lib/docker-compose/docker-compose-service.js +1 -1
  36. package/lib/docker-compose/docker-compose.js +1 -1
  37. package/lib/file.js +1 -1
  38. package/lib/gitattributes.js +1 -1
  39. package/lib/github/actions-provider.js +1 -1
  40. package/lib/github/auto-approve.js +1 -1
  41. package/lib/github/auto-merge.js +1 -1
  42. package/lib/github/auto-queue.js +1 -1
  43. package/lib/github/dependabot.d.ts +48 -0
  44. package/lib/github/dependabot.js +5 -2
  45. package/lib/github/github-credentials.js +1 -1
  46. package/lib/github/github-project.js +1 -1
  47. package/lib/github/github.js +1 -1
  48. package/lib/github/merge-queue.js +1 -1
  49. package/lib/github/mergify.js +1 -1
  50. package/lib/github/pr-template.js +1 -1
  51. package/lib/github/pull-request-backport.js +1 -1
  52. package/lib/github/pull-request-lint.js +1 -1
  53. package/lib/github/stale.js +1 -1
  54. package/lib/github/task-workflow-job.js +1 -1
  55. package/lib/github/task-workflow.js +1 -1
  56. package/lib/github/workflow-actions.js +1 -1
  57. package/lib/github/workflow-jobs.js +1 -1
  58. package/lib/github/workflow-steps.js +1 -1
  59. package/lib/github/workflows.js +1 -1
  60. package/lib/gitlab/configuration.js +1 -1
  61. package/lib/gitlab/gitlab-configuration.js +1 -1
  62. package/lib/gitlab/nested-configuration.js +1 -1
  63. package/lib/gitpod.js +1 -1
  64. package/lib/ignore-file.js +1 -1
  65. package/lib/ini.js +1 -1
  66. package/lib/java/java-project.js +1 -1
  67. package/lib/java/junit.js +1 -1
  68. package/lib/java/maven-compile.js +1 -1
  69. package/lib/java/maven-packaging.js +1 -1
  70. package/lib/java/maven-sample.js +1 -1
  71. package/lib/java/pom.js +2 -2
  72. package/lib/java/projenrc.js +1 -1
  73. package/lib/javascript/biome/biome.js +1 -1
  74. package/lib/javascript/bundler.js +1 -1
  75. package/lib/javascript/eslint.js +1 -1
  76. package/lib/javascript/jest.js +4 -4
  77. package/lib/javascript/license-checker.js +1 -1
  78. package/lib/javascript/node-package.js +1 -1
  79. package/lib/javascript/node-project.js +1 -1
  80. package/lib/javascript/npm-config.js +1 -1
  81. package/lib/javascript/prettier.js +1 -1
  82. package/lib/javascript/projenrc.js +1 -1
  83. package/lib/javascript/typescript-config.js +2 -2
  84. package/lib/javascript/upgrade-dependencies.js +2 -2
  85. package/lib/javascript/yarnrc.js +1 -1
  86. package/lib/json-patch.js +1 -1
  87. package/lib/json.js +1 -1
  88. package/lib/license.js +1 -1
  89. package/lib/logger.js +1 -1
  90. package/lib/makefile.js +1 -1
  91. package/lib/object-file.js +1 -1
  92. package/lib/project-build.js +1 -1
  93. package/lib/project-tree.js +1 -1
  94. package/lib/project.js +1 -1
  95. package/lib/projects.js +1 -1
  96. package/lib/projenrc-json.js +2 -2
  97. package/lib/projenrc.js +1 -1
  98. package/lib/python/pip.js +1 -1
  99. package/lib/python/poetry.js +2 -2
  100. package/lib/python/projenrc.js +1 -1
  101. package/lib/python/pyproject-toml-file.js +1 -1
  102. package/lib/python/pytest-sample.js +1 -1
  103. package/lib/python/pytest.js +1 -1
  104. package/lib/python/python-project.js +1 -1
  105. package/lib/python/python-sample.js +1 -1
  106. package/lib/python/requirements-file.js +1 -1
  107. package/lib/python/setuppy.js +1 -1
  108. package/lib/python/setuptools.js +1 -1
  109. package/lib/python/uv.js +1 -1
  110. package/lib/python/venv.js +1 -1
  111. package/lib/readme.js +1 -1
  112. package/lib/release/publisher.js +1 -1
  113. package/lib/release/release-trigger.js +1 -1
  114. package/lib/release/release.js +1 -1
  115. package/lib/renovatebot.d.ts +34 -0
  116. package/lib/renovatebot.js +23 -3
  117. package/lib/sample-file.js +2 -2
  118. package/lib/semver.js +1 -1
  119. package/lib/source-code.js +1 -1
  120. package/lib/task-runtime.js +1 -1
  121. package/lib/task.js +1 -1
  122. package/lib/tasks.js +1 -1
  123. package/lib/testing.js +1 -1
  124. package/lib/textfile.js +1 -1
  125. package/lib/toml.js +1 -1
  126. package/lib/typescript/projenrc-ts.js +1 -1
  127. package/lib/typescript/projenrc.js +1 -1
  128. package/lib/typescript/typescript-typedoc.js +1 -1
  129. package/lib/typescript/typescript.js +6 -6
  130. package/lib/version.js +2 -2
  131. package/lib/vscode/devcontainer.js +1 -1
  132. package/lib/vscode/extensions.js +1 -1
  133. package/lib/vscode/launch-config.js +1 -1
  134. package/lib/vscode/settings.js +1 -1
  135. package/lib/vscode/vscode.js +1 -1
  136. package/lib/web/next.js +3 -3
  137. package/lib/web/postcss.js +1 -1
  138. package/lib/web/react.js +4 -4
  139. package/lib/web/tailwind.js +1 -1
  140. package/lib/xmlfile.js +1 -1
  141. package/lib/yaml.js +1 -1
  142. package/package.json +1 -1
package/.jsii CHANGED
@@ -9225,7 +9225,7 @@
9225
9225
  },
9226
9226
  "locationInModule": {
9227
9227
  "filename": "src/renovatebot.ts",
9228
- "line": 126
9228
+ "line": 166
9229
9229
  },
9230
9230
  "parameters": [
9231
9231
  {
@@ -9246,7 +9246,7 @@
9246
9246
  "kind": "class",
9247
9247
  "locationInModule": {
9248
9248
  "filename": "src/renovatebot.ts",
9249
- "line": 108
9249
+ "line": 144
9250
9250
  },
9251
9251
  "name": "Renovatebot",
9252
9252
  "properties": [
@@ -9258,7 +9258,7 @@
9258
9258
  "immutable": true,
9259
9259
  "locationInModule": {
9260
9260
  "filename": "src/renovatebot.ts",
9261
- "line": 112
9261
+ "line": 148
9262
9262
  },
9263
9263
  "name": "file",
9264
9264
  "type": {
@@ -9268,6 +9268,38 @@
9268
9268
  ],
9269
9269
  "symbolId": "src/renovatebot:Renovatebot"
9270
9270
  },
9271
+ "projen.RenovatebotMinimumReleaseAgeBehaviour": {
9272
+ "assembly": "projen",
9273
+ "docs": {
9274
+ "see": "https://docs.renovatebot.com/configuration-options/#minimumreleaseagebehaviour",
9275
+ "stability": "experimental",
9276
+ "summary": "Behaviour when a release timestamp is missing for `minimumReleaseAge`."
9277
+ },
9278
+ "fqn": "projen.RenovatebotMinimumReleaseAgeBehaviour",
9279
+ "kind": "enum",
9280
+ "locationInModule": {
9281
+ "filename": "src/renovatebot.ts",
9282
+ "line": 127
9283
+ },
9284
+ "members": [
9285
+ {
9286
+ "docs": {
9287
+ "stability": "experimental",
9288
+ "summary": "A release without a timestamp is not treated as stable."
9289
+ },
9290
+ "name": "TIMESTAMP_REQUIRED"
9291
+ },
9292
+ {
9293
+ "docs": {
9294
+ "stability": "experimental",
9295
+ "summary": "A release without a timestamp is treated as stable."
9296
+ },
9297
+ "name": "TIMESTAMP_OPTIONAL"
9298
+ }
9299
+ ],
9300
+ "name": "RenovatebotMinimumReleaseAgeBehaviour",
9301
+ "symbolId": "src/renovatebot:RenovatebotMinimumReleaseAgeBehaviour"
9302
+ },
9271
9303
  "projen.RenovatebotOptions": {
9272
9304
  "assembly": "projen",
9273
9305
  "datatype": true,
@@ -9364,6 +9396,45 @@
9364
9396
  "primitive": "boolean"
9365
9397
  }
9366
9398
  },
9399
+ {
9400
+ "abstract": true,
9401
+ "docs": {
9402
+ "default": "- no minimum release age",
9403
+ "remarks": "This is a supply chain security feature to avoid updating to newly published,\npotentially malicious versions.",
9404
+ "see": "https://docs.renovatebot.com/configuration-options/#minimumreleaseage",
9405
+ "stability": "experimental",
9406
+ "summary": "Minimum release age for packages before Renovate will propose an update."
9407
+ },
9408
+ "immutable": true,
9409
+ "locationInModule": {
9410
+ "filename": "src/renovatebot.ts",
9411
+ "line": 63
9412
+ },
9413
+ "name": "minimumReleaseAge",
9414
+ "optional": true,
9415
+ "type": {
9416
+ "primitive": "string"
9417
+ }
9418
+ },
9419
+ {
9420
+ "abstract": true,
9421
+ "docs": {
9422
+ "default": "RenovatebotMinimumReleaseAgeBehaviour.TIMESTAMP_REQUIRED",
9423
+ "see": "https://docs.renovatebot.com/configuration-options/#minimumreleaseagebehaviour",
9424
+ "stability": "experimental",
9425
+ "summary": "Controls whether a release timestamp is required when using `minimumReleaseAge`."
9426
+ },
9427
+ "immutable": true,
9428
+ "locationInModule": {
9429
+ "filename": "src/renovatebot.ts",
9430
+ "line": 71
9431
+ },
9432
+ "name": "minimumReleaseAgeBehaviour",
9433
+ "optional": true,
9434
+ "type": {
9435
+ "fqn": "projen.RenovatebotMinimumReleaseAgeBehaviour"
9436
+ }
9437
+ },
9367
9438
  {
9368
9439
  "abstract": true,
9369
9440
  "docs": {
@@ -9419,7 +9490,7 @@
9419
9490
  "kind": "enum",
9420
9491
  "locationInModule": {
9421
9492
  "filename": "src/renovatebot.ts",
9422
- "line": 61
9493
+ "line": 80
9423
9494
  },
9424
9495
  "members": [
9425
9496
  {
@@ -23557,7 +23628,7 @@
23557
23628
  },
23558
23629
  "locationInModule": {
23559
23630
  "filename": "src/github/dependabot.ts",
23560
- "line": 429
23631
+ "line": 484
23561
23632
  },
23562
23633
  "parameters": [
23563
23634
  {
@@ -23578,7 +23649,7 @@
23578
23649
  "kind": "class",
23579
23650
  "locationInModule": {
23580
23651
  "filename": "src/github/dependabot.ts",
23581
- "line": 414
23652
+ "line": 469
23582
23653
  },
23583
23654
  "methods": [
23584
23655
  {
@@ -23588,7 +23659,7 @@
23588
23659
  },
23589
23660
  "locationInModule": {
23590
23661
  "filename": "src/github/dependabot.ts",
23591
- "line": 505
23662
+ "line": 563
23592
23663
  },
23593
23664
  "name": "addAllow",
23594
23665
  "parameters": [
@@ -23610,7 +23681,7 @@
23610
23681
  },
23611
23682
  "locationInModule": {
23612
23683
  "filename": "src/github/dependabot.ts",
23613
- "line": 520
23684
+ "line": 578
23614
23685
  },
23615
23686
  "name": "addIgnore",
23616
23687
  "parameters": [
@@ -23650,7 +23721,7 @@
23650
23721
  "immutable": true,
23651
23722
  "locationInModule": {
23652
23723
  "filename": "src/github/dependabot.ts",
23653
- "line": 419
23724
+ "line": 474
23654
23725
  },
23655
23726
  "name": "config",
23656
23727
  "type": {
@@ -23665,7 +23736,7 @@
23665
23736
  "immutable": true,
23666
23737
  "locationInModule": {
23667
23738
  "filename": "src/github/dependabot.ts",
23668
- "line": 424
23739
+ "line": 479
23669
23740
  },
23670
23741
  "name": "ignoresProjen",
23671
23742
  "type": {
@@ -23687,7 +23758,7 @@
23687
23758
  "kind": "interface",
23688
23759
  "locationInModule": {
23689
23760
  "filename": "src/github/dependabot.ts",
23690
- "line": 229
23761
+ "line": 284
23691
23762
  },
23692
23763
  "name": "DependabotAllow",
23693
23764
  "namespace": "github",
@@ -23702,7 +23773,7 @@
23702
23773
  "immutable": true,
23703
23774
  "locationInModule": {
23704
23775
  "filename": "src/github/dependabot.ts",
23705
- "line": 237
23776
+ "line": 292
23706
23777
  },
23707
23778
  "name": "dependencyName",
23708
23779
  "type": {
@@ -23712,6 +23783,146 @@
23712
23783
  ],
23713
23784
  "symbolId": "src/github/dependabot:DependabotAllow"
23714
23785
  },
23786
+ "projen.github.DependabotCooldown": {
23787
+ "assembly": "projen",
23788
+ "datatype": true,
23789
+ "docs": {
23790
+ "see": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown-",
23791
+ "stability": "experimental",
23792
+ "summary": "Defines a cooldown period for dependency version updates."
23793
+ },
23794
+ "fqn": "projen.github.DependabotCooldown",
23795
+ "kind": "interface",
23796
+ "locationInModule": {
23797
+ "filename": "src/github/dependabot.ts",
23798
+ "line": 118
23799
+ },
23800
+ "name": "DependabotCooldown",
23801
+ "namespace": "github",
23802
+ "properties": [
23803
+ {
23804
+ "abstract": true,
23805
+ "docs": {
23806
+ "default": "- no default cooldown",
23807
+ "stability": "experimental",
23808
+ "summary": "Default cooldown period (in days) for all dependencies without specific semver rules."
23809
+ },
23810
+ "immutable": true,
23811
+ "locationInModule": {
23812
+ "filename": "src/github/dependabot.ts",
23813
+ "line": 123
23814
+ },
23815
+ "name": "defaultDays",
23816
+ "optional": true,
23817
+ "type": {
23818
+ "primitive": "number"
23819
+ }
23820
+ },
23821
+ {
23822
+ "abstract": true,
23823
+ "docs": {
23824
+ "default": "- no exclusions",
23825
+ "remarks": "Supports wildcards.\nTakes precedence over `include`.",
23826
+ "stability": "experimental",
23827
+ "summary": "List of dependencies excluded from cooldown."
23828
+ },
23829
+ "immutable": true,
23830
+ "locationInModule": {
23831
+ "filename": "src/github/dependabot.ts",
23832
+ "line": 154
23833
+ },
23834
+ "name": "exclude",
23835
+ "optional": true,
23836
+ "type": {
23837
+ "collection": {
23838
+ "elementtype": {
23839
+ "primitive": "string"
23840
+ },
23841
+ "kind": "array"
23842
+ }
23843
+ }
23844
+ },
23845
+ {
23846
+ "abstract": true,
23847
+ "docs": {
23848
+ "default": "- all dependencies",
23849
+ "remarks": "Supports wildcards.",
23850
+ "stability": "experimental",
23851
+ "summary": "List of dependencies to apply cooldown to."
23852
+ },
23853
+ "immutable": true,
23854
+ "locationInModule": {
23855
+ "filename": "src/github/dependabot.ts",
23856
+ "line": 147
23857
+ },
23858
+ "name": "include",
23859
+ "optional": true,
23860
+ "type": {
23861
+ "collection": {
23862
+ "elementtype": {
23863
+ "primitive": "string"
23864
+ },
23865
+ "kind": "array"
23866
+ }
23867
+ }
23868
+ },
23869
+ {
23870
+ "abstract": true,
23871
+ "docs": {
23872
+ "default": "- uses defaultDays",
23873
+ "stability": "experimental",
23874
+ "summary": "Cooldown period (in days) for major version updates."
23875
+ },
23876
+ "immutable": true,
23877
+ "locationInModule": {
23878
+ "filename": "src/github/dependabot.ts",
23879
+ "line": 129
23880
+ },
23881
+ "name": "semverMajorDays",
23882
+ "optional": true,
23883
+ "type": {
23884
+ "primitive": "number"
23885
+ }
23886
+ },
23887
+ {
23888
+ "abstract": true,
23889
+ "docs": {
23890
+ "default": "- uses defaultDays",
23891
+ "stability": "experimental",
23892
+ "summary": "Cooldown period (in days) for minor version updates."
23893
+ },
23894
+ "immutable": true,
23895
+ "locationInModule": {
23896
+ "filename": "src/github/dependabot.ts",
23897
+ "line": 135
23898
+ },
23899
+ "name": "semverMinorDays",
23900
+ "optional": true,
23901
+ "type": {
23902
+ "primitive": "number"
23903
+ }
23904
+ },
23905
+ {
23906
+ "abstract": true,
23907
+ "docs": {
23908
+ "default": "- uses defaultDays",
23909
+ "stability": "experimental",
23910
+ "summary": "Cooldown period (in days) for patch version updates."
23911
+ },
23912
+ "immutable": true,
23913
+ "locationInModule": {
23914
+ "filename": "src/github/dependabot.ts",
23915
+ "line": 141
23916
+ },
23917
+ "name": "semverPatchDays",
23918
+ "optional": true,
23919
+ "type": {
23920
+ "primitive": "number"
23921
+ }
23922
+ }
23923
+ ],
23924
+ "symbolId": "src/github/dependabot:DependabotCooldown"
23925
+ },
23715
23926
  "projen.github.DependabotGroup": {
23716
23927
  "assembly": "projen",
23717
23928
  "datatype": true,
@@ -23724,7 +23935,7 @@
23724
23935
  "kind": "interface",
23725
23936
  "locationInModule": {
23726
23937
  "filename": "src/github/dependabot.ts",
23727
- "line": 266
23938
+ "line": 321
23728
23939
  },
23729
23940
  "name": "DependabotGroup",
23730
23941
  "namespace": "github",
@@ -23738,7 +23949,7 @@
23738
23949
  "immutable": true,
23739
23950
  "locationInModule": {
23740
23951
  "filename": "src/github/dependabot.ts",
23741
- "line": 284
23952
+ "line": 339
23742
23953
  },
23743
23954
  "name": "patterns",
23744
23955
  "type": {
@@ -23760,7 +23971,7 @@
23760
23971
  "immutable": true,
23761
23972
  "locationInModule": {
23762
23973
  "filename": "src/github/dependabot.ts",
23763
- "line": 271
23974
+ "line": 326
23764
23975
  },
23765
23976
  "name": "appliesTo",
23766
23977
  "optional": true,
@@ -23779,7 +23990,7 @@
23779
23990
  "immutable": true,
23780
23991
  "locationInModule": {
23781
23992
  "filename": "src/github/dependabot.ts",
23782
- "line": 278
23993
+ "line": 333
23783
23994
  },
23784
23995
  "name": "dependencyType",
23785
23996
  "optional": true,
@@ -23796,7 +24007,7 @@
23796
24007
  "immutable": true,
23797
24008
  "locationInModule": {
23798
24009
  "filename": "src/github/dependabot.ts",
23799
- "line": 290
24010
+ "line": 345
23800
24011
  },
23801
24012
  "name": "excludePatterns",
23802
24013
  "optional": true,
@@ -23821,7 +24032,7 @@
23821
24032
  "immutable": true,
23822
24033
  "locationInModule": {
23823
24034
  "filename": "src/github/dependabot.ts",
23824
- "line": 300
24035
+ "line": 355
23825
24036
  },
23826
24037
  "name": "updateTypes",
23827
24038
  "optional": true,
@@ -23847,7 +24058,7 @@
23847
24058
  "kind": "enum",
23848
24059
  "locationInModule": {
23849
24060
  "filename": "src/github/dependabot.ts",
23850
- "line": 306
24061
+ "line": 361
23851
24062
  },
23852
24063
  "members": [
23853
24064
  {
@@ -23879,7 +24090,7 @@
23879
24090
  "kind": "enum",
23880
24091
  "locationInModule": {
23881
24092
  "filename": "src/github/dependabot.ts",
23882
- "line": 321
24093
+ "line": 376
23883
24094
  },
23884
24095
  "members": [
23885
24096
  {
@@ -23911,7 +24122,7 @@
23911
24122
  "kind": "enum",
23912
24123
  "locationInModule": {
23913
24124
  "filename": "src/github/dependabot.ts",
23914
- "line": 336
24125
+ "line": 391
23915
24126
  },
23916
24127
  "members": [
23917
24128
  {
@@ -23952,7 +24163,7 @@
23952
24163
  "kind": "interface",
23953
24164
  "locationInModule": {
23954
24165
  "filename": "src/github/dependabot.ts",
23955
- "line": 244
24166
+ "line": 299
23956
24167
  },
23957
24168
  "name": "DependabotIgnore",
23958
24169
  "namespace": "github",
@@ -23967,7 +24178,7 @@
23967
24178
  "immutable": true,
23968
24179
  "locationInModule": {
23969
24180
  "filename": "src/github/dependabot.ts",
23970
- "line": 252
24181
+ "line": 307
23971
24182
  },
23972
24183
  "name": "dependencyName",
23973
24184
  "type": {
@@ -23984,7 +24195,7 @@
23984
24195
  "immutable": true,
23985
24196
  "locationInModule": {
23986
24197
  "filename": "src/github/dependabot.ts",
23987
- "line": 259
24198
+ "line": 314
23988
24199
  },
23989
24200
  "name": "versions",
23990
24201
  "optional": true,
@@ -24062,6 +24273,26 @@
24062
24273
  }
24063
24274
  }
24064
24275
  },
24276
+ {
24277
+ "abstract": true,
24278
+ "docs": {
24279
+ "default": "- no cooldown",
24280
+ "remarks": "During the cooldown, Dependabot will not propose updates for a dependency.\nThis only applies to version updates, not security updates.",
24281
+ "see": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown-",
24282
+ "stability": "experimental",
24283
+ "summary": "Defines a cooldown period for dependency version updates."
24284
+ },
24285
+ "immutable": true,
24286
+ "locationInModule": {
24287
+ "filename": "src/github/dependabot.ts",
24288
+ "line": 110
24289
+ },
24290
+ "name": "cooldown",
24291
+ "optional": true,
24292
+ "type": {
24293
+ "fqn": "projen.github.DependabotCooldown"
24294
+ }
24295
+ },
24065
24296
  {
24066
24297
  "abstract": true,
24067
24298
  "docs": {
@@ -24284,7 +24515,7 @@
24284
24515
  "kind": "interface",
24285
24516
  "locationInModule": {
24286
24517
  "filename": "src/github/dependabot.ts",
24287
- "line": 106
24518
+ "line": 161
24288
24519
  },
24289
24520
  "name": "DependabotRegistry",
24290
24521
  "namespace": "github",
@@ -24298,7 +24529,7 @@
24298
24529
  "immutable": true,
24299
24530
  "locationInModule": {
24300
24531
  "filename": "src/github/dependabot.ts",
24301
- "line": 110
24532
+ "line": 165
24302
24533
  },
24303
24534
  "name": "type",
24304
24535
  "type": {
@@ -24314,7 +24545,7 @@
24314
24545
  "immutable": true,
24315
24546
  "locationInModule": {
24316
24547
  "filename": "src/github/dependabot.ts",
24317
- "line": 115
24548
+ "line": 170
24318
24549
  },
24319
24550
  "name": "url",
24320
24551
  "type": {
@@ -24331,7 +24562,7 @@
24331
24562
  "immutable": true,
24332
24563
  "locationInModule": {
24333
24564
  "filename": "src/github/dependabot.ts",
24334
- "line": 133
24565
+ "line": 188
24335
24566
  },
24336
24567
  "name": "key",
24337
24568
  "optional": true,
@@ -24350,7 +24581,7 @@
24350
24581
  "immutable": true,
24351
24582
  "locationInModule": {
24352
24583
  "filename": "src/github/dependabot.ts",
24353
- "line": 154
24584
+ "line": 209
24354
24585
  },
24355
24586
  "name": "organization",
24356
24587
  "optional": true,
@@ -24368,7 +24599,7 @@
24368
24599
  "immutable": true,
24369
24600
  "locationInModule": {
24370
24601
  "filename": "src/github/dependabot.ts",
24371
- "line": 127
24602
+ "line": 182
24372
24603
  },
24373
24604
  "name": "password",
24374
24605
  "optional": true,
@@ -24386,7 +24617,7 @@
24386
24617
  "immutable": true,
24387
24618
  "locationInModule": {
24388
24619
  "filename": "src/github/dependabot.ts",
24389
- "line": 147
24620
+ "line": 202
24390
24621
  },
24391
24622
  "name": "replacesBase",
24392
24623
  "optional": true,
@@ -24404,7 +24635,7 @@
24404
24635
  "immutable": true,
24405
24636
  "locationInModule": {
24406
24637
  "filename": "src/github/dependabot.ts",
24407
- "line": 139
24638
+ "line": 194
24408
24639
  },
24409
24640
  "name": "token",
24410
24641
  "optional": true,
@@ -24422,7 +24653,7 @@
24422
24653
  "immutable": true,
24423
24654
  "locationInModule": {
24424
24655
  "filename": "src/github/dependabot.ts",
24425
- "line": 121
24656
+ "line": 176
24426
24657
  },
24427
24658
  "name": "username",
24428
24659
  "optional": true,
@@ -24445,7 +24676,7 @@
24445
24676
  "kind": "enum",
24446
24677
  "locationInModule": {
24447
24678
  "filename": "src/github/dependabot.ts",
24448
- "line": 162
24679
+ "line": 217
24449
24680
  },
24450
24681
  "members": [
24451
24682
  {
@@ -24544,7 +24775,7 @@
24544
24775
  "kind": "enum",
24545
24776
  "locationInModule": {
24546
24777
  "filename": "src/github/dependabot.ts",
24547
- "line": 357
24778
+ "line": 412
24548
24779
  },
24549
24780
  "members": [
24550
24781
  {
@@ -29759,7 +29990,7 @@
29759
29990
  "kind": "enum",
29760
29991
  "locationInModule": {
29761
29992
  "filename": "src/github/dependabot.ts",
29762
- "line": 377
29993
+ "line": 432
29763
29994
  },
29764
29995
  "members": [
29765
29996
  {
@@ -81534,6 +81765,6 @@
81534
81765
  "usedFeatures": [
81535
81766
  "class-covariant-overrides"
81536
81767
  ],
81537
- "version": "0.99.46",
81538
- "fingerprint": "kfogDm+Ky8lIRwIvkvniobIJYFMpFCfIH8Cgs0lIEiM="
81768
+ "version": "0.99.47",
81769
+ "fingerprint": "0n+yvB20F7rgVwGAoECqmlOpwZoELKXQ8Frbj28QkwU="
81539
81770
  }
@@ -167,7 +167,7 @@ class AiInstructions extends component_1.Component {
167
167
  }
168
168
  exports.AiInstructions = AiInstructions;
169
169
  _a = JSII_RTTI_SYMBOL_1;
170
- AiInstructions[_a] = { fqn: "projen.AiInstructions", version: "0.99.46" };
170
+ AiInstructions[_a] = { fqn: "projen.AiInstructions", version: "0.99.47" };
171
171
  class AiInstructionsFile extends file_1.FileBase {
172
172
  constructor() {
173
173
  super(...arguments);
@@ -185,7 +185,7 @@ class AiInstructionsFile extends file_1.FileBase {
185
185
  }
186
186
  exports.AiInstructionsFile = AiInstructionsFile;
187
187
  _b = JSII_RTTI_SYMBOL_1;
188
- AiInstructionsFile[_b] = { fqn: "projen.AiInstructionsFile", version: "0.99.46" };
188
+ AiInstructionsFile[_b] = { fqn: "projen.AiInstructionsFile", version: "0.99.47" };
189
189
  function bestPracticesInstructions(project) {
190
190
  const projenCommand = project.projenCommand;
191
191
  return `# Development Best Practices
@@ -27,7 +27,7 @@ class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase
27
27
  }
28
28
  exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.99.46" };
30
+ IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.99.47" };
31
31
  /**
32
32
  * Creates lambdas from entry points discovered in the project's source tree.
33
33
  */
@@ -48,7 +48,7 @@ class LambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
48
48
  }
49
49
  exports.LambdaAutoDiscover = LambdaAutoDiscover;
50
50
  _b = JSII_RTTI_SYMBOL_1;
51
- LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.99.46" };
51
+ LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.99.47" };
52
52
  /**
53
53
  * Creates singleton lambdas from entry points discovered in the project's source tree.
54
54
  */
@@ -71,7 +71,7 @@ class SingletonLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
71
71
  }
72
72
  exports.SingletonLambdaAutoDiscover = SingletonLambdaAutoDiscover;
73
73
  _c = JSII_RTTI_SYMBOL_1;
74
- SingletonLambdaAutoDiscover[_c] = { fqn: "projen.awscdk.SingletonLambdaAutoDiscover", version: "0.99.46" };
74
+ SingletonLambdaAutoDiscover[_c] = { fqn: "projen.awscdk.SingletonLambdaAutoDiscover", version: "0.99.47" };
75
75
  /**
76
76
  * Creates edge lambdas from entry points discovered in the project's source tree.
77
77
  */
@@ -93,7 +93,7 @@ class EdgeLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
93
93
  }
94
94
  exports.EdgeLambdaAutoDiscover = EdgeLambdaAutoDiscover;
95
95
  _d = JSII_RTTI_SYMBOL_1;
96
- EdgeLambdaAutoDiscover[_d] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.99.46" };
96
+ EdgeLambdaAutoDiscover[_d] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.99.47" };
97
97
  /**
98
98
  * Creates Lambda Extensions from entrypoints discovered in the project's
99
99
  * source tree.
@@ -115,7 +115,7 @@ class LambdaExtensionAutoDiscover extends cdk_1.AutoDiscoverBase {
115
115
  }
116
116
  exports.LambdaExtensionAutoDiscover = LambdaExtensionAutoDiscover;
117
117
  _e = JSII_RTTI_SYMBOL_1;
118
- LambdaExtensionAutoDiscover[_e] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.99.46" };
118
+ LambdaExtensionAutoDiscover[_e] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.99.47" };
119
119
  /**
120
120
  * Discovers and creates integration tests and lambdas from code in the
121
121
  * project's source and test trees.
@@ -167,5 +167,5 @@ class AutoDiscover extends component_1.Component {
167
167
  }
168
168
  exports.AutoDiscover = AutoDiscover;
169
169
  _f = JSII_RTTI_SYMBOL_1;
170
- AutoDiscover[_f] = { fqn: "projen.awscdk.AutoDiscover", version: "0.99.46" };
170
+ AutoDiscover[_f] = { fqn: "projen.awscdk.AutoDiscover", version: "0.99.47" };
171
171
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlEQUFxRDtBQUNyRCx5Q0FNb0I7QUFFcEIseURBQXFEO0FBRXJELHVEQUFtRDtBQUVuRCxnQ0FBMkU7QUFDM0UsNENBQXlDO0FBNkJ6Qzs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEscUNBQStCO0lBQzlFLFlBQVksT0FBZ0IsRUFBRSxPQUEyQztRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFDLElBQUksa0NBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxVQUFVO2dCQUNWLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxHQUFHLE9BQU8sQ0FBQyxzQkFBc0I7YUFDbEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBWkgsa0VBYUM7OztBQWlCRDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQWdCO0lBQ3RELFlBQVksT0FBZ0IsRUFBRSxPQUFrQztRQUM5RCxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2IsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLFNBQVMsRUFBRSxnQ0FBcUI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQ3pCLENB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L2F3c2Nkay1kZXBzXCI7XG5pbXBvcnQgdHlwZSB7IEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9pbnRlZ3JhdGlvbi10ZXN0XCI7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblRlc3QgfSBmcm9tIFwiLi9pbnRlZ3JhdGlvbi10ZXN0XCI7XG5pbXBvcnQge1xuICBUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVCxcbiAgVFlQRVNDUklQVF9MQU1CREFfRVhULFxuICBUWVBFU0NSSVBUX0xBTUJEQV9FWFRFTlNJT05fRVhULFxuICBUWVBFU0NSSVBUX1NJTkdMRVRPTl9MQU1CREFfRVhULFxuICB0b0RldGVybWluaXN0aWNTaW5nbGV0b25VdWlkLFxufSBmcm9tIFwiLi9pbnRlcm5hbFwiO1xuaW1wb3J0IHR5cGUgeyBMYW1iZGFFeHRlbnNpb25Db21tb25PcHRpb25zIH0gZnJvbSBcIi4vbGFtYmRhLWV4dGVuc2lvblwiO1xuaW1wb3J0IHsgTGFtYmRhRXh0ZW5zaW9uIH0gZnJvbSBcIi4vbGFtYmRhLWV4dGVuc2lvblwiO1xuaW1wb3J0IHR5cGUgeyBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9sYW1iZGEtZnVuY3Rpb25cIjtcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uIH0gZnJvbSBcIi4vbGFtYmRhLWZ1bmN0aW9uXCI7XG5pbXBvcnQgdHlwZSB7IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlckJhc2VPcHRpb25zIH0gZnJvbSBcIi4uL2Nka1wiO1xuaW1wb3J0IHsgQXV0b0Rpc2NvdmVyQmFzZSwgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSB9IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogQ29tbW9uIG9wdGlvbnMgZm9yIGF1dG8gZGlzY292ZXJpbmcgcHJvamVjdCBzdWJjb21wb25lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgdHNjb25maWcgZmlsZSB0byB1c2UgZm9yIGludGVncmF0aW9uIHRlc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFXUyBDREsgZGVwZW5kZW5jeSBtYW5hZ2VyLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBBdXRvRGlzY292ZXJDb21tb25PcHRpb25zLCBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdE9wdGlvbnM/OiBJbnRlZ3JhdGlvblRlc3RDb21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZnJvbSBlbnRyeSBwb2ludHMgZGlzY292ZXJlZCBpbiB0aGUgdGVzdCB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBvcHRpb25zKTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIC4uLm9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBMYW1iZGFBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhQXV0b0Rpc2NvdmVyT3B0aW9ucyBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCBzb3VyY2UgdHJlZSAocmVsYXRpdmUgdG8gcHJvamVjdCBvdXRwdXQgZGlyZWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBBV1MgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnM7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBsYW1iZGFzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3QncyBzb3VyY2UgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYUF1dG9EaXNjb3ZlciBleHRlbmRzIEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwge1xuICAgICAgcHJvamVjdGRpcjogb3B0aW9ucy5zcmNkaXIsXG4gICAgICBleHRlbnNpb246IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFNpbmdsZXRvbkxhbWJkYUF1dG9EaXNjb3ZlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW5nbGV0b25MYW1iZGFBdXRvRGlzY292ZXJPcHRpb25zIGV4dGVuZHMgQXV0b0Rpc2NvdmVyQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQcm9qZWN0IHNvdXJjZSB0cmVlIChyZWxhdGl2ZSB0byBwcm9qZWN0IG91dHB1dCBkaXJlY3RvcnkpLlxuICAgKi9cbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIEFXUyBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHNpbmdsZXRvbiBsYW1iZGFzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3QncyBzb3VyY2UgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpbmdsZXRvbkxhbWJkYUF1dG9EaXNjb3ZlciBleHRlbmRzIEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBTaW5nbGV0b25MYW1iZGFBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwge1xuICAgICAgcHJvamVjdGRpcjogb3B0aW9ucy5zcmNkaXIsXG4gICAgICBleHRlbnNpb246IFRZUEVTQ1JJUFRfU0lOR0xFVE9OX0xBTUJEQV9FWFQsXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgdGhpcy5lbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHNpbmdsZXRvblV1aWQ6IHRvRGV0ZXJtaW5pc3RpY1NpbmdsZXRvblV1aWQoXG4gICAgICAgICAgdGhpcy5wcm9qZWN0Lm5hbWUsXG4gICAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgKSxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgICBzaW5nbGV0b246IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgRWRnZUxhbWJkYUF1dG9EaXNjb3ZlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGdlTGFtYmRhQXV0b0Rpc2NvdmVyT3B0aW9ucyBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCBzb3VyY2UgdHJlZSAocmVsYXRpdmUgdG8gcHJvamVjdCBvdXRwdXQgZGlyZWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBBV1MgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnM7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBlZGdlIGxhbWJkYXMgZnJvbSBlbnRyeSBwb2ludHMgZGlzY292ZXJlZCBpbiB0aGUgcHJvamVjdCdzIHNvdXJjZSB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgRWRnZUxhbWJkYUF1dG9EaXNjb3ZlciBleHRlbmRzIEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBFZGdlTGFtYmRhQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIHtcbiAgICAgIHByb2plY3RkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgZXh0ZW5zaW9uOiBUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVCxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgICBlZGdlTGFtYmRhOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3ZlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXJPcHRpb25zIGV4dGVuZHMgQXV0b0Rpc2NvdmVyQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQcm9qZWN0IHNvdXJjZSB0cmVlIChyZWxhdGl2ZSB0byBwcm9qZWN0IG91dHB1dCBkaXJlY3RvcnkpLlxuICAgKi9cbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGxhbWJkYSBleHRlbnNpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRXh0ZW5zaW9uT3B0aW9ucz86IExhbWJkYUV4dGVuc2lvbkNvbW1vbk9wdGlvbnM7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBMYW1iZGEgRXh0ZW5zaW9ucyBmcm9tIGVudHJ5cG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3Qnc1xuICogc291cmNlIHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXIgZXh0ZW5kcyBBdXRvRGlzY292ZXJCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIHtcbiAgICAgIHByb2plY3RkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgZXh0ZW5zaW9uOiBUWVBFU0NSSVBUX0xBTUJEQV9FWFRFTlNJT05fRVhULFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIHRoaXMuZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFFeHRlbnNpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFFeHRlbnNpb25PcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEF1dG9EaXNjb3ZlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvRGlzY292ZXJPcHRpb25zXG4gIGV4dGVuZHNcbiAgICBMYW1iZGFBdXRvRGlzY292ZXJPcHRpb25zLFxuICAgIExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlck9wdGlvbnMsXG4gICAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGxhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG8tZGlzY292ZXIgZWRnZSBsYW1iZGEgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0by1kaXNjb3ZlciBzaW5nbGV0b24gbGFtYmRhIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogVVVJRCBpcyBkZXRlcm1pbmlzdGljYWxseSBkZXJpdmVkIGZyb20gdGhlIHByb2plY3QgbmFtZSBhbmQgZW50cnlwb2ludCBwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzaW5nbGV0b25MYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGxhbWJkYSBleHRlbnNpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGludGVncmF0aW9uIHRlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERpc2NvdmVycyBhbmQgY3JlYXRlcyBpbnRlZ3JhdGlvbiB0ZXN0cyBhbmQgbGFtYmRhcyBmcm9tIGNvZGUgaW4gdGhlXG4gKiBwcm9qZWN0J3Mgc291cmNlIGFuZCB0ZXN0IHRyZWVzLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgaWYgKG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWUpIHtcbiAgICAgIG5ldyBMYW1iZGFBdXRvRGlzY292ZXIodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgdHNjb25maWdQYXRoOiBvcHRpb25zLnRzY29uZmlnUGF0aCxcbiAgICAgICAgc3JjZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgICAgbGFtYmRhT3B0aW9uczogb3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZWRnZUxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlKSB7XG4gICAgICBuZXcgRWRnZUxhbWJkYUF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5zaW5nbGV0b25MYW1iZGFBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IFNpbmdsZXRvbkxhbWJkYUF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5sYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFFeHRlbnNpb25PcHRpb25zOiBvcHRpb25zLmxhbWJkYUV4dGVuc2lvbk9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0ZXN0ZGlyOiBvcHRpb25zLnRlc3RkaXIsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIGludGVncmF0aW9uVGVzdE9wdGlvbnM6IG9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19