-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.projenrc.ts
113 lines (101 loc) · 2.8 KB
/
.projenrc.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import { awscdk } from 'projen'
import { LambdaRuntime } from 'projen/lib/awscdk'
import { NodePackageManager, NpmAccess, ProseWrap, UpgradeDependenciesSchedule } from 'projen/lib/javascript'
const awsSdkVersion = '^3.0.0'
const project = new awscdk.AwsCdkConstructLibrary({
author: 'Tapio Rautonen',
authorAddress: 'trautonen@users.noreply.github.com',
cdkVersion: '2.83.1',
name: 'cdk-dns-validated-certificate',
packageName: '@trautonen/cdk-dns-validated-certificate',
description: 'CDK certificate construct that supports cross-region and cross-account DNS validation',
keywords: ['aws', 'cdk', 'dns', 'certificate', 'cross-region', 'cross-account'],
license: 'Apache-2.0',
repositoryUrl: 'https://github.com/trautonen/cdk-dns-validated-certificate.git',
defaultReleaseBranch: 'main',
jsiiVersion: '~5.4.0',
projenrcTs: true,
releaseToNpm: true,
npmAccess: NpmAccess.PUBLIC,
lambdaOptions: {
runtime: LambdaRuntime.NODEJS_18_X,
bundlingOptions: {
externals: ['@aws-sdk/*'],
sourcemap: true,
},
},
packageManager: NodePackageManager.NPM,
prettier: true,
prettierOptions: {
settings: {
printWidth: 120,
semi: false,
singleQuote: true,
proseWrap: ProseWrap.ALWAYS,
},
},
depsUpgradeOptions: {
workflowOptions: {
labels: ['auto-approve'],
schedule: UpgradeDependenciesSchedule.WEEKLY,
},
},
githubOptions: {
mergify: true,
mergifyOptions: {
rules: [
{
name: 'auto-approve',
conditions: [
{
and: [
'base=main',
'label=auto-approve',
'#approved-reviews-by>=1',
'check-success=build',
'check-success=package-js',
],
},
],
actions: {
queue: {
name: 'default',
},
},
},
],
queues: [
{
name: 'default',
mergeMethod: 'fast-forward',
updateMethod: 'rebase',
conditions: [
{
and: ['#approved-reviews-by>=1', 'check-success=build', 'check-success=package-js'],
},
],
},
],
},
},
autoMerge: false,
autoApproveUpgrades: true,
autoApproveOptions: {
allowedUsernames: ['github-actions[bot]', 'trautonen'],
label: 'auto-approve',
secret: 'GITHUB_TOKEN',
},
devDeps: [
`@aws-sdk/client-acm@${awsSdkVersion}`,
`@aws-sdk/client-route-53@${awsSdkVersion}`,
`@aws-sdk/client-sts@${awsSdkVersion}`,
`@aws-sdk/types@${awsSdkVersion}`,
'@types/aws-lambda',
'aws-lambda',
'esbuild',
],
})
project.eslint?.addRules({
'import/no-extraneous-dependencies': ['error', { devDependencies: ['src/**/*.lambda.ts'] }],
})
project.synth()