cdk-serverless 2.8.0 → 2.9.1

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.
@@ -56,6 +56,7 @@
56
56
  <a href="ServerlessProjectOptions.html#cdkVersion" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>cdk<wbr/>Version</span></a>
57
57
  <a href="ServerlessProjectOptions.html#cdkVersionPinning" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>cdk<wbr/>Version<wbr/>Pinning?</span></a>
58
58
  <a href="ServerlessProjectOptions.html#cdkout" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>cdkout?</span></a>
59
+ <a href="ServerlessProjectOptions.html#checkLicenses" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>check<wbr/>Licenses?</span></a>
59
60
  <a href="ServerlessProjectOptions.html#clobber" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>clobber?</span></a>
60
61
  <a href="ServerlessProjectOptions.html#codeArtifactOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>code<wbr/>Artifact<wbr/>Options?</span></a>
61
62
  <a href="ServerlessProjectOptions.html#codeCov" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>code<wbr/>Cov?</span></a>
@@ -83,6 +84,7 @@
83
84
  <a href="ServerlessProjectOptions.html#entrypointTypes" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>entrypoint<wbr/>Types?</span></a>
84
85
  <a href="ServerlessProjectOptions.html#eslint" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>eslint?</span></a>
85
86
  <a href="ServerlessProjectOptions.html#eslintOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>eslint<wbr/>Options?</span></a>
87
+ <a href="ServerlessProjectOptions.html#experimentalIntegRunner" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>experimental<wbr/>Integ<wbr/>Runner?</span></a>
86
88
  <a href="ServerlessProjectOptions.html#featureFlags" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>feature<wbr/>Flags?</span></a>
87
89
  <a href="ServerlessProjectOptions.html#gitIgnoreOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>git<wbr/>Ignore<wbr/>Options?</span></a>
88
90
  <a href="ServerlessProjectOptions.html#gitOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>git<wbr/>Options?</span></a>
@@ -174,6 +176,7 @@
174
176
  <a href="ServerlessProjectOptions.html#stale" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>stale?</span></a>
175
177
  <a href="ServerlessProjectOptions.html#staleOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>stale<wbr/>Options?</span></a>
176
178
  <a href="ServerlessProjectOptions.html#testdir" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>testdir?</span></a>
179
+ <a href="ServerlessProjectOptions.html#tsJestOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>ts<wbr/>Jest<wbr/>Options?</span></a>
177
180
  <a href="ServerlessProjectOptions.html#tsconfig" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>tsconfig?</span></a>
178
181
  <a href="ServerlessProjectOptions.html#tsconfigDev" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>tsconfig<wbr/>Dev?</span></a>
179
182
  <a href="ServerlessProjectOptions.html#tsconfigDevFile" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>tsconfig<wbr/>Dev<wbr/>File?</span></a>
@@ -188,6 +191,8 @@
188
191
  <a href="ServerlessProjectOptions.html#workflowNodeVersion" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Node<wbr/>Version?</span></a>
189
192
  <a href="ServerlessProjectOptions.html#workflowPackageCache" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Package<wbr/>Cache?</span></a>
190
193
  <a href="ServerlessProjectOptions.html#workflowRunsOn" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Runs<wbr/>On?</span></a>
194
+ <a href="ServerlessProjectOptions.html#workflowRunsOnGroup" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Runs<wbr/>On<wbr/>Group?</span></a>
195
+ <a href="ServerlessProjectOptions.html#yarnBerryOptions" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>yarn<wbr/>Berry<wbr/>Options?</span></a>
191
196
  </div></section></div></details></section></section>
192
197
  <section class="tsd-panel-group tsd-member-group">
193
198
  <h2>Properties</h2>
@@ -477,6 +482,17 @@ If you use experimental features this will let you define the moment you include
477
482
  </code><button>Copy</button></pre>
478
483
  </div><aside class="tsd-sources">
479
484
  <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.cdkout</p></aside></section>
485
+ <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="checkLicenses" class="tsd-anchor"></a>
486
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>check<wbr/>Licenses</span><a href="#checkLicenses" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
487
+ <div class="tsd-signature"><span class="tsd-kind-property">check<wbr/>Licenses</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type ">LicenseCheckerOptions</span></div>
488
+ <div class="tsd-comment tsd-typography"><p>Configure which licenses should be deemed acceptable for use by dependencies</p>
489
+ <p>This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered.</p>
490
+ </div>
491
+ <div class="tsd-comment tsd-typography">
492
+ <h4>Default</h4><pre><code class="language-ts"><span class="hl-1">- </span><span class="hl-4">no</span><span class="hl-1"> </span><span class="hl-4">license</span><span class="hl-1"> </span><span class="hl-4">checks</span><span class="hl-1"> </span><span class="hl-4">are</span><span class="hl-1"> </span><span class="hl-4">run</span><span class="hl-1"> </span><span class="hl-4">during</span><span class="hl-1"> </span><span class="hl-4">the</span><span class="hl-1"> </span><span class="hl-4">build</span><span class="hl-1"> </span><span class="hl-4">and</span><span class="hl-1"> </span><span class="hl-4">all</span><span class="hl-1"> </span><span class="hl-4">licenses</span><span class="hl-1"> </span><span class="hl-4">will</span><span class="hl-1"> </span><span class="hl-4">be</span><span class="hl-1"> </span><span class="hl-4">accepted</span>
493
+ </code><button>Copy</button></pre>
494
+ </div><aside class="tsd-sources">
495
+ <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.checkLicenses</p></aside></section>
480
496
  <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="clobber" class="tsd-anchor"></a>
481
497
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>clobber</span><a href="#clobber" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
482
498
  <div class="tsd-signature"><span class="tsd-kind-property">clobber</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div>
@@ -785,6 +801,16 @@ manually add an <code>awscdk.AutoDiscover</code> component to your project.</p>
785
801
  </code><button>Copy</button></pre>
786
802
  </div><aside class="tsd-sources">
787
803
  <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.eslintOptions</p></aside></section>
804
+ <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="experimentalIntegRunner" class="tsd-anchor"></a>
805
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <code class="tsd-tag ts-flagExperimental">Experimental</code> <span>experimental<wbr/>Integ<wbr/>Runner</span><a href="#experimentalIntegRunner" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
806
+ <div class="tsd-signature"><span class="tsd-kind-property">experimental<wbr/>Integ<wbr/>Runner</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div>
807
+ <div class="tsd-comment tsd-typography"><p>Enable experimental support for the AWS CDK integ-runner.</p>
808
+ </div>
809
+ <div class="tsd-comment tsd-typography">
810
+ <h4>Default</h4><pre><code class="language-ts"><span class="hl-3">false</span><br/><span class="hl-1">@</span><span class="hl-4">experimental</span>
811
+ </code><button>Copy</button></pre>
812
+ </div><aside class="tsd-sources">
813
+ <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.experimentalIntegRunner</p></aside></section>
788
814
  <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="featureFlags" class="tsd-anchor"></a>
789
815
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>feature<wbr/>Flags</span><a href="#featureFlags" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
790
816
  <div class="tsd-signature"><span class="tsd-kind-property">feature<wbr/>Flags</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div>
@@ -1162,7 +1188,7 @@ are packaged as tarballs.</p>
1162
1188
  <p>Relative to this directory, all files are synthesized.</p>
1163
1189
  <p>If this project has a parent, this directory is relative to the parent
1164
1190
  directory and it cannot be the same as the parent or any of it&#39;s other
1165
- sub-projects.</p>
1191
+ subprojects.</p>
1166
1192
  </div>
1167
1193
  <div class="tsd-comment tsd-typography">
1168
1194
  <h4>Default</h4><pre><code class="language-ts"><span class="hl-2">&quot;.&quot;</span>
