@jttc/projen-project-types 1.0.0-beta.0 → 1.0.0-beta.10

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.
Files changed (113) hide show
  1. package/.cz-config.js +83 -43
  2. package/.czrc +1 -1
  3. package/.jsii +4637 -14
  4. package/AGENTS.md +132 -0
  5. package/API.md +31146 -7
  6. package/README.md +197 -29
  7. package/docs/components/cdk8s.md +724 -0
  8. package/docs/components/commitzent.md +261 -0
  9. package/docs/components/k3d.md +456 -0
  10. package/docs/default-configurations.md +267 -0
  11. package/docs/index.md +86 -1
  12. package/docs/project-types/cdk-app.md +481 -0
  13. package/docs/project-types/cdk-library.md +321 -0
  14. package/docs/project-types/cdk8s-app.md +353 -0
  15. package/docs/project-types/cdk8s-library.md +442 -0
  16. package/docs/project-types/nx-monorepo.md +382 -0
  17. package/lib/cdk/cdk-app-project.d.ts +12 -0
  18. package/lib/cdk/cdk-app-project.js +28 -0
  19. package/lib/cdk/cdk-library-project.d.ts +12 -0
  20. package/lib/cdk/cdk-library-project.js +28 -0
  21. package/lib/cdk/cdk8s-app-project.d.ts +14 -0
  22. package/lib/cdk/cdk8s-app-project.js +54 -0
  23. package/lib/cdk/cdk8s-library-project.d.ts +14 -0
  24. package/lib/cdk/cdk8s-library-project.js +50 -0
  25. package/lib/cdk/index.d.ts +5 -0
  26. package/lib/cdk/index.js +22 -0
  27. package/lib/cdk/interfaces/cdk-app-options.d.ts +7 -0
  28. package/lib/cdk/interfaces/cdk-app-options.js +3 -0
  29. package/lib/cdk/interfaces/cdk-library-options.d.ts +7 -0
  30. package/lib/cdk/interfaces/cdk-library-options.js +3 -0
  31. package/lib/cdk/interfaces/cdk8s-app-options.d.ts +18 -0
  32. package/lib/cdk/interfaces/cdk8s-app-options.js +3 -0
  33. package/lib/cdk/interfaces/cdk8s-library-options.d.ts +8 -0
  34. package/lib/cdk/interfaces/cdk8s-library-options.js +3 -0
  35. package/lib/cdk/interfaces/index.d.ts +5 -0
  36. package/lib/cdk/interfaces/index.js +22 -0
  37. package/lib/cdk/interfaces/jsii-options.d.ts +7 -0
  38. package/lib/cdk/interfaces/jsii-options.js +3 -0
  39. package/lib/cdk/interfaces/project-global-options.d.ts +15 -0
  40. package/lib/cdk/interfaces/project-global-options.js +3 -0
  41. package/lib/cdk/jsii-project.d.ts +12 -0
  42. package/lib/cdk/jsii-project.js +24 -0
  43. package/lib/common/common-options.d.ts +40 -0
  44. package/lib/common/common-options.js +110 -0
  45. package/lib/components/agents/agents.d.ts +21 -0
  46. package/lib/components/agents/agents.js +476 -0
  47. package/lib/components/agents/index.d.ts +1 -0
  48. package/lib/components/agents/index.js +18 -0
  49. package/lib/components/cdk8s/cdk8s.d.ts +11 -0
  50. package/lib/components/cdk8s/cdk8s.js +124 -0
  51. package/lib/components/cdk8s/index.d.ts +2 -0
  52. package/lib/components/cdk8s/index.js +19 -0
  53. package/lib/components/cdk8s/interfaces/Cdk8s.d.ts +34 -0
  54. package/lib/components/cdk8s/interfaces/Cdk8s.js +12 -0
  55. package/lib/components/cdk8s/main-library.ts.template +35 -0
  56. package/lib/components/cdk8s/main.test.ts.template +3 -0
  57. package/lib/components/cdk8s/main.ts.template +38 -0
  58. package/lib/components/commitzent/commitzent.d.ts +8 -0
  59. package/lib/components/commitzent/commitzent.js +100 -0
  60. package/lib/components/commitzent/index.d.ts +2 -0
  61. package/lib/components/commitzent/index.js +19 -0
  62. package/lib/components/commitzent/interfaces/Icommitzent.d.ts +34 -0
  63. package/lib/components/commitzent/interfaces/Icommitzent.js +3 -0
  64. package/lib/components/index.d.ts +4 -0
  65. package/lib/components/index.js +21 -0
  66. package/lib/components/k3d/index.d.ts +3 -0
  67. package/lib/components/k3d/index.js +20 -0
  68. package/lib/components/k3d/k3d.d.ts +33 -0
  69. package/lib/components/k3d/k3d.js +109 -0
  70. package/lib/components/k3d/k3dBase.d.ts +4 -0
  71. package/lib/components/k3d/k3dBase.js +23 -0
  72. package/lib/components/k3d/types.d.ts +64 -0
  73. package/lib/components/k3d/types.js +8 -0
  74. package/lib/index.d.ts +5 -3
  75. package/lib/index.js +20 -12
  76. package/lib/monorepo/components/NxConfiguration.d.ts +17 -0
  77. package/lib/monorepo/components/NxConfiguration.js +105 -0
  78. package/lib/monorepo/components/index.d.ts +2 -0
  79. package/lib/monorepo/components/index.js +19 -0
  80. package/lib/monorepo/components/publish-release.d.ts +5 -0
  81. package/lib/monorepo/components/publish-release.js +80 -0
  82. package/lib/monorepo/index.d.ts +3 -0
  83. package/lib/monorepo/index.js +20 -0
  84. package/lib/monorepo/interfaces/Nx.d.ts +130 -0
  85. package/lib/monorepo/interfaces/Nx.js +3 -0
  86. package/lib/monorepo/interfaces/NxMonorepo.d.ts +3 -0
  87. package/lib/monorepo/interfaces/NxMonorepo.js +3 -0
  88. package/lib/monorepo/interfaces/index.d.ts +2 -0
  89. package/lib/monorepo/interfaces/index.js +19 -0
  90. package/lib/monorepo/monorepo.d.ts +16 -0
  91. package/lib/monorepo/monorepo.js +131 -0
  92. package/lib/terraform/components/index.d.ts +2 -0
  93. package/lib/terraform/components/index.js +19 -0
  94. package/lib/terraform/components/terraform-deploy-github-workflow.d.ts +26 -0
  95. package/lib/terraform/components/terraform-deploy-github-workflow.js +92 -0
  96. package/lib/terraform/components/terraform-plan-github-workflow.d.ts +31 -0
  97. package/lib/terraform/components/terraform-plan-github-workflow.js +155 -0
  98. package/lib/terraform/index.d.ts +5 -0
  99. package/lib/terraform/index.js +22 -0
  100. package/lib/terraform/providers/hetzner-provider.d.ts +105 -0
  101. package/lib/terraform/providers/hetzner-provider.js +83 -0
  102. package/lib/terraform/providers/index.d.ts +2 -0
  103. package/lib/terraform/providers/index.js +19 -0
  104. package/lib/terraform/providers/provider-strategy.d.ts +44 -0
  105. package/lib/terraform/providers/provider-strategy.js +38 -0
  106. package/lib/terraform/terraform-base-project.d.ts +38 -0
  107. package/lib/terraform/terraform-base-project.js +97 -0
  108. package/lib/terraform/terraform-module-project.d.ts +24 -0
  109. package/lib/terraform/terraform-module-project.js +77 -0
  110. package/lib/terraform/terraform-stack-project.d.ts +28 -0
  111. package/lib/terraform/terraform-stack-project.js +83 -0
  112. package/mkdocs.yml +12 -0
  113. package/package.json +14 -7
