projen 0.52.21 → 0.52.25

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 (235) hide show
  1. package/.jsii +139 -107
  2. package/changelog.md +3 -3
  3. package/docs/api/API.md +42 -39
  4. package/lib/awscdk/auto-discover.d.ts +14 -46
  5. package/lib/awscdk/auto-discover.js +8 -22
  6. package/lib/awscdk/awscdk-app-java.d.ts +10 -32
  7. package/lib/awscdk/awscdk-app-java.js +5 -9
  8. package/lib/awscdk/awscdk-app-ts.d.ts +15 -35
  9. package/lib/awscdk/awscdk-app-ts.js +6 -14
  10. package/lib/awscdk/awscdk-construct.d.ts +14 -28
  11. package/lib/awscdk/awscdk-construct.js +8 -16
  12. package/lib/awscdk/awscdk-deps-java.d.ts +1 -8
  13. package/lib/awscdk/awscdk-deps-java.js +3 -10
  14. package/lib/awscdk/awscdk-deps-js.d.ts +1 -8
  15. package/lib/awscdk/awscdk-deps-js.js +3 -10
  16. package/lib/awscdk/awscdk-deps.d.ts +28 -67
  17. package/lib/awscdk/awscdk-deps.js +5 -12
  18. package/lib/awscdk/cdk-config.d.ts +19 -51
  19. package/lib/awscdk/cdk-config.js +13 -11
  20. package/lib/awscdk/cdk-tasks.d.ts +7 -24
  21. package/lib/awscdk/cdk-tasks.js +3 -8
  22. package/lib/awscdk/integration-test.d.ts +7 -29
  23. package/lib/awscdk/integration-test.js +3 -8
  24. package/lib/awscdk/lambda-function.d.ts +22 -50
  25. package/lib/awscdk/lambda-function.js +11 -24
  26. package/lib/build/build-workflow.d.ts +33 -78
  27. package/lib/build/build-workflow.js +15 -25
  28. package/lib/cdk/auto-discover-base.d.ts +11 -34
  29. package/lib/cdk/auto-discover-base.js +5 -15
  30. package/lib/cdk/construct-lib.d.ts +8 -22
  31. package/lib/cdk/construct-lib.js +3 -8
  32. package/lib/cdk/integration-test-base.d.ts +12 -38
  33. package/lib/cdk/integration-test-base.js +2 -8
  34. package/lib/cdk/jsii-docgen.d.ts +6 -12
  35. package/lib/cdk/jsii-docgen.js +6 -8
  36. package/lib/cdk/jsii-project.d.ts +16 -95
  37. package/lib/cdk/jsii-project.js +3 -10
  38. package/lib/cdk8s/auto-discover.d.ts +6 -23
  39. package/lib/cdk8s/auto-discover.js +6 -15
  40. package/lib/cdk8s/cdk8s-app-ts.d.ts +21 -43
  41. package/lib/cdk8s/cdk8s-app-ts.js +4 -7
  42. package/lib/cdk8s/cdk8s-construct.d.ts +12 -27
  43. package/lib/cdk8s/cdk8s-construct.js +3 -7
  44. package/lib/cdk8s/integration-test.d.ts +2 -9
  45. package/lib/cdk8s/integration-test.js +3 -8
  46. package/lib/cdktf/cdktf-construct.d.ts +3 -12
  47. package/lib/cdktf/cdktf-construct.js +3 -7
  48. package/lib/component.d.ts +4 -17
  49. package/lib/component.js +6 -19
  50. package/lib/dependencies.d.ts +44 -77
  51. package/lib/dependencies.js +50 -38
  52. package/lib/dev-env.d.ts +26 -53
  53. package/lib/dev-env.js +9 -19
  54. package/lib/docker-compose.d.ts +83 -209
  55. package/lib/docker-compose.js +38 -61
  56. package/lib/file.d.ts +24 -71
  57. package/lib/file.js +4 -16
  58. package/lib/gitattributes.d.ts +3 -14
  59. package/lib/gitattributes.js +5 -16
  60. package/lib/github/auto-approve.d.ts +7 -23
  61. package/lib/github/auto-approve.js +3 -8
  62. package/lib/github/auto-merge.d.ts +7 -29
  63. package/lib/github/auto-merge.js +7 -16
  64. package/lib/github/dependabot.d.ts +54 -147
  65. package/lib/github/dependabot.js +81 -22
  66. package/lib/github/github-project.d.ts +26 -70
  67. package/lib/github/github-project.js +5 -10
  68. package/lib/github/github.d.ts +19 -58
  69. package/lib/github/github.js +9 -30
  70. package/lib/github/mergify.d.ts +9 -54
  71. package/lib/github/mergify.js +2 -14
  72. package/lib/github/pr-template.d.ts +3 -13
  73. package/lib/github/pr-template.js +3 -8
  74. package/lib/github/pull-request-lint.d.ts +8 -28
  75. package/lib/github/pull-request-lint.js +3 -9
  76. package/lib/github/stale.d.ts +17 -47
  77. package/lib/github/stale.js +6 -10
  78. package/lib/github/task-workflow.d.ts +21 -63
  79. package/lib/github/task-workflow.js +3 -8
  80. package/lib/github/workflows-model.d.ts +199 -582
  81. package/lib/github/workflows-model.js +5 -4
  82. package/lib/github/workflows.d.ts +14 -41
  83. package/lib/github/workflows.js +8 -16
  84. package/lib/gitlab/configuration-model.d.ts +145 -947
  85. package/lib/gitlab/configuration-model.js +11 -28
  86. package/lib/gitlab/configuration.d.ts +31 -121
  87. package/lib/gitlab/configuration.js +14 -49
  88. package/lib/gitlab/gitlab-configuration.d.ts +2 -13
  89. package/lib/gitlab/gitlab-configuration.js +4 -15
  90. package/lib/gitlab/nested-configuration.d.ts +1 -9
  91. package/lib/gitlab/nested-configuration.js +3 -8
  92. package/lib/gitpod.d.ts +71 -167
  93. package/lib/gitpod.js +75 -42
  94. package/lib/ignore-file.d.ts +4 -23
  95. package/lib/ignore-file.js +6 -25
  96. package/lib/ini.d.ts +2 -14
  97. package/lib/ini.js +3 -13
  98. package/lib/java/java-project.d.ts +29 -70
  99. package/lib/java/java-project.js +10 -17
  100. package/lib/java/junit.d.ts +5 -17
  101. package/lib/java/junit.js +3 -8
  102. package/lib/java/maven-compile.d.ts +4 -13
  103. package/lib/java/maven-compile.js +3 -8
  104. package/lib/java/maven-packaging.d.ts +6 -21
  105. package/lib/java/maven-packaging.js +3 -8
  106. package/lib/java/maven-sample.d.ts +2 -12
  107. package/lib/java/maven-sample.js +3 -8
  108. package/lib/java/pom.d.ts +38 -100
  109. package/lib/java/pom.js +13 -25
  110. package/lib/java/projenrc.d.ts +7 -22
  111. package/lib/java/projenrc.js +3 -8
  112. package/lib/javascript/bundler.d.ts +30 -72
  113. package/lib/javascript/bundler.js +13 -21
  114. package/lib/javascript/eslint.d.ts +27 -84
  115. package/lib/javascript/eslint.js +11 -30
  116. package/lib/javascript/jest.d.ts +91 -344
  117. package/lib/javascript/jest.js +6 -23
  118. package/lib/javascript/node-package.d.ts +111 -259
  119. package/lib/javascript/node-package.js +64 -81
  120. package/lib/javascript/node-project.d.ts +112 -220
  121. package/lib/javascript/node-project.js +54 -73
  122. package/lib/javascript/npm-config.d.ts +9 -19
  123. package/lib/javascript/npm-config.js +9 -16
  124. package/lib/javascript/prettier.d.ts +65 -196
  125. package/lib/javascript/prettier.js +70 -46
  126. package/lib/javascript/projenrc.d.ts +2 -12
  127. package/lib/javascript/projenrc.js +3 -8
  128. package/lib/javascript/typescript-config.d.ts +62 -158
  129. package/lib/javascript/typescript-config.js +31 -18
  130. package/lib/javascript/upgrade-dependencies.d.ts +35 -94
  131. package/lib/javascript/upgrade-dependencies.js +21 -51
  132. package/lib/json.d.ts +3 -17
  133. package/lib/json.js +3 -13
  134. package/lib/license.d.ts +3 -20
  135. package/lib/license.js +2 -13
  136. package/lib/logger.d.ts +18 -62
  137. package/lib/logger.js +17 -37
  138. package/lib/makefile.d.ts +14 -45
  139. package/lib/makefile.js +7 -25
  140. package/lib/object-file.d.ts +19 -39
  141. package/lib/object-file.js +17 -28
  142. package/lib/option-hints.d.ts +4 -13
  143. package/lib/option-hints.js +11 -5
  144. package/lib/project-build.d.ts +7 -26
  145. package/lib/project-build.js +3 -8
  146. package/lib/project.d.ts +64 -186
  147. package/lib/project.js +43 -91
  148. package/lib/projects.d.ts +11 -32
  149. package/lib/projects.js +4 -8
  150. package/lib/projenrc-json.d.ts +2 -12
  151. package/lib/projenrc-json.js +3 -8
  152. package/lib/python/pip.d.ts +7 -23
  153. package/lib/python/pip.js +8 -17
  154. package/lib/python/poetry.d.ts +36 -121
  155. package/lib/python/poetry.js +12 -26
  156. package/lib/python/projenrc.d.ts +4 -15
  157. package/lib/python/projenrc.js +3 -8
  158. package/lib/python/pytest.d.ts +3 -16
  159. package/lib/python/pytest.js +2 -8
  160. package/lib/python/python-deps.d.ts +7 -21
  161. package/lib/python/python-deps.js +1 -1
  162. package/lib/python/python-env.d.ts +1 -6
  163. package/lib/python/python-env.js +1 -1
  164. package/lib/python/python-packaging.d.ts +12 -34
  165. package/lib/python/python-packaging.js +1 -1
  166. package/lib/python/python-project.d.ts +34 -79
  167. package/lib/python/python-project.js +7 -20
  168. package/lib/python/python-sample.d.ts +2 -9
  169. package/lib/python/python-sample.js +3 -8
  170. package/lib/python/requirements-file.d.ts +4 -19
  171. package/lib/python/requirements-file.js +5 -15
  172. package/lib/python/setuppy.d.ts +11 -39
  173. package/lib/python/setuppy.js +3 -13
  174. package/lib/python/setuptools.d.ts +2 -14
  175. package/lib/python/setuptools.js +3 -8
  176. package/lib/python/venv.d.ts +4 -14
  177. package/lib/python/venv.js +4 -11
  178. package/lib/readme.d.ts +7 -16
  179. package/lib/readme.js +5 -7
  180. package/lib/release/publisher.d.ts +103 -206
  181. package/lib/release/publisher.js +47 -59
  182. package/lib/release/release-trigger.d.ts +16 -48
  183. package/lib/release/release-trigger.js +8 -18
  184. package/lib/release/release.d.ts +50 -110
  185. package/lib/release/release.js +9 -24
  186. package/lib/run-task.js +1820 -0
  187. package/lib/sample-file.d.ts +14 -47
  188. package/lib/sample-file.js +9 -30
  189. package/lib/semver.d.ts +4 -21
  190. package/lib/semver.js +6 -20
  191. package/lib/source-code.d.ts +7 -23
  192. package/lib/source-code.js +7 -19
  193. package/lib/task-model.d.ts +21 -61
  194. package/lib/task-model.js +1 -1
  195. package/lib/task-runtime.d.ts +7 -24
  196. package/lib/task-runtime.js +7 -20
  197. package/lib/task.d.ts +29 -73
  198. package/lib/task.js +28 -61
  199. package/lib/tasks.d.ts +12 -34
  200. package/lib/tasks.js +14 -36
  201. package/lib/testing.d.ts +6 -10
  202. package/lib/testing.js +8 -12
  203. package/lib/textfile.d.ts +9 -24
  204. package/lib/textfile.js +9 -19
  205. package/lib/toml.d.ts +2 -14
  206. package/lib/toml.js +3 -13
  207. package/lib/typescript/projenrc.d.ts +4 -14
  208. package/lib/typescript/projenrc.js +3 -8
  209. package/lib/typescript/typescript-typedoc.d.ts +1 -6
  210. package/lib/typescript/typescript-typedoc.js +3 -8
  211. package/lib/typescript/typescript.d.ts +24 -82
  212. package/lib/typescript/typescript.js +6 -15
  213. package/lib/version.d.ts +9 -38
  214. package/lib/version.js +2 -11
  215. package/lib/vscode/devcontainer.d.ts +10 -30
  216. package/lib/vscode/devcontainer.js +10 -26
  217. package/lib/vscode/launch-config.d.ts +18 -97
  218. package/lib/vscode/launch-config.js +9 -15
  219. package/lib/vscode/vscode.d.ts +0 -9
  220. package/lib/vscode/vscode.js +2 -11
  221. package/lib/web/next.d.ts +19 -60
  222. package/lib/web/next.js +6 -20
  223. package/lib/web/postcss.d.ts +3 -24
  224. package/lib/web/postcss.js +3 -8
  225. package/lib/web/react.d.ts +13 -60
  226. package/lib/web/react.js +7 -32
  227. package/lib/web/tailwind.d.ts +1 -15
  228. package/lib/web/tailwind.js +3 -7
  229. package/lib/xmlfile.d.ts +2 -14
  230. package/lib/xmlfile.js +3 -13
  231. package/lib/yaml.d.ts +4 -19
  232. package/lib/yaml.js +3 -13
  233. package/package.json +5 -5
  234. package/releasetag.txt +1 -1
  235. package/version.txt +1 -1