@@ -1186,7 +1212,7 @@ artifacts directory (e.g. <code>dist</code>).</p>
1186
1212
  <div class="tsd-comment tsd-typography"><p>The Node Package Manager used to execute scripts</p>
1187
1213
  </div>
1188
1214
  <div class="tsd-comment tsd-typography">
1189
- <h4>Default</h4><pre><code class="language-ts"><span class="hl-4">NodePackageManager</span><span class="hl-1">.</span><span class="hl-6">YARN</span>
1215
+ <h4>Default</h4><pre><code class="language-ts"><span class="hl-4">NodePackageManager</span><span class="hl-1">.</span><span class="hl-6">YARN_CLASSIC</span>
1190
1216
  </code><button>Copy</button></pre>
1191
1217
  </div><aside class="tsd-sources">
1192
1218
  <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.packageManager</p></aside></section>
@@ -1762,6 +1788,13 @@ compile the code in-memory.</p>
1762
1788
  </code><button>Copy</button></pre>
1763
1789
  </div><aside class="tsd-sources">
1764
1790
  <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.testdir</p></aside></section>
1791
+ <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="tsJestOptions" class="tsd-anchor"></a>
1792
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>ts<wbr/>Jest<wbr/>Options</span><a href="#tsJestOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
1793
+ <div class="tsd-signature"><span class="tsd-kind-property">ts<wbr/>Jest<wbr/>Options</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type ">TsJestOptions</span></div>
1794
+ <div class="tsd-comment tsd-typography"><p>Options for ts-jest</p>
1795
+ </div>
1796
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
1797
+ <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.tsJestOptions</p></aside></section>
1765
1798
  <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="tsconfig" class="tsd-anchor"></a>
1766
1799
  <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>tsconfig</span><a href="#tsconfig" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
1767
1800
  <div class="tsd-signature"><span class="tsd-kind-property">tsconfig</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type ">TypescriptConfigOptions</span></div>
@@ -1905,8 +1938,33 @@ Given values either append to default configuration or overwrite values in it.</
1905
1938
  <div class="tsd-comment tsd-typography">
1906
1939
  <h4>Default</h4><pre><code class="language-ts"><span class="hl-1">[</span><span class="hl-2">&quot;ubuntu-latest&quot;</span><span class="hl-1">]</span>
1907
1940
  </code><button>Copy</button></pre>
1941
+
1942
+ <h4>Description</h4><p>Defines a target Runner by labels</p>
1943
+
1944
+ <h4>Throws</h4><p>if both <code>runsOn</code> and <code>runsOnGroup</code> are specified</p>
1945
+ </div><aside class="tsd-sources">
1946
+ <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.workflowRunsOn</p></aside></section>
1947
+ <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="workflowRunsOnGroup" class="tsd-anchor"></a>
1948
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workflow<wbr/>Runs<wbr/>On<wbr/>Group</span><a href="#workflowRunsOnGroup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
1949
+ <div class="tsd-signature"><span class="tsd-kind-property">workflow<wbr/>Runs<wbr/>On<wbr/>Group</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type ">GroupRunnerOptions</span></div>
1950
+ <div class="tsd-comment tsd-typography"><p>Github Runner Group selection options</p>
1951
+ </div>
1952
+ <div class="tsd-comment tsd-typography">
1953
+ <h4>Description</h4><p>Defines a target Runner Group by name and/or labels</p>
1954
+
1955
+ <h4>Throws</h4><p>if both <code>runsOn</code> and <code>runsOnGroup</code> are specified</p>
1956
+ </div><aside class="tsd-sources">
1957
+ <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.workflowRunsOnGroup</p></aside></section>
1958
+ <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="yarnBerryOptions" class="tsd-anchor"></a>
1959
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>yarn<wbr/>Berry<wbr/>Options</span><a href="#yarnBerryOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
1960
+ <div class="tsd-signature"><span class="tsd-kind-property">yarn<wbr/>Berry<wbr/>Options</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type ">YarnBerryOptions</span></div>
1961
+ <div class="tsd-comment tsd-typography"><p>Options for Yarn Berry</p>
1962
+ </div>
1963
+ <div class="tsd-comment tsd-typography">
1964
+ <h4>Default</h4><pre><code class="language-ts"><span class="hl-1">- </span><span class="hl-4">Yarn</span><span class="hl-1"> </span><span class="hl-4">Berry</span><span class="hl-1"> </span><span class="hl-4">v4</span><span class="hl-1"> </span><span class="hl-5">with</span><span class="hl-1"> </span><span class="hl-4">all</span><span class="hl-1"> </span><span class="hl-5">default</span><span class="hl-1"> </span><span class="hl-4">options</span>
1965
+ </code><button>Copy</button></pre>
1908
1966
  </div><aside class="tsd-sources">
1909
- <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.workflowRunsOn</p></aside></section></section></div>
1967
+ <p>Inherited from pj.awscdk.AwsCdkTypeScriptAppOptions.yarnBerryOptions</p></aside></section></section></div>
1910
1968
  <div class="col-sidebar">
1911
1969
  <div class="page-menu">
1912
1970
  <div class="tsd-navigation settings">
@@ -1954,6 +2012,7 @@ Given values either append to default configuration or overwrite values in it.</
1954
2012
  <li><a href="#cdkVersion" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>cdk<wbr/>Version</span></a></li>
1955
2013
  <li><a href="#cdkVersionPinning" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>cdk<wbr/>Version<wbr/>Pinning</span></a></li>
1956
2014
  <li><a href="#cdkout" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>cdkout</span></a></li>
2015
+ <li><a href="#checkLicenses" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>check<wbr/>Licenses</span></a></li>
1957
2016
  <li><a href="#clobber" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>clobber</span></a></li>
1958
2017
  <li><a href="#codeArtifactOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>code<wbr/>Artifact<wbr/>Options</span></a></li>
1959
2018
  <li><a href="#codeCov" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>code<wbr/>Cov</span></a></li>
@@ -1981,6 +2040,7 @@ Given values either append to default configuration or overwrite values in it.</
1981
2040
  <li><a href="#entrypointTypes" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>entrypoint<wbr/>Types</span></a></li>
1982
2041
  <li><a href="#eslint" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>eslint</span></a></li>
1983
2042
  <li><a href="#eslintOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>eslint<wbr/>Options</span></a></li>
2043
+ <li><a href="#experimentalIntegRunner" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>experimental<wbr/>Integ<wbr/>Runner</span></a></li>
1984
2044
  <li><a href="#featureFlags" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>feature<wbr/>Flags</span></a></li>
1985
2045
  <li><a href="#gitIgnoreOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>git<wbr/>Ignore<wbr/>Options</span></a></li>
1986
2046
  <li><a href="#gitOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>git<wbr/>Options</span></a></li>
@@ -2072,6 +2132,7 @@ Given values either append to default configuration or overwrite values in it.</
2072
2132
  <li><a href="#stale" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>stale</span></a></li>
2073
2133
  <li><a href="#staleOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>stale<wbr/>Options</span></a></li>
2074
2134
  <li><a href="#testdir" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>testdir</span></a></li>
2135
+ <li><a href="#tsJestOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>ts<wbr/>Jest<wbr/>Options</span></a></li>
2075
2136
  <li><a href="#tsconfig" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>tsconfig</span></a></li>
2076
2137
  <li><a href="#tsconfigDev" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>tsconfig<wbr/>Dev</span></a></li>
2077
2138
  <li><a href="#tsconfigDevFile" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>tsconfig<wbr/>Dev<wbr/>File</span></a></li>
@@ -2085,7 +2146,9 @@ Given values either append to default configuration or overwrite values in it.</
2085
2146
  <li><a href="#workflowGitIdentity" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Git<wbr/>Identity</span></a></li>
2086
2147
  <li><a href="#workflowNodeVersion" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Node<wbr/>Version</span></a></li>
2087
2148
  <li><a href="#workflowPackageCache" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Package<wbr/>Cache</span></a></li>