@@ -0,0 +1,382 @@
1
+ # NX Monorepo Project
2
+
3
+ The NX Monorepo Project type provides an opinionated setup for creating NX monorepo workspaces with best practices and common configurations pre-configured.
4
+
5
+ ## Overview
6
+
7
+ This project type extends the standard `TypeScriptProject` from projen with NX-specific features:
8
+
9
+ - **NX configuration** with sensible defaults and caching
10
+ - **Monorepo workspace setup** with package management
11
+ - **GitHub Actions workflow** for publishing releases
12
+ - **Common project structure** optimized for monorepos
13
+ - **Task orchestration** using NX run-many commands
14
+ - **Conventional commits** and automated release management
15
+
16
+ ## Quick Start
17
+
18
+ To create a new NX Monorepo project, use the projen CLI:
19
+
20
+ ```bash linenums="1"
21
+ npx projen new --from @jttc/projen-project-types nx-monorepo
22
+ ```
23
+
24
+ This command will create a new monorepo workspace with the NX template and prompt you for the required configuration options such as:
25
+
26
+ - Project name
27
+ - Default branch
28
+ - Description
29
+
30
+ After the project is created, you can customize it further by editing the `.projenrc.ts` file:
31
+
32
+ ```typescript linenums="1" title=".projenrc.ts" hl_lines="4 5 8"
33
+ import { NxMonorepo } from '@jttc/projen-project-types';
34
+
35
+ const project = new NxMonorepo({
36
+ name: 'my-awesome-monorepo',
37
+ defaultReleaseBranch: 'main',
38
+ description: 'My awesome NX monorepo',
39
+
40
+ // Add any additional TypeScript project customizations here
41
+ });
42
+
43
+ project.synth();
44
+ ```
45
+
46
+ **Highlighted lines explanation:**
47
+
48
+ - **Line 4**: Choose a descriptive name for your monorepo
49
+ - **Line 5**: Configure the main branch name
50
+ - **Line 8**: Add any additional customizations supported by TypeScriptProject
51
+
52
+ ## Features
53
+
54
+ ### NX Configuration
55
+
56
+ The project automatically configures NX with optimal settings:
57
+
58
+ ```json title="nx.json" linenums="1"
59
+ {
60
+ "affected": {
61
+ "defaultBase": "main"
62
+ },
63
+ "namedInput": {
64
+ "default": [
65
+ "{projectRoot}/**/*",
66
+ "!{projectRoot}/**/*.{spec,test}.*",
67
+ "!{projectRoot}/node_modules/**/*"
68
+ ],
69
+ "production": ["default"],
70
+ "testing": ["{projectRoot}/**/*.{spec,test}.*"]
71
+ },
72
+ "targetDefaults": {
73
+ "build": {
74
+ "dependsOn": ["^build"]
75
+ }
76
+ },
77
+ "release": {
78
+ "projects": ["*"],
79
+ "version": {
80
+ "conventionalCommits": true
81
+ },
82
+ "changelog": {
83
+ "workspaceChangelog": {
84
+ "createRelease": "github"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ ```
90
+
91
+ ### Task Orchestration
92
+
93
+ The project configures NX-optimized tasks that work across the entire monorepo:
94
+
95
+ | Task | Description | Command |
96
+ |------|-------------|---------|
97
+ | `build` | Build all affected projects | `nx run-many --target=build` |
98
+ | `test` | Test all affected projects | `nx run-many --target=test` |
99
+ | `test:watch` | Watch mode testing | `nx run-many --target=test:watch --skip-nx-cache` |
100
+ | `lint` | Lint all affected projects | `nx run-many --target=eslint` |
101
+ | `package` | Package all affected projects | `nx run-many --target=package` |
102
+ | `graph` | Generate dependency graph | `nx graph` |
103
+ | `release` | Full release with conventional commits | Custom release workflow |
104
+
105
+ ### Workspace Structure
106
+
107
+ The monorepo is configured with a standard workspace structure:
108
+
109
+ ```
110
+ my-monorepo/
111
+ ├── packages/ # Individual projects/libraries
112
+ │ ├── project-a/
113
+ │ └── project-b/
114
+ ├── nx.json # NX configuration
115
+ ├── package.json # Workspace package.json
116
+ ├── .projenrc.ts # Projen configuration
117
+ └── .github/
118
+ └── workflows/
119
+ └── publish.yml # Automated publishing
120
+ ```
121
+
122
+ ## Configuration Options
123
+
124
+ ### Basic Configuration
125
+
126
+ All standard `TypeScriptProjectOptions` are supported. Here are the most common options:
127
+
128
+ ```typescript linenums="1" title="Basic NX Monorepo Configuration"
129
+ const project = new NxMonorepo({
130
+ // Required options
131
+ name: 'my-nx-monorepo',
132
+ defaultReleaseBranch: 'main',
133
+
134
+ // Optional TypeScript configurations
135
+ description: 'My awesome NX monorepo',
136
+ authorName: 'Your Name',
137
+ authorEmail: 'your.email@example.com',
138
+ repository: 'https://github.com/username/my-nx-monorepo.git',
139
+
140
+ // Any other TypeScriptProject options...
141
+ });
142
+ ```
143
+
144
+ ### Common Configuration Options
145
+
146
+ For Prettier and VSCode configuration options, refer to [Default Configurations](../default-configurations.md):
147
+
148
+ - **Prettier**: [Customization Guide](../default-configurations.md#customization)
149
+ - **VSCode**: [Configuration Options](../default-configurations.md#customization)
150
+
151
+ !!! info "Inherited Configurations"
152
+ The NX Monorepo project inherits all common configurations from the base TypeScriptProject. See [Default Configurations](../default-configurations.md) for complete details.
153
+
154
+ ## Package Management
155
+
156
+ ### Workspace Configuration
157
+
158
+ The project automatically configures the workspace in `package.json`:
159
+
160
+ ```json title="package.json" linenums="1" hl_lines="2 3"
161
+ {
162
+ "private": "true",
163
+ "workspaces": ["packages/*"],
164
+ "devDependencies": {
165
+ "nx": "*",
166
+ "@nx/workspace": "*",
167
+ "@nx/devkit": "*"
168
+ }
169
+ }
170
+ ```
171
+
172
+ **Highlighted lines explanation:**
173
+
174
+ - **Line 2**: Marks the root as private (not publishable)
175
+ - **Line 3**: Configures workspace pattern for packages
176
+
177
+ ### Adding Packages
178
+
179
+ To add new packages to your monorepo:
180
+
181
+ 1. **Create a new directory** in the `packages/` folder:
182
+ ```bash
183
+ mkdir packages/my-new-package
184
+ ```
185
+
186
+ 2. **Initialize the package** with its own projen configuration:
187
+ ```typescript title="packages/my-new-package/.projenrc.ts"
188
+ import { TypeScriptProject } from 'projen/lib/typescript';
189
+
190
+ const project = new TypeScriptProject({
191
+ name: 'my-new-package',
192
+ defaultReleaseBranch: 'main',
193
+ parent: '../..', // Reference to monorepo root
194
+ });
195
+
196
+ project.synth();
197
+ ```
198
+
199
+ 3. **Run projen** to generate the package structure:
200
+ ```bash
201
+ cd packages/my-new-package
202
+ npx projen
203
+ ```
204
+
205
+ ## Release Management
206
+
207
+ ### Automated Publishing
208
+
209
+ The project includes a GitHub Actions workflow that automatically publishes packages:
210
+
211
+ ```yaml title=".github/workflows/publish.yml" linenums="1"
212
+ name: publish
213
+ on:
214
+ release:
215
+ types: [published]
216
+ workflow_dispatch:
217
+ inputs:
218
+ version:
219
+ description: 'Version to Publish'
220
+ required: false
221
+ default: ''
222
+ ```
223
+
224
+ ### Release Process
225
+
226
+ 1. **Create releases** using conventional commits:
227
+ ```bash
228
+ yarn release
229
+ ```
230
+
231
+ 2. **Version management** with NX release:
232
+ ```bash
233
+ # Automatic versioning
234
+ yarn nx release version
235
+
236
+ # Specific version
237
+ yarn nx release version --specifier 1.2.3
238
+ ```
239
+
240
+ 3. **Publish packages**:
241
+ ```bash
242
+ yarn nx release publish
243
+ ```
244
+
245
+ ## Development Workflow
246
+
247
+ ### Daily Development Commands
248
+
249
+ ```bash
250
+ # Install all dependencies
251
+ yarn install
252
+
253
+ # Build all affected projects
254
+ yarn build
255
+
256
+ # Test all affected projects
257
+ yarn test
258
+
259
+ # Lint all affected projects
260
+ yarn lint
261
+
262
+ # Watch mode for testing
263
+ yarn test:watch
264
+
265
+ # View dependency graph
266
+ yarn graph
267
+
268
+ # Run custom nx commands
269
+ yarn nx [command]
270
+ ```
271
+
272
+ ### Working with Affected Changes
273
+
274
+ NX automatically detects which projects are affected by your changes:
275
+
276
+ ```bash
277
+ # Build only affected projects
278
+ yarn nx affected:build
279
+
280
+ # Test only affected projects
281
+ yarn nx affected:test
282
+
283
+ # Lint only affected projects
284
+ yarn nx affected:lint
285
+ ```
286
+
287
+ ## Best Practices
288
+
289
+ ### Project Organization
290
+
291
+ 1. **Keep packages focused** - Each package should have a single responsibility
292
+ 2. **Use consistent naming** - Follow a clear naming convention for packages
293
+ 3. **Shared dependencies** - Put common dependencies in the root package.json
294
+ 4. **Type definitions** - Share types between packages when appropriate
295
+
296
+ ### Development Guidelines
297
+
298
+ 1. **Conventional commits** - Use conventional commit format for automatic changelog generation
299
+ 2. **Testing strategy** - Ensure each package has comprehensive tests
300
+ 3. **Documentation** - Document each package's API and usage
301
+ 4. **Dependencies** - Carefully manage dependencies to avoid conflicts
302
+
303
+ ### Performance Optimization
304
+
305
+ 1. **Leverage NX cache** - Ensure tasks are cacheable where possible
306
+ 2. **Affected builds** - Use affected commands to build only what changed
307
+ 3. **Parallel execution** - Configure tasks to run in parallel when possible
308
+
309
+ ## Troubleshooting
310
+
311
+ ### Common Issues
312
+
313
+ #### Cache Issues
314
+ ```bash
315
+ # Clear NX cache
316
+ yarn nx reset
317
+ ```
318
+
319
+ #### Dependency Conflicts
320
+ ```bash
321
+ # Clean install
322
+ rm -rf node_modules yarn.lock
323
+ yarn install
324
+ ```
325
+
326
+ #### Build Failures
327
+ ```bash
328
+ # Build with verbose output
329
+ yarn nx run-many --target=build --verbose
330
+ ```
331
+
332
+ ### Getting Help
333
+
334
+ - **NX Documentation**: [https://nx.dev](https://nx.dev)
335
+ - **Projen Documentation**: [https://projen.io](https://projen.io)
336
+ - **Project Issues**: Report issues in the project repository
337
+
338
+ ## Examples
339
+
340
+ ### Complete Configuration
341
+
342
+ ```typescript linenums="1" title=".projenrc.ts"
343
+ import { NxMonorepo } from '@jttc/projen-project-types';
344
+
345
+ const project = new NxMonorepo({
346
+ name: 'enterprise-monorepo',
347
+ defaultReleaseBranch: 'main',
348
+ description: 'Enterprise-scale NX monorepo',
349
+
350
+ // Author information
351
+ authorName: 'Enterprise Team',
352
+ authorEmail: 'team@enterprise.com',
353
+
354
+ // Repository configuration
355
+ repository: 'https://github.com/enterprise/monorepo.git',
356
+
357
+ // TypeScript configuration
358
+ tsconfig: {
359
+ compilerOptions: {
360
+ target: 'ES2022',
361
+ lib: ['ES2022'],
362
+ },
363
+ },
364
+
365
+ // Testing configuration
366
+ jestOptions: {
367
+ coverage: true,
368
+ coverageThreshold: {
369
+ global: {
370
+ branches: 80,
371
+ functions: 80,
372
+ lines: 80,
373
+ statements: 80,
374
+ },
375
+ },
376
+ },
377
+ });
378
+
379
+ project.synth();
380
+ ```
381
+
382
+ This example shows a complete configuration suitable for an enterprise monorepo with high test coverage requirements and modern TypeScript settings.
@@ -0,0 +1,12 @@
1
+ import { AwsCdkTypeScriptApp } from 'projen/lib/awscdk';
2
+ import { Commitzent } from '../components';
3
+ import { CdkAppOptions } from './interfaces/cdk-app-options';
4
+ /**
5
+ * CDK TypeScript App Project
6
+ *
7
+ * @pjid cdk-app
8
+ */
9
+ export declare class CdkApp extends AwsCdkTypeScriptApp {
10
+ readonly commitzent?: Commitzent;
11
+ constructor(options: CdkAppOptions);
12
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CdkApp = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const awscdk_1 = require("projen/lib/awscdk");
7
+ const common_options_1 = require("../common/common-options");
8
+ /**
9
+ * CDK TypeScript App Project
10
+ *
11
+ * @pjid cdk-app
12
+ */
13
+ class CdkApp extends awscdk_1.AwsCdkTypeScriptApp {
14
+ constructor(options) {
15
+ const opts = common_options_1.CommonOptionsConfig.withCommonOptionsDefaults({
16
+ ...options,
17
+ });
18
+ super({
19
+ ...opts,
20
+ });
21
+ const components = common_options_1.CommonOptionsConfig.withCommonComponents(this, opts);
22
+ this.commitzent = components.commitzent;
23
+ }
24
+ }
25
+ exports.CdkApp = CdkApp;
26
+ _a = JSII_RTTI_SYMBOL_1;
27
+ CdkApp[_a] = { fqn: "@jttc/projen-project-types.CdkApp", version: "1.0.0-beta.10" };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFwcC1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9jZGstYXBwLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBd0Q7QUFDeEQsNkRBQStEO0FBSS9EOzs7O0dBSUc7QUFDSCxNQUFhLE1BQU8sU0FBUSw0QkFBbUI7SUFFN0MsWUFBWSxPQUFzQjtRQUNoQyxNQUFNLElBQUksR0FBRyxvQ0FBbUIsQ0FBQyx5QkFBeUIsQ0FBQztZQUN6RCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUM7WUFDSixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxvQ0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7O0FBWEgsd0JBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgQ29tbW9uT3B0aW9uc0NvbmZpZyB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBDb21taXR6ZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDZGtBcHBPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Nkay1hcHAtb3B0aW9ucyc7XG5cbi8qKlxuICogQ0RLIFR5cGVTY3JpcHQgQXBwIFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGstYXBwXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtBcHAgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgcmVhZG9ubHkgY29tbWl0emVudD86IENvbW1pdHplbnQ7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka0FwcE9wdGlvbnMpIHtcbiAgICBjb25zdCBvcHRzID0gQ29tbW9uT3B0aW9uc0NvbmZpZy53aXRoQ29tbW9uT3B0aW9uc0RlZmF1bHRzKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0cyxcbiAgICB9KTtcbiAgICBjb25zdCBjb21wb25lbnRzID0gQ29tbW9uT3B0aW9uc0NvbmZpZy53aXRoQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgICB0aGlzLmNvbW1pdHplbnQgPSBjb21wb25lbnRzLmNvbW1pdHplbnQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { AwsCdkConstructLibrary } from 'projen/lib/awscdk';
2
+ import { Commitzent } from '../components';
3
+ import { CdkLibraryOptions } from './interfaces/cdk-library-options';
4
+ /**
5
+ * CDK Construct Library Project
6
+ *
7
+ * @pjid cdk-library
8
+ */
9
+ export declare class CdkLibrary extends AwsCdkConstructLibrary {
10
+ readonly commitzent?: Commitzent;
11
+ constructor(options: CdkLibraryOptions);
12
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CdkLibrary = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const awscdk_1 = require("projen/lib/awscdk");
7
+ const common_options_1 = require("../common/common-options");
8
+ /**
9
+ * CDK Construct Library Project
10
+ *
11
+ * @pjid cdk-library
12
+ */
13
+ class CdkLibrary extends awscdk_1.AwsCdkConstructLibrary {
14
+ constructor(options) {
15
+ const opts = common_options_1.CommonOptionsConfig.withCommonOptionsDefaults({
16
+ ...options,
17
+ });
18
+ super({
19
+ ...opts,
20
+ });
21
+ const components = common_options_1.CommonOptionsConfig.withCommonComponents(this, opts);
22
+ this.commitzent = components.commitzent;
23
+ }
24
+ }
25
+ exports.CdkLibrary = CdkLibrary;
26
+ _a = JSII_RTTI_SYMBOL_1;
27
+ CdkLibrary[_a] = { fqn: "@jttc/projen-project-types.CdkLibrary", version: "1.0.0-beta.10" };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxpYnJhcnktcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvY2RrLWxpYnJhcnktcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUEyRDtBQUMzRCw2REFBK0Q7QUFJL0Q7Ozs7R0FJRztBQUNILE1BQWEsVUFBVyxTQUFRLCtCQUFzQjtJQUVwRCxZQUFZLE9BQTBCO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLG9DQUFtQixDQUFDLHlCQUF5QixDQUFDO1lBQ3pELEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQztZQUNKLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLG9DQUFtQixDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDMUMsQ0FBQzs7QUFYSCxnQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka0NvbnN0cnVjdExpYnJhcnkgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi1vcHRpb25zJztcbmltcG9ydCB7IENvbW1pdHplbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENka0xpYnJhcnlPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Nkay1saWJyYXJ5LW9wdGlvbnMnO1xuXG4vKipcbiAqIENESyBDb25zdHJ1Y3QgTGlicmFyeSBQcm9qZWN0XG4gKlxuICogQHBqaWQgY2RrLWxpYnJhcnlcbiAqL1xuZXhwb3J0IGNsYXNzIENka0xpYnJhcnkgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgcmVhZG9ubHkgY29tbWl0emVudD86IENvbW1pdHplbnQ7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka0xpYnJhcnlPcHRpb25zKSB7XG4gICAgY29uc3Qgb3B0cyA9IENvbW1vbk9wdGlvbnNDb25maWcud2l0aENvbW1vbk9wdGlvbnNEZWZhdWx0cyh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdHMsXG4gICAgfSk7XG4gICAgY29uc3QgY29tcG9uZW50cyA9IENvbW1vbk9wdGlvbnNDb25maWcud2l0aENvbW1vbkNvbXBvbmVudHModGhpcywgb3B0cyk7XG4gICAgdGhpcy5jb21taXR6ZW50ID0gY29tcG9uZW50cy5jb21taXR6ZW50O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { TypeScriptProject } from 'projen/lib/typescript';
2
+ import { Cdk8sComponent, Commitzent } from '../components';
3
+ import { Cdk8sAppOptions } from './interfaces/cdk8s-app-options';
4
+ /**
5
+ * CDK8s Application Project
6
+ *
7
+ * @pjid cdk8s-app
8
+ */
9
+ export declare class Cdk8App extends TypeScriptProject {
10
+ readonly cdk8s: Cdk8sComponent;
11
+ readonly commitzent?: Commitzent;
12
+ constructor(options: Cdk8sAppOptions);
13
+ postSynthesize(): void;
14
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Cdk8App = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const child_process_1 = require("child_process");
7
+ const typescript_1 = require("projen/lib/typescript");
8
+ const common_options_1 = require("../common/common-options");
9
+ const components_1 = require("../components");
10
+ /**
11
+ * CDK8s Application Project
12
+ *
13
+ * @pjid cdk8s-app
14
+ */
15
+ class Cdk8App extends typescript_1.TypeScriptProject {
16
+ constructor(options) {
17
+ const opts = common_options_1.CommonOptionsConfig.withCommonOptionsDefaults({
18
+ ...options,
19
+ sampleCode: false,
20
+ eslintOptions: {
21
+ dirs: ['src', 'test', 'build-tools', 'projenrc', '.projenrc.ts'],
22
+ ignorePatterns: [
23
+ '*.js',
24
+ '*.d.ts',
25
+ 'node_modules/',
26
+ '*.generated.ts',
27
+ 'coverage',
28
+ '**/k8s.ts',
29
+ ],
30
+ },
31
+ });
32
+ super(opts);
33
+ // Add constructs dependency
34
+ this.addDeps('constructs@^10.4.2');
35
+ this.cdk8s = new components_1.Cdk8sComponent(this, 'cdk8s-component', options);
36
+ if (options.k3d != false) {
37
+ new components_1.K3d(this, 'k3d-component', options.k3dOptions);
38
+ }
39
+ const components = common_options_1.CommonOptionsConfig.withCommonComponents(this, opts);
40
+ this.commitzent = components.commitzent;
41
+ }
42
+ postSynthesize() {
43
+ const cdk8sImportTask = this.tasks.tryFind('cdk8s:import');
44
+ if (cdk8sImportTask) {
45
+ (0, child_process_1.execSync)(this.runTaskCommand(cdk8sImportTask), {
46
+ cwd: this.outdir,
47
+ });
48
+ }
49
+ }
50
+ }
51
+ exports.Cdk8App = Cdk8App;
52
+ _a = JSII_RTTI_SYMBOL_1;
53
+ Cdk8App[_a] = { fqn: "@jttc/projen-project-types.Cdk8App", version: "1.0.0-beta.10" };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtYXBwLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrL2NkazhzLWFwcC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQXlDO0FBQ3pDLHNEQUEwRDtBQUMxRCw2REFBK0Q7QUFDL0QsOENBQWdFO0FBR2hFOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSw4QkFBaUI7SUFHNUMsWUFBWSxPQUF3QjtRQUNsQyxNQUFNLElBQUksR0FBRyxvQ0FBbUIsQ0FBQyx5QkFBeUIsQ0FBQztZQUN6RCxHQUFHLE9BQU87WUFDVixVQUFVLEVBQUUsS0FBSztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQztnQkFDaEUsY0FBYyxFQUFFO29CQUNkLE1BQU07b0JBQ04sUUFBUTtvQkFDUixlQUFlO29CQUNmLGdCQUFnQjtvQkFDaEIsVUFBVTtvQkFDVixXQUFXO2lCQUNaO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWiw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwyQkFBYyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVsRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxnQkFBRyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxvQ0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFBLHdCQUFRLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDN0MsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQTFDSCwwQkEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgVHlwZVNjcmlwdFByb2plY3QgfSBmcm9tICdwcm9qZW4vbGliL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ29tbW9uT3B0aW9uc0NvbmZpZyB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBDZGs4c0NvbXBvbmVudCwgQ29tbWl0emVudCwgSzNkIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDZGs4c0FwcE9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvY2RrOHMtYXBwLW9wdGlvbnMnO1xuXG4vKipcbiAqIENESzhzIEFwcGxpY2F0aW9uIFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGs4cy1hcHBcbiAqL1xuZXhwb3J0IGNsYXNzIENkazhBcHAgZXh0ZW5kcyBUeXBlU2NyaXB0UHJvamVjdCB7XG4gIHJlYWRvbmx5IGNkazhzOiBDZGs4c0NvbXBvbmVudDtcbiAgcmVhZG9ubHkgY29tbWl0emVudD86IENvbW1pdHplbnQ7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENkazhzQXBwT3B0aW9ucykge1xuICAgIGNvbnN0IG9wdHMgPSBDb21tb25PcHRpb25zQ29uZmlnLndpdGhDb21tb25PcHRpb25zRGVmYXVsdHMoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgZXNsaW50T3B0aW9uczoge1xuICAgICAgICBkaXJzOiBbJ3NyYycsICd0ZXN0JywgJ2J1aWxkLXRvb2xzJywgJ3Byb2plbnJjJywgJy5wcm9qZW5yYy50cyddLFxuICAgICAgICBpZ25vcmVQYXR0ZXJuczogW1xuICAgICAgICAgICcqLmpzJyxcbiAgICAgICAgICAnKi5kLnRzJyxcbiAgICAgICAgICAnbm9kZV9tb2R1bGVzLycsXG4gICAgICAgICAgJyouZ2VuZXJhdGVkLnRzJyxcbiAgICAgICAgICAnY292ZXJhZ2UnLFxuICAgICAgICAgICcqKi9rOHMudHMnLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgLy8gQWRkIGNvbnN0cnVjdHMgZGVwZW5kZW5jeVxuICAgIHRoaXMuYWRkRGVwcygnY29uc3RydWN0c0BeMTAuNC4yJyk7XG5cbiAgICB0aGlzLmNkazhzID0gbmV3IENkazhzQ29tcG9uZW50KHRoaXMsICdjZGs4cy1jb21wb25lbnQnLCBvcHRpb25zKTtcblxuICAgIGlmIChvcHRpb25zLmszZCAhPSBmYWxzZSkge1xuICAgICAgbmV3IEszZCh0aGlzLCAnazNkLWNvbXBvbmVudCcsIG9wdGlvbnMuazNkT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50cyA9IENvbW1vbk9wdGlvbnNDb25maWcud2l0aENvbW1vbkNvbXBvbmVudHModGhpcywgb3B0cyk7XG4gICAgdGhpcy5jb21taXR6ZW50ID0gY29tcG9uZW50cy5jb21taXR6ZW50O1xuICB9XG5cbiAgcG9zdFN5bnRoZXNpemUoKTogdm9pZCB7XG4gICAgY29uc3QgY2RrOHNJbXBvcnRUYXNrID0gdGhpcy50YXNrcy50cnlGaW5kKCdjZGs4czppbXBvcnQnKTtcbiAgICBpZiAoY2RrOHNJbXBvcnRUYXNrKSB7XG4gICAgICBleGVjU3luYyh0aGlzLnJ1blRhc2tDb21tYW5kKGNkazhzSW1wb3J0VGFzayksIHtcbiAgICAgICAgY3dkOiB0aGlzLm91dGRpcixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { AwsCdkConstructLibrary } from 'projen/lib/awscdk';
2
+ import { Cdk8sComponent, Commitzent } from '../components';
3
+ import { Cdk8sLibraryOptions } from './interfaces/cdk8s-library-options';
4
+ /**
5
+ * CDK Construct Library Project
6
+ *
7
+ * @pjid cdk8s-library
8
+ */
9
+ export declare class Cdk8sLibrary extends AwsCdkConstructLibrary {
10
+ readonly cdk8s: Cdk8sComponent;
11
+ readonly commitzent?: Commitzent;
12
+ constructor(options: Cdk8sLibraryOptions);
13
+ postSynthesize(): void;
14
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Cdk8sLibrary = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const child_process_1 = require("child_process");
7
+ const awscdk_1 = require("projen/lib/awscdk");
8
+ const common_options_1 = require("../common/common-options");
9
+ const components_1 = require("../components");
10
+ /**
11
+ * CDK Construct Library Project
12
+ *
13
+ * @pjid cdk8s-library
14
+ */
15
+ class Cdk8sLibrary extends awscdk_1.AwsCdkConstructLibrary {
16
+ constructor(options) {
17
+ const opts = common_options_1.CommonOptionsConfig.withCommonOptionsDefaults({
18
+ ...options,
19
+ sampleCode: false,
20
+ eslintOptions: {
21
+ dirs: ['src', 'test', 'build-tools', 'projenrc', '.projenrc.ts'],
22
+ ignorePatterns: [
23
+ '*.js',
24
+ '*.d.ts',
25
+ 'node_modules/',
26
+ '*.generated.ts',
27
+ 'coverage',
28
+ '**/k8s.ts',
29
+ ],
30
+ },
31
+ });
32
+ super(opts);
33
+ this.cdk8s = new components_1.Cdk8sComponent(this, 'cdk8s-component', opts);
34
+ this.addDeps('constructs@^10.4.2');
35
+ const components = common_options_1.CommonOptionsConfig.withCommonComponents(this, opts);
36
+ this.commitzent = components.commitzent;
37
+ }
38
+ postSynthesize() {
39
+ const cdk8sImportTask = this.tasks.tryFind('cdk8s:import');
40
+ if (cdk8sImportTask) {
41
+ (0, child_process_1.execSync)(this.runTaskCommand(cdk8sImportTask), {
42
+ cwd: this.outdir,
43
+ });
44
+ }
45
+ }
46
+ }
47
+ exports.Cdk8sLibrary = Cdk8sLibrary;
48
+ _a = JSII_RTTI_SYMBOL_1;
49
+ Cdk8sLibrary[_a] = { fqn: "@jttc/projen-project-types.Cdk8sLibrary", version: "1.0.0-beta.10" };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtbGlicmFyeS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9jZGs4cy1saWJyYXJ5LXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBeUM7QUFDekMsOENBQTJEO0FBQzNELDZEQUErRDtBQUMvRCw4Q0FBMkQ7QUFHM0Q7Ozs7R0FJRztBQUNILE1BQWEsWUFBYSxTQUFRLCtCQUFzQjtJQUd0RCxZQUFZLE9BQTRCO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLG9DQUFtQixDQUFDLHlCQUF5QixDQUFDO1lBQ3pELEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGFBQWEsRUFBRTtnQkFDYixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDO2dCQUNoRSxjQUFjLEVBQUU7b0JBQ2QsTUFBTTtvQkFDTixRQUFRO29CQUNSLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLFdBQVc7aUJBQ1o7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwyQkFBYyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFbkMsTUFBTSxVQUFVLEdBQUcsb0NBQW1CLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNELElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBQSx3QkFBUSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQzdDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs7QUFwQ0gsb0NBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IEF3c0Nka0NvbnN0cnVjdExpYnJhcnkgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi1vcHRpb25zJztcbmltcG9ydCB7IENkazhzQ29tcG9uZW50LCBDb21taXR6ZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDZGs4c0xpYnJhcnlPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NkazhzLWxpYnJhcnktb3B0aW9ucyc7XG5cbi8qKlxuICogQ0RLIENvbnN0cnVjdCBMaWJyYXJ5IFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGs4cy1saWJyYXJ5XG4gKi9cbmV4cG9ydCBjbGFzcyBDZGs4c0xpYnJhcnkgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgcmVhZG9ubHkgY2RrOHM6IENkazhzQ29tcG9uZW50O1xuICByZWFkb25seSBjb21taXR6ZW50PzogQ29tbWl0emVudDtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrOHNMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IG9wdHMgPSBDb21tb25PcHRpb25zQ29uZmlnLndpdGhDb21tb25PcHRpb25zRGVmYXVsdHMoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgZXNsaW50T3B0aW9uczoge1xuICAgICAgICBkaXJzOiBbJ3NyYycsICd0ZXN0JywgJ2J1aWxkLXRvb2xzJywgJ3Byb2plbnJjJywgJy5wcm9qZW5yYy50cyddLFxuICAgICAgICBpZ25vcmVQYXR0ZXJuczogW1xuICAgICAgICAgICcqLmpzJyxcbiAgICAgICAgICAnKi5kLnRzJyxcbiAgICAgICAgICAnbm9kZV9tb2R1bGVzLycsXG4gICAgICAgICAgJyouZ2VuZXJhdGVkLnRzJyxcbiAgICAgICAgICAnY292ZXJhZ2UnLFxuICAgICAgICAgICcqKi9rOHMudHMnLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgdGhpcy5jZGs4cyA9IG5ldyBDZGs4c0NvbXBvbmVudCh0aGlzLCAnY2RrOHMtY29tcG9uZW50Jywgb3B0cyk7XG4gICAgdGhpcy5hZGREZXBzKCdjb25zdHJ1Y3RzQF4xMC40LjInKTtcblxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBDb21tb25PcHRpb25zQ29uZmlnLndpdGhDb21tb25Db21wb25lbnRzKHRoaXMsIG9wdHMpO1xuICAgIHRoaXMuY29tbWl0emVudCA9IGNvbXBvbmVudHMuY29tbWl0emVudDtcbiAgfVxuXG4gIHBvc3RTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGNkazhzSW1wb3J0VGFzayA9IHRoaXMudGFza3MudHJ5RmluZCgnY2RrOHM6aW1wb3J0Jyk7XG4gICAgaWYgKGNkazhzSW1wb3J0VGFzaykge1xuICAgICAgZXhlY1N5bmModGhpcy5ydW5UYXNrQ29tbWFuZChjZGs4c0ltcG9ydFRhc2spLCB7XG4gICAgICAgIGN3ZDogdGhpcy5vdXRkaXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './cdk-app-project';
2
+ export * from './cdk-library-project';
3
+ export * from './cdk8s-app-project';
4
+ export * from './cdk8s-library-project';
5
+ export * from './interfaces';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cdk-app-project"), exports);
18
+ __exportStar(require("./cdk-library-project"), exports);
19
+ __exportStar(require("./cdk8s-app-project"), exports);
20
+ __exportStar(require("./cdk8s-library-project"), exports);
21
+ __exportStar(require("./interfaces"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLHNEQUFvQztBQUNwQywwREFBd0M7QUFDeEMsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jZGstYXBwLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGstbGlicmFyeS1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vY2RrOHMtYXBwLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGs4cy1saWJyYXJ5LXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { AwsCdkTypeScriptAppOptions } from 'projen/lib/awscdk';
2
+ import { ProjectGlobalOptions } from './project-global-options';
3
+ /**
4
+ * CDK TypeScript App Project options
5
+ */
6
+ export interface CdkAppOptions extends AwsCdkTypeScriptAppOptions, ProjectGlobalOptions {
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFwcC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nkay9pbnRlcmZhY2VzL2Nkay1hcHAtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBQcm9qZWN0R2xvYmFsT3B0aW9ucyB9IGZyb20gJy4vcHJvamVjdC1nbG9iYWwtb3B0aW9ucyc7XG5cbi8qKlxuICogQ0RLIFR5cGVTY3JpcHQgQXBwIFByb2plY3Qgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0FwcE9wdGlvbnNcbiAgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucywgUHJvamVjdEdsb2JhbE9wdGlvbnMge1xuICAvLyBGdXR1cmUgQ0RLIEFwcCBzcGVjaWZpYyBvcHRpb25zIGNhbiBiZSBhZGRlZCBoZXJlXG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { AwsCdkConstructLibraryOptions } from 'projen/lib/awscdk';
2
+ import { ProjectGlobalOptions } from './project-global-options';
3
+ /**
4
+ * CDK Construct Library Project options
5
+ */
6
+ export interface CdkLibraryOptions extends AwsCdkConstructLibraryOptions, ProjectGlobalOptions {
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxpYnJhcnktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jZGsvaW50ZXJmYWNlcy9jZGstbGlicmFyeS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IFByb2plY3RHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9wcm9qZWN0LWdsb2JhbC1vcHRpb25zJztcblxuLyoqXG4gKiBDREsgQ29uc3RydWN0IExpYnJhcnkgUHJvamVjdCBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrTGlicmFyeU9wdGlvbnNcbiAgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgUHJvamVjdEdsb2JhbE9wdGlvbnMge1xuICAvLyBGdXR1cmUgQ0RLIExpYnJhcnkgc3BlY2lmaWMgb3B0aW9ucyBjYW4gYmUgYWRkZWQgaGVyZVxufVxuIl19