@@ -4,136 +4,110 @@ import { Project, ProjectOptions, ProjectType } from "../project";
4
4
  import { SampleReadmeProps } from "../readme";
5
5
  import { DevContainer, VsCode } from "../vscode";
6
6
  /**
7
- * (experimental) Options for `GitHubProject`.
8
- *
9
- * @experimental
7
+ * Options for `GitHubProject`.
10
8
  */
11
9
  export interface GitHubProjectOptions extends ProjectOptions {
12
10
  /**
13
- * (experimental) Add a Gitpod development environment.
11
+ * Add a Gitpod development environment
14
12
  *
15
13
  * @default false
16
- * @experimental
17
14
  */
18
15
  readonly gitpod?: boolean;
19
16
  /**
20
- * (experimental) Enable VSCode integration.
17
+ * Enable VSCode integration.
21
18
  *
22
19
  * Enabled by default for root projects. Disabled for non-root projects.
23
20
  *
24
21
  * @default true
25
- * @experimental
26
22
  */
27
23
  readonly vscode?: boolean;
28
24
  /**
29
- * (experimental) Enable GitHub integration.
25
+ * Enable GitHub integration.
30
26
  *
31
27
  * Enabled by default for root projects. Disabled for non-root projects.
32
28
  *
33
29
  * @default true
34
- * @experimental
35
30
  */
36
31
  readonly github?: boolean;
37
32
  /**
38
- * (experimental) Options for GitHub integration.
33
+ * Options for GitHub integration
39
34
  *
40
35
  * @default - see GitHubOptions
41
- * @experimental
42
36
  */
43
37
  readonly githubOptions?: GitHubOptions;
44
38
  /**
45
- * (deprecated) Whether mergify should be enabled on this repository or not.
39
+ * Whether mergify should be enabled on this repository or not.
46
40
  *
47
41
  * @default true
48
42
  * @deprecated use `githubOptions.mergify` instead
49
43
  */
50
44
  readonly mergify?: boolean;
51
45
  /**
52
- * (deprecated) Options for mergify.
46
+ * Options for mergify
53
47
  *
54
48
  * @default - default options
55
49
  * @deprecated use `githubOptions.mergifyOptions` instead
56
50
  */
57
51
  readonly mergifyOptions?: MergifyOptions;
58
52
  /**
59
- * (experimental) Add a VSCode development environment (used for GitHub Codespaces).
53
+ * Add a VSCode development environment (used for GitHub Codespaces)
60
54
  *
61
55
  * @default false
62
- * @experimental
63
56
  */
64
57
  readonly devContainer?: boolean;
65
58
  /**
66
- * (experimental) Add a `clobber` task which resets the repo to origin.
67
- *
59
+ * Add a `clobber` task which resets the repo to origin.
68
60
  * @default true
69
- * @experimental
70
61
  */
71
62
  readonly clobber?: boolean;
72
63
  /**
73
- * (experimental) The README setup.
64
+ * The README setup.
74
65
  *
75
66
  * @default - { filename: 'README.md', contents: '# replace this' }
76
- * @experimental
77
- * @example
78
- *
79
- * "{ filename: 'readme.md', contents: '# title' }"
67
+ * @example "{ filename: 'readme.md', contents: '# title' }"
80
68
  */
81
69
  readonly readme?: SampleReadmeProps;
82
70
  /**
83
- * (deprecated) Which type of project this is (library/app).
84
- *
71
+ * Which type of project this is (library/app).
85
72
  * @default ProjectType.UNKNOWN
86
73
  * @deprecated no longer supported at the base project level
87
74
  */
88
75
  readonly projectType?: ProjectType;
89
76
  /**
90
- * (experimental) Enable and configure the 'auto approve' workflow.
91
- *
77
+ * Enable and configure the 'auto approve' workflow.
92
78
  * @default - auto approve is disabled
93
- * @experimental
94
79
  */
95
80
  readonly autoApproveOptions?: AutoApproveOptions;
96
81
  /**
97
- * (experimental) Configure options for automatic merging on GitHub.
98
- *
99
- * Has no effect if
82
+ * Configure options for automatic merging on GitHub. Has no effect if
100
83
  * `github.mergify` is set to false.
101
84
  *
102
85
  * @default - see defaults in `AutoMergeOptions`
103
- * @experimental
104
86
  */
105
87
  readonly autoMergeOptions?: AutoMergeOptions;
106
88
  /**
107
- * (experimental) Auto-close stale issues and pull requests.
108
- *
109
- * To disable set `stale` to `false`.
89
+ * Auto-close stale issues and pull requests. To disable set `stale` to `false`.
110
90
  *
111
91
  * @default - see defaults in `StaleOptions`
112
- * @experimental
113
92
  */
114
93
  readonly staleOptions?: StaleOptions;
115
94
  /**
116
- * (experimental) Auto-close of stale issues and pull request.
117
- *
118
- * See `staleOptions` for options.
95
+ * Auto-close of stale issues and pull request. See `staleOptions` for options.
119
96
  *
120
97
  * @default true
121
- * @experimental
122
98
  */
123
99
  readonly stale?: boolean;
124
100
  /**
125
- * (experimental) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
126
- *
127
- * This token needs to have the `repo`, `workflows`
101
+ * The name of a secret which includes a GitHub Personal Access Token to be
102
+ * used by projen workflows. This token needs to have the `repo`, `workflows`
128
103
  * and `packages` scope.
129
104
  *
130
105
  * @default "PROJEN_GITHUB_TOKEN"
131
- * @experimental
132
106
  */
133
107
  readonly projenTokenSecret?: string;
134
108
  }
