@macedon-technologies/batman 1.0.16

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 (41) hide show
  1. package/.jsii +637 -0
  2. package/API.md +5671 -0
  3. package/LICENSE +202 -0
  4. package/README.md +86 -0
  5. package/lib/ApiConstructFile.d.ts +5 -0
  6. package/lib/ApiConstructFile.js +175 -0
  7. package/lib/ApiFunctionFile.d.ts +5 -0
  8. package/lib/ApiFunctionFile.js +30 -0
  9. package/lib/Application.d.ts +21 -0
  10. package/lib/Application.js +72 -0
  11. package/lib/ApplicationStackFile.d.ts +5 -0
  12. package/lib/ApplicationStackFile.js +26 -0
  13. package/lib/BaseApplicationStackFile.d.ts +5 -0
  14. package/lib/BaseApplicationStackFile.js +172 -0
  15. package/lib/BatmanProject.d.ts +25 -0
  16. package/lib/BatmanProject.js +101 -0
  17. package/lib/GitHubRolesFile.d.ts +9 -0
  18. package/lib/GitHubRolesFile.js +26 -0
  19. package/lib/GitHubRolesStackFile.d.ts +8 -0
  20. package/lib/GitHubRolesStackFile.js +165 -0
  21. package/lib/LocalDevAppFile.d.ts +10 -0
  22. package/lib/LocalDevAppFile.js +34 -0
  23. package/lib/MainFile.d.ts +24 -0
  24. package/lib/MainFile.js +64 -0
  25. package/lib/MainTestFile.d.ts +5 -0
  26. package/lib/MainTestFile.js +33 -0
  27. package/lib/PrCleanupWorkflow.d.ts +9 -0
  28. package/lib/PrCleanupWorkflow.js +100 -0
  29. package/lib/PrDeployWorkflow.d.ts +10 -0
  30. package/lib/PrDeployWorkflow.js +106 -0
  31. package/lib/ProductionDeployWorkflow.d.ts +11 -0
  32. package/lib/ProductionDeployWorkflow.js +68 -0
  33. package/lib/StagingDeployWorkflow.d.ts +11 -0
  34. package/lib/StagingDeployWorkflow.js +68 -0
  35. package/lib/StaticWebsiteConstructFile.d.ts +5 -0
  36. package/lib/StaticWebsiteConstructFile.js +198 -0
  37. package/lib/ViteReactProject.d.ts +45 -0
  38. package/lib/ViteReactProject.js +654 -0
  39. package/lib/index.d.ts +5 -0
  40. package/lib/index.js +20 -0
  41. package/package.json +125 -0