2088
- <li><a href="#workflowRunsOn" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Runs<wbr/>On</span></a></li></ul></div></details></div>
2149
+ <li><a href="#workflowRunsOn" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Runs<wbr/>On</span></a></li>
2150
+ <li><a href="#workflowRunsOnGroup" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>workflow<wbr/>Runs<wbr/>On<wbr/>Group</span></a></li>
2151
+ <li><a href="#yarnBerryOptions" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>yarn<wbr/>Berry<wbr/>Options</span></a></li></ul></div></details></div>
2089
2152
  <div class="site-menu">
2090
2153
  <nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g></svg><span>cdk-<wbr/>serverless</span></a>
2091
2154
  <ul class="tsd-small-nested-navigation">
@@ -39,6 +39,23 @@ class GraphQlApi extends pj.Component {
39
39
  description: 'Generate Types from the GraphQL specification',
40
40
  });
41
41
  app.preCompileTask.prependSpawn(generateTask);
42
+ const codegenConfig = {
43
+ schema: this.options.definitionFile,
44
+ config: {
45
+ scalars: {
46
+ AWSDate: 'string',
47
+ AWSURL: 'string',
48
+ },
49
+ },
50
+ generates: {
51
+ [`./src/generated/graphql.${this.options.apiName.toLowerCase()}-model.generated.ts`]: {
52
+ plugins: ['typescript', 'typescript-resolvers'],
53
+ },
54
+ },
55
+ };
56
+ new pj.YamlFile(this.project, this.codegenConfigFileName, {
57
+ obj: codegenConfig,
58
+ });
42
59
  }
43
60
  createConstructFile(fileName) {
44
61
  fs.writeFileSync(fileName, `/* eslint-disable */
@@ -76,23 +93,6 @@ type User {
76
93
  name: String
77
94
  }`);
78
95
  }
79
- const codegenConfig = {
80
- schema: this.options.definitionFile,
81
- config: {
82
- scalars: {
83
- AWSDate: 'string',
84
- AWSURL: 'string',
85
- },
86
- },
87
- generates: {
88
- [`./src/generated/graphql.${this.options.apiName.toLowerCase()}-model.generated.ts`]: {
89
- plugins: ['typescript', 'typescript-resolvers'],
90
- },
91
- },
92
- };
93
- new pj.YamlFile(this.project, this.codegenConfigFileName, {
94
- obj: codegenConfig,
95
- });
96
96
  if (!fs.existsSync(`${this.project.outdir}/src/generated`)) {
97
97
  fs.mkdirSync(`${this.project.outdir}/src/generated`);
98
98
  }
@@ -100,4 +100,4 @@ type User {
100
100
  }
101
101
  }