135
109
  /**
136
- * (deprecated) GitHub-based project.
110
+ * GitHub-based project.
137
111
  *
138
112
  * @deprecated This is a *temporary* class. At the moment, our base project
139
113
  * types such as `NodeProject` and `JavaProject` are derived from this, but we
@@ -143,61 +117,43 @@ export interface GitHubProjectOptions extends ProjectOptions {
143
117
  */
144
118
  export declare class GitHubProject extends Project {
145
119
  /**
146
- * (deprecated) Access all github components.
120
+ * Access all github components.
147
121
  *
148
122
  * This will be `undefined` for subprojects.
149
- *
150
- * @deprecated
151
123
  */
152
124
  readonly github: GitHub | undefined;
153
125
  /**
154
- * (deprecated) Access all VSCode components.
126
+ * Access all VSCode components.
155
127
  *
156
128
  * This will be `undefined` for subprojects.
157
- *
158
- * @deprecated
159
129
  */
160
130
  readonly vscode: VsCode | undefined;
161
131
  /**
162
- * (deprecated) Access for Gitpod.
132
+ * Access for Gitpod
163
133
  *
164
134
  * This will be `undefined` if gitpod boolean is false
165
- *
166
- * @deprecated
167
135
  */
168
136
  readonly gitpod: Gitpod | undefined;
169
137
  /**
170
- * (deprecated) Access for .devcontainer.json (used for GitHub Codespaces).
138
+ * Access for .devcontainer.json (used for GitHub Codespaces)
171
139
  *
172
140
  * This will be `undefined` if devContainer boolean is false
173
- *
174
- * @deprecated
175
141
  */
176
142
  readonly devContainer: DevContainer | undefined;
177
- /**
178
- * @deprecated
179
- */
180
143
  readonly projectType: ProjectType;
181
144
  /**
182
- * (deprecated) Auto approve set up for this project.
183
- *
184
- * @deprecated
145
+ * Auto approve set up for this project.
185
146
  */
186
147
  readonly autoApprove?: AutoApprove;
187
- /**
188
- * @deprecated
189
- */
190
148
  constructor(options: GitHubProjectOptions);
191
149
  /**
192
- * (deprecated) Marks the provided file(s) as being generated.
193
- *
194
- * This is achieved using the
150
+ * Marks the provided file(s) as being generated. This is achieved using the
195
151
  * github-linguist attributes. Generated files do not count against the
196
152
  * repository statistics and language breakdown.
197
153
  *
198
154
  * @param glob the glob pattern to match (could be a file path).
155
+ *
199
156
  * @see https://github.com/github/linguist/blob/master/docs/overrides.md
200
- * @deprecated
201
157
  */
202
158
  annotateGenerated(glob: string): void;
203
159
  }
@@ -10,7 +10,7 @@ const project_1 = require("../project");
10
10
  const readme_1 = require("../readme");
11
11
  const vscode_1 = require("../vscode");
12
12
  /**
13
- * (deprecated) GitHub-based project.
13
+ * GitHub-based project.
14
14
  *
15
15
  * @deprecated This is a *temporary* class. At the moment, our base project
16
16
  * types such as `NodeProject` and `JavaProject` are derived from this, but we
@@ -19,9 +19,6 @@ const vscode_1 = require("../vscode");
19
19
  * "engines" can be used to implement our CI/CD solutions.
20
20
  */
