deployable-awscdk-app-ts 0.0.10 → 0.0.14
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.
- package/.jsii +43 -21
- package/API.md +124 -14
- package/lib/index.d.ts +1 -0
- package/lib/index.js +12 -8
- package/lib/steps.d.ts +6 -5
- package/lib/steps.js +41 -13
- package/lib/types.d.ts +7 -0
- package/lib/types.js +1 -1
- package/package.json +13 -13
package/.jsii
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
]
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"projen": "^0.
|
|
10
|
+
"projen": "^0.45.3"
|
|
11
11
|
},
|
|
12
12
|
"dependencyClosure": {
|
|
13
13
|
"projen": {
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
"projen.web": {}
|
|
28
28
|
},
|
|
29
29
|
"targets": {
|
|
30
|
+
"go": {
|
|
31
|
+
"moduleName": "github.com/projen/projen-go"
|
|
32
|
+
},
|
|
30
33
|
"java": {
|
|
31
34
|
"maven": {
|
|
32
35
|
"artifactId": "projen",
|
|
@@ -49,7 +52,7 @@
|
|
|
49
52
|
"stability": "stable"
|
|
50
53
|
},
|
|
51
54
|
"homepage": "https://github.com/amin.fazl/deployable-awscdk-app-ts.git",
|
|
52
|
-
"jsiiVersion": "1.
|
|
55
|
+
"jsiiVersion": "1.49.0 (build e322d87)",
|
|
53
56
|
"keywords": [
|
|
54
57
|
"AWS CDK",
|
|
55
58
|
"Deployment",
|
|
@@ -62,7 +65,8 @@
|
|
|
62
65
|
"pacmak": {
|
|
63
66
|
"hasDefaultInterfaces": true
|
|
64
67
|
}
|
|
65
|
-
}
|
|
68
|
+
},
|
|
69
|
+
"tscRootDir": "src"
|
|
66
70
|
},
|
|
67
71
|
"name": "deployable-awscdk-app-ts",
|
|
68
72
|
"readme": {
|
|
@@ -89,7 +93,7 @@
|
|
|
89
93
|
"kind": "interface",
|
|
90
94
|
"locationInModule": {
|
|
91
95
|
"filename": "src/types.ts",
|
|
92
|
-
"line":
|
|
96
|
+
"line": 58
|
|
93
97
|
},
|
|
94
98
|
"name": "AWSCredentials",
|
|
95
99
|
"properties": [
|
|
@@ -103,7 +107,7 @@
|
|
|
103
107
|
"immutable": true,
|
|
104
108
|
"locationInModule": {
|
|
105
109
|
"filename": "src/types.ts",
|
|
106
|
-
"line":
|
|
110
|
+
"line": 86
|
|
107
111
|
},
|
|
108
112
|
"name": "region",
|
|
109
113
|
"type": {
|
|
@@ -120,7 +124,7 @@
|
|
|
120
124
|
"immutable": true,
|
|
121
125
|
"locationInModule": {
|
|
122
126
|
"filename": "src/types.ts",
|
|
123
|
-
"line":
|
|
127
|
+
"line": 63
|
|
124
128
|
},
|
|
125
129
|
"name": "accessKeyIdSecretName",
|
|
126
130
|
"optional": true,
|
|
@@ -138,7 +142,7 @@
|
|
|
138
142
|
"immutable": true,
|
|
139
143
|
"locationInModule": {
|
|
140
144
|
"filename": "src/types.ts",
|
|
141
|
-
"line":
|
|
145
|
+
"line": 80
|
|
142
146
|
},
|
|
143
147
|
"name": "assumeRoleDurationSeconds",
|
|
144
148
|
"optional": true,
|
|
@@ -155,7 +159,7 @@
|
|
|
155
159
|
"immutable": true,
|
|
156
160
|
"locationInModule": {
|
|
157
161
|
"filename": "src/types.ts",
|
|
158
|
-
"line":
|
|
162
|
+
"line": 74
|
|
159
163
|
},
|
|
160
164
|
"name": "roleToAssume",
|
|
161
165
|
"optional": true,
|
|
@@ -173,7 +177,7 @@
|
|
|
173
177
|
"immutable": true,
|
|
174
178
|
"locationInModule": {
|
|
175
179
|
"filename": "src/types.ts",
|
|
176
|
-
"line":
|
|
180
|
+
"line": 69
|
|
177
181
|
},
|
|
178
182
|
"name": "secretAccessKeySecretName",
|
|
179
183
|
"optional": true,
|
|
@@ -194,7 +198,7 @@
|
|
|
194
198
|
"kind": "interface",
|
|
195
199
|
"locationInModule": {
|
|
196
200
|
"filename": "src/types.ts",
|
|
197
|
-
"line":
|
|
201
|
+
"line": 22
|
|
198
202
|
},
|
|
199
203
|
"name": "DeployOptions",
|
|
200
204
|
"properties": [
|
|
@@ -207,7 +211,7 @@
|
|
|
207
211
|
"immutable": true,
|
|
208
212
|
"locationInModule": {
|
|
209
213
|
"filename": "src/types.ts",
|
|
210
|
-
"line":
|
|
214
|
+
"line": 26
|
|
211
215
|
},
|
|
212
216
|
"name": "environments",
|
|
213
217
|
"type": {
|
|
@@ -230,7 +234,7 @@
|
|
|
230
234
|
"immutable": true,
|
|
231
235
|
"locationInModule": {
|
|
232
236
|
"filename": "src/types.ts",
|
|
233
|
-
"line":
|
|
237
|
+
"line": 43
|
|
234
238
|
},
|
|
235
239
|
"name": "npmConfigEnvironment",
|
|
236
240
|
"optional": true,
|
|
@@ -249,7 +253,7 @@
|
|
|
249
253
|
"immutable": true,
|
|
250
254
|
"locationInModule": {
|
|
251
255
|
"filename": "src/types.ts",
|
|
252
|
-
"line":
|
|
256
|
+
"line": 34
|
|
253
257
|
},
|
|
254
258
|
"name": "stackPattern",
|
|
255
259
|
"optional": true,
|
|
@@ -273,7 +277,7 @@
|
|
|
273
277
|
},
|
|
274
278
|
"locationInModule": {
|
|
275
279
|
"filename": "src/index.ts",
|
|
276
|
-
"line":
|
|
280
|
+
"line": 16
|
|
277
281
|
},
|
|
278
282
|
"parameters": [
|
|
279
283
|
{
|
|
@@ -296,7 +300,7 @@
|
|
|
296
300
|
},
|
|
297
301
|
"locationInModule": {
|
|
298
302
|
"filename": "src/index.ts",
|
|
299
|
-
"line":
|
|
303
|
+
"line": 47
|
|
300
304
|
},
|
|
301
305
|
"name": "addEnvironments",
|
|
302
306
|
"parameters": [
|
|
@@ -318,7 +322,7 @@
|
|
|
318
322
|
},
|
|
319
323
|
"locationInModule": {
|
|
320
324
|
"filename": "src/index.ts",
|
|
321
|
-
"line":
|
|
325
|
+
"line": 35
|
|
322
326
|
},
|
|
323
327
|
"name": "synth",
|
|
324
328
|
"overrides": "projen.Project"
|
|
@@ -360,6 +364,24 @@
|
|
|
360
364
|
"fqn": "deployable-awscdk-app-ts.DeployOptions"
|
|
361
365
|
}
|
|
362
366
|
},
|
|
367
|
+
{
|
|
368
|
+
"abstract": true,
|
|
369
|
+
"docs": {
|
|
370
|
+
"default": "false",
|
|
371
|
+
"stability": "stable",
|
|
372
|
+
"summary": "Whether to check and skip the deployment for environments that have active deployment of the same commit."
|
|
373
|
+
},
|
|
374
|
+
"immutable": true,
|
|
375
|
+
"locationInModule": {
|
|
376
|
+
"filename": "src/types.ts",
|
|
377
|
+
"line": 19
|
|
378
|
+
},
|
|
379
|
+
"name": "checkActiveDeployment",
|
|
380
|
+
"optional": true,
|
|
381
|
+
"type": {
|
|
382
|
+
"primitive": "boolean"
|
|
383
|
+
}
|
|
384
|
+
},
|
|
363
385
|
{
|
|
364
386
|
"abstract": true,
|
|
365
387
|
"docs": {
|
|
@@ -391,7 +413,7 @@
|
|
|
391
413
|
"kind": "interface",
|
|
392
414
|
"locationInModule": {
|
|
393
415
|
"filename": "src/types.ts",
|
|
394
|
-
"line":
|
|
416
|
+
"line": 46
|
|
395
417
|
},
|
|
396
418
|
"name": "EnvironmentOptions",
|
|
397
419
|
"properties": [
|
|
@@ -404,7 +426,7 @@
|
|
|
404
426
|
"immutable": true,
|
|
405
427
|
"locationInModule": {
|
|
406
428
|
"filename": "src/types.ts",
|
|
407
|
-
"line":
|
|
429
|
+
"line": 55
|
|
408
430
|
},
|
|
409
431
|
"name": "awsCredentials",
|
|
410
432
|
"type": {
|
|
@@ -420,7 +442,7 @@
|
|
|
420
442
|
"immutable": true,
|
|
421
443
|
"locationInModule": {
|
|
422
444
|
"filename": "src/types.ts",
|
|
423
|
-
"line":
|
|
445
|
+
"line": 50
|
|
424
446
|
},
|
|
425
447
|
"name": "name",
|
|
426
448
|
"type": {
|
|
@@ -431,6 +453,6 @@
|
|
|
431
453
|
"symbolId": "src/types:EnvironmentOptions"
|
|
432
454
|
}
|
|
433
455
|
},
|
|
434
|
-
"version": "0.0.
|
|
435
|
-
"fingerprint": "
|
|
456
|
+
"version": "0.0.14",
|
|
457
|
+
"fingerprint": "EYgwik6M05LCva4WVd76NeTefwwgzke8rxovK+ozBNo="
|
|
436
458
|
}
|
package/API.md
CHANGED
|
@@ -225,19 +225,26 @@ const deployableAwsCdkTypeScriptAppOptions: DeployableAwsCdkTypeScriptAppOptions
|
|
|
225
225
|
| [`tsconfigDev`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertytsconfigdev) | [`projen.javascript.TypescriptConfigOptions`](#projen.javascript.TypescriptConfigOptions) | Custom tsconfig options for the development tsconfig.json file (used for testing). |
|
|
226
226
|
| [`tsconfigDevFile`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertytsconfigdevfile) | `string` | The name of the development tsconfig.json file. |
|
|
227
227
|
| [`typescriptVersion`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertytypescriptversion) | `string` | TypeScript version to use. |
|
|
228
|
+
| [`buildCommand`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertybuildcommand) | `string` | A command to execute before synthesis. |
|
|
228
229
|
| [`cdkout`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkout) | `string` | cdk.out directory. |
|
|
229
230
|
| [`context`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycontext) | {[ key: string ]: `string`} | Additional context to include in `cdk.json`. |
|
|
230
231
|
| [`featureFlags`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertyfeatureflags) | `boolean` | Include all feature flags in cdk.json. |
|
|
231
232
|
| [`requireApproval`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertyrequireapproval) | [`projen.awscdk.ApprovalLevel`](#projen.awscdk.ApprovalLevel) | To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. |
|
|
232
233
|
| [`watchExcludes`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertywatchexcludes) | `string`[] | Glob patterns to exclude from `cdk watch`. |
|
|
233
234
|
| [`watchIncludes`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertywatchincludes) | `string`[] | Glob patterns to include in `cdk watch`. |
|
|
234
|
-
| [`cdkVersion`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkversion)<span title="Required">*</span> | `string` | AWS CDK
|
|
235
|
-
| [`
|
|
236
|
-
| [`
|
|
235
|
+
| [`cdkVersion`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkversion)<span title="Required">*</span> | `string` | Minimum version of the AWS CDK to depend on. |
|
|
236
|
+
| [`cdkAssert`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkassert) | `boolean` | Install the @aws-cdk/assert library? |
|
|
237
|
+
| [`cdkAssertions`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkassertions) | `boolean` | Install the @aws-cdk/assertions library? |
|
|
238
|
+
| [`cdkDependencies`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkdependencies) | `string`[] | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? |
|
|
239
|
+
| [`cdkDependenciesAsDeps`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkdependenciesasdeps) | `boolean` | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). |
|
|
240
|
+
| [`cdkTestDependencies`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdktestdependencies) | `string`[] | AWS CDK modules required for testing. |
|
|
237
241
|
| [`cdkVersionPinning`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkversionpinning) | `boolean` | Use pinned version instead of caret version for CDK. |
|
|
242
|
+
| [`constructsVersion`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertyconstructsversion) | `string` | Minimum version of the `constructs` library to depend on. |
|
|
243
|
+
| [`appEntrypoint`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertyappentrypoint) | `string` | The CDK app's entrypoint (relative to the source directory, which is "src" by default). |
|
|
238
244
|
| [`lambdaAutoDiscover`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertylambdaautodiscover) | `boolean` | Automatically adds an `awscdk.LambdaFunction` for each `.lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. |
|
|
239
245
|
| [`lambdaOptions`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertylambdaoptions) | [`projen.awscdk.LambdaFunctionCommonOptions`](#projen.awscdk.LambdaFunctionCommonOptions) | Common options for all AWS Lambda functions. |
|
|
240
246
|
| [`deployOptions`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertydeployoptions)<span title="Required">*</span> | [`deployable-awscdk-app-ts.DeployOptions`](#deployable-awscdk-app-ts.DeployOptions) | Deployment options. |
|
|
247
|
+
| [`checkActiveDeployment`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycheckactivedeployment) | `boolean` | Whether to check and skip the deployment for environments that have active deployment of the same commit. |
|
|
241
248
|
| [`generateNvmrc`](#deployableawscdkapptsdeployableawscdktypescriptappoptionspropertygeneratenvmrc) | `boolean` | Whether to generate nvmrc file for the node version of the project. |
|
|
242
249
|
|
|
243
250
|
---
|
|
@@ -634,7 +641,7 @@ public readonly bundledDeps: string[];
|
|
|
634
641
|
|
|
635
642
|
List of dependencies to bundle into this module.
|
|
636
643
|
|
|
637
|
-
These modules will be added both to the `dependencies` section and `
|
|
644
|
+
These modules will be added both to the `dependencies` section and `bundledDependencies` section of your `package.json`. The recommendation is to only specify the module name here (e.g. `express`). This will behave similar to `yarn add` or `npm install` in the sense that it will add the module as a dependency to your `package.json` file with the latest version (`^`). You can specify semver requirements in the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and this will be what you `package.json` will eventually include.
|
|
638
645
|
|
|
639
646
|
---
|
|
640
647
|
|
|
@@ -1911,6 +1918,21 @@ NOTE: Typescript is not semantically versioned and should remain on the same min
|
|
|
1911
1918
|
|
|
1912
1919
|
---
|
|
1913
1920
|
|
|
1921
|
+
##### `buildCommand`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.buildCommand" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertybuildcommand"></a>
|
|
1922
|
+
|
|
1923
|
+
```typescript
|
|
1924
|
+
public readonly buildCommand: string;
|
|
1925
|
+
```
|
|
1926
|
+
|
|
1927
|
+
- *Type:* `string`
|
|
1928
|
+
- *Default:* no build command
|
|
1929
|
+
|
|
1930
|
+
A command to execute before synthesis.
|
|
1931
|
+
|
|
1932
|
+
This command will be called when running `cdk synth` or when `cdk watch` identifies a change in your source code before redeployment.
|
|
1933
|
+
|
|
1934
|
+
---
|
|
1935
|
+
|
|
1914
1936
|
##### `cdkout`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.cdkout" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkout"></a>
|
|
1915
1937
|
|
|
1916
1938
|
```typescript
|
|
@@ -1996,26 +2018,45 @@ public readonly cdkVersion: string;
|
|
|
1996
2018
|
```
|
|
1997
2019
|
|
|
1998
2020
|
- *Type:* `string`
|
|
1999
|
-
- *Default:* "1.
|
|
2021
|
+
- *Default:* "2.1.0"
|
|
2000
2022
|
|
|
2001
|
-
AWS CDK
|
|
2023
|
+
Minimum version of the AWS CDK to depend on.
|
|
2002
2024
|
|
|
2003
2025
|
---
|
|
2004
2026
|
|
|
2005
|
-
#####
|
|
2027
|
+
##### ~~`cdkAssert`~~<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.cdkAssert" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkassert"></a>
|
|
2028
|
+
|
|
2029
|
+
- *Deprecated:* The
|
|
2006
2030
|
|
|
2007
2031
|
```typescript
|
|
2008
|
-
public readonly
|
|
2032
|
+
public readonly cdkAssert: boolean;
|
|
2009
2033
|
```
|
|
2010
2034
|
|
|
2011
|
-
- *Type:* `
|
|
2012
|
-
- *Default:*
|
|
2035
|
+
- *Type:* `boolean`
|
|
2036
|
+
- *Default:* will be included by default for AWS CDK >= 1.0.0 < 2.0.0
|
|
2013
2037
|
|
|
2014
|
-
|
|
2038
|
+
Install the @aws-cdk/assert library?
|
|
2015
2039
|
|
|
2016
2040
|
---
|
|
2017
2041
|
|
|
2018
|
-
##### `
|
|
2042
|
+
##### `cdkAssertions`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.cdkAssertions" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkassertions"></a>
|
|
2043
|
+
|
|
2044
|
+
```typescript
|
|
2045
|
+
public readonly cdkAssertions: boolean;
|
|
2046
|
+
```
|
|
2047
|
+
|
|
2048
|
+
- *Type:* `boolean`
|
|
2049
|
+
- *Default:* will be included by default for AWS CDK >= 1.111.0 < 2.0.0
|
|
2050
|
+
|
|
2051
|
+
Install the @aws-cdk/assertions library?
|
|
2052
|
+
|
|
2053
|
+
Only needed for CDK 1.x. If using CDK 2.x then assertions is already included in 'aws-cdk-lib'
|
|
2054
|
+
|
|
2055
|
+
---
|
|
2056
|
+
|
|
2057
|
+
##### ~~`cdkDependencies`~~<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.cdkDependencies" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkdependencies"></a>
|
|
2058
|
+
|
|
2059
|
+
- *Deprecated:* For CDK 2.x use 'peerDeps' instead
|
|
2019
2060
|
|
|
2020
2061
|
```typescript
|
|
2021
2062
|
public readonly cdkDependencies: string[];
|
|
@@ -2023,7 +2064,38 @@ public readonly cdkDependencies: string[];
|
|
|
2023
2064
|
|
|
2024
2065
|
- *Type:* `string`[]
|
|
2025
2066
|
|
|
2026
|
-
Which AWS CDK modules (those that start with "@aws-cdk/") this
|
|
2067
|
+
Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?
|
|
2068
|
+
|
|
2069
|
+
---
|
|
2070
|
+
|
|
2071
|
+
##### ~~`cdkDependenciesAsDeps`~~<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.cdkDependenciesAsDeps" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdkdependenciesasdeps"></a>
|
|
2072
|
+
|
|
2073
|
+
- *Deprecated:* Not supported in CDK v2.
|
|
2074
|
+
|
|
2075
|
+
```typescript
|
|
2076
|
+
public readonly cdkDependenciesAsDeps: boolean;
|
|
2077
|
+
```
|
|
2078
|
+
|
|
2079
|
+
- *Type:* `boolean`
|
|
2080
|
+
- *Default:* true
|
|
2081
|
+
|
|
2082
|
+
If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).
|
|
2083
|
+
|
|
2084
|
+
This is to ensure that downstream consumers actually have your CDK dependencies installed when using npm < 7 or yarn, where peer dependencies are not automatically installed. If this is disabled, `cdkDependencies` will be added to `devDependencies` to ensure they are present during development.
|
|
2085
|
+
|
|
2086
|
+
---
|
|
2087
|
+
|
|
2088
|
+
##### ~~`cdkTestDependencies`~~<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.cdkTestDependencies" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycdktestdependencies"></a>
|
|
2089
|
+
|
|
2090
|
+
- *Deprecated:* For CDK 2.x use 'devDeps' instead
|
|
2091
|
+
|
|
2092
|
+
```typescript
|
|
2093
|
+
public readonly cdkTestDependencies: string[];
|
|
2094
|
+
```
|
|
2095
|
+
|
|
2096
|
+
- *Type:* `string`[]
|
|
2097
|
+
|
|
2098
|
+
AWS CDK modules required for testing.
|
|
2027
2099
|
|
|
2028
2100
|
---
|
|
2029
2101
|
|
|
@@ -2034,7 +2106,6 @@ public readonly cdkVersionPinning: boolean;
|
|
|
2034
2106
|
```
|
|
2035
2107
|
|
|
2036
2108
|
- *Type:* `boolean`
|
|
2037
|
-
- *Default:* false
|
|
2038
2109
|
|
|
2039
2110
|
Use pinned version instead of caret version for CDK.
|
|
2040
2111
|
|
|
@@ -2042,6 +2113,32 @@ You can use this to prevent yarn to mix versions for your CDK dependencies and t
|
|
|
2042
2113
|
|
|
2043
2114
|
---
|
|
2044
2115
|
|
|
2116
|
+
##### `constructsVersion`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.constructsVersion" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertyconstructsversion"></a>
|
|
2117
|
+
|
|
2118
|
+
```typescript
|
|
2119
|
+
public readonly constructsVersion: string;
|
|
2120
|
+
```
|
|
2121
|
+
|
|
2122
|
+
- *Type:* `string`
|
|
2123
|
+
- *Default:* for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
|
|
2124
|
+
|
|
2125
|
+
Minimum version of the `constructs` library to depend on.
|
|
2126
|
+
|
|
2127
|
+
---
|
|
2128
|
+
|
|
2129
|
+
##### `appEntrypoint`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.appEntrypoint" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertyappentrypoint"></a>
|
|
2130
|
+
|
|
2131
|
+
```typescript
|
|
2132
|
+
public readonly appEntrypoint: string;
|
|
2133
|
+
```
|
|
2134
|
+
|
|
2135
|
+
- *Type:* `string`
|
|
2136
|
+
- *Default:* "main.ts"
|
|
2137
|
+
|
|
2138
|
+
The CDK app's entrypoint (relative to the source directory, which is "src" by default).
|
|
2139
|
+
|
|
2140
|
+
---
|
|
2141
|
+
|
|
2045
2142
|
##### `lambdaAutoDiscover`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.lambdaAutoDiscover" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertylambdaautodiscover"></a>
|
|
2046
2143
|
|
|
2047
2144
|
```typescript
|
|
@@ -2080,6 +2177,19 @@ Deployment options.
|
|
|
2080
2177
|
|
|
2081
2178
|
---
|
|
2082
2179
|
|
|
2180
|
+
##### `checkActiveDeployment`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.checkActiveDeployment" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertycheckactivedeployment"></a>
|
|
2181
|
+
|
|
2182
|
+
```typescript
|
|
2183
|
+
public readonly checkActiveDeployment: boolean;
|
|
2184
|
+
```
|
|
2185
|
+
|
|
2186
|
+
- *Type:* `boolean`
|
|
2187
|
+
- *Default:* false
|
|
2188
|
+
|
|
2189
|
+
Whether to check and skip the deployment for environments that have active deployment of the same commit.
|
|
2190
|
+
|
|
2191
|
+
---
|
|
2192
|
+
|
|
2083
2193
|
##### `generateNvmrc`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions.property.generateNvmrc" id="deployableawscdkapptsdeployableawscdktypescriptappoptionspropertygeneratenvmrc"></a>
|
|
2084
2194
|
|
|
2085
2195
|
```typescript
|
package/lib/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './types';
|
|
|
7
7
|
export declare class DeployableAwsCdkTypeScriptApp extends awscdk.AwsCdkTypeScriptApp {
|
|
8
8
|
private readonly deployable;
|
|
9
9
|
private readonly generateNvmrc;
|
|
10
|
+
private readonly checkActiveDeployment;
|
|
10
11
|
private readonly workflowNodeVersion?;
|
|
11
12
|
private readonly deployOptions;
|
|
12
13
|
/**
|
package/lib/index.js
CHANGED
|
@@ -25,7 +25,7 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
|
|
|
25
25
|
* @stability stable
|
|
26
26
|
*/
|
|
27
27
|
constructor(options) {
|
|
28
|
-
var _b, _c;
|
|
28
|
+
var _b, _c, _d;
|
|
29
29
|
const deployable = (_b = options.release) !== null && _b !== void 0 ? _b : true;
|
|
30
30
|
super({
|
|
31
31
|
...options,
|
|
@@ -33,6 +33,7 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
|
|
|
33
33
|
});
|
|
34
34
|
this.deployable = deployable;
|
|
35
35
|
this.generateNvmrc = (_c = options.generateNvmrc) !== null && _c !== void 0 ? _c : true;
|
|
36
|
+
this.checkActiveDeployment = (_d = options.checkActiveDeployment) !== null && _d !== void 0 ? _d : false;
|
|
36
37
|
this.workflowNodeVersion = options.workflowNodeVersion;
|
|
37
38
|
this.deployOptions = options.deployOptions;
|
|
38
39
|
if (!deployable)
|
|
@@ -97,6 +98,7 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
|
|
|
97
98
|
],
|
|
98
99
|
permissions: {
|
|
99
100
|
contents: workflows_model_1.JobPermission.READ,
|
|
101
|
+
deployments: workflows_model_1.JobPermission.READ,
|
|
100
102
|
},
|
|
101
103
|
strategy: {
|
|
102
104
|
maxParallel: 1,
|
|
@@ -113,17 +115,19 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
|
|
|
113
115
|
steps: [],
|
|
114
116
|
};
|
|
115
117
|
jobDefinition.steps.push(steps.checkoutStep());
|
|
118
|
+
if (this.checkActiveDeployment)
|
|
119
|
+
jobDefinition.steps.push(steps.checkActiveDeploymentStep());
|
|
116
120
|
if (this.workflowNodeVersion)
|
|
117
|
-
jobDefinition.steps.push(steps.setNodeVersionStep(this.workflowNodeVersion));
|
|
118
|
-
jobDefinition.steps.push(steps.installDependenciesStep(this.package.installCommand));
|
|
119
|
-
jobDefinition.steps.push(...steps.setAwsCredentialsSteps());
|
|
121
|
+
jobDefinition.steps.push(steps.setNodeVersionStep(this.workflowNodeVersion, this.checkActiveDeployment));
|
|
122
|
+
jobDefinition.steps.push(steps.installDependenciesStep(this.package.installCommand, this.checkActiveDeployment));
|
|
123
|
+
jobDefinition.steps.push(...steps.setAwsCredentialsSteps(this.checkActiveDeployment));
|
|
120
124
|
if (this.deployOptions.npmConfigEnvironment)
|
|
121
|
-
jobDefinition.steps.push(steps.setNpmConfig(this.deployOptions.npmConfigEnvironment, '${{ matrix.environment }}'));
|
|
122
|
-
jobDefinition.steps.push(steps.deploymentStep(this.deployOptions.stackPattern));
|
|
125
|
+
jobDefinition.steps.push(steps.setNpmConfig(this.deployOptions.npmConfigEnvironment, '${{ matrix.environment }}', this.checkActiveDeployment));
|
|
126
|
+
jobDefinition.steps.push(steps.deploymentStep(this.deployOptions.stackPattern, this.checkActiveDeployment));
|
|
123
127
|
(_b = this.release) === null || _b === void 0 ? void 0 : _b.addJobs({ deploy: jobDefinition });
|
|
124
128
|
}
|
|
125
129
|
}
|
|
126
130
|
exports.DeployableAwsCdkTypeScriptApp = DeployableAwsCdkTypeScriptApp;
|
|
127
131
|
_a = JSII_RTTI_SYMBOL_1;
|
|
128
|
-
DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.0.
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.0.14" };
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBQXVDO0FBQ3ZDLHVFQUFvRTtBQUNwRSxpQ0FBZ0M7QUFHaEMsMENBQXVCOzs7O0FBRXZCLE1BQWEsNkJBQThCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjs7OztJQVEzRSxZQUFZLE9BQTZDOztRQUN2RCxNQUFNLFVBQVUsU0FBRyxPQUFPLENBQUMsT0FBTyxtQ0FBSSxJQUFJLENBQUE7UUFDMUMsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsU0FBRyxPQUFPLENBQUMsYUFBYSxtQ0FBSSxJQUFJLENBQUE7UUFDbEQsSUFBSSxDQUFDLHFCQUFxQixTQUFHLE9BQU8sQ0FBQyxxQkFBcUIsbUNBQUksS0FBSyxDQUFBO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUE7UUFDdEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFBO1FBRTFDLElBQUksQ0FBQyxVQUFVO1lBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxpRkFBaUYsQ0FBQyxDQUFBO1FBRWpHLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7Ozs7Ozs7Ozs7Ozs7SUFFRCxLQUFLOztRQUNILElBQUksSUFBSSxDQUFDLFVBQVU7WUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBRXRCLElBQUksSUFBSSxDQUFDLGFBQWE7WUFDcEIsSUFBSSxpQkFBUSxDQUFDLElBQUks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LHFCQUFxQixDQUFDLENBQUMsQ0FBQTtRQUNoSCxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFBO1FBRXJGLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0I7WUFDekMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUE7UUFFaEosYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFBO1FBRTNHLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTyxDQUFDLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxFQUFDO0lBRWhELENBQUM7O0FBL0dILHNFQWdIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXdzY2RrLCBUZXh0RmlsZX0gZnJvbSAncHJvamVuJ1xuaW1wb3J0IHtKb2IsIEpvYlBlcm1pc3Npb259IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCdcbmltcG9ydCAqIGFzIHN0ZXBzIGZyb20gJy4vc3RlcHMnXG5pbXBvcnQge0RlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucywgRGVwbG95T3B0aW9ucywgRW52aXJvbm1lbnRPcHRpb25zfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3lhYmxlOiBib29sZWFuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdGVOdm1yYzogYm9vbGVhblxuICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrQWN0aXZlRGVwbG95bWVudDogYm9vbGVhblxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93Tm9kZVZlcnNpb24/OiBzdHJpbmdcbiAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3lPcHRpb25zOiBEZXBsb3lPcHRpb25zXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgZGVwbG95YWJsZSA9IG9wdGlvbnMucmVsZWFzZSA/PyB0cnVlXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHJlbGVhc2U6IGRlcGxveWFibGUsXG4gICAgfSlcbiAgICB0aGlzLmRlcGxveWFibGUgPSBkZXBsb3lhYmxlXG4gICAgdGhpcy5nZW5lcmF0ZU52bXJjID0gb3B0aW9ucy5nZW5lcmF0ZU52bXJjID8/IHRydWVcbiAgICB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCA9IG9wdGlvbnMuY2hlY2tBY3RpdmVEZXBsb3ltZW50ID8/IGZhbHNlXG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uXG4gICAgdGhpcy5kZXBsb3lPcHRpb25zID0gb3B0aW9ucy5kZXBsb3lPcHRpb25zXG5cbiAgICBpZiAoIWRlcGxveWFibGUpXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm9qZWN0IGlzIGV4cGxpY2l0bHkgc2V0IHRvIG5vdCByZWxlYXNlLCBtYWtlIHN1cmUgdGhpcyBpcyBkZXNpcmVkIHNldHRpbmcnKVxuXG4gICAgaWYgKHRoaXMuZ2VuZXJhdGVOdm1yYyAmJiAhdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3b3JrZmxvd05vZGVWZXJzaW9uIGlzIHJlcXVpcmVkIGZvciBudm1yYycpXG4gIH1cblxuICBzeW50aCgpIHtcbiAgICBpZiAodGhpcy5kZXBsb3lhYmxlKVxuICAgICAgdGhpcy5hZGREZXBsb3lKb2JzKClcblxuICAgIGlmICh0aGlzLmdlbmVyYXRlTnZtcmMpXG4gICAgICBuZXcgVGV4dEZpbGUodGhpcywgJy5udm1yYycsIHtcbiAgICAgICAgbGluZXM6IFt0aGlzLndvcmtmbG93Tm9kZVZlcnNpb24gPz8gJyddLFxuICAgICAgfSlcblxuICAgIHN1cGVyLnN5bnRoKClcbiAgfVxuXG4gIGFkZEVudmlyb25tZW50cyguLi5pdGVtczogRW52aXJvbm1lbnRPcHRpb25zW10pIHtcbiAgICB0aGlzLmRlcGxveU9wdGlvbnMuZW52aXJvbm1lbnRzLnB1c2goLi4uaXRlbXMpXG4gIH1cblxuICBwcml2YXRlIGFkZERlcGxveUpvYnMoKSB7XG5cbiAgICBpZiAodGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5sZW5ndGggPT09IDApXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZSBwcm9qZWN0IGRvZXMgbm90IGhhdmUgYW55IGVudmlyb25tZW50IHNldCwgbWFrZSBzdXJlIHRoaXMgaXMgZGVzaXJlZCBzZXR0aW5nJylcblxuICAgIGNvbnN0IGluY2x1ZGUgPSB0aGlzLmRlcGxveU9wdGlvbnMuZW52aXJvbm1lbnRzLm1hcChlbnZpcm9ubWVudE9wdGlvbnMgPT4ge1xuICAgICAgY29uc3Qge2F3c0NyZWRlbnRpYWxzfSA9IGVudmlyb25tZW50T3B0aW9uc1xuXG4gICAgICBjb25zdCBhc3N1bWVSb2xlID0gYXdzQ3JlZGVudGlhbHMucm9sZVRvQXNzdW1lID8gJ3RydWUnIDogJ2ZhbHNlJ1xuXG4gICAgICBjb25zdCBhc3N1bWVSb2xlU2V0dGluZ3MgPSBhd3NDcmVkZW50aWFscy5yb2xlVG9Bc3N1bWUgPyB7XG4gICAgICAgIHJvbGVUb0Fzc3VtZTogYXdzQ3JlZGVudGlhbHMucm9sZVRvQXNzdW1lLFxuICAgICAgICBhc3N1bWVSb2xlRHVyYXRpb25TZWNvbmRzOiAoYXdzQ3JlZGVudGlhbHMuYXNzdW1lUm9sZUR1cmF0aW9uU2Vjb25kcyB8fCAzMDApLnRvU3RyaW5nKCksXG4gICAgICB9OiB1bmRlZmluZWRcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IGVudmlyb25tZW50T3B0aW9ucy5uYW1lLFxuICAgICAgICBhY2Nlc3NLZXlJZDogYXdzQ3JlZGVudGlhbHMuYWNjZXNzS2V5SWRTZWNyZXROYW1lID8/ICdBV1NfQUNDRVNTX0tFWV9JRCcsXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogYXdzQ3JlZGVudGlhbHMuc2VjcmV0QWNjZXNzS2V5U2VjcmV0TmFtZSA/PyAnQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZJyxcbiAgICAgICAgcmVnaW9uOiBhd3NDcmVkZW50aWFscy5yZWdpb24sXG4gICAgICAgIGFzc3VtZVJvbGUsXG4gICAgICAgIC4uLmFzc3VtZVJvbGVTZXR0aW5ncyxcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3Qgam9iRGVmaW5pdGlvbjogSm9iID0ge1xuICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgIGNvbmN1cnJlbmN5OiAnZGVwbG95JyxcbiAgICAgIG5lZWRzOiBbXG4gICAgICAgICdyZWxlYXNlX2dpdGh1YicsXG4gICAgICBdLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgZGVwbG95bWVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgIH0sXG4gICAgICBzdHJhdGVneToge1xuICAgICAgICBtYXhQYXJhbGxlbDogMSxcbiAgICAgICAgbWF0cml4OiB7XG4gICAgICAgICAgZG9tYWluOiB7XG4gICAgICAgICAgICBlbnZpcm9ubWVudDogaW5jbHVkZS5tYXAoZSA9PiBlLmVudmlyb25tZW50KSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGluY2x1ZGUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbmFtZTogJyR7eyBtYXRyaXguZW52aXJvbm1lbnQgfX0nLFxuICAgICAgfSxcbiAgICAgIHN0ZXBzOiBbXSxcbiAgICB9XG5cbiAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMuY2hlY2tvdXRTdGVwKCkpXG5cbiAgICBpZiAodGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQpXG4gICAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMuY2hlY2tBY3RpdmVEZXBsb3ltZW50U3RlcCgpKVxuXG4gICAgaWYgKHRoaXMud29ya2Zsb3dOb2RlVmVyc2lvbilcbiAgICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5zZXROb2RlVmVyc2lvblN0ZXAodGhpcy53b3JrZmxvd05vZGVWZXJzaW9uLCB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCkpXG5cbiAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMuaW5zdGFsbERlcGVuZGVuY2llc1N0ZXAodGhpcy5wYWNrYWdlLmluc3RhbGxDb21tYW5kLCB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCkpXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKC4uLnN0ZXBzLnNldEF3c0NyZWRlbnRpYWxzU3RlcHModGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQpKVxuXG4gICAgaWYgKHRoaXMuZGVwbG95T3B0aW9ucy5ucG1Db25maWdFbnZpcm9ubWVudClcbiAgICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5zZXROcG1Db25maWcodGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50LCAnJHt7IG1hdHJpeC5lbnZpcm9ubWVudCB9fScsIHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50KSlcblxuICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5kZXBsb3ltZW50U3RlcCh0aGlzLmRlcGxveU9wdGlvbnMuc3RhY2tQYXR0ZXJuLCB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCkpXG5cbiAgICB0aGlzLnJlbGVhc2U/LmFkZEpvYnMoe2RlcGxveTogam9iRGVmaW5pdGlvbn0pXG5cbiAgfVxufSJdfQ==
|
package/lib/steps.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { JobStep } from 'projen/lib/github/workflows-model';
|
|
2
2
|
export declare function checkoutStep(): JobStep;
|
|
3
|
-
export declare function setNodeVersionStep(nodeVersion: string): JobStep;
|
|
4
|
-
export declare function installDependenciesStep(command: string): JobStep;
|
|
5
|
-
export declare function deploymentStep(stackPattern
|
|
6
|
-
export declare function setAwsCredentialsSteps(): JobStep[];
|
|
7
|
-
export declare function setNpmConfig(configName: string, configValue: string): JobStep;
|
|
3
|
+
export declare function setNodeVersionStep(nodeVersion: string, checkActiveDeployment: boolean): JobStep;
|
|
4
|
+
export declare function installDependenciesStep(command: string, checkActiveDeployment: boolean): JobStep;
|
|
5
|
+
export declare function deploymentStep(stackPattern: string | undefined, checkActiveDeployment: boolean): JobStep;
|
|
6
|
+
export declare function setAwsCredentialsSteps(checkActiveDeployment: boolean): JobStep[];
|
|
7
|
+
export declare function setNpmConfig(configName: string, configValue: string, checkActiveDeployment: boolean): JobStep;
|
|
8
|
+
export declare function checkActiveDeploymentStep(): JobStep;
|
package/lib/steps.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setNpmConfig = exports.setAwsCredentialsSteps = exports.deploymentStep = exports.installDependenciesStep = exports.setNodeVersionStep = exports.checkoutStep = void 0;
|
|
3
|
+
exports.checkActiveDeploymentStep = exports.setNpmConfig = exports.setAwsCredentialsSteps = exports.deploymentStep = exports.installDependenciesStep = exports.setNodeVersionStep = exports.checkoutStep = void 0;
|
|
4
4
|
function checkoutStep() {
|
|
5
5
|
return {
|
|
6
6
|
name: 'Checkout',
|
|
@@ -11,8 +11,9 @@ function checkoutStep() {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
exports.checkoutStep = checkoutStep;
|
|
14
|
-
function setNodeVersionStep(nodeVersion) {
|
|
14
|
+
function setNodeVersionStep(nodeVersion, checkActiveDeployment) {
|
|
15
15
|
return {
|
|
16
|
+
...getSkipIfAlreadyActiveDeploymentCondition(checkActiveDeployment),
|
|
16
17
|
name: 'Setup Node.js',
|
|
17
18
|
uses: 'actions/setup-node@v2.2.0',
|
|
18
19
|
with: {
|
|
@@ -21,29 +22,34 @@ function setNodeVersionStep(nodeVersion) {
|
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
24
|
exports.setNodeVersionStep = setNodeVersionStep;
|
|
24
|
-
function installDependenciesStep(command) {
|
|
25
|
+
function installDependenciesStep(command, checkActiveDeployment) {
|
|
25
26
|
return {
|
|
27
|
+
...getSkipIfAlreadyActiveDeploymentCondition(checkActiveDeployment),
|
|
26
28
|
name: 'Install dependencies',
|
|
27
29
|
run: command,
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
32
|
exports.installDependenciesStep = installDependenciesStep;
|
|
31
|
-
function deploymentStep(stackPattern) {
|
|
33
|
+
function deploymentStep(stackPattern, checkActiveDeployment) {
|
|
32
34
|
const deployArgument = stackPattern ? ` ${stackPattern}` : '';
|
|
33
35
|
return {
|
|
36
|
+
...getSkipIfAlreadyActiveDeploymentCondition(checkActiveDeployment),
|
|
34
37
|
name: 'Deployment',
|
|
35
38
|
run: `npx projen deploy${deployArgument}`,
|
|
36
39
|
};
|
|
37
40
|
}
|
|
38
41
|
exports.deploymentStep = deploymentStep;
|
|
39
|
-
function setAwsCredentialsInEnvironment() {
|
|
42
|
+
function setAwsCredentialsInEnvironment(checkActiveDeployment) {
|
|
40
43
|
const commands = [
|
|
41
44
|
'echo "AWS_ACCESS_KEY_ID=$accessKeyId" >> $GITHUB_ENV',
|
|
42
45
|
'echo "AWS_SECRET_ACCESS_KEY=$secretAccessKey" >> $GITHUB_ENV',
|
|
43
46
|
'echo "AWS_REGION=$region" >> $GITHUB_ENV',
|
|
44
47
|
];
|
|
48
|
+
const condition = checkActiveDeployment ?
|
|
49
|
+
`\${{ matrix.assumeRole == 'false' && ${skipIfAlreadyActiveDeploymentCondition} }}` :
|
|
50
|
+
'${{ matrix.assumeRole == \'false\' }}';
|
|
45
51
|
return {
|
|
46
|
-
if:
|
|
52
|
+
if: condition,
|
|
47
53
|
name: 'Configure AWS Credentials',
|
|
48
54
|
run: `\n${commands.join('\n')}`,
|
|
49
55
|
env: {
|
|
@@ -53,9 +59,12 @@ function setAwsCredentialsInEnvironment() {
|
|
|
53
59
|
},
|
|
54
60
|
};
|
|
55
61
|
}
|
|
56
|
-
function assumeAwsRoleStep() {
|
|
62
|
+
function assumeAwsRoleStep(checkActiveDeployment) {
|
|
63
|
+
const condition = checkActiveDeployment ?
|
|
64
|
+
`\${{ matrix.assumeRole == 'true' && ${skipIfAlreadyActiveDeploymentCondition} }}` :
|
|
65
|
+
'${{ matrix.assumeRole == \'true\' }}';
|
|
57
66
|
return {
|
|
58
|
-
if:
|
|
67
|
+
if: condition,
|
|
59
68
|
name: 'Assume AWS Role',
|
|
60
69
|
uses: 'aws-actions/configure-aws-credentials@v1',
|
|
61
70
|
with: {
|
|
@@ -67,16 +76,17 @@ function assumeAwsRoleStep() {
|
|
|
67
76
|
},
|
|
68
77
|
};
|
|
69
78
|
}
|
|
70
|
-
function setAwsCredentialsSteps() {
|
|
79
|
+
function setAwsCredentialsSteps(checkActiveDeployment) {
|
|
71
80
|
return [
|
|
72
|
-
setAwsCredentialsInEnvironment(),
|
|
73
|
-
assumeAwsRoleStep(),
|
|
81
|
+
setAwsCredentialsInEnvironment(checkActiveDeployment),
|
|
82
|
+
assumeAwsRoleStep(checkActiveDeployment),
|
|
74
83
|
];
|
|
75
84
|
}
|
|
76
85
|
exports.setAwsCredentialsSteps = setAwsCredentialsSteps;
|
|
77
|
-
function setNpmConfig(configName, configValue) {
|
|
86
|
+
function setNpmConfig(configName, configValue, checkActiveDeployment) {
|
|
78
87
|
const environmentVariableName = 'CONFIG_VALUE';
|
|
79
88
|
return {
|
|
89
|
+
...getSkipIfAlreadyActiveDeploymentCondition(checkActiveDeployment),
|
|
80
90
|
name: 'Setting NPM Config',
|
|
81
91
|
env: {
|
|
82
92
|
[environmentVariableName]: configValue,
|
|
@@ -85,4 +95,22 @@ function setNpmConfig(configName, configValue) {
|
|
|
85
95
|
};
|
|
86
96
|
}
|
|
87
97
|
exports.setNpmConfig = setNpmConfig;
|
|
88
|
-
|
|
98
|
+
const checkActiveDeploymentStepId = 'deployment-check';
|
|
99
|
+
function checkActiveDeploymentStep() {
|
|
100
|
+
return {
|
|
101
|
+
id: checkActiveDeploymentStepId,
|
|
102
|
+
uses: 'AminFazlMondo/check-deployed-environment@v1',
|
|
103
|
+
with: {
|
|
104
|
+
environment: '${{ matrix.environment }}',
|
|
105
|
+
},
|
|
106
|
+
env: {
|
|
107
|
+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}',
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
exports.checkActiveDeploymentStep = checkActiveDeploymentStep;
|
|
112
|
+
const skipIfAlreadyActiveDeploymentCondition = `steps.${checkActiveDeploymentStepId}.outputs.has_active_deployment == 'true'`;
|
|
113
|
+
function getSkipIfAlreadyActiveDeploymentCondition(checkActiveDeployment) {
|
|
114
|
+
return checkActiveDeployment ? { if: `\${{ ${skipIfAlreadyActiveDeploymentCondition} }}` } : undefined;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsWUFBWTtJQUMxQixPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixJQUFJLEVBQUU7WUFDSixHQUFHLEVBQUUsbUJBQW1CO1NBQ3pCO0tBQ0YsQ0FBQTtBQUNILENBQUM7QUFSRCxvQ0FRQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUscUJBQThCO0lBQ3BGLE9BQU87UUFDTCxHQUFHLHlDQUF5QyxDQUFDLHFCQUFxQixDQUFDO1FBQ25FLElBQUksRUFBRSxlQUFlO1FBQ3JCLElBQUksRUFBRSwyQkFBMkI7UUFDakMsSUFBSSxFQUFFO1lBQ0osY0FBYyxFQUFFLFdBQVc7U0FDNUI7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQVRELGdEQVNDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsT0FBZSxFQUFFLHFCQUE4QjtJQUNyRixPQUFPO1FBQ0wsR0FBRyx5Q0FBeUMsQ0FBQyxxQkFBcUIsQ0FBQztRQUNuRSxJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLEdBQUcsRUFBRSxPQUFPO0tBQ2IsQ0FBQTtBQUNILENBQUM7QUFORCwwREFNQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxZQUFnQyxFQUFFLHFCQUE4QjtJQUM3RixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxFQUFFLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUU1RCxPQUFPO1FBQ0wsR0FBRyx5Q0FBeUMsQ0FBQyxxQkFBcUIsQ0FBQztRQUNuRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixHQUFHLEVBQUUsb0JBQW9CLGNBQWMsRUFBRTtLQUMxQyxDQUFBO0FBQ0gsQ0FBQztBQVJELHdDQVFDO0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxxQkFBOEI7SUFDcEUsTUFBTSxRQUFRLEdBQUc7UUFDZixzREFBc0Q7UUFDdEQsOERBQThEO1FBQzlELDBDQUEwQztLQUMzQyxDQUFBO0lBRUQsTUFBTSxTQUFTLEdBQ2IscUJBQXFCLENBQUMsQ0FBQztRQUNyQix3Q0FBd0Msc0NBQXNDLEtBQUssQ0FBQyxDQUFDO1FBQ3JGLHVDQUF1QyxDQUFBO0lBRTNDLE9BQU87UUFDTCxFQUFFLEVBQUUsU0FBUztRQUNiLElBQUksRUFBRSwyQkFBMkI7UUFDakMsR0FBRyxFQUFFLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQixHQUFHLEVBQUU7WUFDSCxXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLGVBQWUsRUFBRSwrQkFBK0I7WUFDaEQsTUFBTSxFQUFFLHNCQUFzQjtTQUMvQjtLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxxQkFBOEI7SUFDdkQsTUFBTSxTQUFTLEdBQ2IscUJBQXFCLENBQUMsQ0FBQztRQUNyQix1Q0FBdUMsc0NBQXNDLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLHNDQUFzQyxDQUFBO0lBQzFDLE9BQU87UUFDTCxFQUFFLEVBQUUsU0FBUztRQUNiLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLDBDQUEwQztRQUNoRCxJQUFJLEVBQUU7WUFDSixtQkFBbUIsRUFBRSwyQkFBMkI7WUFDaEQsdUJBQXVCLEVBQUUsK0JBQStCO1lBQ3hELGdCQUFnQixFQUFFLDRCQUE0QjtZQUM5QyxZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLHVCQUF1QixFQUFFLHlDQUF5QztTQUNuRTtLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMscUJBQThCO0lBQ25FLE9BQU87UUFDTCw4QkFBOEIsQ0FBQyxxQkFBcUIsQ0FBQztRQUNyRCxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQztLQUN6QyxDQUFBO0FBQ0gsQ0FBQztBQUxELHdEQUtDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLFVBQWtCLEVBQUUsV0FBbUIsRUFBRSxxQkFBOEI7SUFDbEcsTUFBTSx1QkFBdUIsR0FBRyxjQUFjLENBQUE7SUFDOUMsT0FBTztRQUNMLEdBQUcseUNBQXlDLENBQUMscUJBQXFCLENBQUM7UUFDbkUsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixHQUFHLEVBQUU7WUFDSCxDQUFDLHVCQUF1QixDQUFDLEVBQUUsV0FBVztTQUN2QztRQUNELEdBQUcsRUFBRSxrQkFBa0IsVUFBVSxLQUFLLHVCQUF1QixFQUFFO0tBQ2hFLENBQUE7QUFDSCxDQUFDO0FBVkQsb0NBVUM7QUFFRCxNQUFNLDJCQUEyQixHQUFHLGtCQUFrQixDQUFBO0FBQ3RELFNBQWdCLHlCQUF5QjtJQUN2QyxPQUFPO1FBQ0wsRUFBRSxFQUFFLDJCQUEyQjtRQUMvQixJQUFJLEVBQUUsNkNBQTZDO1FBQ25ELElBQUksRUFBRTtZQUNKLFdBQVcsRUFBRSwyQkFBMkI7U0FDekM7UUFDRCxHQUFHLEVBQUU7WUFDSCxZQUFZLEVBQUUsNkJBQTZCO1NBQzVDO0tBQ0YsQ0FBQTtBQUNILENBQUM7QUFYRCw4REFXQztBQUVELE1BQU0sc0NBQXNDLEdBQUUsU0FBUywyQkFBMkIsMENBQTBDLENBQUE7QUFFNUgsU0FBUyx5Q0FBeUMsQ0FBQyxxQkFBOEI7SUFDL0UsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUUsUUFBUSxzQ0FBc0MsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUN0RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtKb2JTdGVwfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja291dFN0ZXAoKTogSm9iU3RlcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2MicsXG4gICAgd2l0aDoge1xuICAgICAgcmVmOiAnJHt7IGdpdGh1Yi5zaGEgfX0nLFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE5vZGVWZXJzaW9uU3RlcChub2RlVmVyc2lvbjogc3RyaW5nLCBjaGVja0FjdGl2ZURlcGxveW1lbnQ6IGJvb2xlYW4pOiBKb2JTdGVwIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5nZXRTa2lwSWZBbHJlYWR5QWN0aXZlRGVwbG95bWVudENvbmRpdGlvbihjaGVja0FjdGl2ZURlcGxveW1lbnQpLFxuICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1ub2RlQHYyLjIuMCcsXG4gICAgd2l0aDoge1xuICAgICAgJ25vZGUtdmVyc2lvbic6IG5vZGVWZXJzaW9uLFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNTdGVwKGNvbW1hbmQ6IHN0cmluZywgY2hlY2tBY3RpdmVEZXBsb3ltZW50OiBib29sZWFuKTogSm9iU3RlcCB7XG4gIHJldHVybiB7XG4gICAgLi4uZ2V0U2tpcElmQWxyZWFkeUFjdGl2ZURlcGxveW1lbnRDb25kaXRpb24oY2hlY2tBY3RpdmVEZXBsb3ltZW50KSxcbiAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgIHJ1bjogY29tbWFuZCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwbG95bWVudFN0ZXAoc3RhY2tQYXR0ZXJuOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNoZWNrQWN0aXZlRGVwbG95bWVudDogYm9vbGVhbik6IEpvYlN0ZXAge1xuICBjb25zdCBkZXBsb3lBcmd1bWVudCA9IHN0YWNrUGF0dGVybiA/IGAgJHtzdGFja1BhdHRlcm59YDogJydcblxuICByZXR1cm4ge1xuICAgIC4uLmdldFNraXBJZkFscmVhZHlBY3RpdmVEZXBsb3ltZW50Q29uZGl0aW9uKGNoZWNrQWN0aXZlRGVwbG95bWVudCksXG4gICAgbmFtZTogJ0RlcGxveW1lbnQnLFxuICAgIHJ1bjogYG5weCBwcm9qZW4gZGVwbG95JHtkZXBsb3lBcmd1bWVudH1gLFxuICB9XG59XG5cbmZ1bmN0aW9uIHNldEF3c0NyZWRlbnRpYWxzSW5FbnZpcm9ubWVudChjaGVja0FjdGl2ZURlcGxveW1lbnQ6IGJvb2xlYW4pOiBKb2JTdGVwIHtcbiAgY29uc3QgY29tbWFuZHMgPSBbXG4gICAgJ2VjaG8gXCJBV1NfQUNDRVNTX0tFWV9JRD0kYWNjZXNzS2V5SWRcIiA+PiAkR0lUSFVCX0VOVicsXG4gICAgJ2VjaG8gXCJBV1NfU0VDUkVUX0FDQ0VTU19LRVk9JHNlY3JldEFjY2Vzc0tleVwiID4+ICRHSVRIVUJfRU5WJyxcbiAgICAnZWNobyBcIkFXU19SRUdJT049JHJlZ2lvblwiID4+ICRHSVRIVUJfRU5WJyxcbiAgXVxuXG4gIGNvbnN0IGNvbmRpdGlvbiA9XG4gICAgY2hlY2tBY3RpdmVEZXBsb3ltZW50ID9cbiAgICAgIGBcXCR7eyBtYXRyaXguYXNzdW1lUm9sZSA9PSAnZmFsc2UnICYmICR7c2tpcElmQWxyZWFkeUFjdGl2ZURlcGxveW1lbnRDb25kaXRpb259IH19YCA6XG4gICAgICAnJHt7IG1hdHJpeC5hc3N1bWVSb2xlID09IFxcJ2ZhbHNlXFwnIH19J1xuXG4gIHJldHVybiB7XG4gICAgaWY6IGNvbmRpdGlvbixcbiAgICBuYW1lOiAnQ29uZmlndXJlIEFXUyBDcmVkZW50aWFscycsXG4gICAgcnVuOiBgXFxuJHtjb21tYW5kcy5qb2luKCdcXG4nKX1gLFxuICAgIGVudjoge1xuICAgICAgYWNjZXNzS2V5SWQ6ICcke3sgbWF0cml4LmFjY2Vzc0tleUlkIH19JyxcbiAgICAgIHNlY3JldEFjY2Vzc0tleTogJyR7eyBtYXRyaXguc2VjcmV0QWNjZXNzS2V5IH19JyxcbiAgICAgIHJlZ2lvbjogJyR7eyBtYXRyaXgucmVnaW9uIH19JyxcbiAgICB9LFxuICB9XG59XG5cbmZ1bmN0aW9uIGFzc3VtZUF3c1JvbGVTdGVwKGNoZWNrQWN0aXZlRGVwbG95bWVudDogYm9vbGVhbik6IEpvYlN0ZXAge1xuICBjb25zdCBjb25kaXRpb24gPVxuICAgIGNoZWNrQWN0aXZlRGVwbG95bWVudCA/XG4gICAgICBgXFwke3sgbWF0cml4LmFzc3VtZVJvbGUgPT0gJ3RydWUnICYmICR7c2tpcElmQWxyZWFkeUFjdGl2ZURlcGxveW1lbnRDb25kaXRpb259IH19YCA6XG4gICAgICAnJHt7IG1hdHJpeC5hc3N1bWVSb2xlID09IFxcJ3RydWVcXCcgfX0nXG4gIHJldHVybiB7XG4gICAgaWY6IGNvbmRpdGlvbixcbiAgICBuYW1lOiAnQXNzdW1lIEFXUyBSb2xlJyxcbiAgICB1c2VzOiAnYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2MScsXG4gICAgd2l0aDoge1xuICAgICAgJ2F3cy1hY2Nlc3Mta2V5LWlkJzogJyR7eyBtYXRyaXguYWNjZXNzS2V5SWQgfX0nLFxuICAgICAgJ2F3cy1zZWNyZXQtYWNjZXNzLWtleSc6ICcke3sgbWF0cml4LnNlY3JldEFjY2Vzc0tleSB9fScsXG4gICAgICAncm9sZS10by1hc3N1bWUnOiAnJHt7IG1hdHJpeC5yb2xlVG9Bc3N1bWUgfX0nLFxuICAgICAgJ2F3cy1yZWdpb24nOiAnJHt7IG1hdHJpeC5yZWdpb24gfX0nLFxuICAgICAgJ3JvbGUtZHVyYXRpb24tc2Vjb25kcyc6ICcke3sgbWF0cml4LmFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHMgfX0nLFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEF3c0NyZWRlbnRpYWxzU3RlcHMoY2hlY2tBY3RpdmVEZXBsb3ltZW50OiBib29sZWFuKTogSm9iU3RlcFtdIHtcbiAgcmV0dXJuIFtcbiAgICBzZXRBd3NDcmVkZW50aWFsc0luRW52aXJvbm1lbnQoY2hlY2tBY3RpdmVEZXBsb3ltZW50KSxcbiAgICBhc3N1bWVBd3NSb2xlU3RlcChjaGVja0FjdGl2ZURlcGxveW1lbnQpLFxuICBdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXROcG1Db25maWcoY29uZmlnTmFtZTogc3RyaW5nLCBjb25maWdWYWx1ZTogc3RyaW5nLCBjaGVja0FjdGl2ZURlcGxveW1lbnQ6IGJvb2xlYW4pOiBKb2JTdGVwIHtcbiAgY29uc3QgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSAnQ09ORklHX1ZBTFVFJ1xuICByZXR1cm4ge1xuICAgIC4uLmdldFNraXBJZkFscmVhZHlBY3RpdmVEZXBsb3ltZW50Q29uZGl0aW9uKGNoZWNrQWN0aXZlRGVwbG95bWVudCksXG4gICAgbmFtZTogJ1NldHRpbmcgTlBNIENvbmZpZycsXG4gICAgZW52OiB7XG4gICAgICBbZW52aXJvbm1lbnRWYXJpYWJsZU5hbWVdOiBjb25maWdWYWx1ZSxcbiAgICB9LFxuICAgIHJ1bjogYG5wbSBjb25maWcgc2V0ICR7Y29uZmlnTmFtZX0gJCR7ZW52aXJvbm1lbnRWYXJpYWJsZU5hbWV9YCxcbiAgfVxufVxuXG5jb25zdCBjaGVja0FjdGl2ZURlcGxveW1lbnRTdGVwSWQgPSAnZGVwbG95bWVudC1jaGVjaydcbmV4cG9ydCBmdW5jdGlvbiBjaGVja0FjdGl2ZURlcGxveW1lbnRTdGVwKCk6IEpvYlN0ZXAge1xuICByZXR1cm4ge1xuICAgIGlkOiBjaGVja0FjdGl2ZURlcGxveW1lbnRTdGVwSWQsXG4gICAgdXNlczogJ0FtaW5GYXpsTW9uZG8vY2hlY2stZGVwbG95ZWQtZW52aXJvbm1lbnRAdjEnLFxuICAgIHdpdGg6IHtcbiAgICAgIGVudmlyb25tZW50OiAnJHt7IG1hdHJpeC5lbnZpcm9ubWVudCB9fScsXG4gICAgfSxcbiAgICBlbnY6IHtcbiAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsXG4gICAgfSxcbiAgfVxufVxuXG5jb25zdCBza2lwSWZBbHJlYWR5QWN0aXZlRGVwbG95bWVudENvbmRpdGlvbj0gYHN0ZXBzLiR7Y2hlY2tBY3RpdmVEZXBsb3ltZW50U3RlcElkfS5vdXRwdXRzLmhhc19hY3RpdmVfZGVwbG95bWVudCA9PSAndHJ1ZSdgXG5cbmZ1bmN0aW9uIGdldFNraXBJZkFscmVhZHlBY3RpdmVEZXBsb3ltZW50Q29uZGl0aW9uKGNoZWNrQWN0aXZlRGVwbG95bWVudDogYm9vbGVhbik6IEpvYlN0ZXAgfCB1bmRlZmluZWQge1xuICByZXR1cm4gY2hlY2tBY3RpdmVEZXBsb3ltZW50ID8ge2lmOiBgXFwke3sgJHtza2lwSWZBbHJlYWR5QWN0aXZlRGVwbG95bWVudENvbmRpdGlvbn0gfX1gfSA6IHVuZGVmaW5lZFxufSJdfQ==
|
package/lib/types.d.ts
CHANGED
|
@@ -16,6 +16,13 @@ export interface DeployableAwsCdkTypeScriptAppOptions extends awscdk.AwsCdkTypeS
|
|
|
16
16
|
* @stability stable
|
|
17
17
|
*/
|
|
18
18
|
readonly generateNvmrc?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to check and skip the deployment for environments that have active deployment of the same commit.
|
|
21
|
+
*
|
|
22
|
+
* @default false
|
|
23
|
+
* @stability stable
|
|
24
|
+
*/
|
|
25
|
+
readonly checkActiveDeployment?: boolean;
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
28
|
* @stability stable
|
package/lib/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXdzY2RrfSBmcm9tICdwcm9qZW4nXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRlcGxveU9wdGlvbnM6IERlcGxveU9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBnZW5lcmF0ZU52bXJjPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNoZWNrQWN0aXZlRGVwbG95bWVudD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50T3B0aW9uc1tdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzdGFja1BhdHRlcm4/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBucG1Db25maWdFbnZpcm9ubWVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudE9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhd3NDcmVkZW50aWFsczogQVdTQ3JlZGVudGlhbHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVdTQ3JlZGVudGlhbHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhY2Nlc3NLZXlJZFNlY3JldE5hbWU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzZWNyZXRBY2Nlc3NLZXlTZWNyZXROYW1lPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJvbGVUb0Fzc3VtZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHM/OiBudW1iZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/fs-extra": "^9.0.13",
|
|
38
38
|
"@types/jest": "*",
|
|
39
|
-
"@types/node": "^
|
|
39
|
+
"@types/node": "^12",
|
|
40
40
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
41
41
|
"@typescript-eslint/parser": "^5",
|
|
42
42
|
"eslint": "^8",
|
|
@@ -44,25 +44,25 @@
|
|
|
44
44
|
"eslint-import-resolver-typescript": "^2.5.0",
|
|
45
45
|
"eslint-plugin-import": "^2.25.3",
|
|
46
46
|
"fs-extra": "^9.1.0",
|
|
47
|
-
"jest": "^27.4.
|
|
47
|
+
"jest": "^27.4.5",
|
|
48
48
|
"jest-junit": "^13",
|
|
49
|
-
"jsii": "^1.
|
|
50
|
-
"jsii-diff": "^1.
|
|
51
|
-
"jsii-docgen": "^4.2.
|
|
52
|
-
"jsii-pacmak": "^1.
|
|
49
|
+
"jsii": "^1.49.0",
|
|
50
|
+
"jsii-diff": "^1.49.0",
|
|
51
|
+
"jsii-docgen": "^4.2.14",
|
|
52
|
+
"jsii-pacmak": "^1.49.0",
|
|
53
53
|
"json-schema": "^0.4.0",
|
|
54
|
-
"npm-check-updates": "^
|
|
55
|
-
"projen": "^0.
|
|
54
|
+
"npm-check-updates": "^12",
|
|
55
|
+
"projen": "^0.45.3",
|
|
56
56
|
"standard-version": "^9",
|
|
57
|
-
"ts-jest": "^27.1.
|
|
57
|
+
"ts-jest": "^27.1.2",
|
|
58
58
|
"ts-node": "^9",
|
|
59
|
-
"typescript": "^4.5.
|
|
59
|
+
"typescript": "^4.5.4"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"projen": "^0.
|
|
62
|
+
"projen": "^0.45.3"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"projen": "^0.
|
|
65
|
+
"projen": "^0.45.3"
|
|
66
66
|
},
|
|
67
67
|
"bundledDependencies": [],
|
|
68
68
|
"keywords": [
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
],
|
|
74
74
|
"main": "lib/index.js",
|
|
75
75
|
"license": "Apache-2.0",
|
|
76
|
-
"version": "0.0.
|
|
76
|
+
"version": "0.0.14",
|
|
77
77
|
"jest": {
|
|
78
78
|
"testMatch": [
|
|
79
79
|
"**/__tests__/**/*.ts?(x)",
|