102
102
  exports.GraphQlApi = GraphQlApi;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZW4vZ3JhcGhxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsaUNBQXNDO0FBT3RDLE1BQWEsVUFBVyxTQUFRLEVBQUUsQ0FBQyxTQUFTO0lBSTFDLFlBQVksR0FBa0MsRUFBWSxPQUEwQjtRQUNsRixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFENkMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFJbEYsR0FBRyxDQUFDLFVBQVUsQ0FDWixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLHVDQUF1QyxFQUN2QyxtQkFBbUIsRUFDbkIsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUNULFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsU0FBUyxFQUNULHlDQUF5QyxDQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG1CQUFtQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDcEYsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2hGLElBQUksRUFBRSxzQkFBc0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ3hELFdBQVcsRUFBRSwrQ0FBK0M7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVTLG1CQUFtQixDQUFDLFFBQWdCO1FBRTVDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFOzsrQ0FFZ0IsbUJBQVk7dUNBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTs7bUJBRXRELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzs7OztlQUl4QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87O3FEQUVrQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87OztrQkFHdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzZCQUNULElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYzs7OztFQUl0RCxFQUFFO1lBQ0UsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFVBQVU7UUFDZixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMvQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFOzs7Ozs7O0VBT2xELENBQUMsQ0FBQztTQUNDO1FBRUQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYztZQUNuQyxNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxRQUFRO29CQUNqQixNQUFNLEVBQUUsUUFBUTtpQkFDakI7YUFDRjtZQUNELFNBQVMsRUFBRTtnQkFDVCxDQUFDLDJCQUEyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUMsRUFBRTtvQkFDcEYsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO2lCQUNoRDthQUNGO1NBQ0YsQ0FBQztRQUVGLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUN4RCxHQUFHLEVBQUUsYUFBYTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzFELEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSwwQkFBMEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDbEksQ0FBQztDQUVGO0FBL0ZELGdDQStGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBqIGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQQUNLQUdFX05BTUUgfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoUWxBcGlPcHRpb25zIHtcbiAgcmVhZG9ubHkgYXBpTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZWZpbml0aW9uRmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgR3JhcGhRbEFwaSBleHRlbmRzIHBqLkNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVnZW5Db25maWdGaWxlTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogcGouYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByb3RlY3RlZCBvcHRpb25zOiBHcmFwaFFsQXBpT3B0aW9ucykge1xuICAgIHN1cGVyKGFwcCk7XG5cblxuICAgIGFwcC5hZGREZXZEZXBzKFxuICAgICAgJ0BncmFwaHFsLWNvZGVnZW4vY2xpJyxcbiAgICAgICdAZ3JhcGhxbC1jb2RlZ2VuL3R5cGVzY3JpcHQnLFxuICAgICAgJ0BncmFwaHFsLWNvZGVnZW4vdHlwZXNjcmlwdC1yZXNvbHZlcnMnLFxuICAgICAgJ0B0eXBlcy9hd3MtbGFtYmRhJyxcbiAgICAgICdAdHlwZXMvbGFtYmRhLWxvZycsXG4gICAgKTtcbiAgICBhcHAuYWRkRGVwcyhcbiAgICAgICdncmFwaHFsJyxcbiAgICAgICdAYXdzLWFwcHN5bmMvdXRpbHMnLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ0Bhd3MtY2RrL2F3cy1jb2duaXRvLWlkZW50aXR5cG9vbC1hbHBoYScsXG4gICAgKTtcblxuICAgIHRoaXMuY29kZWdlbkNvbmZpZ0ZpbGVOYW1lID0gYGdyYXBocWwtY29kZWdlbi4ke29wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS55bWxgO1xuICAgIGNvbnN0IGdlbmVyYXRlVGFzayA9IGFwcC5hZGRUYXNrKGBnZW5lcmF0ZTphcGk6JHtvcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX1gLCB7XG4gICAgICBleGVjOiBgZ3JhcGhxbC1jb2RlZ2VuIC1jICR7dGhpcy5jb2RlZ2VuQ29uZmlnRmlsZU5hbWV9YCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnR2VuZXJhdGUgVHlwZXMgZnJvbSB0aGUgR3JhcGhRTCBzcGVjaWZpY2F0aW9uJyxcbiAgICB9KTtcbiAgICBhcHAucHJlQ29tcGlsZVRhc2sucHJlcGVuZFNwYXduKGdlbmVyYXRlVGFzayk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29uc3RydWN0RmlsZShmaWxlTmFtZTogc3RyaW5nKSB7XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBgLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgR3JhcGhRbEFwaSwgR3JhcGhRbEFwaVByb3BzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9jb25zdHJ1Y3RzJztcbmltcG9ydCB7IFJlc29sdmVycyB9IGZyb20gJy4vZ3JhcGhxbC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX1HcmFwaFFsQXBpUHJvcHMgZXh0ZW5kcyBPbWl0PEdyYXBoUWxBcGlQcm9wcywgJ2RlZmluaXRpb25GaWxlTmFtZScgfCAnYXBpTmFtZSc+IHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9R3JhcGhRbEFwaSBleHRlbmRzIEdyYXBoUWxBcGk8UmVzb2x2ZXJzPiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9R3JhcGhRbEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGFwaU5hbWU6ICcke3RoaXMub3B0aW9ucy5hcGlOYW1lfScsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgIH0pO1xuICB9XG5cbn1gLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzeW50aGVzaXplKCkge1xuICAgIHN1cGVyLnN5bnRoZXNpemUoKTtcblxuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpKSB7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSwgYHR5cGUgUXVlcnkge1xuICAgdXNlcnM6IFtVc2VyXVxufVxuXG50eXBlIFVzZXIge1xuICAgaWQ6IElEIVxuICAgbmFtZTogU3RyaW5nXG59YCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29kZWdlbkNvbmZpZyA9IHtcbiAgICAgIHNjaGVtYTogdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgICBBV1NEYXRlOiAnc3RyaW5nJyxcbiAgICAgICAgICBBV1NVUkw6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGdlbmVyYXRlczoge1xuICAgICAgICBbYC4vc3JjL2dlbmVyYXRlZC9ncmFwaHFsLiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkLnRzYF06IHtcbiAgICAgICAgICBwbHVnaW5zOiBbJ3R5cGVzY3JpcHQnLCAndHlwZXNjcmlwdC1yZXNvbHZlcnMnXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIG5ldyBwai5ZYW1sRmlsZSh0aGlzLnByb2plY3QsIHRoaXMuY29kZWdlbkNvbmZpZ0ZpbGVOYW1lLCB7XG4gICAgICBvYmo6IGNvZGVnZW5Db25maWcsXG4gICAgfSk7XG5cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApKSB7XG4gICAgICBmcy5ta2RpclN5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZUNvbnN0cnVjdEZpbGUoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZC9ncmFwaHFsLiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tYXBpLmdlbmVyYXRlZC50c2ApO1xuICB9XG5cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZW4vZ3JhcGhxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsaUNBQXNDO0FBT3RDLE1BQWEsVUFBVyxTQUFRLEVBQUUsQ0FBQyxTQUFTO0lBSTFDLFlBQVksR0FBa0MsRUFBWSxPQUEwQjtRQUNsRixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFENkMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFHbEYsR0FBRyxDQUFDLFVBQVUsQ0FDWixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLHVDQUF1QyxFQUN2QyxtQkFBbUIsRUFDbkIsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUNULFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsU0FBUyxFQUNULHlDQUF5QyxDQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG1CQUFtQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDcEYsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2hGLElBQUksRUFBRSxzQkFBc0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ3hELFdBQVcsRUFBRSwrQ0FBK0M7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFOUMsTUFBTSxhQUFhLEdBQUc7WUFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYztZQUNuQyxNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxRQUFRO29CQUNqQixNQUFNLEVBQUUsUUFBUTtpQkFDakI7YUFDRjtZQUNELFNBQVMsRUFBRTtnQkFDVCxDQUFDLDJCQUEyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUMsRUFBRTtvQkFDcEYsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO2lCQUNoRDthQUNGO1NBQ0YsQ0FBQztRQUVGLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUN4RCxHQUFHLEVBQUUsYUFBYTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsbUJBQW1CLENBQUMsUUFBZ0I7UUFFNUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7OytDQUVnQixtQkFBWTt1Q0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFOzttQkFFdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7O2VBSXhCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzs7cURBRWtCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzs7O2tCQUd2RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87NkJBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjOzs7O0VBSXRELEVBQUU7WUFDRSxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sVUFBVTtRQUNmLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQy9DLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Ozs7Ozs7RUFPbEQsQ0FBQyxDQUFDO1NBQ0M7UUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzFELEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSwwQkFBMEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDbEksQ0FBQztDQUVGO0FBOUZELGdDQThGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBqIGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQQUNLQUdFX05BTUUgfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoUWxBcGlPcHRpb25zIHtcbiAgcmVhZG9ubHkgYXBpTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZWZpbml0aW9uRmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgR3JhcGhRbEFwaSBleHRlbmRzIHBqLkNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVnZW5Db25maWdGaWxlTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogcGouYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAsIHByb3RlY3RlZCBvcHRpb25zOiBHcmFwaFFsQXBpT3B0aW9ucykge1xuICAgIHN1cGVyKGFwcCk7XG5cbiAgICBhcHAuYWRkRGV2RGVwcyhcbiAgICAgICdAZ3JhcGhxbC1jb2RlZ2VuL2NsaScsXG4gICAgICAnQGdyYXBocWwtY29kZWdlbi90eXBlc2NyaXB0JyxcbiAgICAgICdAZ3JhcGhxbC1jb2RlZ2VuL3R5cGVzY3JpcHQtcmVzb2x2ZXJzJyxcbiAgICAgICdAdHlwZXMvYXdzLWxhbWJkYScsXG4gICAgICAnQHR5cGVzL2xhbWJkYS1sb2cnLFxuICAgICk7XG4gICAgYXBwLmFkZERlcHMoXG4gICAgICAnZ3JhcGhxbCcsXG4gICAgICAnQGF3cy1hcHBzeW5jL3V0aWxzJyxcbiAgICAgICdlc2J1aWxkJyxcbiAgICAgICdAYXdzLWNkay9hd3MtY29nbml0by1pZGVudGl0eXBvb2wtYWxwaGEnLFxuICAgICk7XG5cbiAgICB0aGlzLmNvZGVnZW5Db25maWdGaWxlTmFtZSA9IGBncmFwaHFsLWNvZGVnZW4uJHtvcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0ueW1sYDtcbiAgICBjb25zdCBnZW5lcmF0ZVRhc2sgPSBhcHAuYWRkVGFzayhgZ2VuZXJhdGU6YXBpOiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9YCwge1xuICAgICAgZXhlYzogYGdyYXBocWwtY29kZWdlbiAtYyAke3RoaXMuY29kZWdlbkNvbmZpZ0ZpbGVOYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlIFR5cGVzIGZyb20gdGhlIEdyYXBoUUwgc3BlY2lmaWNhdGlvbicsXG4gICAgfSk7XG4gICAgYXBwLnByZUNvbXBpbGVUYXNrLnByZXBlbmRTcGF3bihnZW5lcmF0ZVRhc2spO1xuXG4gICAgY29uc3QgY29kZWdlbkNvbmZpZyA9IHtcbiAgICAgIHNjaGVtYTogdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgICBBV1NEYXRlOiAnc3RyaW5nJyxcbiAgICAgICAgICBBV1NVUkw6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGdlbmVyYXRlczoge1xuICAgICAgICBbYC4vc3JjL2dlbmVyYXRlZC9ncmFwaHFsLiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkLnRzYF06IHtcbiAgICAgICAgICBwbHVnaW5zOiBbJ3R5cGVzY3JpcHQnLCAndHlwZXNjcmlwdC1yZXNvbHZlcnMnXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIG5ldyBwai5ZYW1sRmlsZSh0aGlzLnByb2plY3QsIHRoaXMuY29kZWdlbkNvbmZpZ0ZpbGVOYW1lLCB7XG4gICAgICBvYmo6IGNvZGVnZW5Db25maWcsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29uc3RydWN0RmlsZShmaWxlTmFtZTogc3RyaW5nKSB7XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBgLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgR3JhcGhRbEFwaSwgR3JhcGhRbEFwaVByb3BzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9jb25zdHJ1Y3RzJztcbmltcG9ydCB7IFJlc29sdmVycyB9IGZyb20gJy4vZ3JhcGhxbC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX1HcmFwaFFsQXBpUHJvcHMgZXh0ZW5kcyBPbWl0PEdyYXBoUWxBcGlQcm9wcywgJ2RlZmluaXRpb25GaWxlTmFtZScgfCAnYXBpTmFtZSc+IHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9R3JhcGhRbEFwaSBleHRlbmRzIEdyYXBoUWxBcGk8UmVzb2x2ZXJzPiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9R3JhcGhRbEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGFwaU5hbWU6ICcke3RoaXMub3B0aW9ucy5hcGlOYW1lfScsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgIH0pO1xuICB9XG5cbn1gLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzeW50aGVzaXplKCkge1xuICAgIHN1cGVyLnN5bnRoZXNpemUoKTtcblxuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpKSB7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSwgYHR5cGUgUXVlcnkge1xuICAgdXNlcnM6IFtVc2VyXVxufVxuXG50eXBlIFVzZXIge1xuICAgaWQ6IElEIVxuICAgbmFtZTogU3RyaW5nXG59YCk7XG4gICAgfVxuXG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9nZW5lcmF0ZWRgKSkge1xuICAgICAgZnMubWtkaXJTeW5jKGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9nZW5lcmF0ZWRgKTtcbiAgICB9XG4gICAgdGhpcy5jcmVhdGVDb25zdHJ1Y3RGaWxlKGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9nZW5lcmF0ZWQvZ3JhcGhxbC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LWFwaS5nZW5lcmF0ZWQudHNgKTtcbiAgfVxuXG59XG4iXX0=