21
21
  class GitHubProject extends project_1.Project {
22
- /**
23
- * @deprecated
24
- */
25
22
  constructor(options) {
26
23
  var _b, _c, _d, _e, _f;
27
24
  super(options);
@@ -55,15 +52,13 @@ class GitHubProject extends project_1.Project {
55
52
  }
56
53
  }
57
54
  /**
58
- * (deprecated) Marks the provided file(s) as being generated.
59
- *
60
- * This is achieved using the
55
+ * Marks the provided file(s) as being generated. This is achieved using the
61
56
  * github-linguist attributes. Generated files do not count against the
62
57
  * repository statistics and language breakdown.
63
58
  *
64
59
  * @param glob the glob pattern to match (could be a file path).
60
+ *
65
61
  * @see https://github.com/github/linguist/blob/master/docs/overrides.md
66
- * @deprecated
67
62
  */
68
63
  annotateGenerated(glob) {
69
64
  this.gitattributes.addAttributes(glob, "linguist-generated");
@@ -71,5 +66,5 @@ class GitHubProject extends project_1.Project {
71
66
  }
72
67
  exports.GitHubProject = GitHubProject;
73
68
  _a = JSII_RTTI_SYMBOL_1;
74
- GitHubProject[_a] = { fqn: "projen.github.GitHubProject", version: "0.52.21" };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL2dpdGh1Yi1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0JBU1c7QUFDWCx3Q0FBcUM7QUFDckMsc0NBQW1DO0FBQ25DLHdDQUFrRTtBQUNsRSxzQ0FBNEQ7QUFDNUQsc0NBQWlEOzs7Ozs7Ozs7O0FBbURqRCxNQUFhLGFBQWMsU0FBUSxpQkFBTzs7OztJQW1CeEMsWUFBWSxPQUE2Qjs7UUFDdkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLFdBQVcsU0FBRyxPQUFPLENBQUMsV0FBVyxtQ0FBSSxxQkFBVyxDQUFDLE9BQU8sQ0FBQztRQUM5RCxrRUFBa0U7UUFDbEUsTUFBTSxNQUFNLFNBQUcsT0FBTyxDQUFDLE1BQU0sbUNBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTTtZQUNsQixDQUFDLENBQUMsSUFBSSxTQUFNLENBQUMsSUFBSSxFQUFFO2dCQUNmLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO2dCQUN0QyxHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQ3pCLENBQUM7WUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsTUFBTSxNQUFNLFNBQUcsT0FBTyxDQUFDLE1BQU0sbUNBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXBELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZO1lBQ3RDLENBQUMsQ0FBQyxJQUFJLHFCQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxVQUFJLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLElBQUksRUFBRTtZQUMzQixJQUFJLGlCQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7UUFFRCxJQUFJLHFCQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxjQUFXLENBQ2hDLElBQUksQ0FBQyxNQUFNLEVBQ1gsT0FBTyxDQUFDLGtCQUFrQixDQUMzQixDQUFDO1NBQ0g7UUFFRCxNQUFNLEtBQUssU0FBRyxPQUFPLENBQUMsS0FBSyxtQ0FBSSxJQUFJLENBQUM7UUFDcEMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN4QixJQUFJLFFBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7Ozs7Ozs7Ozs7OztJQUdNLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDL0QsQ0FBQzs7QUFoRUgsc0NBaUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXV0b0FwcHJvdmUsXG4gIEF1dG9BcHByb3ZlT3B0aW9ucyxcbiAgQXV0b01lcmdlT3B0aW9ucyxcbiAgR2l0SHViLFxuICBHaXRIdWJPcHRpb25zLFxuICBNZXJnaWZ5T3B0aW9ucyxcbiAgU3RhbGUsXG4gIFN0YWxlT3B0aW9ucyxcbn0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IENsb2JiZXIgfSBmcm9tIFwiLi4vY2xvYmJlclwiO1xuaW1wb3J0IHsgR2l0cG9kIH0gZnJvbSBcIi4uL2dpdHBvZFwiO1xuaW1wb3J0IHsgUHJvamVjdCwgUHJvamVjdE9wdGlvbnMsIFByb2plY3RUeXBlIH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IFNhbXBsZVJlYWRtZSwgU2FtcGxlUmVhZG1lUHJvcHMgfSBmcm9tIFwiLi4vcmVhZG1lXCI7XG5pbXBvcnQgeyBEZXZDb250YWluZXIsIFZzQ29kZSB9IGZyb20gXCIuLi92c2NvZGVcIjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1YlByb2plY3RPcHRpb25zIGV4dGVuZHMgUHJvamVjdE9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGdpdHBvZD86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2c2NvZGU/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZ2l0aHViPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZ2l0aHViT3B0aW9ucz86IEdpdEh1Yk9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWVyZ2lmeT86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWVyZ2lmeU9wdGlvbnM/OiBNZXJnaWZ5T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGV2Q29udGFpbmVyPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2xvYmJlcj86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVhZG1lPzogU2FtcGxlUmVhZG1lUHJvcHM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByb2plY3RUeXBlPzogUHJvamVjdFR5cGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGF1dG9BcHByb3ZlT3B0aW9ucz86IEF1dG9BcHByb3ZlT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXV0b01lcmdlT3B0aW9ucz86IEF1dG9NZXJnZU9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHN0YWxlT3B0aW9ucz86IFN0YWxlT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHN0YWxlPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByb2plblRva2VuU2VjcmV0Pzogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgR2l0SHViUHJvamVjdCBleHRlbmRzIFByb2plY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGdpdGh1YjogR2l0SHViIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgdnNjb2RlOiBWc0NvZGUgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZ2l0cG9kOiBHaXRwb2QgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBkZXZDb250YWluZXI6IERldkNvbnRhaW5lciB8IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBhdXRvQXBwcm92ZT86IEF1dG9BcHByb3ZlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEdpdEh1YlByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLnByb2plY3RUeXBlID0gb3B0aW9ucy5wcm9qZWN0VHlwZSA/PyBQcm9qZWN0VHlwZS5VTktOT1dOO1xuICAgIC8vIHdlIG9ubHkgYWxsb3cgdGhlc2UgZ2xvYmFsIHNlcnZpY2VzIHRvIGJlIHVzZWQgaW4gcm9vdCBwcm9qZWN0c1xuICAgIGNvbnN0IGdpdGh1YiA9IG9wdGlvbnMuZ2l0aHViID8/ICh0aGlzLnBhcmVudCA/IGZhbHNlIDogdHJ1ZSk7XG4gICAgdGhpcy5naXRodWIgPSBnaXRodWJcbiAgICAgID8gbmV3IEdpdEh1Yih0aGlzLCB7XG4gICAgICAgICAgcHJvamVuVG9rZW5TZWNyZXQ6IG9wdGlvbnMucHJvamVuVG9rZW5TZWNyZXQsXG4gICAgICAgICAgbWVyZ2lmeTogb3B0aW9ucy5tZXJnaWZ5LFxuICAgICAgICAgIG1lcmdpZnlPcHRpb25zOiBvcHRpb25zLm1lcmdpZnlPcHRpb25zLFxuICAgICAgICAgIC4uLm9wdGlvbnMuZ2l0aHViT3B0aW9ucyxcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgdnNjb2RlID0gb3B0aW9ucy52c2NvZGUgPz8gKHRoaXMucGFyZW50ID8gZmFsc2UgOiB0cnVlKTtcbiAgICB0aGlzLnZzY29kZSA9IHZzY29kZSA/IG5ldyBWc0NvZGUodGhpcykgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmdpdHBvZCA9IG9wdGlvbnMuZ2l0cG9kID8gbmV3IEdpdHBvZCh0aGlzKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRldkNvbnRhaW5lciA9IG9wdGlvbnMuZGV2Q29udGFpbmVyXG4gICAgICA/IG5ldyBEZXZDb250YWluZXIodGhpcylcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKG9wdGlvbnMuY2xvYmJlciA/PyB0cnVlKSB7XG4gICAgICBuZXcgQ2xvYmJlcih0aGlzKTtcbiAgICB9XG5cbiAgICBuZXcgU2FtcGxlUmVhZG1lKHRoaXMsIG9wdGlvbnMucmVhZG1lKTtcblxuICAgIGlmIChvcHRpb25zLmF1dG9BcHByb3ZlT3B0aW9ucyAmJiB0aGlzLmdpdGh1Yikge1xuICAgICAgdGhpcy5hdXRvQXBwcm92ZSA9IG5ldyBBdXRvQXBwcm92ZShcbiAgICAgICAgdGhpcy5naXRodWIsXG4gICAgICAgIG9wdGlvbnMuYXV0b0FwcHJvdmVPcHRpb25zXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWxlID0gb3B0aW9ucy5zdGFsZSA/PyB0cnVlO1xuICAgIGlmIChzdGFsZSAmJiB0aGlzLmdpdGh1Yikge1xuICAgICAgbmV3IFN0YWxlKHRoaXMuZ2l0aHViLCBvcHRpb25zLnN0YWxlT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFubm90YXRlR2VuZXJhdGVkKGdsb2I6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ2l0YXR0cmlidXRlcy5hZGRBdHRyaWJ1dGVzKGdsb2IsIFwibGluZ3Vpc3QtZ2VuZXJhdGVkXCIpO1xuICB9XG59XG4iXX0=
69
+ GitHubProject[_a] = { fqn: "projen.github.GitHubProject", version: "0.52.25" };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL2dpdGh1Yi1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0JBU1c7QUFDWCx3Q0FBcUM7QUFDckMsc0NBQW1DO0FBQ25DLHdDQUFrRTtBQUNsRSxzQ0FBNEQ7QUFDNUQsc0NBQWlEO0FBd0hqRDs7Ozs7Ozs7R0FRRztBQUNILE1BQWEsYUFBYyxTQUFRLGlCQUFPO0lBeUN4QyxZQUFZLE9BQTZCOztRQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsV0FBVyxTQUFHLE9BQU8sQ0FBQyxXQUFXLG1DQUFJLHFCQUFXLENBQUMsT0FBTyxDQUFDO1FBQzlELGtFQUFrRTtRQUNsRSxNQUFNLE1BQU0sU0FBRyxPQUFPLENBQUMsTUFBTSxtQ0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNO1lBQ2xCLENBQUMsQ0FBQyxJQUFJLFNBQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2YsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtnQkFDNUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7Z0JBQ3RDLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDekIsQ0FBQztZQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxNQUFNLE1BQU0sU0FBRyxPQUFPLENBQUMsTUFBTSxtQ0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVk7WUFDdEMsQ0FBQyxDQUFDLElBQUkscUJBQVksQ0FBQyxJQUFJLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVkLFVBQUksT0FBTyxDQUFDLE9BQU8sbUNBQUksSUFBSSxFQUFFO1lBQzNCLElBQUksaUJBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUVELElBQUkscUJBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGNBQVcsQ0FDaEMsSUFBSSxDQUFDLE1BQU0sRUFDWCxPQUFPLENBQUMsa0JBQWtCLENBQzNCLENBQUM7U0FDSDtRQUVELE1BQU0sS0FBSyxTQUFHLE9BQU8sQ0FBQyxLQUFLLG1DQUFJLElBQUksQ0FBQztRQUNwQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksUUFBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksaUJBQWlCLENBQUMsSUFBWTtRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUMvRCxDQUFDOztBQTlGSCxzQ0ErRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdXRvQXBwcm92ZSxcbiAgQXV0b0FwcHJvdmVPcHRpb25zLFxuICBBdXRvTWVyZ2VPcHRpb25zLFxuICBHaXRIdWIsXG4gIEdpdEh1Yk9wdGlvbnMsXG4gIE1lcmdpZnlPcHRpb25zLFxuICBTdGFsZSxcbiAgU3RhbGVPcHRpb25zLFxufSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgQ2xvYmJlciB9IGZyb20gXCIuLi9jbG9iYmVyXCI7XG5pbXBvcnQgeyBHaXRwb2QgfSBmcm9tIFwiLi4vZ2l0cG9kXCI7XG5pbXBvcnQgeyBQcm9qZWN0LCBQcm9qZWN0T3B0aW9ucywgUHJvamVjdFR5cGUgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgU2FtcGxlUmVhZG1lLCBTYW1wbGVSZWFkbWVQcm9wcyB9IGZyb20gXCIuLi9yZWFkbWVcIjtcbmltcG9ydCB7IERldkNvbnRhaW5lciwgVnNDb2RlIH0gZnJvbSBcIi4uL3ZzY29kZVwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBHaXRIdWJQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJQcm9qZWN0T3B0aW9ucyBleHRlbmRzIFByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFkZCBhIEdpdHBvZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0cG9kPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIFZTQ29kZSBpbnRlZ3JhdGlvbi5cbiAgICpcbiAgICogRW5hYmxlZCBieSBkZWZhdWx0IGZvciByb290IHByb2plY3RzLiBEaXNhYmxlZCBmb3Igbm9uLXJvb3QgcHJvamVjdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZzY29kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBHaXRIdWIgaW50ZWdyYXRpb24uXG4gICAqXG4gICAqIEVuYWJsZWQgYnkgZGVmYXVsdCBmb3Igcm9vdCBwcm9qZWN0cy4gRGlzYWJsZWQgZm9yIG5vbi1yb290IHByb2plY3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBnaXRodWI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBHaXRIdWIgaW50ZWdyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzZWUgR2l0SHViT3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViT3B0aW9ucz86IEdpdEh1Yk9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgbWVyZ2lmeSBzaG91bGQgYmUgZW5hYmxlZCBvbiB0aGlzIHJlcG9zaXRvcnkgb3Igbm90LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgZ2l0aHViT3B0aW9ucy5tZXJnaWZ5YCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBtZXJnaWZ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgbWVyZ2lmeVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdpdGh1Yk9wdGlvbnMubWVyZ2lmeU9wdGlvbnNgIGluc3RlYWRcbiAgICovXG4gIHJlYWRvbmx5IG1lcmdpZnlPcHRpb25zPzogTWVyZ2lmeU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFkZCBhIFZTQ29kZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCAodXNlZCBmb3IgR2l0SHViIENvZGVzcGFjZXMpXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXZDb250YWluZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBgY2xvYmJlcmAgdGFzayB3aGljaCByZXNldHMgdGhlIHJlcG8gdG8gb3JpZ2luLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjbG9iYmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIFJFQURNRSBzZXR1cC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB7IGZpbGVuYW1lOiAnUkVBRE1FLm1kJywgY29udGVudHM6ICcjIHJlcGxhY2UgdGhpcycgfVxuICAgKiBAZXhhbXBsZSBcInsgZmlsZW5hbWU6ICdyZWFkbWUubWQnLCBjb250ZW50czogJyMgdGl0bGUnIH1cIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZG1lPzogU2FtcGxlUmVhZG1lUHJvcHM7XG5cbiAgLyoqXG4gICAqIFdoaWNoIHR5cGUgb2YgcHJvamVjdCB0aGlzIGlzIChsaWJyYXJ5L2FwcCkuXG4gICAqIEBkZWZhdWx0IFByb2plY3RUeXBlLlVOS05PV05cbiAgICogQGRlcHJlY2F0ZWQgbm8gbG9uZ2VyIHN1cHBvcnRlZCBhdCB0aGUgYmFzZSBwcm9qZWN0IGxldmVsXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0VHlwZT86IFByb2plY3RUeXBlO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgJ2F1dG8gYXBwcm92ZScgd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IC0gYXV0byBhcHByb3ZlIGlzIGRpc2FibGVkXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZU9wdGlvbnM/OiBBdXRvQXBwcm92ZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBvcHRpb25zIGZvciBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuIEhhcyBubyBlZmZlY3QgaWZcbiAgICogYGdpdGh1Yi5tZXJnaWZ5YCBpcyBzZXQgdG8gZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gc2VlIGRlZmF1bHRzIGluIGBBdXRvTWVyZ2VPcHRpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b01lcmdlT3B0aW9ucz86IEF1dG9NZXJnZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEF1dG8tY2xvc2Ugc3RhbGUgaXNzdWVzIGFuZCBwdWxsIHJlcXVlc3RzLiBUbyBkaXNhYmxlIHNldCBgc3RhbGVgIHRvIGBmYWxzZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gc2VlIGRlZmF1bHRzIGluIGBTdGFsZU9wdGlvbnNgXG4gICAqL1xuICByZWFkb25seSBzdGFsZU9wdGlvbnM/OiBTdGFsZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEF1dG8tY2xvc2Ugb2Ygc3RhbGUgaXNzdWVzIGFuZCBwdWxsIHJlcXVlc3QuIFNlZSBgc3RhbGVPcHRpb25zYCBmb3Igb3B0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIHNlY3JldCB3aGljaCBpbmNsdWRlcyBhIEdpdEh1YiBQZXJzb25hbCBBY2Nlc3MgVG9rZW4gdG8gYmVcbiAgICogdXNlZCBieSBwcm9qZW4gd29ya2Zsb3dzLiBUaGlzIHRva2VuIG5lZWRzIHRvIGhhdmUgdGhlIGByZXBvYCwgYHdvcmtmbG93c2BcbiAgICogYW5kIGBwYWNrYWdlc2Agc2NvcGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUFJPSkVOX0dJVEhVQl9UT0tFTlwiXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Ub2tlblNlY3JldD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBHaXRIdWItYmFzZWQgcHJvamVjdC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGEgKnRlbXBvcmFyeSogY2xhc3MuIEF0IHRoZSBtb21lbnQsIG91ciBiYXNlIHByb2plY3RcbiAqIHR5cGVzIHN1Y2ggYXMgYE5vZGVQcm9qZWN0YCBhbmQgYEphdmFQcm9qZWN0YCBhcmUgZGVyaXZlZCBmcm9tIHRoaXMsIGJ1dCB3ZVxuICogd2FudCB0byBiZSBhYmxlIHRvIHVzZSB0aGVzZSBwcm9qZWN0IHR5cGVzIG91dHNpZGUgb2YgR2l0SHViIGFzIHdlbGwuIE9uZSBvZlxuICogdGhlIG5leHQgc3RlcHMgdG8gYWRkcmVzcyB0aGlzIGlzIHRvIGFic3RyYWN0IHdvcmtmbG93cyBzbyB0aGF0IGRpZmZlcmVudFxuICogXCJlbmdpbmVzXCIgY2FuIGJlIHVzZWQgdG8gaW1wbGVtZW50IG91ciBDSS9DRCBzb2x1dGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRIdWJQcm9qZWN0IGV4dGVuZHMgUHJvamVjdCB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgYWxsIGdpdGh1YiBjb21wb25lbnRzLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgYmUgYHVuZGVmaW5lZGAgZm9yIHN1YnByb2plY3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdpdGh1YjogR2l0SHViIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgYWxsIFZTQ29kZSBjb21wb25lbnRzLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgYmUgYHVuZGVmaW5lZGAgZm9yIHN1YnByb2plY3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZzY29kZTogVnNDb2RlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgZm9yIEdpdHBvZFxuICAgKlxuICAgKiBUaGlzIHdpbGwgYmUgYHVuZGVmaW5lZGAgaWYgZ2l0cG9kIGJvb2xlYW4gaXMgZmFsc2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBnaXRwb2Q6IEdpdHBvZCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQWNjZXNzIGZvciAuZGV2Y29udGFpbmVyLmpzb24gKHVzZWQgZm9yIEdpdEh1YiBDb2Rlc3BhY2VzKVxuICAgKlxuICAgKiBUaGlzIHdpbGwgYmUgYHVuZGVmaW5lZGAgaWYgZGV2Q29udGFpbmVyIGJvb2xlYW4gaXMgZmFsc2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXZDb250YWluZXI6IERldkNvbnRhaW5lciB8IHVuZGVmaW5lZDtcblxuICAvKlxuICAgKiBXaGljaCBwcm9qZWN0IHR5cGUgdGhpcyBpcy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0VHlwZTogUHJvamVjdFR5cGU7XG5cbiAgLyoqXG4gICAqIEF1dG8gYXBwcm92ZSBzZXQgdXAgZm9yIHRoaXMgcHJvamVjdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdXRvQXBwcm92ZT86IEF1dG9BcHByb3ZlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEdpdEh1YlByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLnByb2plY3RUeXBlID0gb3B0aW9ucy5wcm9qZWN0VHlwZSA/PyBQcm9qZWN0VHlwZS5VTktOT1dOO1xuICAgIC8vIHdlIG9ubHkgYWxsb3cgdGhlc2UgZ2xvYmFsIHNlcnZpY2VzIHRvIGJlIHVzZWQgaW4gcm9vdCBwcm9qZWN0c1xuICAgIGNvbnN0IGdpdGh1YiA9IG9wdGlvbnMuZ2l0aHViID8/ICh0aGlzLnBhcmVudCA/IGZhbHNlIDogdHJ1ZSk7XG4gICAgdGhpcy5naXRodWIgPSBnaXRodWJcbiAgICAgID8gbmV3IEdpdEh1Yih0aGlzLCB7XG4gICAgICAgICAgcHJvamVuVG9rZW5TZWNyZXQ6IG9wdGlvbnMucHJvamVuVG9rZW5TZWNyZXQsXG4gICAgICAgICAgbWVyZ2lmeTogb3B0aW9ucy5tZXJnaWZ5LFxuICAgICAgICAgIG1lcmdpZnlPcHRpb25zOiBvcHRpb25zLm1lcmdpZnlPcHRpb25zLFxuICAgICAgICAgIC4uLm9wdGlvbnMuZ2l0aHViT3B0aW9ucyxcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgdnNjb2RlID0gb3B0aW9ucy52c2NvZGUgPz8gKHRoaXMucGFyZW50ID8gZmFsc2UgOiB0cnVlKTtcbiAgICB0aGlzLnZzY29kZSA9IHZzY29kZSA/IG5ldyBWc0NvZGUodGhpcykgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmdpdHBvZCA9IG9wdGlvbnMuZ2l0cG9kID8gbmV3IEdpdHBvZCh0aGlzKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRldkNvbnRhaW5lciA9IG9wdGlvbnMuZGV2Q29udGFpbmVyXG4gICAgICA/IG5ldyBEZXZDb250YWluZXIodGhpcylcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKG9wdGlvbnMuY2xvYmJlciA/PyB0cnVlKSB7XG4gICAgICBuZXcgQ2xvYmJlcih0aGlzKTtcbiAgICB9XG5cbiAgICBuZXcgU2FtcGxlUmVhZG1lKHRoaXMsIG9wdGlvbnMucmVhZG1lKTtcblxuICAgIGlmIChvcHRpb25zLmF1dG9BcHByb3ZlT3B0aW9ucyAmJiB0aGlzLmdpdGh1Yikge1xuICAgICAgdGhpcy5hdXRvQXBwcm92ZSA9IG5ldyBBdXRvQXBwcm92ZShcbiAgICAgICAgdGhpcy5naXRodWIsXG4gICAgICAgIG9wdGlvbnMuYXV0b0FwcHJvdmVPcHRpb25zXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWxlID0gb3B0aW9ucy5zdGFsZSA/PyB0cnVlO1xuICAgIGlmIChzdGFsZSAmJiB0aGlzLmdpdGh1Yikge1xuICAgICAgbmV3IFN0YWxlKHRoaXMuZ2l0aHViLCBvcHRpb25zLnN0YWxlT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1hcmtzIHRoZSBwcm92aWRlZCBmaWxlKHMpIGFzIGJlaW5nIGdlbmVyYXRlZC4gVGhpcyBpcyBhY2hpZXZlZCB1c2luZyB0aGVcbiAgICogZ2l0aHViLWxpbmd1aXN0IGF0dHJpYnV0ZXMuIEdlbmVyYXRlZCBmaWxlcyBkbyBub3QgY291bnQgYWdhaW5zdCB0aGVcbiAgICogcmVwb3NpdG9yeSBzdGF0aXN0aWNzIGFuZCBsYW5ndWFnZSBicmVha2Rvd24uXG4gICAqXG4gICAqIEBwYXJhbSBnbG9iIHRoZSBnbG9iIHBhdHRlcm4gdG8gbWF0Y2ggKGNvdWxkIGJlIGEgZmlsZSBwYXRoKS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2xpbmd1aXN0L2Jsb2IvbWFzdGVyL2RvY3Mvb3ZlcnJpZGVzLm1kXG4gICAqL1xuICBwdWJsaWMgYW5ub3RhdGVHZW5lcmF0ZWQoZ2xvYjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5naXRhdHRyaWJ1dGVzLmFkZEF0dHJpYnV0ZXMoZ2xvYiwgXCJsaW5ndWlzdC1nZW5lcmF0ZWRcIik7XG4gIH1cbn1cbiJdfQ==
@@ -5,122 +5,83 @@ import { Mergify, MergifyOptions } from "./mergify";
5
5
  import { PullRequestTemplate } from "./pr-template";
6
6
  import { PullRequestLintOptions } from "./pull-request-lint";
7
7
  import { GithubWorkflow } from "./workflows";
8
- /**
9
- * @experimental
10
- */
11
8
  export interface GitHubOptions {
12
9
  /**
13
- * (experimental) Whether mergify should be enabled on this repository or not.
10
+ * Whether mergify should be enabled on this repository or not.
14
11
  *
15
12
  * @default true
16
- * @experimental
17
13
  */
18
14
  readonly mergify?: boolean;
19
15
  /**
20
- * (experimental) Options for Mergify.
16
+ * Options for Mergify.
21
17
  *
22
18
  * @default - default options
23
- * @experimental
24
19
  */
25
20
  readonly mergifyOptions?: MergifyOptions;
26
21
  /**
27
- * (experimental) Enables GitHub workflows.
28
- *
29
- * If this is set to `false`, workflows will not be created.
22
+ * Enables GitHub workflows. If this is set to `false`, workflows will not be created.
30
23
  *
31
24
  * @default true
32
- * @experimental
33
25
  */
34
26
  readonly workflows?: boolean;
35
27
  /**
36
- * (experimental) Add a workflow that performs basic checks for pull requests, like validating that PRs follow Conventional Commits.
28
+ * Add a workflow that performs basic checks for pull requests, like
29
+ * validating that PRs follow Conventional Commits.
37
30
  *
38
31
  * @default true
39
- * @experimental
40
32
  */
41
33
  readonly pullRequestLint?: boolean;
42
34
  /**
43
- * (experimental) Options for configuring a pull request linter.
35
+ * Options for configuring a pull request linter.
44
36
  *
45
37
  * @default - see defaults in `PullRequestLintOptions`
46
- * @experimental
47
38
  */
48
39
  readonly pullRequestLintOptions?: PullRequestLintOptions;
49
40
  /**
50
- * (experimental) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
51
- *
52
- * This token needs to have the `repo`, `workflows`
41
+ * The name of a secret which includes a GitHub Personal Access Token to be
42
+ * used by projen workflows. This token needs to have the `repo`, `workflows`
53
43
  * and `packages` scope.
54
44
  *
55
45
  * @default "PROJEN_GITHUB_TOKEN"
56
- * @experimental
57
46
  */
58
47
  readonly projenTokenSecret?: string;
59
48
  }
60
- /**
61
- * @experimental
62
- */
63
49
  export declare class GitHub extends Component {
64
50
  /**
65
- * (experimental) Returns the `GitHub` component of a project or `undefined` if the project does not have a GitHub component.
66
- *
67
- * @experimental
51
+ * Returns the `GitHub` component of a project or `undefined` if the project
52
+ * does not have a GitHub component.
68
53
  */
69
54
  static of(project: Project): GitHub | undefined;
70
55
  /**
71
- * (experimental) The `Mergify` configured on this repository.
72
- *
73
- * This is `undefined` if Mergify
56
+ * The `Mergify` configured on this repository. This is `undefined` if Mergify
74
57
  * was not enabled when creating the repository.
75
- *
76
- * @experimental
77
58
  */
78
59
  readonly mergify?: Mergify;
79
60
  /**
80
- * (experimental) Are workflows enabled?
81
- *
82
- * @experimental
61
+ * Are workflows enabled?
83
62
  */
84
63
  readonly workflowsEnabled: boolean;
85
64
  /**
86
- * (experimental) The name of a secret with a GitHub Personal Access Token to be used by projen workflows.
87
- *
88
- * @experimental
65
+ * The name of a secret with a GitHub Personal Access Token to be used by
66
+ * projen workflows.
89
67
  */
90
68
  readonly projenTokenSecret: string;
91
- /**
92
- * @experimental
93
- */
94
69
  constructor(project: Project, options?: GitHubOptions);
95
70
  /**
96
- * (experimental) All workflows.
97
- *
98
- * @experimental
71
+ * All workflows.
99
72
  */
100
73
  get workflows(): GithubWorkflow[];
101
74
  /**
102
- * (experimental) Adds a workflow to the project.
103
- *
104
- * @param name Name of the workflow.
75
+ * Adds a workflow to the project.
76
+ * @param name Name of the workflow
105
77
  * @returns a GithubWorkflow instance
106
- * @experimental
107
78
  */
108
79
  addWorkflow(name: string): GithubWorkflow;
109
- /**
110
- * @experimental
111
- */
112
80
  addPullRequestTemplate(...content: string[]): PullRequestTemplate;
113
- /**
114
- * @experimental
115
- */
116
81
  addDependabot(options?: DependabotOptions): Dependabot;
117
82
  /**
118
- * (experimental) Finds a GitHub workflow by name.
119
- *
120
- * Returns `undefined` if the workflow cannot be found.
121
- *
122
- * @param name The name of the GitHub workflow.
123
- * @experimental
83
+ * Finds a GitHub workflow by name. Returns `undefined` if the workflow cannot be found.
84
+ * @param name The name of the GitHub workflow
124
85
  */
125
86
  tryFindWorkflow(name: string): undefined | GithubWorkflow;
126
87
  }
@@ -9,13 +9,7 @@ const mergify_1 = require("./mergify");
9
9
  const pr_template_1 = require("./pr-template");
10
10
  const pull_request_lint_1 = require("./pull-request-lint");
11
11
  const workflows_1 = require("./workflows");
12
- /**
13
- * @experimental
14
- */
15
12
  class GitHub extends component_1.Component {
16
- /**
17
- * @experimental
18
- */
19
13
  constructor(project, options = {}) {
20
14
  var _b, _c, _d, _e;
21
15
  super(project);
@@ -29,18 +23,15 @@ class GitHub extends component_1.Component {
29
23
  }
30
24
  }
31
25
  /**
32
- * (experimental) Returns the `GitHub` component of a project or `undefined` if the project does not have a GitHub component.
33
- *
34
- * @experimental
26
+ * Returns the `GitHub` component of a project or `undefined` if the project
27
+ * does not have a GitHub component.
35
28
  */
36
29
  static of(project) {
37
30
  const isGitHub = (c) => c instanceof GitHub;
38
31
  return project.components.find(isGitHub);
39
32
  }
40
33
  /**
41
- * (experimental) All workflows.
42
- *
43
- * @experimental
34
+ * All workflows.
44
35
  */
45
36
  get workflows() {
46
37
  const isWorkflow = (c) => c instanceof workflows_1.GithubWorkflow;
@@ -49,35 +40,23 @@ class GitHub extends component_1.Component {
49
40
  .sort((w1, w2) => w1.name.localeCompare(w2.name));
50
41
  }
51
42
  /**
52
- * (experimental) Adds a workflow to the project.
53
- *
54
- * @param name Name of the workflow.
43
+ * Adds a workflow to the project.
44
+ * @param name Name of the workflow
55
45
  * @returns a GithubWorkflow instance
56
- * @experimental
57
46
  */
58
47
  addWorkflow(name) {
59
48
  const workflow = new workflows_1.GithubWorkflow(this, name);
60
49
  return workflow;
61
50
  }
62
- /**
63
- * @experimental
64
- */
65
51
  addPullRequestTemplate(...content) {
66
52
  return new pr_template_1.PullRequestTemplate(this, { lines: content });
67
53
  }
68
- /**
69
- * @experimental
70
- */
71
54
  addDependabot(options) {
72
55
  return new dependabot_1.Dependabot(this, options);
73
56
  }
74
57
  /**
75
- * (experimental) Finds a GitHub workflow by name.
76
- *
77
- * Returns `undefined` if the workflow cannot be found.
78
- *
79
- * @param name The name of the GitHub workflow.
80
- * @experimental
58
+ * Finds a GitHub workflow by name. Returns `undefined` if the workflow cannot be found.
59
+ * @param name The name of the GitHub workflow
81
60
  */
82
61
  tryFindWorkflow(name) {
83
62
  return this.workflows.find((w) => w.name === name);
@@ -85,5 +64,5 @@ class GitHub extends component_1.Component {
85
64
  }
86
65
  exports.GitHub = GitHub;
87
66
  _a = JSII_RTTI_SYMBOL_1;
88
- GitHub[_a] = { fqn: "projen.github.GitHub", version: "0.52.21" };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dpdGh1Yi9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7QUFFekMsNkNBQTZEO0FBQzdELHVDQUFvRDtBQUNwRCwrQ0FBb0Q7QUFDcEQsMkRBQThFO0FBQzlFLDJDQUE2Qzs7OztBQXNCN0MsTUFBYSxNQUFPLFNBQVEscUJBQVM7Ozs7SUFnQm5DLFlBQW1CLE9BQWdCLEVBQUUsVUFBeUIsRUFBRTs7UUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLGdCQUFnQixTQUFHLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLElBQUksQ0FBQztRQUNsRCxJQUFJLENBQUMsaUJBQWlCLFNBQUcsT0FBTyxDQUFDLGlCQUFpQixtQ0FBSSxxQkFBcUIsQ0FBQztRQUU1RSxVQUFJLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsVUFBSSxPQUFPLENBQUMsZUFBZSxtQ0FBSSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxtQ0FBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7Ozs7OztJQTNCTSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBWSxFQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDO1FBQ3BFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7Ozs7O0lBMkJELElBQVcsU0FBUztRQUNsQixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVksRUFBdUIsRUFBRSxDQUN2RCxDQUFDLFlBQVksMEJBQWMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTthQUMzQixNQUFNLENBQUMsVUFBVSxDQUFDO2FBQ2xCLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7Ozs7O0lBR00sV0FBVyxDQUFDLElBQVk7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSwwQkFBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7O0lBRU0sc0JBQXNCLENBQUMsR0FBRyxPQUFpQjtRQUNoRCxPQUFPLElBQUksaUNBQW1CLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7OztJQUVNLGFBQWEsQ0FBQyxPQUEyQjtRQUM5QyxPQUFPLElBQUksdUJBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7Ozs7O0lBR00sZUFBZSxDQUFDLElBQVk7UUFDakMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDOztBQXpESCx3QkEwREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IERlcGVuZGFib3QsIERlcGVuZGFib3RPcHRpb25zIH0gZnJvbSBcIi4vZGVwZW5kYWJvdFwiO1xuaW1wb3J0IHsgTWVyZ2lmeSwgTWVyZ2lmeU9wdGlvbnMgfSBmcm9tIFwiLi9tZXJnaWZ5XCI7XG5pbXBvcnQgeyBQdWxsUmVxdWVzdFRlbXBsYXRlIH0gZnJvbSBcIi4vcHItdGVtcGxhdGVcIjtcbmltcG9ydCB7IFB1bGxSZXF1ZXN0TGludCwgUHVsbFJlcXVlc3RMaW50T3B0aW9ucyB9IGZyb20gXCIuL3B1bGwtcmVxdWVzdC1saW50XCI7XG5pbXBvcnQgeyBHaXRodWJXb3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1Yk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWVyZ2lmeT86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG1lcmdpZnlPcHRpb25zPzogTWVyZ2lmeU9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgd29ya2Zsb3dzPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwdWxsUmVxdWVzdExpbnQ/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwdWxsUmVxdWVzdExpbnRPcHRpb25zPzogUHVsbFJlcXVlc3RMaW50T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByb2plblRva2VuU2VjcmV0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgR2l0SHViIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBHaXRIdWIgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzR2l0SHViID0gKGM6IENvbXBvbmVudCk6IGMgaXMgR2l0SHViID0+IGMgaW5zdGFuY2VvZiBHaXRIdWI7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzR2l0SHViKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWVyZ2lmeT86IE1lcmdpZnk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dzRW5hYmxlZDogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHByb2plblRva2VuU2VjcmV0OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEdpdEh1Yk9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy53b3JrZmxvd3NFbmFibGVkID0gb3B0aW9ucy53b3JrZmxvd3MgPz8gdHJ1ZTtcbiAgICB0aGlzLnByb2plblRva2VuU2VjcmV0ID0gb3B0aW9ucy5wcm9qZW5Ub2tlblNlY3JldCA/PyBcIlBST0pFTl9HSVRIVUJfVE9LRU5cIjtcblxuICAgIGlmIChvcHRpb25zLm1lcmdpZnkgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5tZXJnaWZ5ID0gbmV3IE1lcmdpZnkodGhpcywgb3B0aW9ucy5tZXJnaWZ5T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucHVsbFJlcXVlc3RMaW50ID8/IHRydWUpIHtcbiAgICAgIG5ldyBQdWxsUmVxdWVzdExpbnQodGhpcywgb3B0aW9ucy5wdWxsUmVxdWVzdExpbnRPcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgZ2V0IHdvcmtmbG93cygpOiBHaXRodWJXb3JrZmxvd1tdIHtcbiAgICBjb25zdCBpc1dvcmtmbG93ID0gKGM6IENvbXBvbmVudCk6IGMgaXMgR2l0aHViV29ya2Zsb3cgPT5cbiAgICAgIGMgaW5zdGFuY2VvZiBHaXRodWJXb3JrZmxvdztcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LmNvbXBvbmVudHNcbiAgICAgIC5maWx0ZXIoaXNXb3JrZmxvdylcbiAgICAgIC5zb3J0KCh3MSwgdzIpID0+IHcxLm5hbWUubG9jYWxlQ29tcGFyZSh3Mi5uYW1lKSk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCB3b3JrZmxvdyA9IG5ldyBHaXRodWJXb3JrZmxvdyh0aGlzLCBuYW1lKTtcbiAgICByZXR1cm4gd29ya2Zsb3c7XG4gIH1cblxuICBwdWJsaWMgYWRkUHVsbFJlcXVlc3RUZW1wbGF0ZSguLi5jb250ZW50OiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBuZXcgUHVsbFJlcXVlc3RUZW1wbGF0ZSh0aGlzLCB7IGxpbmVzOiBjb250ZW50IH0pO1xuICB9XG5cbiAgcHVibGljIGFkZERlcGVuZGFib3Qob3B0aW9ucz86IERlcGVuZGFib3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBEZXBlbmRhYm90KHRoaXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRyeUZpbmRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiB1bmRlZmluZWQgfCBHaXRodWJXb3JrZmxvdyB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzLmZpbmQoKHcpID0+IHcubmFtZSA9PT0gbmFtZSk7XG4gIH1cbn1cbiJdfQ==
67
+ GitHub[_a] = { fqn: "projen.github.GitHub", version: "0.52.25" };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dpdGh1Yi9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7QUFFekMsNkNBQTZEO0FBQzdELHVDQUFvRDtBQUNwRCwrQ0FBb0Q7QUFDcEQsMkRBQThFO0FBQzlFLDJDQUE2QztBQWlEN0MsTUFBYSxNQUFPLFNBQVEscUJBQVM7SUEyQm5DLFlBQW1CLE9BQWdCLEVBQUUsVUFBeUIsRUFBRTs7UUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLGdCQUFnQixTQUFHLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLElBQUksQ0FBQztRQUNsRCxJQUFJLENBQUMsaUJBQWlCLFNBQUcsT0FBTyxDQUFDLGlCQUFpQixtQ0FBSSxxQkFBcUIsQ0FBQztRQUU1RSxVQUFJLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsVUFBSSxPQUFPLENBQUMsZUFBZSxtQ0FBSSxJQUFJLEVBQUU7WUFDbkMsSUFBSSxtQ0FBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUF2Q0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUMvQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQVksRUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLE1BQU0sQ0FBQztRQUNwRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFrQ0Q7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFZLEVBQXVCLEVBQUUsQ0FDdkQsQ0FBQyxZQUFZLDBCQUFjLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7YUFDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQzthQUNsQixJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxJQUFZO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksMEJBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVNLHNCQUFzQixDQUFDLEdBQUcsT0FBaUI7UUFDaEQsT0FBTyxJQUFJLGlDQUFtQixDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxhQUFhLENBQUMsT0FBMkI7UUFDOUMsT0FBTyxJQUFJLHVCQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsSUFBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7O0FBN0VILHdCQThFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgRGVwZW5kYWJvdCwgRGVwZW5kYWJvdE9wdGlvbnMgfSBmcm9tIFwiLi9kZXBlbmRhYm90XCI7XG5pbXBvcnQgeyBNZXJnaWZ5LCBNZXJnaWZ5T3B0aW9ucyB9IGZyb20gXCIuL21lcmdpZnlcIjtcbmltcG9ydCB7IFB1bGxSZXF1ZXN0VGVtcGxhdGUgfSBmcm9tIFwiLi9wci10ZW1wbGF0ZVwiO1xuaW1wb3J0IHsgUHVsbFJlcXVlc3RMaW50LCBQdWxsUmVxdWVzdExpbnRPcHRpb25zIH0gZnJvbSBcIi4vcHVsbC1yZXF1ZXN0LWxpbnRcIjtcbmltcG9ydCB7IEdpdGh1YldvcmtmbG93IH0gZnJvbSBcIi4vd29ya2Zsb3dzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG1lcmdpZnkgc2hvdWxkIGJlIGVuYWJsZWQgb24gdGhpcyByZXBvc2l0b3J5IG9yIG5vdC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2lmeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIE1lcmdpZnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBtZXJnaWZ5T3B0aW9ucz86IE1lcmdpZnlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIEdpdEh1YiB3b3JrZmxvd3MuIElmIHRoaXMgaXMgc2V0IHRvIGBmYWxzZWAsIHdvcmtmbG93cyB3aWxsIG5vdCBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSB3b3JrZmxvdyB0aGF0IHBlcmZvcm1zIGJhc2ljIGNoZWNrcyBmb3IgcHVsbCByZXF1ZXN0cywgbGlrZVxuICAgKiB2YWxpZGF0aW5nIHRoYXQgUFJzIGZvbGxvdyBDb252ZW50aW9uYWwgQ29tbWl0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RMaW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYSBwdWxsIHJlcXVlc3QgbGludGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgUHVsbFJlcXVlc3RMaW50T3B0aW9uc2BcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0TGludE9wdGlvbnM/OiBQdWxsUmVxdWVzdExpbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIHNlY3JldCB3aGljaCBpbmNsdWRlcyBhIEdpdEh1YiBQZXJzb25hbCBBY2Nlc3MgVG9rZW4gdG8gYmVcbiAgICogdXNlZCBieSBwcm9qZW4gd29ya2Zsb3dzLiBUaGlzIHRva2VuIG5lZWRzIHRvIGhhdmUgdGhlIGByZXBvYCwgYHdvcmtmbG93c2BcbiAgICogYW5kIGBwYWNrYWdlc2Agc2NvcGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUFJPSkVOX0dJVEhVQl9UT0tFTlwiXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Ub2tlblNlY3JldD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEdpdEh1YiBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgR2l0SHViYCBjb21wb25lbnQgb2YgYSBwcm9qZWN0IG9yIGB1bmRlZmluZWRgIGlmIHRoZSBwcm9qZWN0XG4gICAqIGRvZXMgbm90IGhhdmUgYSBHaXRIdWIgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogR2l0SHViIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpc0dpdEh1YiA9IChjOiBDb21wb25lbnQpOiBjIGlzIEdpdEh1YiA9PiBjIGluc3RhbmNlb2YgR2l0SHViO1xuICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc0dpdEh1Yik7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGBNZXJnaWZ5YCBjb25maWd1cmVkIG9uIHRoaXMgcmVwb3NpdG9yeS4gVGhpcyBpcyBgdW5kZWZpbmVkYCBpZiBNZXJnaWZ5XG4gICAqIHdhcyBub3QgZW5hYmxlZCB3aGVuIGNyZWF0aW5nIHRoZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1lcmdpZnk/OiBNZXJnaWZ5O1xuXG4gIC8qKlxuICAgKiBBcmUgd29ya2Zsb3dzIGVuYWJsZWQ/XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dzRW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYSBzZWNyZXQgd2l0aCBhIEdpdEh1YiBQZXJzb25hbCBBY2Nlc3MgVG9rZW4gdG8gYmUgdXNlZCBieVxuICAgKiBwcm9qZW4gd29ya2Zsb3dzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb2plblRva2VuU2VjcmV0OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEdpdEh1Yk9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy53b3JrZmxvd3NFbmFibGVkID0gb3B0aW9ucy53b3JrZmxvd3MgPz8gdHJ1ZTtcbiAgICB0aGlzLnByb2plblRva2VuU2VjcmV0ID0gb3B0aW9ucy5wcm9qZW5Ub2tlblNlY3JldCA/PyBcIlBST0pFTl9HSVRIVUJfVE9LRU5cIjtcblxuICAgIGlmIChvcHRpb25zLm1lcmdpZnkgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5tZXJnaWZ5ID0gbmV3IE1lcmdpZnkodGhpcywgb3B0aW9ucy5tZXJnaWZ5T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucHVsbFJlcXVlc3RMaW50ID8/IHRydWUpIHtcbiAgICAgIG5ldyBQdWxsUmVxdWVzdExpbnQodGhpcywgb3B0aW9ucy5wdWxsUmVxdWVzdExpbnRPcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWxsIHdvcmtmbG93cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgd29ya2Zsb3dzKCk6IEdpdGh1YldvcmtmbG93W10ge1xuICAgIGNvbnN0IGlzV29ya2Zsb3cgPSAoYzogQ29tcG9uZW50KTogYyBpcyBHaXRodWJXb3JrZmxvdyA9PlxuICAgICAgYyBpbnN0YW5jZW9mIEdpdGh1YldvcmtmbG93O1xuICAgIHJldHVybiB0aGlzLnByb2plY3QuY29tcG9uZW50c1xuICAgICAgLmZpbHRlcihpc1dvcmtmbG93KVxuICAgICAgLnNvcnQoKHcxLCB3MikgPT4gdzEubmFtZS5sb2NhbGVDb21wYXJlKHcyLm5hbWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgd29ya2Zsb3cgdG8gdGhlIHByb2plY3QuXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqIEByZXR1cm5zIGEgR2l0aHViV29ya2Zsb3cgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyBhZGRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCB3b3JrZmxvdyA9IG5ldyBHaXRodWJXb3JrZmxvdyh0aGlzLCBuYW1lKTtcbiAgICByZXR1cm4gd29ya2Zsb3c7XG4gIH1cblxuICBwdWJsaWMgYWRkUHVsbFJlcXVlc3RUZW1wbGF0ZSguLi5jb250ZW50OiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBuZXcgUHVsbFJlcXVlc3RUZW1wbGF0ZSh0aGlzLCB7IGxpbmVzOiBjb250ZW50IH0pO1xuICB9XG5cbiAgcHVibGljIGFkZERlcGVuZGFib3Qob3B0aW9ucz86IERlcGVuZGFib3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBEZXBlbmRhYm90KHRoaXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIGEgR2l0SHViIHdvcmtmbG93IGJ5IG5hbWUuIFJldHVybnMgYHVuZGVmaW5lZGAgaWYgdGhlIHdvcmtmbG93IGNhbm5vdCBiZSBmb3VuZC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIEdpdEh1YiB3b3JrZmxvd1xuICAgKi9cbiAgcHVibGljIHRyeUZpbmRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiB1bmRlZmluZWQgfCBHaXRodWJXb3JrZmxvdyB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzLmZpbmQoKHcpID0+IHcubmFtZSA9PT0gbmFtZSk7XG4gIH1cbn1cbiJdfQ==