package/.jsii ADDED
@@ -0,0 +1,637 @@
1
+ {
2
+ "author": {
3
+ "email": "matthew.bonig@macedonconsulting.com",
4
+ "name": "Matthew Bonig",
5
+ "roles": [
6
+ "author"
7
+ ]
8
+ },
9
+ "dependencies": {
10
+ "constructs": "^10.4.3",
11
+ "projen": "^0.98.16"
12
+ },
13
+ "dependencyClosure": {
14
+ "constructs": {
15
+ "targets": {
16
+ "dotnet": {
17
+ "namespace": "Constructs",
18
+ "packageId": "Constructs"
19
+ },
20
+ "go": {
21
+ "moduleName": "github.com/aws/constructs-go"
22
+ },
23
+ "java": {
24
+ "maven": {
25
+ "artifactId": "constructs",
26
+ "groupId": "software.constructs"
27
+ },
28
+ "package": "software.constructs"
29
+ },
30
+ "js": {
31
+ "npm": "constructs"
32
+ },
33
+ "python": {
34
+ "distName": "constructs",
35
+ "module": "constructs"
36
+ }
37
+ }
38
+ },
39
+ "projen": {
40
+ "submodules": {
41
+ "projen.awscdk": {},
42
+ "projen.build": {},
43
+ "projen.cdk": {},
44
+ "projen.cdk8s": {},
45
+ "projen.cdktf": {},
46
+ "projen.circleci": {},
47
+ "projen.github": {},
48
+ "projen.github.workflows": {},
49
+ "projen.gitlab": {},
50
+ "projen.java": {},
51
+ "projen.javascript": {},
52
+ "projen.javascript.biome_config": {},
53
+ "projen.python": {},
54
+ "projen.release": {},
55
+ "projen.typescript": {},
56
+ "projen.vscode": {},
57
+ "projen.web": {}
58
+ },
59
+ "targets": {
60
+ "go": {
61
+ "moduleName": "github.com/projen/projen-go"
62
+ },
63
+ "java": {
64
+ "maven": {
65
+ "artifactId": "projen",
66
+ "groupId": "io.github.cdklabs"
67
+ },
68
+ "package": "io.github.cdklabs.projen"
69
+ },
70
+ "js": {
71
+ "npm": "projen"
72
+ },
73
+ "python": {
74
+ "distName": "projen",
75
+ "module": "projen"
76
+ }
77
+ }
78
+ }
79
+ },
80
+ "description": "@macedon-technologies/batman",
81
+ "docs": {
82
+ "stability": "stable"
83
+ },
84
+ "homepage": "https://github.com/macedon-technologies/platform-common",
85
+ "jsiiVersion": "5.8.22 (build 160a3ef)",
86
+ "license": "Apache-2.0",
87
+ "metadata": {
88
+ "jsii": {
89
+ "pacmak": {
90
+ "hasDefaultInterfaces": true
91
+ }
92
+ },
93
+ "tscRootDir": "src"
94
+ },
95
+ "name": "@macedon-technologies/batman",
96
+ "readme": {
97
+ "markdown": "# Platform Common Projen\n\nA baseline architecture template for new projects using Projen. This project provides a standardized foundation that includes both frontend and backend components with authentication.\n\n## Project Intention\n\nThis template serves as a starting point for new projects, providing:\n- Consistent project structure and configuration\n- Pre-configured development tooling\n- Integrated authentication system\n- Full-stack application foundation\n\n## Components Created\n\nThe BatmanProject generates:\n\n### Frontend\n- **React Application** - Modern React app with TypeScript\n- **Clerk Authentication** - Integrated user authentication and management\n\n### Backend/Infrastructure\n- **AWS Infrastructure** - CDK-based cloud resources\n- **API Gateway** - RESTful API endpoints\n- **Lambda Functions** - Serverless compute\n- **Database** - Persistent data storage\n\n## Usage Examples\n\n### Basic Project Creation\n\nCreate a `.projenrc.ts` file in your project root:\n\n```typescript\nimport { BatmanProject } from '@macedon-technologies/batman';\n\nconst project = new BatmanProject({\n name: 'my-new-app',\n defaultReleaseBranch: 'main',\n});\n\nproject.synth();\n```\n\nThen run:\n```bash\nnpx projen\n```\n\n### With Custom Configuration\n\nCreate a `.projenrc.ts` file with additional options:\n\n```typescript\nimport { BatmanProject } from '@macedon-technologies/batman';\n\nconst project = new BatmanProject({\n name: 'my-enterprise-app',\n defaultReleaseBranch: 'main',\n description: 'Enterprise application with authentication',\n authorName: 'Your Name',\n authorEmail: 'your.email@company.com',\n});\n\nproject.synth();\n```\n\nThen run:\n```bash\nnpx projen\n```\n\n### Development Workflow\n\n```bash\n# Install dependencies\nyarn install\n\n# Start development server\nyarn dev\n\n# Deploy infrastructure\nyarn deploy\n\n# Run tests\nyarn test\n```"
98
+ },
99
+ "repository": {
100
+ "type": "git",
101
+ "url": "https://github.com/macedon-technologies/platform-common"
102
+ },
103
+ "schema": "jsii/0.10.0",
104
+ "targets": {
105
+ "js": {
106
+ "npm": "@macedon-technologies/batman"
107
+ }
108
+ },
109
+ "types": {
110
+ "@macedon-technologies/batman.ApplicationEnvironmentConfig": {
111
+ "assembly": "@macedon-technologies/batman",
112
+ "datatype": true,
113
+ "docs": {
114
+ "stability": "stable"
115
+ },
116
+ "fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig",
117
+ "interfaces": [
118
+ "@macedon-technologies/batman.EnvironmentConfig"
119
+ ],
120
+ "kind": "interface",
121
+ "locationInModule": {
122
+ "filename": "src/Application.ts",
123
+ "line": 16
124
+ },
125
+ "name": "ApplicationEnvironmentConfig",
126
+ "properties": [
127
+ {
128
+ "abstract": true,
129
+ "docs": {
130
+ "stability": "stable"
131
+ },
132
+ "immutable": true,
133
+ "locationInModule": {
134
+ "filename": "src/Application.ts",
135
+ "line": 17
136
+ },
137
+ "name": "githubActionRoleArn",
138
+ "type": {
139
+ "primitive": "string"
140
+ }
141
+ }
142
+ ],
143
+ "symbolId": "src/Application:ApplicationEnvironmentConfig"
144
+ },
145
+ "@macedon-technologies/batman.BatmanProject": {
146
+ "assembly": "@macedon-technologies/batman",
147
+ "base": "projen.awscdk.AwsCdkTypeScriptApp",
148
+ "docs": {
149
+ "stability": "stable"
150
+ },
151
+ "fqn": "@macedon-technologies/batman.BatmanProject",
152
+ "initializer": {
153
+ "docs": {
154
+ "stability": "stable"
155
+ },
156
+ "locationInModule": {
157
+ "filename": "src/BatmanProject.ts",
158
+ "line": 31
159
+ },
160
+ "parameters": [
161
+ {
162
+ "name": "options",
163
+ "type": {
164
+ "fqn": "@macedon-technologies/batman.BatmanProjectOptions"
165
+ }
166
+ }
167
+ ]
168
+ },
169
+ "kind": "class",
170
+ "locationInModule": {
171
+ "filename": "src/BatmanProject.ts",
172
+ "line": 30
173
+ },
174
+ "name": "BatmanProject",
175
+ "symbolId": "src/BatmanProject:BatmanProject"
176
+ },
177
+ "@macedon-technologies/batman.BatmanProjectOptions": {
178
+ "assembly": "@macedon-technologies/batman",
179
+ "datatype": true,
180
+ "docs": {
181
+ "stability": "stable"
182
+ },
183
+ "fqn": "@macedon-technologies/batman.BatmanProjectOptions",
184
+ "interfaces": [
185
+ "projen.awscdk.AwsCdkTypeScriptAppOptions"
186
+ ],
187
+ "kind": "interface",
188
+ "locationInModule": {
189
+ "filename": "src/BatmanProject.ts",
190
+ "line": 6
191
+ },
192
+ "name": "BatmanProjectOptions",
193
+ "properties": [
194
+ {
195
+ "abstract": true,
196
+ "docs": {
197
+ "stability": "stable",
198
+ "summary": "Development environment configuration."
199
+ },
200
+ "immutable": true,
201
+ "locationInModule": {
202
+ "filename": "src/BatmanProject.ts",
203
+ "line": 11
204
+ },
205
+ "name": "dev",
206
+ "type": {
207
+ "fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig"
208
+ }
209
+ },
210
+ {
211
+ "abstract": true,
212
+ "docs": {
213
+ "stability": "stable",
214
+ "summary": "Production environment configuration."
215
+ },
216
+ "immutable": true,
217
+ "locationInModule": {
218
+ "filename": "src/BatmanProject.ts",
219
+ "line": 21
220
+ },
221
+ "name": "prod",
222
+ "type": {
223
+ "fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig"
224
+ }
225
+ },
226
+ {
227
+ "abstract": true,
228
+ "docs": {
229
+ "stability": "stable",
230
+ "summary": "Development environment configuration."
231
+ },
232
+ "immutable": true,
233
+ "locationInModule": {
234
+ "filename": "src/BatmanProject.ts",
235
+ "line": 16
236
+ },
237
+ "name": "staging",
238
+ "type": {
239
+ "fqn": "@macedon-technologies/batman.ApplicationEnvironmentConfig"
240
+ }
241
+ },
242
+ {
243
+ "abstract": true,
244
+ "docs": {
245
+ "stability": "stable",
246
+ "summary": "Additional tags to apply to all stacks."
247
+ },
248
+ "immutable": true,
249
+ "locationInModule": {
250
+ "filename": "src/BatmanProject.ts",
251
+ "line": 26
252
+ },
253
+ "name": "additionalTags",
254
+ "optional": true,
255
+ "type": {
256
+ "collection": {
257
+ "elementtype": {
258
+ "primitive": "string"
259
+ },
260
+ "kind": "map"
261
+ }
262
+ }
263
+ }
264
+ ],
265
+ "symbolId": "src/BatmanProject:BatmanProjectOptions"
266
+ },
267
+ "@macedon-technologies/batman.EnvironmentConfig": {
268
+ "assembly": "@macedon-technologies/batman",
269
+ "datatype": true,
270
+ "docs": {
271
+ "stability": "stable"
272
+ },
273
+ "fqn": "@macedon-technologies/batman.EnvironmentConfig",
274
+ "kind": "interface",
275
+ "locationInModule": {
276
+ "filename": "src/MainFile.ts",
277
+ "line": 4
278
+ },
279
+ "name": "EnvironmentConfig",
280
+ "properties": [
281
+ {
282
+ "abstract": true,
283
+ "docs": {
284
+ "stability": "stable"
285
+ },
286
+ "immutable": true,
287
+ "locationInModule": {
288
+ "filename": "src/MainFile.ts",
289
+ "line": 10
290
+ },
291
+ "name": "account",
292
+ "type": {
293
+ "primitive": "string"
294
+ }
295
+ },
296
+ {
297
+ "abstract": true,
298
+ "docs": {
299
+ "stability": "stable"
300
+ },
301
+ "immutable": true,
302
+ "locationInModule": {
303
+ "filename": "src/MainFile.ts",
304
+ "line": 8
305
+ },
306
+ "name": "clerkJwtVerificationKey",
307
+ "type": {
308
+ "primitive": "string"
309
+ }
310
+ },
311
+ {
312
+ "abstract": true,
313
+ "docs": {
314
+ "stability": "stable"
315
+ },
316
+ "immutable": true,
317
+ "locationInModule": {
318
+ "filename": "src/MainFile.ts",
319
+ "line": 12
320
+ },
321
+ "name": "clerkPublishableKey",
322
+ "type": {
323
+ "primitive": "string"
324
+ }
325
+ },
326
+ {
327
+ "abstract": true,
328
+ "docs": {
329
+ "stability": "stable"
330
+ },
331
+ "immutable": true,
332
+ "locationInModule": {
333
+ "filename": "src/MainFile.ts",
334
+ "line": 7
335
+ },
336
+ "name": "datadogSecretArn",
337
+ "type": {
338
+ "primitive": "string"
339
+ }
340
+ },
341
+ {
342
+ "abstract": true,
343
+ "docs": {
344
+ "stability": "stable"
345
+ },
346
+ "immutable": true,
347
+ "locationInModule": {
348
+ "filename": "src/MainFile.ts",
349
+ "line": 5
350
+ },
351
+ "name": "hostedZoneDomainName",
352
+ "type": {
353
+ "primitive": "string"
354
+ }
355
+ },
356
+ {
357
+ "abstract": true,
358
+ "docs": {
359
+ "stability": "stable"
360
+ },
361
+ "immutable": true,
362
+ "locationInModule": {
363
+ "filename": "src/MainFile.ts",
364
+ "line": 6
365
+ },
366
+ "name": "hostname",
367
+ "type": {
368
+ "primitive": "string"
369
+ }
370
+ },
371
+ {
372
+ "abstract": true,
373
+ "docs": {
374
+ "stability": "stable"
375
+ },
376
+ "immutable": true,
377
+ "locationInModule": {
378
+ "filename": "src/MainFile.ts",
379
+ "line": 9
380
+ },
381
+ "name": "n8nEndpoint",
382
+ "type": {
383
+ "primitive": "string"
384
+ }
385
+ },
386
+ {
387
+ "abstract": true,
388
+ "docs": {
389
+ "stability": "stable"
390
+ },
391
+ "immutable": true,
392
+ "locationInModule": {
393
+ "filename": "src/MainFile.ts",
394
+ "line": 11
395
+ },
396
+ "name": "region",
397
+ "type": {
398
+ "primitive": "string"
399
+ }
400
+ }
401
+ ],
402
+ "symbolId": "src/MainFile:EnvironmentConfig"
403
+ },
404
+ "@macedon-technologies/batman.ProductionDeployWorkflow": {
405
+ "assembly": "@macedon-technologies/batman",
406
+ "base": "projen.YamlFile",
407
+ "docs": {
408
+ "stability": "stable"
409
+ },
410
+ "fqn": "@macedon-technologies/batman.ProductionDeployWorkflow",
411
+ "initializer": {
412
+ "docs": {
413
+ "stability": "stable"
414
+ },
415
+ "locationInModule": {
416
+ "filename": "src/ProductionDeployWorkflow.ts",
417
+ "line": 12
418
+ },
419
+ "parameters": [
420
+ {
421
+ "name": "project",
422
+ "type": {
423
+ "fqn": "projen.awscdk.AwsCdkTypeScriptApp"
424
+ }
425
+ },
426
+ {
427
+ "name": "options",
428
+ "type": {
429
+ "fqn": "@macedon-technologies/batman.ProductionDeployWorkflowOptions"
430
+ }
431
+ }
432
+ ]
433
+ },
434
+ "kind": "class",
435
+ "locationInModule": {
436
+ "filename": "src/ProductionDeployWorkflow.ts",
437
+ "line": 11
438
+ },
439
+ "name": "ProductionDeployWorkflow",
440
+ "symbolId": "src/ProductionDeployWorkflow:ProductionDeployWorkflow"
441
+ },
442
+ "@macedon-technologies/batman.ProductionDeployWorkflowOptions": {
443
+ "assembly": "@macedon-technologies/batman",
444
+ "datatype": true,
445
+ "docs": {
446
+ "stability": "stable"
447
+ },
448
+ "fqn": "@macedon-technologies/batman.ProductionDeployWorkflowOptions",
449
+ "kind": "interface",
450
+ "locationInModule": {
451
+ "filename": "src/ProductionDeployWorkflow.ts",
452
+ "line": 4
453
+ },
454
+ "name": "ProductionDeployWorkflowOptions",
455
+ "properties": [
456
+ {
457
+ "abstract": true,
458
+ "docs": {
459
+ "stability": "stable"
460
+ },
461
+ "immutable": true,
462
+ "locationInModule": {
463
+ "filename": "src/ProductionDeployWorkflow.ts",
464
+ "line": 6
465
+ },
466
+ "name": "awsRegion",
467
+ "type": {
468
+ "primitive": "string"
469
+ }
470
+ },
471
+ {
472
+ "abstract": true,
473
+ "docs": {
474
+ "stability": "stable"
475
+ },
476
+ "immutable": true,
477
+ "locationInModule": {
478
+ "filename": "src/ProductionDeployWorkflow.ts",
479
+ "line": 8
480
+ },
481
+ "name": "clerkPublishableKey",
482
+ "type": {
483
+ "primitive": "string"
484
+ }
485
+ },
486
+ {
487
+ "abstract": true,
488
+ "docs": {
489
+ "stability": "stable"
490
+ },
491
+ "immutable": true,
492
+ "locationInModule": {
493
+ "filename": "src/ProductionDeployWorkflow.ts",
494
+ "line": 7
495
+ },
496
+ "name": "projectName",
497
+ "type": {
498
+ "primitive": "string"
499
+ }
500
+ },
501
+ {
502
+ "abstract": true,
503
+ "docs": {
504
+ "stability": "stable"
505
+ },
506
+ "immutable": true,
507
+ "locationInModule": {
508
+ "filename": "src/ProductionDeployWorkflow.ts",
509
+ "line": 5
510
+ },
511
+ "name": "roleArn",
512
+ "type": {
513
+ "primitive": "string"
514
+ }
515
+ }
516
+ ],
517
+ "symbolId": "src/ProductionDeployWorkflow:ProductionDeployWorkflowOptions"
518
+ },
519
+ "@macedon-technologies/batman.StagingDeployWorkflow": {
520
+ "assembly": "@macedon-technologies/batman",
521
+ "base": "projen.YamlFile",
522
+ "docs": {
523
+ "stability": "stable"
524
+ },
525
+ "fqn": "@macedon-technologies/batman.StagingDeployWorkflow",
526
+ "initializer": {
527
+ "docs": {
528
+ "stability": "stable"
529
+ },
530
+ "locationInModule": {
531
+ "filename": "src/StagingDeployWorkflow.ts",
532
+ "line": 12
533
+ },
534
+ "parameters": [
535
+ {
536
+ "name": "project",
537
+ "type": {
538
+ "fqn": "projen.awscdk.AwsCdkTypeScriptApp"
539
+ }
540
+ },
541
+ {
542
+ "name": "options",
543
+ "type": {
544
+ "fqn": "@macedon-technologies/batman.StagingDeployWorkflowOptions"
545
+ }
546
+ }
547
+ ]
548
+ },
549
+ "kind": "class",
550
+ "locationInModule": {
551
+ "filename": "src/StagingDeployWorkflow.ts",
552
+ "line": 11
553
+ },
554
+ "name": "StagingDeployWorkflow",
555
+ "symbolId": "src/StagingDeployWorkflow:StagingDeployWorkflow"
556
+ },
557
+ "@macedon-technologies/batman.StagingDeployWorkflowOptions": {
558
+ "assembly": "@macedon-technologies/batman",
559
+ "datatype": true,
560
+ "docs": {
561
+ "stability": "stable"
562
+ },
563
+ "fqn": "@macedon-technologies/batman.StagingDeployWorkflowOptions",
564
+ "kind": "interface",
565
+ "locationInModule": {
566
+ "filename": "src/StagingDeployWorkflow.ts",
567
+ "line": 4
568
+ },
569
+ "name": "StagingDeployWorkflowOptions",
570
+ "properties": [
571
+ {
572
+ "abstract": true,
573
+ "docs": {
574
+ "stability": "stable"
575
+ },
576
+ "immutable": true,
577
+ "locationInModule": {
578
+ "filename": "src/StagingDeployWorkflow.ts",
579
+ "line": 6
580
+ },
581
+ "name": "awsRegion",
582
+ "type": {
583
+ "primitive": "string"
584
+ }
585
+ },
586
+ {
587
+ "abstract": true,
588
+ "docs": {
589
+ "stability": "stable"
590
+ },
591
+ "immutable": true,
592
+ "locationInModule": {
593
+ "filename": "src/StagingDeployWorkflow.ts",
594
+ "line": 8
595
+ },
596
+ "name": "clerkPublishableKey",
597
+ "type": {
598
+ "primitive": "string"
599
+ }
600
+ },
601
+ {
602
+ "abstract": true,
603
+ "docs": {
604
+ "stability": "stable"
605
+ },
606
+ "immutable": true,
607
+ "locationInModule": {
608
+ "filename": "src/StagingDeployWorkflow.ts",
609
+ "line": 7
610
+ },
611
+ "name": "projectName",
612
+ "type": {
613
+ "primitive": "string"
614
+ }
615
+ },
616
+ {
617
+ "abstract": true,
618
+ "docs": {
619
+ "stability": "stable"
620
+ },
621
+ "immutable": true,
622
+ "locationInModule": {
623
+ "filename": "src/StagingDeployWorkflow.ts",
624
+ "line": 5
625
+ },
626
+ "name": "roleArn",
627
+ "type": {
628
+ "primitive": "string"
629
+ }
630
+ }
631
+ ],
632
+ "symbolId": "src/StagingDeployWorkflow:StagingDeployWorkflowOptions"
633
+ }
634
+ },
635
+ "version": "1.0.16",
636
+ "fingerprint": "I1WRdY7zIHDACai1VSmIUIP7utvwMcvDXUK62wXw41w="
637
+ }