@@ -8,6 +8,7 @@ export declare class RestApi extends pj.Component {
8
8
  protected options: RestApiOptions;
9
9
  constructor(app: pj.awscdk.AwsCdkTypeScriptApp, options: RestApiOptions);
10
10
  protected createConstructFile(fileName: string): void;
11
+ protected validatePathRef(apiSpec: OpenAPI3, path: string, visited?: string[]): boolean;
11
12
  protected addRestResource(apiSpec: OpenAPI3, path: string, method: string): void;
12
13
  protected createEntryFile(entryFile: string, method: string, operationId: string): void;
13
14
  synthesize(): void;
@@ -64,6 +64,34 @@ export class ${this.options.apiName}RestApi extends RestApi<paths, operations> {
64
64
  encoding: 'utf-8',
65
65
  });
66
66
  }
67
+ validatePathRef(apiSpec, path, visited = []) {
68
+ if (!path.startsWith('#')) {
69
+ throw new Error(`Unable to resolve ref '${path}' - Resolving references to paths from different files is currently not supported`);
70
+ }
71
+ const pathPrettySplit = path
72
+ .split('/')
73
+ .slice(1)
74
+ .map(pathPart => pathPart
75
+ .replace('~1', '/')
76
+ .replace('~0', '~'));
77
+ if (visited.includes(pathPrettySplit[1])) {
78
+ throw new Error(`Cyclical reference exists between paths: ${visited.join(', ')}`);
79
+ }
80
+ const maybePath = pathPrettySplit.reduce((acc, pathPart) => {
81
+ if (Object.keys(acc).includes(pathPart)) {
82
+ return acc[pathPart];
83
+ }
84
+ return undefined;
85
+ }, apiSpec);
86
+ if (maybePath) {
87
+ if (Object.prototype.hasOwnProperty.call(maybePath, '$ref')) {
88
+ return this.validatePathRef(apiSpec, maybePath.$ref, [...visited, pathPrettySplit[1]]);
89
+ }
90
+ // Closest thing to making sure the ref actually is a path object
91
+ return ['get', 'post', 'put', 'delete', 'patch', 'options', 'head'].some(method => Object.keys(maybePath).indexOf(method) >= 0);
92
+ }
93
+ return false;
94
+ }
67
95
  addRestResource(apiSpec, path, method) {
68
96
  const oaPath = apiSpec.paths[path];
69
97
  const operation = oaPath[method];
@@ -140,6 +168,11 @@ export const handler = ${factoryCall}
140
168
  for (const path in apiSpec.paths) {
141
169
  if (Object.prototype.hasOwnProperty.call(apiSpec.paths, path)) {
142
170
  const pathItem = apiSpec.paths[path];
171
+ if (('$ref' in pathItem)) {
172
+ if (!this.validatePathRef(apiSpec, pathItem.$ref)) {
173
+ throw new Error(`Path '${path}' references '${pathItem.$ref}', which does not exist in this API specification`);
174
+ }
175
+ }
143
176
  for (const method in pathItem) {
144
177
  if (Object.prototype.hasOwnProperty.call(pathItem, method) &&
145
178
  ['get', 'post', 'put', 'delete', 'patch', 'options', 'head'].indexOf(method) >= 0) {
@@ -156,4 +189,4 @@ export const handler = ${factoryCall}
156
189
  }
157
190
  }
158
191
  exports.RestApi = RestApi;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3Jlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUVoQywyQ0FBNkI7QUFDN0IsaUNBQXNDO0FBT3RDLE1BQWEsT0FBUSxTQUFRLEVBQUUsQ0FBQyxTQUFTO0lBRXZDLFlBQVksR0FBa0MsRUFBWSxPQUF1QjtRQUMvRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFENkMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFHL0UsR0FBRyxDQUFDLFVBQVUsQ0FDWixtQkFBbUIsRUFDbkIsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1Qsb0JBQW9CLENBQ3JCLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUU7WUFDaEYsSUFBSSxFQUFFLHNCQUFzQixPQUFPLENBQUMsY0FBYyxnQ0FBZ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUscUJBQXFCO1lBQ3BJLFdBQVcsRUFBRSwrQ0FBK0M7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFdBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLG1CQUFtQixDQUFDLFFBQWdCO1FBRTVDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFOzt5Q0FFVSxtQkFBWTs0Q0FDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7O21CQUUzRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7ZUFJeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOztxREFFa0IsSUFB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UUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sdUJBQXVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9ILENBQUM7Q0FFRjtBQS9JRCwwQkErSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgT3BlbkFQSTMsIE9wZXJhdGlvbk9iamVjdCwgUGF0aEl0ZW1PYmplY3QgfSBmcm9tICdvcGVuYXBpLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEFwaU9wdGlvbnMge1xuICByZWFkb25seSBhcGlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmluaXRpb25GaWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN0QXBpIGV4dGVuZHMgcGouQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IHBqLmF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcm90ZWN0ZWQgb3B0aW9uczogUmVzdEFwaU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgYXBwLmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgJ0B0eXBlcy9sYW1iZGEtbG9nJyxcbiAgICApO1xuICAgIGFwcC5hZGREZXBzKFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2pzLXlhbWwnLFxuICAgICAgJ29wZW5hcGktdHlwZXNjcmlwdCcsXG4gICAgKTtcblxuICAgIGNvbnN0IGdlbmVyYXRlVGFzayA9IGFwcC5hZGRUYXNrKGBnZW5lcmF0ZTphcGk6JHtvcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX1gLCB7XG4gICAgICBleGVjOiBgb3BlbmFwaS10eXBlc2NyaXB0ICR7b3B0aW9ucy5kZWZpbml0aW9uRmlsZX0gLS1vdXRwdXQgc3JjL2dlbmVyYXRlZC9yZXN0LiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZC50c2AsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlIFR5cGVzIGZyb20gdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbicsXG4gICAgfSk7XG4gICAgYXBwLmRlZmF1bHRUYXNrIS5zcGF3bihnZW5lcmF0ZVRhc2spO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnN0cnVjdEZpbGUoZmlsZU5hbWU6IHN0cmluZykge1xuXG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlTmFtZSwgYC8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFJlc3RBcGksIFJlc3RBcGlQcm9wcyB9IGZyb20gJyR7UEFDS0FHRV9OQU1FfS9saWIvY29uc3RydWN0cyc7XG5pbXBvcnQgeyBvcGVyYXRpb25zLCBwYXRocyB9IGZyb20gJy4vcmVzdC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX1SZXN0QXBpUHJvcHMgZXh0ZW5kcyBPbWl0PFJlc3RBcGlQcm9wczxvcGVyYXRpb25zPiwgJ2RlZmluaXRpb25GaWxlTmFtZScgfCAnYXBpTmFtZSc+IHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaSBleHRlbmRzIFJlc3RBcGk8cGF0aHMsIG9wZXJhdGlvbnM+IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX1SZXN0QXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgYXBpTmFtZTogJyR7dGhpcy5vcHRpb25zLmFwaU5hbWV9JyxcbiAgICAgIGRlZmluaXRpb25GaWxlTmFtZTogJyR7dGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlfScsXG4gICAgfSk7XG4gIH1cblxufWAsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFJlc3RSZXNvdXJjZShhcGlTcGVjOiBPcGVuQVBJMywgcGF0aDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZykge1xuICAgIGNvbnN0IG9hUGF0aCA9IGFwaVNwZWMucGF0aHMhW3BhdGhdO1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IG9hUGF0aFttZXRob2QgYXMga2V5b2YgUGF0aEl0ZW1PYmplY3RdIGFzIE9wZXJhdGlvbk9iamVjdDtcbiAgICBjb25zdCBvcGVyYXRpb25JZCA9IG9wZXJhdGlvbi5vcGVyYXRpb25JZCE7XG4gICAgLy8gY29uc3QgZGVzY3JpcHRpb24gPSBgJHttZXRob2QgYXMgc3RyaW5nfSAke3BhdGggYXMgc3RyaW5nfSAtICR7b3BlcmF0aW9uLnN1bW1hcnl9YDtcblxuICAgIGNvbnN0IGVudHJ5RmlsZSA9IGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9sYW1iZGEvcmVzdC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LiR7b3BlcmF0aW9uSWR9LnRzYDtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZW50cnlGaWxlKSkge1xuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9sYW1iZGFgKSkge1xuICAgICAgICBmcy5ta2RpclN5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2xhbWJkYWApO1xuICAgICAgfVxuICAgICAgdGhpcy5jcmVhdGVFbnRyeUZpbGUoZW50cnlGaWxlLCBtZXRob2QsIG9wZXJhdGlvbklkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlRW50cnlGaWxlKGVudHJ5RmlsZTogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgb3BlcmF0aW9uSWQ6IHN0cmluZykge1xuICAgIGxldCBmYWN0b3J5Q2FsbDtcbiAgICBsZXQgbG9ncztcbiAgICBzd2l0Y2ggKG1ldGhvZC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICBjYXNlICdwYXRjaCc6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGFwaS5jcmVhdGVPcGVuQXBpSGFuZGxlcldpdGhSZXF1ZXN0Qm9keTxvcGVyYXRpb25zWycke29wZXJhdGlvbklkfSddPihhc3luYyAoY3R4LCBkYXRhKSA9PiB7YDtcbiAgICAgICAgbG9ncyA9ICdjdHgubG9nZ2VyLmluZm8oSlNPTi5zdHJpbmdpZnkoZGF0YSkpOyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgY2FzZSAnZ2V0JzpcbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgZmFjdG9yeUNhbGwgPSBgYXBpLmNyZWF0ZU9wZW5BcGlIYW5kbGVyPG9wZXJhdGlvbnNbJyR7b3BlcmF0aW9uSWR9J10+KGFzeW5jIChjdHgpID0+IHtgO1xuICAgICAgICBsb2dzID0gJyc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGZzLndyaXRlRmlsZVN5bmMoZW50cnlGaWxlLCBgaW1wb3J0IHsgYXBpLCBlcnJvcnMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2xhbWJkYSc7XG5pbXBvcnQgeyBvcGVyYXRpb25zIH0gZnJvbSAnLi4vZ2VuZXJhdGVkL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9ICR7ZmFjdG9yeUNhbGx9XG4gIGN0eC5sb2dnZXIuaW5mbyhKU09OLnN0cmluZ2lmeShjdHguZXZlbnQpKTtcbiAgJHtsb2dzfVxuICB0aHJvdyBuZXcgZXJyb3JzLkh0dHBFcnJvcig1MDAsICdOb3QgeWV0IGltcGxlbWVudGVkJyk7XG59KTtgLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzeW50aGVzaXplKCkge1xuICAgIHN1cGVyLnN5bnRoZXNpemUoKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlKSkge1xuICAgICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUsIHlhbWwuZHVtcCh7XG4gICAgICAgIG9wZW5hcGk6ICczLjAuMScsXG4gICAgICAgIHBhdGhzOiB7XG4gICAgICAgICAgJy9oZWxsbyc6IHtcbiAgICAgICAgICAgIGdldDoge1xuICAgICAgICAgICAgICBvcGVyYXRpb25JZDogJ2hlbGxvV29ybGQnLFxuICAgICAgICAgICAgICByZXNwb25zZXM6IHtcbiAgICAgICAgICAgICAgICAyMDA6IHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nOiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpbmZvOiB7XG4gICAgICAgICAgdGl0bGU6IGAke3RoaXMub3B0aW9ucy5hcGlOYW1lfSBBUEkgZGVmaW5pdGlvbmAsXG4gICAgICAgICAgdmVyc2lvbjogJzEuMCcsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfVxuICAgIGNvbnN0IGFwaVNwZWMgPSB5YW1sLmxvYWQoZnMucmVhZEZpbGVTeW5jKHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSkudG9TdHJpbmcoKSkgYXMgT3BlbkFQSTM7XG4gICAgZm9yIChjb25zdCBwYXRoIGluIGFwaVNwZWMucGF0aHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXBpU3BlYy5wYXRocywgcGF0aCkpIHtcbiAgICAgICAgY29uc3QgcGF0aEl0ZW0gPSBhcGlTcGVjLnBhdGhzW3BhdGhdO1xuICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZCBpbiBwYXRoSXRlbSkge1xuICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF0aEl0ZW0sIG1ldGhvZCkgJiZcbiAgICAgICAgICAgIFsnZ2V0JywgJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZScsICdwYXRjaCcsICdvcHRpb25zJywgJ2hlYWQnXS5pbmRleE9mKG1ldGhvZCkgPj0gMCkge1xuICAgICAgICAgICAgLy8gQWRkIGFsbCBvcGVyYXRpb25zXG4gICAgICAgICAgICB0aGlzLmFkZFJlc3RSZXNvdXJjZShhcGlTcGVjLCBwYXRoLCBtZXRob2QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApKSB7XG4gICAgICBmcy5ta2RpclN5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZUNvbnN0cnVjdEZpbGUoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tYXBpLmdlbmVyYXRlZC50c2ApO1xuICB9XG5cbn0iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3Jlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUVoQywyQ0FBNkI7QUFDN0IsaUNBQXNDO0FBT3RDLE1BQWEsT0FBUSxTQUFRLEVBQUUsQ0FBQyxTQUFTO0lBRXZDLFlBQVksR0FBa0MsRUFBWSxPQUF1QjtRQUMvRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFENkMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFHL0UsR0FBRyxDQUFDLFVBQVUsQ0FDWixtQkFBbUIsRUFDbkIsbUJBQW1CLENBQ3BCLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1Qsb0JBQW9CLENBQ3JCLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUU7WUFDaEYsSUFBSSxFQUFFLHNCQUFzQixPQUFPLENBQUMsY0FBYyxnQ0FBZ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUscUJBQXFCO1lBQ3BJLFdBQVcsRUFBRSwrQ0FBK0M7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFdBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLG1CQUFtQixDQUFDLFFBQWdCO1FBRTVDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFOzt5Q0FFVSxtQkFBWTs0Q0FDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7O21CQUUzRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7ZUFJeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOztxREFFa0IsSUFB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QkFDakg7aUJBQ0Y7Z0JBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7b0JBQzdCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7d0JBQ3hELENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDbkYscUJBQXFCO3dCQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7cUJBQzdDO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLGdCQUFnQixDQUFDLEVBQUU7WUFDMUQsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLHVCQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUMvSCxDQUFDO0NBRUY7QUF4TEQsMEJBd0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7IE9wZW5BUEkzLCBPcGVyYXRpb25PYmplY3QsIFBhdGhJdGVtT2JqZWN0IH0gZnJvbSAnb3BlbmFwaS10eXBlc2NyaXB0JztcbmltcG9ydCAqIGFzIHBqIGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQQUNLQUdFX05BTUUgfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3RBcGlPcHRpb25zIHtcbiAgcmVhZG9ubHkgYXBpTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZWZpbml0aW9uRmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzdEFwaSBleHRlbmRzIHBqLkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBwai5hd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJvdGVjdGVkIG9wdGlvbnM6IFJlc3RBcGlPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwKTtcblxuICAgIGFwcC5hZGREZXZEZXBzKFxuICAgICAgJ0B0eXBlcy9hd3MtbGFtYmRhJyxcbiAgICAgICdAdHlwZXMvbGFtYmRhLWxvZycsXG4gICAgKTtcbiAgICBhcHAuYWRkRGVwcyhcbiAgICAgICdlc2J1aWxkJyxcbiAgICAgICdqcy15YW1sJyxcbiAgICAgICdvcGVuYXBpLXR5cGVzY3JpcHQnLFxuICAgICk7XG5cbiAgICBjb25zdCBnZW5lcmF0ZVRhc2sgPSBhcHAuYWRkVGFzayhgZ2VuZXJhdGU6YXBpOiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9YCwge1xuICAgICAgZXhlYzogYG9wZW5hcGktdHlwZXNjcmlwdCAke29wdGlvbnMuZGVmaW5pdGlvbkZpbGV9IC0tb3V0cHV0IHNyYy9nZW5lcmF0ZWQvcmVzdC4ke29wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQudHNgLFxuICAgICAgZGVzY3JpcHRpb246ICdHZW5lcmF0ZSBUeXBlcyBmcm9tIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24nLFxuICAgIH0pO1xuICAgIGFwcC5kZWZhdWx0VGFzayEuc3Bhd24oZ2VuZXJhdGVUYXNrKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb25zdHJ1Y3RGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZU5hbWUsIGAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXN0QXBpLCBSZXN0QXBpUHJvcHMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucywgcGF0aHMgfSBmcm9tICcuL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzIGV4dGVuZHMgT21pdDxSZXN0QXBpUHJvcHM8b3BlcmF0aW9ucz4sICdkZWZpbml0aW9uRmlsZU5hbWUnIHwgJ2FwaU5hbWUnPiB7XG4gIC8vXG59XG5cbmV4cG9ydCBjbGFzcyAke3RoaXMub3B0aW9ucy5hcGlOYW1lfVJlc3RBcGkgZXh0ZW5kcyBSZXN0QXBpPHBhdGhzLCBvcGVyYXRpb25zPiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGFwaU5hbWU6ICcke3RoaXMub3B0aW9ucy5hcGlOYW1lfScsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgIH0pO1xuICB9XG5cbn1gLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWxpZGF0ZVBhdGhSZWYoYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgdmlzaXRlZDogc3RyaW5nW10gPSBbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJlc29sdmUgcmVmICcke3BhdGh9JyAtIFJlc29sdmluZyByZWZlcmVuY2VzIHRvIHBhdGhzIGZyb20gZGlmZmVyZW50IGZpbGVzIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFByZXR0eVNwbGl0ID1cbiAgICAgIHBhdGhcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLnNsaWNlKDEpXG4gICAgICAgIC5tYXAocGF0aFBhcnQgPT5cbiAgICAgICAgICBwYXRoUGFydFxuICAgICAgICAgICAgLnJlcGxhY2UoJ34xJywgJy8nKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ34wJywgJ34nKSxcbiAgICAgICAgKTtcblxuICAgIGlmICh2aXNpdGVkLmluY2x1ZGVzKHBhdGhQcmV0dHlTcGxpdFsxXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ3ljbGljYWwgcmVmZXJlbmNlIGV4aXN0cyBiZXR3ZWVuIHBhdGhzOiAke3Zpc2l0ZWQuam9pbignLCAnKX1gKTtcbiAgICB9XG5cblxuICAgIGNvbnN0IG1heWJlUGF0aCA9IHBhdGhQcmV0dHlTcGxpdC5yZWR1Y2UoKGFjYywgcGF0aFBhcnQpID0+IHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhhY2MpLmluY2x1ZGVzKHBhdGhQYXJ0KSkge1xuICAgICAgICByZXR1cm4gYWNjW3BhdGhQYXJ0XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSwgYXBpU3BlYyBhcyBhbnkpO1xuICAgIGlmIChtYXliZVBhdGgpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWF5YmVQYXRoLCAnJHJlZicpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlUGF0aFJlZihhcGlTcGVjLCBtYXliZVBhdGguJHJlZiwgWy4uLnZpc2l0ZWQsIHBhdGhQcmV0dHlTcGxpdFsxXV0pO1xuICAgICAgfVxuICAgICAgLy8gQ2xvc2VzdCB0aGluZyB0byBtYWtpbmcgc3VyZSB0aGUgcmVmIGFjdHVhbGx5IGlzIGEgcGF0aCBvYmplY3RcbiAgICAgIHJldHVybiBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWxldGUnLCAncGF0Y2gnLCAnb3B0aW9ucycsICdoZWFkJ10uc29tZShtZXRob2QgPT4gT2JqZWN0LmtleXMobWF5YmVQYXRoKS5pbmRleE9mKG1ldGhvZCkgPj0gMCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRSZXN0UmVzb3VyY2UoYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvYVBhdGggPSBhcGlTcGVjLnBhdGhzIVtwYXRoXSBhcyBQYXRoSXRlbU9iamVjdDtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBvYVBhdGhbbWV0aG9kIGFzIGtleW9mIFBhdGhJdGVtT2JqZWN0XSBhcyBPcGVyYXRpb25PYmplY3Q7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSBvcGVyYXRpb24ub3BlcmF0aW9uSWQhO1xuICAgIC8vIGNvbnN0IGRlc2NyaXB0aW9uID0gYCR7bWV0aG9kIGFzIHN0cmluZ30gJHtwYXRoIGFzIHN0cmluZ30gLSAke29wZXJhdGlvbi5zdW1tYXJ5fWA7XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvbGFtYmRhL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS4ke29wZXJhdGlvbklkfS50c2A7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGVudHJ5RmlsZSkpIHtcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvbGFtYmRhYCkpIHtcbiAgICAgICAgZnMubWtkaXJTeW5jKGAke3RoaXMucHJvamVjdC5vdXRkaXJ9L3NyYy9sYW1iZGFgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY3JlYXRlRW50cnlGaWxlKGVudHJ5RmlsZSwgbWV0aG9kLCBvcGVyYXRpb25JZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUVudHJ5RmlsZShlbnRyeUZpbGU6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIG9wZXJhdGlvbklkOiBzdHJpbmcpIHtcbiAgICBsZXQgZmFjdG9yeUNhbGw7XG4gICAgbGV0IGxvZ3M7XG4gICAgc3dpdGNoIChtZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAncG9zdCc6XG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgY2FzZSAncGF0Y2gnOlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBhcGkuY3JlYXRlT3BlbkFwaUhhbmRsZXJXaXRoUmVxdWVzdEJvZHk8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCwgZGF0YSkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGRhdGEpKTsnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGFwaS5jcmVhdGVPcGVuQXBpSGFuZGxlcjxvcGVyYXRpb25zWycke29wZXJhdGlvbklkfSddPihhc3luYyAoY3R4KSA9PiB7YDtcbiAgICAgICAgbG9ncyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGVudHJ5RmlsZSwgYGltcG9ydCB7IGFwaSwgZXJyb3JzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9sYW1iZGEnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucyB9IGZyb20gJy4uL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSAke2ZhY3RvcnlDYWxsfVxuICBjdHgubG9nZ2VyLmluZm8oSlNPTi5zdHJpbmdpZnkoY3R4LmV2ZW50KSk7XG4gICR7bG9nc31cbiAgdGhyb3cgbmV3IGVycm9ycy5IdHRwRXJyb3IoNTAwLCAnTm90IHlldCBpbXBsZW1lbnRlZCcpO1xufSk7YCwge1xuICAgICAgZW5jb2Rpbmc6ICd1dGYtOCcsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBzdXBlci5zeW50aGVzaXplKCk7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZSkpIHtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlLCB5YW1sLmR1bXAoe1xuICAgICAgICBvcGVuYXBpOiAnMy4wLjEnLFxuICAgICAgICBwYXRoczoge1xuICAgICAgICAgICcvaGVsbG8nOiB7XG4gICAgICAgICAgICBnZXQ6IHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uSWQ6ICdoZWxsb1dvcmxkJyxcbiAgICAgICAgICAgICAgcmVzcG9uc2VzOiB7XG4gICAgICAgICAgICAgICAgMjAwOiB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB7XG4gICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJzoge1xuICAgICAgICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaW5mbzoge1xuICAgICAgICAgIHRpdGxlOiBgJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX0gQVBJIGRlZmluaXRpb25gLFxuICAgICAgICAgIHZlcnNpb246ICcxLjAnLFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH1cbiAgICBjb25zdCBhcGlTcGVjID0geWFtbC5sb2FkKGZzLnJlYWRGaWxlU3luYyh0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpLnRvU3RyaW5nKCkpIGFzIE9wZW5BUEkzO1xuICAgIGZvciAoY29uc3QgcGF0aCBpbiBhcGlTcGVjLnBhdGhzKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFwaVNwZWMucGF0aHMsIHBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHBhdGhJdGVtID0gYXBpU3BlYy5wYXRoc1twYXRoXTtcbiAgICAgICAgaWYgKCgnJHJlZicgaW4gcGF0aEl0ZW0pKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlUGF0aFJlZihhcGlTcGVjLCBwYXRoSXRlbS4kcmVmKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXRoICcke3BhdGh9JyByZWZlcmVuY2VzICcke3BhdGhJdGVtLiRyZWZ9Jywgd2hpY2ggZG9lcyBub3QgZXhpc3QgaW4gdGhpcyBBUEkgc3BlY2lmaWNhdGlvbmApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZCBpbiBwYXRoSXRlbSkge1xuICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF0aEl0ZW0sIG1ldGhvZCkgJiZcbiAgICAgICAgICAgIFsnZ2V0JywgJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZScsICdwYXRjaCcsICdvcHRpb25zJywgJ2hlYWQnXS5pbmRleE9mKG1ldGhvZCkgPj0gMCkge1xuICAgICAgICAgICAgLy8gQWRkIGFsbCBvcGVyYXRpb25zXG4gICAgICAgICAgICB0aGlzLmFkZFJlc3RSZXNvdXJjZShhcGlTcGVjLCBwYXRoLCBtZXRob2QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApKSB7XG4gICAgICBmcy5ta2RpclN5bmMoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZGApO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZUNvbnN0cnVjdEZpbGUoYCR7dGhpcy5wcm9qZWN0Lm91dGRpcn0vc3JjL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tYXBpLmdlbmVyYXRlZC50c2ApO1xuICB9XG5cbn0iXX0=
package/package.json CHANGED
@@ -35,50 +35,48 @@
35
35
  "@aws-cdk/aws-cognito-identitypool-alpha": "2.60.0-alpha.0",
36
36
  "@hapi/boom": "^10.0.1",
37
37
  "@taimos/projen": "^0.0.187",
38
- "@types/aws-lambda": "^8.10.119",
39
- "@types/jest": "^29.5.4",
40
- "@types/js-yaml": "^4.0.5",
41
- "@types/jsonwebtoken": "^9.0.2",
42
- "@types/jwk-to-pem": "^2.0.1",
38
+ "@types/aws-lambda": "^8.10.130",
39
+ "@types/jest": "^29.5.11",
40
+ "@types/js-yaml": "^4.0.9",
41
+ "@types/jsonwebtoken": "^9.0.5",
42
+ "@types/jwk-to-pem": "^2.0.3",
43
43
  "@types/lambda-log": "^2.2.1",
44
44
  "@types/node": "^16",
45
- "@types/uuid": "^9.0.3",
45
+ "@types/uuid": "^9.0.7",
46
46
  "@typescript-eslint/eslint-plugin": "^6",
47
47
  "@typescript-eslint/parser": "^6",
48
48
  "aws-cdk-lib": "2.60.0",
49
49
  "constructs": "10.0.5",
50
50
  "dynamodb-onetable": "~2.6.4",
51
51
  "eslint": "^8",
52
- "eslint-import-resolver-node": "^0.3.9",
53
- "eslint-import-resolver-typescript": "^3.6.0",
54
- "eslint-plugin-import": "^2.28.1",
55
- "jest": "^29.6.4",
52
+ "eslint-import-resolver-typescript": "^3.6.1",
53
+ "eslint-plugin-import": "^2.29.1",
54
+ "jest": "^29.7.0",
56
55
  "jest-junit": "^15",
57
- "npm-check-updates": "^16",
58
- "openapi-typescript": "6.2.1",
59
- "projen": "^0.73.4",
56
+ "openapi-typescript": "6.7.3",
57
+ "projen": "^0.78.4",
60
58
  "standard-version": "^9",
61
59
  "ts-jest": "^29.1.1",
62
- "ts-node": "^10.9.1",
63
- "typedoc": "^0.25.0",
60
+ "ts-node": "^10.9.2",
61
+ "typedoc": "0.25.0",
64
62
  "typescript": "^4.4.0"
65
63
  },
66
64
  "peerDependencies": {
67
65
  "@aws-cdk/aws-cognito-identitypool-alpha": "^2.60.0-alpha.0",
68
66
  "aws-cdk-lib": "^2.60.0",
69
67
  "constructs": "^10.0.5",
70
- "dynamodb-onetable": "^2.6.4",
71
- "openapi-typescript": "^6.5.4"
68
+ "dynamodb-onetable": "^2.7.1",
69
+ "openapi-typescript": "^6.7.3"
72
70
  },
73
71
  "dependencies": {
74
- "axios": "^1.5.0",
72
+ "axios": "^1.6.3",
75
73
  "date-fns": "^2.30.0",
76
74
  "js-yaml": "^4.1.0",
77
75
  "jsonwebtoken": "^9.0.2",
78
76
  "jwk-to-pem": "^2.0.5",
79
77
  "lambda-log": "^3.1.0",
80
- "projen": "^0.73.4",
81
- "uuid": "^9.0.0"
78
+ "projen": "^0.78.4",
79
+ "uuid": "^9.0.1"
82
80
  },
83
81
  "keywords": [
84
82
  "aws",
@@ -92,7 +90,7 @@
92
90
  },
93
91
  "main": "lib/index.js",
94
92
  "license": "Apache-2.0",
95
- "version": "2.8.0",
93
+ "version": "2.9.1",
96
94
  "jest": {
97
95
  "testMatch": [
98
96
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
@@ -126,11 +124,13 @@
126
124
  }
127
125
  ]
128
126
  ],
129
- "preset": "ts-jest",
130
- "globals": {
131
- "ts-jest": {
132
- "tsconfig": "tsconfig.dev.json"
133
- }
127
+ "transform": {
128
+ "^.+\\.[t]sx?$": [
129
+ "ts-jest",
130
+ {
131
+ "tsconfig": "tsconfig.dev.json"
132
+ }
133
+ ]
134
134
  }
135
135
  },
136
136
  "types": "lib/index.d.ts",