This repository has been archived by the owner on May 4, 2024. It is now read-only.
/
.projenrc.ts
94 lines (79 loc) · 3.33 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
import { ProjenStruct, Struct } from "@mrgrain/jsii-struct-builder";
import { awscdk } from "projen";
import { NpmAccess, ProseWrap } from "projen/lib/javascript";
const project = new awscdk.AwsCdkConstructLibrary({
projenrcTs: true,
author: "Ben Limmer",
authorAddress: "hello@benlimmer.com",
cdkVersion: "2.59.0", // First release of 2023
defaultReleaseBranch: "main",
name: "@blimmer/cdk-static-wordpress",
description: "Generate a static site from Wordpress (via WP2Static) using AWS CDK",
npmAccess: NpmAccess.PUBLIC,
repositoryUrl: "https://github.com/blimmer/cdk-static-wordpress.git",
keywords: ["cdk", "aws-cdk", "aws-cdk-construct", "projen", "wordpress", "static-site", "wp2static"],
publishToNuget: {
nugetApiKeySecret: "NUGET_TOKEN",
dotNetNamespace: "BenLimmer.CdkStaticWordpress",
packageId: "BenLimmer.CdkStaticWordpress",
},
publishToPypi: {
twineUsernameSecret: "TWINE_USERNAME", // this resolves to __token__ to use token auth
twinePasswordSecret: "PYPI_TOKEN",
distName: "cdk-static-wordpress",
module: "cdk_static_wordpress",
},
publishToMaven: {
mavenRepositoryUrl: "https://maven.pkg.github.com/${{ github.repository }}",
javaPackage: "com.benlimmer.cdkstaticwordpress",
mavenGroupId: "com.benlimmer",
mavenArtifactId: "cdk-static-wordpress",
},
docgen: true,
autoApproveUpgrades: true,
autoApproveOptions: { allowedUsernames: ["blimmer-bot"] },
prettier: true,
prettierOptions: {
settings: {
printWidth: 120,
proseWrap: ProseWrap.ALWAYS,
},
},
eslintOptions: {
dirs: ["src", "test"],
ignorePatterns: ["src/generated/*.ts"],
},
tsconfigDev: {
compilerOptions: {
noUnusedLocals: false, // This is annoying in dev
},
},
// deps: [], /* Runtime dependencies of this module. */
devDeps: ["prettier-plugin-organize-imports", "@mrgrain/jsii-struct-builder"],
});
// CloudFront/Static Hosting Overrides
new ProjenStruct(project, { name: "DistributionOverrides", filePath: "src/generated/DistributionOverrides.ts" }).mixin(
Struct.fromFqn("aws-cdk-lib.aws_cloudfront.DistributionProps")
.allOptional()
.omit("defaultBehavior")
.withoutDeprecated()
);
new ProjenStruct(project, { name: "BehaviorOverrides", filePath: "src/generated/BehaviorOverrides.ts" }).mixin(
Struct.fromFqn("aws-cdk-lib.aws_cloudfront.BehaviorOptions").allOptional().omit("origin").withoutDeprecated()
);
// Database Overrides
new ProjenStruct(project, { name: "DatabaseOverrides", filePath: "src/generated/DatabaseOverrides.ts" }).mixin(
Struct.fromFqn("aws-cdk-lib.aws_rds.ServerlessClusterProps").allOptional().withoutDeprecated()
);
// ECS-related Overrides
new ProjenStruct(project, {
name: "TaskDefinitionOverrides",
filePath: "src/generated/TaskDefinitionOverrides.ts",
}).mixin(Struct.fromFqn("aws-cdk-lib.aws_ecs.FargateTaskDefinitionProps").allOptional().withoutDeprecated());
new ProjenStruct(project, { name: "ContainerOverrides", filePath: "src/generated/ContainerOverrides.ts" }).mixin(
Struct.fromFqn("aws-cdk-lib.aws_ecs.ContainerDefinitionOptions").allOptional().withoutDeprecated()
);
new ProjenStruct(project, { name: "ServiceOverrides", filePath: "src/generated/ServiceOverrides.ts" }).mixin(
Struct.fromFqn("aws-cdk-lib.aws_ecs.FargateServiceProps").allOptional().withoutDeprecated()
);
project.synth();