-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
.projenrc.js
102 lines (97 loc) · 3.05 KB
/
.projenrc.js
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
const { awscdk } = require('projen');
const { Stability } = require('projen/lib/cdk/jsii-project');
const project = new awscdk.AwsCdkConstructLibrary({
author: 'Amir Szekely',
authorAddress: '[email protected]',
stability: Stability.EXPERIMENTAL,
cdkVersion: '2.127.0', // 2.85.0 for no more deprecated nodejs 14 in integration test, 2.217.0 for lambda log settings
defaultReleaseBranch: 'main',
name: '@cloudsnorkel/cdk-rds-sanitized-snapshots',
repositoryUrl: 'https://github.com/CloudSnorkel/cdk-rds-sanitized-snapshots.git',
license: 'Apache-2.0',
description: 'CDK construct to periodically take snapshots of RDS databases, sanitize them, and share with selected accounts.',
devDeps: [
'esbuild', // for faster NodejsFunction bundling
'@aws-sdk/client-resource-groups-tagging-api',
'@aws-sdk/client-rds',
'@aws-sdk/client-sfn',
'@types/aws-lambda',
],
deps: [
],
releaseToNpm: true,
publishToPypi: {
distName: 'cloudsnorkel.cdk-rds-sanitized-snapshots',
module: 'cloudsnorkel.cdk_rds_sanitized_snapshots',
},
publishToGo: {
moduleName: 'github.com/CloudSnorkel/cdk-rds-sanitized-snapshots-go',
},
publishToMaven: {
mavenGroupId: 'com.cloudsnorkel',
mavenArtifactId: 'cdk.rds.sanitized-snapshots',
javaPackage: 'com.cloudsnorkel.cdk.rds.sanitizedsnapshots',
mavenEndpoint: 'https://s01.oss.sonatype.org',
},
publishToNuget: {
dotNetNamespace: 'CloudSnorkel',
packageId: 'CloudSnorkel.Cdk.Rds.SanitizedSnapshots',
},
keywords: [
'aws',
'aws-cdk',
'aws-cdk-construct',
'cdk',
'rds',
'snapshots',
],
gitignore: [
'cdk.out',
'cdk.context.json',
'/.idea',
],
sampleCode: false,
compat: true,
autoApproveOptions: {
allowedUsernames: ['kichik', 'CloudSnorkelBot'],
},
depsUpgradeOptions: {
workflowOptions: {
labels: ['auto-approve'],
schedule: {
cron: ['0 0 * * 1'],
},
},
},
githubOptions: {
pullRequestLintOptions: {
semanticTitleOptions: {
types: [
'feat',
'fix',
'chore',
'docs',
],
},
},
},
jestOptions: {
jestVersion: '^27.0.0', // 28 requires a later typescript version
},
});
// disable automatic releases, but keep workflow that can be triggered manually
const releaseWorkflow = project.github.tryFindWorkflow('release');
releaseWorkflow.file.addDeletionOverride('on.push');
// set proper line endings
project.gitattributes.addAttributes('.git*', 'eol=lf');
project.gitattributes.addAttributes('.npmignore', 'eol=lf');
project.gitattributes.addAttributes('yarn.lock', 'eol=lf');
project.gitattributes.addAttributes('*.md', 'eol=lf');
project.gitattributes.addAttributes('*.ts', 'eol=lf');
project.gitattributes.addAttributes('*.js', 'eol=lf');
project.gitattributes.addAttributes('*.json', 'eol=lf');
project.gitattributes.addAttributes('*.sh', 'eol=lf');
project.gitattributes.addAttributes('*.yml', 'eol=lf');
// funding
project.package.addField('funding', 'https://github.com/sponsors/CloudSnorkel');
project.synth();