@xpertss/projen-types 0.0.0

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 (58) hide show
  1. package/.jsii +1742 -0
  2. package/API.md +11718 -0
  3. package/LICENSE +202 -0
  4. package/README.md +263 -0
  5. package/lib/cdk/app-runtime-scaffold.d.ts +8 -0
  6. package/lib/cdk/app-runtime-scaffold.js +31 -0
  7. package/lib/cdk/cdk-app-project.d.ts +10 -0
  8. package/lib/cdk/cdk-app-project.js +35 -0
  9. package/lib/cdk/cdk-infra-project.d.ts +10 -0
  10. package/lib/cdk/cdk-infra-project.js +26 -0
  11. package/lib/cdk/cdk-typescript-base.d.ts +16 -0
  12. package/lib/cdk/cdk-typescript-base.js +53 -0
  13. package/lib/cdk/components/ecr-ecs-constructs.d.ts +12 -0
  14. package/lib/cdk/components/ecr-ecs-constructs.js +46 -0
  15. package/lib/cdk/components/edge-networking-constructs.d.ts +10 -0
  16. package/lib/cdk/components/edge-networking-constructs.js +66 -0
  17. package/lib/cdk/database-component.d.ts +11 -0
  18. package/lib/cdk/database-component.js +44 -0
  19. package/lib/cdk/options.d.ts +39 -0
  20. package/lib/cdk/options.js +3 -0
  21. package/lib/common/constants.d.ts +7 -0
  22. package/lib/common/constants.js +11 -0
  23. package/lib/common/drift-check.d.ts +8 -0
  24. package/lib/common/drift-check.js +18 -0
  25. package/lib/common/environment-options.d.ts +19 -0
  26. package/lib/common/environment-options.js +7 -0
  27. package/lib/common/manual-deploy-workflow.d.ts +34 -0
  28. package/lib/common/manual-deploy-workflow.js +78 -0
  29. package/lib/common/upgrade-workflow.d.ts +18 -0
  30. package/lib/common/upgrade-workflow.js +39 -0
  31. package/lib/index.d.ts +20 -0
  32. package/lib/index.js +37 -0
  33. package/lib/java/components/cdk-deploy-hook.d.ts +13 -0
  34. package/lib/java/components/cdk-deploy-hook.js +45 -0
  35. package/lib/java/components/code-index-workflow.d.ts +6 -0
  36. package/lib/java/components/code-index-workflow.js +35 -0
  37. package/lib/java/components/docker-publish.d.ts +10 -0
  38. package/lib/java/components/docker-publish.js +41 -0
  39. package/lib/java/components/flyway-migration.d.ts +6 -0
  40. package/lib/java/components/flyway-migration.js +19 -0
  41. package/lib/java/components/github-packages-publish.d.ts +10 -0
  42. package/lib/java/components/github-packages-publish.js +34 -0
  43. package/lib/java/components/maven-central-publish.d.ts +13 -0
  44. package/lib/java/components/maven-central-publish.js +44 -0
  45. package/lib/java/java-app-project.d.ts +9 -0
  46. package/lib/java/java-app-project.js +21 -0
  47. package/lib/java/java-library-project.d.ts +6 -0
  48. package/lib/java/java-library-project.js +20 -0
  49. package/lib/java/java-maven-base.d.ts +15 -0
  50. package/lib/java/java-maven-base.js +56 -0
  51. package/lib/java/java-service-project.d.ts +9 -0
  52. package/lib/java/java-service-project.js +29 -0
  53. package/lib/java/options.d.ts +43 -0
  54. package/lib/java/options.js +3 -0
  55. package/package.json +139 -0
  56. package/spec/npm-publishing-setup.md +150 -0
  57. package/spec/projen-cdk-spec.md +80 -0
  58. package/spec/projen-java-spec.md +96 -0
package/.jsii ADDED
@@ -0,0 +1,1742 @@
1
+ {
2
+ "author": {
3
+ "email": "cfloersch@xpertss.org",
4
+ "name": "Chris Floersch",
5
+ "roles": [
6
+ "author"
7
+ ]
8
+ },
9
+ "dependencies": {
10
+ "constructs": "^10.8.1",
11
+ "projen": "^0.103.22"
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.cdktn": {},
47
+ "projen.circleci": {},
48
+ "projen.github": {},
49
+ "projen.github.workflows": {},
50
+ "projen.gitlab": {},
51
+ "projen.java": {},
52
+ "projen.javascript": {},
53
+ "projen.javascript.biome_config": {},
54
+ "projen.polaris": {},
55
+ "projen.python": {},
56
+ "projen.python.uvConfig": {},
57
+ "projen.release": {},
58
+ "projen.sonarqube": {},
59
+ "projen.typescript": {},
60
+ "projen.vscode": {},
61
+ "projen.web": {}
62
+ },
63
+ "targets": {
64
+ "go": {
65
+ "moduleName": "github.com/projen/projen-go"
66
+ },
67
+ "java": {
68
+ "maven": {
69
+ "artifactId": "projen",
70
+ "groupId": "io.github.cdklabs"
71
+ },
72
+ "package": "io.github.cdklabs.projen"
73
+ },
74
+ "js": {
75
+ "npm": "projen"
76
+ },
77
+ "python": {
78
+ "distName": "projen",
79
+ "module": "projen"
80
+ }
81
+ }
82
+ }
83
+ },
84
+ "description": "Projen project types for CDK/TypeScript and Java/Maven projects",
85
+ "docs": {
86
+ "stability": "experimental"
87
+ },
88
+ "homepage": "git@github.com:xpertss/projen",
89
+ "jsiiVersion": "6.0.14 (build 44649f3)",
90
+ "keywords": [
91
+ "aws",
92
+ "cdk",
93
+ "java",
94
+ "maven",
95
+ "projen"
96
+ ],
97
+ "license": "Apache-2.0",
98
+ "metadata": {
99
+ "jsii": {
100
+ "pacmak": {
101
+ "hasDefaultInterfaces": true
102
+ }
103
+ },
104
+ "tscOutDir": "lib",
105
+ "tscRootDir": "src"
106
+ },
107
+ "name": "@xpertss/projen-types",
108
+ "readme": {
109
+ "markdown": "# @xpertss/projen-types\n\nProjen project types for CDK/TypeScript and Java/Maven projects.\n\nInstead of hand-maintaining `pom.xml`, `cdk.json`, and GitHub workflows, you declare a project type in a `.projenrc.ts` file and let [projen](https://github.com/projen/projen) generate (and keep up to date) the whole scaffold: build files, source skeletons, CI workflows, and deploy pipelines.\n\n## Project types at a glance\n\n| Type | What it is | Publishes to | Generated workflows |\n| --- | --- | --- | --- |\n| `CdkInfraProject` | Pure-infrastructure CDK stacks (CloudFront, Route53, SQS, API Gateway, Cognito, ECR/ECS for externally-built images) | - | `build` (PR checks), `deploy` (manual dispatch) |\n| `CdkAppProject` | Full TypeScript service behind API Gateway: infra + app source + database | - | `build`, `deploy`, `app-build` (PR checks) |\n| `JavaLibraryProject` | Reusable Java library | Maven Central | `build`, `upgrade` (nightly), `publish-maven-central`, `codeindex` |\n| `JavaServiceProject` | Spring Boot service | Docker Hub | `build`, `upgrade` (nightly), `publish-docker`, `deploy-cdk` |\n| `JavaAppProject` | GUI/TUI/CLI Java application | GitHub Packages | `build`, `upgrade` (nightly), `publish-ghpackages` |\n\nTwo foundation classes are also exported for advanced use: `CdkTypescriptProject` (shared CDK + TypeScript base for the CDK types) and `JavaMavenProject` (shared Maven base for the Java types).\n\nAll project types:\n\n- run a **drift check** in PR builds - a job that re-runs projen and fails if generated files were hand-edited. Edit `.projenrc.ts`, then run `npx projen`; never edit generated files directly.\n- use the GitHub secret `PROJEN_GITHUB_TOKEN` (a fine-grained PAT) for projen's automation. Override with `gheTokenSecret`.\n- make all publishing/deploying **manual** (workflow_dispatch) rather than on every merge.\n\n## Getting started\n\nCreate a new git repository and install the dependencies:\n\n```bash\nmkdir my-project && cd my-project\ngit init\nnpm install -D projen constructs @xpertss/projen-types\n```\n\nWrite a `.projenrc.ts` (see examples below), then generate the project:\n\n```bash\nnpx projen\n```\n\nCommit the result. From then on, every change to the scaffold goes through `.projenrc.ts` followed by `npx projen`.\n\nThe `name` option must match the `name` field in the project's `package.json` (for the CDK types) or the project name used by projen's `java.JavaProject` (for the Java types).\n\n## Examples\n\n### CdkInfraProject\n\nPure infrastructure stacks with optional ECR/ECS and edge-networking constructs.\n\n```typescript\n// .projenrc.ts\nimport { CdkInfraProject } from '@xpertss/projen-types';\n\nconst project = new CdkInfraProject({\n name: 'media-edge-infra',\n environments: [\n 'dev',\n { name: 'stage', accountId: '111111111111', region: 'eu-central-1' },\n { name: 'prod', accountId: '222222222222', region: 'eu-central-1', requiresApproval: true },\n ],\n edgeResources: ['cloudfront', 'route53', 'sqs'],\n ecrEcs: { enabled: true, externalImageSource: true },\n slackWebhookSecret: 'SLACK_DEPLOY_WEBHOOK',\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `cdk.json`, `cdk synth` / `cdk diff` / `cdk deploy` tasks, and the standard `AwsCdkTypeScriptApp` layout (CDK 2.189.1 by default).\n- `.github/workflows/build.yml` - PR build that hard-fails on projen drift.\n- `.github/workflows/deploy.yml` - manual dispatch with one `deploy-<env>` job per environment (runs `cdk deploy --all` with `--context environment=<env>`); `requiresApproval` environments get a GitHub Environment approval gate; a Slack notification step is added when `slackWebhookSecret` is set.\n- `src/constructs/edge-networking.ts` - helper constructs only for the requested `edgeResources` (`cloudfront`, `route53`, `apigateway`, `cognito`, `sqs`).\n- `src/constructs/ecr-ecs.ts` when `ecrEcs.enabled` - ECR repo + Fargate service; `externalImageSource: true` (default) means the service pulls an image built outside this repo.\n\n### CdkAppProject\n\n`CdkInfraProject` plus application source, a database construct, and an app-level build workflow.\n\n```typescript\n// .projenrc.ts\nimport { CdkAppProject } from '@xpertss/projen-types';\n\nconst project = new CdkAppProject({\n name: 'video-api',\n environments: ['dev', 'prod'],\n edgeResources: ['apigateway'],\n database: { engine: 'postgres', migrationTool: 'flyway' },\n appEntryPoint: 'src/app.ts',\n});\n\nproject.synth();\n```\n\nEverything from `CdkInfraProject`, plus:\n\n- `src/app.ts` - application entrypoint stub (`export function handler()`).\n- `src/handlers/example.ts` - API Gateway proxy handler stub, with `@types/aws-lambda` added as a dev dependency.\n- `src/constructs/database.ts` - a `Database` construct stub for the chosen engine (`postgres`/`mysql` -> RDS, `dynamodb` -> DynamoDB). `migrationTool` (no default, intentionally) is added as a dev dependency and referenced in the stub - wiring it up is left to you.\n- `.github/workflows/app-build.yml` - runs the project's test task on every PR, then checks for projen drift.\n\n### JavaLibraryProject\n\nA reusable Java library published to Maven Central.\n\n```typescript\n// .projenrc.ts\nimport { JavaLibraryProject } from '@xpertss/projen-types';\n\nconst project = new JavaLibraryProject({\n name: 'common-utils',\n groupId: 'org.xpertss',\n artifactId: 'common-utils',\n version: '1.0.0',\n sonarProjectKey: 'org.xpertss:common-utils',\n mavenCentralOidc: true,\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `pom.xml` (via projen's `java.JavaProject`) with the given GAV coordinates.\n- `.github/workflows/build.yml` - PR build + projen drift check, plus a SonarQube scan step when `sonarProjectKey` is set (needs a `SONAR_TOKEN` secret).\n- `.github/workflows/upgrade.yml` - nightly (03:00 UTC) PR running `mvn versions:use-latest-releases versions:update-properties`.\n- `.github/workflows/publish-maven-central.yml` - manual dispatch running `mvn -B deploy -P release`. With `mavenCentralOidc: true` it uses Maven Central's OIDC trusted publishing (no GPG secrets needed); otherwise it expects the secrets `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_CENTRAL_USERNAME`, `MAVEN_CENTRAL_PASSWORD`.\n- `.github/workflows/codeindex.yml` - on push to `main`, generates a Java source index under `.cai/` (disable with `publishCodeIndex: false`).\n\n### JavaServiceProject\n\nA Spring Boot service that publishes a Docker image and can trigger deploys in a companion CDK repo.\n\n```typescript\n// .projenrc.ts\nimport { JavaServiceProject } from '@xpertss/projen-types';\n\nconst project = new JavaServiceProject({\n name: 'stream-processor',\n groupId: 'org.xpertss',\n artifactId: 'stream-processor',\n dockerRegistry: 'docker.io/xpertss',\n cdkDeployHook: { targetRepo: 'xpertss/stream-infra' },\n environments: ['dev', { name: 'prod', requiresApproval: true }],\n});\n\nproject.synth();\n```\n\nYou get (everything from `JavaMavenProject` - `pom.xml`, `build` + drift check, nightly `upgrade` - plus):\n\n- `spring-boot-starter-web` added to the pom.\n- `.github/workflows/publish-docker.yml` - manual dispatch: `mvn -B package && docker build -t <registry>/<name>:<sha>`, logged in with the `DOCKER_USERNAME` / `DOCKER_PASSWORD` secrets. `dockerRegistry` defaults to `docker.io`.\n- Flyway wiring when `useFlyway` (default `true`): `flyway-maven-plugin` ^10 + `flyway-core` ^10 in the pom, and `src/main/resources/db/migration/V1__init.sql`.\n- `.github/workflows/deploy-cdk.yml` (the `CdkDeployHook`, enabled by default) - manual dispatch with an environment selector; each job sends a `workflow_dispatch` to `deploy.yml` in the companion `targetRepo` (a `CdkInfraProject`/`CdkAppProject` repo). `targetRepo` is required when the hook is enabled; disable it with `cdkDeployHook: { enabled: false }`. `environments` defaults to `['prod']`.\n\n### JavaAppProject\n\nA GUI/TUI/CLI Java application published to GitHub Packages only - no Maven Central, no Docker, no CDK deploy hook.\n\n```typescript\n// .projenrc.ts\nimport { JavaAppProject } from '@xpertss/projen-types';\n\nconst project = new JavaAppProject({\n name: 'studio-cli',\n groupId: 'org.xpertss',\n artifactId: 'studio-cli',\n ghPackagesRegistry: 'https://maven.pkg.github.com/xpertss/studio-cli',\n});\n\nproject.synth();\n```\n\nYou get everything from `JavaMavenProject`, plus `.github/workflows/publish-ghpackages.yml` - manual dispatch running `mvn -B deploy -DaltDeploymentRepository=github::<registry>`, authenticated with `GITHUB_TOKEN`. `ghPackagesRegistry` defaults to `https://maven.pkg.github.com/<repo>` derived from the repository URL.\n\n## Common options\n\nCDK project types (`CdkInfraProjectOptions` / `CdkAppProjectOptions`):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name; must match `package.json` |\n| `cdkVersion` | `2.189.1` | AWS CDK version |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n| `slackWebhookSecret` | - | GitHub secret with a Slack webhook URL for deploy notifications |\n| `environments` | - (required) | Deploy targets for the `deploy` workflow; strings or `EnvironmentOptions` |\n| `ecrEcs` | - | `EcrEcsOptions` - `enabled`, `externalImageSource` (default `true`) |\n| `edgeResources` | - | Subset of `cloudfront`, `route53`, `apigateway`, `cognito`, `sqs` |\n| `database` | - (app only) | `DatabaseOptions` - `engine` (`postgres`/`mysql`/`dynamodb`, default `postgres`), `migrationTool` |\n| `appEntryPoint` | `src/app.ts` (app only) | Path of the generated application entrypoint |\n\nJava project types (`JavaLibraryProjectOptions` / `JavaServiceProjectOptions` / `JavaAppProjectOptions`):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name |\n| `groupId` | - (required) | Maven group id |\n| `artifactId` | - (required) | Maven artifact id |\n| `version` | `0.1.0` | Maven version |\n| `sonarProjectKey` | - | SonarQube project key; the sonar step is skipped when unset |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n\n`EnvironmentOptions` for deploy targets:\n\n```typescript\ninterface EnvironmentOptions {\n readonly name: string; // e.g. \"dev\", \"stage\", \"prod\"\n readonly accountId?: string; // AWS account id (CDK deploys)\n readonly region?: string; // AWS region (CDK deploys)\n readonly requiresApproval?: boolean; // GitHub Environment approval gate (default false)\n}\n```\n\nPlain strings (`'dev'`) are shorthand for `{ name: 'dev' }`.\n\n## Required GitHub secrets\n\n| Secret | Used by | Notes |\n| --- | --- | --- |\n| `PROJEN_GITHUB_TOKEN` | all types | PAT for projen's self-mutation/automation; override via `gheTokenSecret` |\n| `SONAR_TOKEN` | Java types with `sonarProjectKey` | SonarQube scan step in `build.yml` |\n| `DOCKER_USERNAME` / `DOCKER_PASSWORD` | `JavaServiceProject` | Docker image push |\n| `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_CENTRAL_USERNAME`, `MAVEN_CENTRAL_PASSWORD` | `JavaLibraryProject` without `mavenCentralOidc` | Not needed with OIDC trusted publishing |\n| (your Slack webhook secret) | CDK types with `slackWebhookSecret` | Deploy notifications |\n\n## Going further\n\nThe project types are composed from smaller components you can also attach to your own projects:\n\n| Component | Applies to | Purpose |\n| --- | --- | --- |\n| `AppRuntimeScaffold` | `NodeProject` | App source skeleton (`app.ts` + handlers) |\n| `DatabaseComponent` | `NodeProject` | Database construct stub + migration tool wiring |\n| `EcrEcsConstructs` | `Project` | ECR + Fargate ECS construct helper |\n| `EdgeNetworkingConstructs` | `Project` | Per-resource edge networking construct helpers |\n| `MavenCentralPublish` | `JavaProject` | Manual-dispatch Maven Central publish workflow |\n| `DockerPublish` | `JavaProject` | Manual-dispatch Docker build+push workflow |\n| `GitHubPackagesPublish` | `JavaProject` | Manual-dispatch GitHub Packages publish workflow |\n| `FlywayMigration` | `JavaProject` | Flyway plugin/dependency + migrations directory |\n| `CdkDeployHook` | `JavaProject` | Manual-dispatch workflow that triggers `deploy.yml` in a companion CDK repo |\n| `CodeIndexWorkflow` | `JavaProject` | Code index generation on push to `main` |\n\nExample - adding a Docker publish to a plain projen `JavaProject`:\n\n```typescript\nimport { java } from 'projen';\nimport { DockerPublish } from '@xpertss/projen-types';\n\nconst project = new java.JavaProject({\n name: 'my-service',\n groupId: 'org.xpertss',\n artifactId: 'my-service',\n});\n\nnew DockerPublish(project, { dockerRegistry: 'ghcr.io' });\n\nproject.synth();\n```\n\nThe full API reference, including every option and property, is in [API.md](./API.md).\n"
110
+ },
111
+ "repository": {
112
+ "type": "git",
113
+ "url": "git@github.com:xpertss/projen"
114
+ },
115
+ "schema": "jsii/0.10.0",
116
+ "targets": {
117
+ "js": {
118
+ "npm": "@xpertss/projen-types"
119
+ }
120
+ },
121
+ "types": {
122
+ "@xpertss/projen-types.AppRuntimeScaffold": {
123
+ "assembly": "@xpertss/projen-types",
124
+ "base": "projen.Component",
125
+ "docs": {
126
+ "stability": "experimental",
127
+ "summary": "Full TypeScript application source structure (handlers/business logic), layered on top of `CdkTypescriptProject`'s pure-infra scaffold."
128
+ },
129
+ "fqn": "@xpertss/projen-types.AppRuntimeScaffold",
130
+ "initializer": {
131
+ "docs": {
132
+ "stability": "experimental"
133
+ },
134
+ "locationInModule": {
135
+ "filename": "src/cdk/app-runtime-scaffold.ts",
136
+ "line": 8
137
+ },
138
+ "parameters": [
139
+ {
140
+ "name": "project",
141
+ "type": {
142
+ "fqn": "projen.javascript.NodeProject"
143
+ }
144
+ },
145
+ {
146
+ "name": "appEntryPoint",
147
+ "optional": true,
148
+ "type": {
149
+ "primitive": "string"
150
+ }
151
+ }
152
+ ]
153
+ },
154
+ "kind": "class",
155
+ "locationInModule": {
156
+ "filename": "src/cdk/app-runtime-scaffold.ts",
157
+ "line": 7
158
+ },
159
+ "name": "AppRuntimeScaffold",
160
+ "symbolId": "src/cdk/app-runtime-scaffold:AppRuntimeScaffold"
161
+ },
162
+ "@xpertss/projen-types.CdkAppProject": {
163
+ "assembly": "@xpertss/projen-types",
164
+ "base": "@xpertss/projen-types.CdkInfraProject",
165
+ "docs": {
166
+ "stability": "experimental",
167
+ "summary": "Full TypeScript service application running behind API Gateway (or similar), with the infra to support it - `CdkInfraProject` plus application source, a database, and an app-level build/test workflow."
168
+ },
169
+ "fqn": "@xpertss/projen-types.CdkAppProject",
170
+ "initializer": {
171
+ "docs": {
172
+ "stability": "experimental"
173
+ },
174
+ "locationInModule": {
175
+ "filename": "src/cdk/cdk-app-project.ts",
176
+ "line": 14
177
+ },
178
+ "parameters": [
179
+ {
180
+ "name": "options",
181
+ "type": {
182
+ "fqn": "@xpertss/projen-types.CdkAppProjectOptions"
183
+ }
184
+ }
185
+ ]
186
+ },
187
+ "kind": "class",
188
+ "locationInModule": {
189
+ "filename": "src/cdk/cdk-app-project.ts",
190
+ "line": 13
191
+ },
192
+ "name": "CdkAppProject",
193
+ "symbolId": "src/cdk/cdk-app-project:CdkAppProject"
194
+ },
195
+ "@xpertss/projen-types.CdkAppProjectOptions": {
196
+ "assembly": "@xpertss/projen-types",
197
+ "datatype": true,
198
+ "docs": {
199
+ "stability": "experimental"
200
+ },
201
+ "fqn": "@xpertss/projen-types.CdkAppProjectOptions",
202
+ "interfaces": [
203
+ "@xpertss/projen-types.CdkInfraProjectOptions"
204
+ ],
205
+ "kind": "interface",
206
+ "locationInModule": {
207
+ "filename": "src/cdk/options.ts",
208
+ "line": 53
209
+ },
210
+ "name": "CdkAppProjectOptions",
211
+ "properties": [
212
+ {
213
+ "abstract": true,
214
+ "docs": {
215
+ "default": "\"src/app.ts\"",
216
+ "stability": "experimental"
217
+ },
218
+ "immutable": true,
219
+ "locationInModule": {
220
+ "filename": "src/cdk/options.ts",
221
+ "line": 57
222
+ },
223
+ "name": "appEntryPoint",
224
+ "optional": true,
225
+ "type": {
226
+ "primitive": "string"
227
+ }
228
+ },
229
+ {
230
+ "abstract": true,
231
+ "docs": {
232
+ "stability": "experimental"
233
+ },
234
+ "immutable": true,
235
+ "locationInModule": {
236
+ "filename": "src/cdk/options.ts",
237
+ "line": 54
238
+ },
239
+ "name": "database",
240
+ "optional": true,
241
+ "type": {
242
+ "fqn": "@xpertss/projen-types.DatabaseOptions"
243
+ }
244
+ }
245
+ ],
246
+ "symbolId": "src/cdk/options:CdkAppProjectOptions"
247
+ },
248
+ "@xpertss/projen-types.CdkDeployHook": {
249
+ "assembly": "@xpertss/projen-types",
250
+ "base": "projen.Component",
251
+ "docs": {
252
+ "stability": "experimental",
253
+ "summary": "Manual-dispatch workflow that invokes a downstream CDK deploy in a companion `CdkInfraProject`/`CdkAppProject` repo, using the same `ManualDeployWorkflow` contract those project types use for their own deploys - see the CDK spec's open question about sharing this contract."
254
+ },
255
+ "fqn": "@xpertss/projen-types.CdkDeployHook",
256
+ "initializer": {
257
+ "docs": {
258
+ "stability": "experimental"
259
+ },
260
+ "locationInModule": {
261
+ "filename": "src/java/components/cdk-deploy-hook.ts",
262
+ "line": 14
263
+ },
264
+ "parameters": [
265
+ {
266
+ "name": "project",
267
+ "type": {
268
+ "fqn": "projen.java.JavaProject"
269
+ }
270
+ },
271
+ {
272
+ "name": "environments",
273
+ "type": {
274
+ "collection": {
275
+ "elementtype": {
276
+ "union": {
277
+ "types": [
278
+ {
279
+ "primitive": "string"
280
+ },
281
+ {
282
+ "fqn": "@xpertss/projen-types.EnvironmentOptions"
283
+ }
284
+ ]
285
+ }
286
+ },
287
+ "kind": "array"
288
+ }
289
+ }
290
+ },
291
+ {
292
+ "name": "options",
293
+ "optional": true,
294
+ "type": {
295
+ "fqn": "@xpertss/projen-types.CdkDeployHookOptions"
296
+ }
297
+ }
298
+ ]
299
+ },
300
+ "kind": "class",
301
+ "locationInModule": {
302
+ "filename": "src/java/components/cdk-deploy-hook.ts",
303
+ "line": 13
304
+ },
305
+ "name": "CdkDeployHook",
306
+ "symbolId": "src/java/components/cdk-deploy-hook:CdkDeployHook"
307
+ },
308
+ "@xpertss/projen-types.CdkDeployHookOptions": {
309
+ "assembly": "@xpertss/projen-types",
310
+ "datatype": true,
311
+ "docs": {
312
+ "stability": "experimental"
313
+ },
314
+ "fqn": "@xpertss/projen-types.CdkDeployHookOptions",
315
+ "kind": "interface",
316
+ "locationInModule": {
317
+ "filename": "src/java/options.ts",
318
+ "line": 26
319
+ },
320
+ "name": "CdkDeployHookOptions",
321
+ "properties": [
322
+ {
323
+ "abstract": true,
324
+ "docs": {
325
+ "default": "true",
326
+ "stability": "experimental"
327
+ },
328
+ "immutable": true,
329
+ "locationInModule": {
330
+ "filename": "src/java/options.ts",
331
+ "line": 28
332
+ },
333
+ "name": "enabled",
334
+ "optional": true,
335
+ "type": {
336
+ "primitive": "boolean"
337
+ }
338
+ },
339
+ {
340
+ "abstract": true,
341
+ "docs": {
342
+ "stability": "experimental",
343
+ "summary": "The companion CDK infra/app repo (owner/repo) that owns the actual infrastructure."
344
+ },
345
+ "immutable": true,
346
+ "locationInModule": {
347
+ "filename": "src/java/options.ts",
348
+ "line": 31
349
+ },
350
+ "name": "targetRepo",
351
+ "optional": true,
352
+ "type": {
353
+ "primitive": "string"
354
+ }
355
+ }
356
+ ],
357
+ "symbolId": "src/java/options:CdkDeployHookOptions"
358
+ },
359
+ "@xpertss/projen-types.CdkInfraProject": {
360
+ "assembly": "@xpertss/projen-types",
361
+ "base": "@xpertss/projen-types.CdkTypescriptProject",
362
+ "docs": {
363
+ "remarks": "Reference example: SimulcastAVDelivery.",
364
+ "stability": "experimental",
365
+ "summary": "Pure infrastructure CDK stacks - little or no application code (CloudFront, Route53, SQS, API Gateway, Cognito, ECR/ECS standing up externally-built images)."
366
+ },
367
+ "fqn": "@xpertss/projen-types.CdkInfraProject",
368
+ "initializer": {
369
+ "docs": {
370
+ "stability": "experimental"
371
+ },
372
+ "locationInModule": {
373
+ "filename": "src/cdk/cdk-infra-project.ts",
374
+ "line": 12
375
+ },
376
+ "parameters": [
377
+ {
378
+ "name": "options",
379
+ "type": {
380
+ "fqn": "@xpertss/projen-types.CdkInfraProjectOptions"
381
+ }
382
+ }
383
+ ]
384
+ },
385
+ "kind": "class",
386
+ "locationInModule": {
387
+ "filename": "src/cdk/cdk-infra-project.ts",
388
+ "line": 11
389
+ },
390
+ "name": "CdkInfraProject",
391
+ "symbolId": "src/cdk/cdk-infra-project:CdkInfraProject"
392
+ },
393
+ "@xpertss/projen-types.CdkInfraProjectOptions": {
394
+ "assembly": "@xpertss/projen-types",
395
+ "datatype": true,
396
+ "docs": {
397
+ "stability": "experimental"
398
+ },
399
+ "fqn": "@xpertss/projen-types.CdkInfraProjectOptions",
400
+ "interfaces": [
401
+ "@xpertss/projen-types.CommonCdkOptions"
402
+ ],
403
+ "kind": "interface",
404
+ "locationInModule": {
405
+ "filename": "src/cdk/options.ts",
406
+ "line": 36
407
+ },
408
+ "name": "CdkInfraProjectOptions",
409
+ "properties": [
410
+ {
411
+ "abstract": true,
412
+ "docs": {
413
+ "stability": "experimental",
414
+ "summary": "Deploy targets for the manual-dispatch deploy workflow, e.g. [\"dev\", \"stage\", \"prod\"]."
415
+ },
416
+ "immutable": true,
417
+ "locationInModule": {
418
+ "filename": "src/cdk/options.ts",
419
+ "line": 38
420
+ },
421
+ "name": "environments",
422
+ "type": {
423
+ "collection": {
424
+ "elementtype": {
425
+ "union": {
426
+ "types": [
427
+ {
428
+ "primitive": "string"
429
+ },
430
+ {
431
+ "fqn": "@xpertss/projen-types.EnvironmentOptions"
432
+ }
433
+ ]
434
+ }
435
+ },
436
+ "kind": "array"
437
+ }
438
+ }
439
+ },
440
+ {
441
+ "abstract": true,
442
+ "docs": {
443
+ "stability": "experimental"
444
+ },
445
+ "immutable": true,
446
+ "locationInModule": {
447
+ "filename": "src/cdk/options.ts",
448
+ "line": 40
449
+ },
450
+ "name": "ecrEcs",
451
+ "optional": true,
452
+ "type": {
453
+ "fqn": "@xpertss/projen-types.EcrEcsOptions"
454
+ }
455
+ },
456
+ {
457
+ "abstract": true,
458
+ "docs": {
459
+ "stability": "experimental"
460
+ },
461
+ "immutable": true,
462
+ "locationInModule": {
463
+ "filename": "src/cdk/options.ts",
464
+ "line": 42
465
+ },
466
+ "name": "edgeResources",
467
+ "optional": true,
468
+ "type": {
469
+ "collection": {
470
+ "elementtype": {
471
+ "primitive": "string"
472
+ },
473
+ "kind": "array"
474
+ }
475
+ }
476
+ }
477
+ ],
478
+ "symbolId": "src/cdk/options:CdkInfraProjectOptions"
479
+ },
480
+ "@xpertss/projen-types.CdkTypescriptProject": {
481
+ "assembly": "@xpertss/projen-types",
482
+ "base": "projen.awscdk.AwsCdkTypeScriptApp",
483
+ "docs": {
484
+ "stability": "experimental",
485
+ "summary": "Shared CDK + TypeScript foundation for `CdkInfraProject` and `CdkAppProject`: standard app structure (via `AwsCdkTypeScriptApp`, `cdk.json`, `cdk synth`/`cdk diff` tasks), a PR-check build that hard-fails on projen drift (rather than self-mutating), and an optional `ManualDeployWorkflow` when `environments` is provided."
486
+ },
487
+ "fqn": "@xpertss/projen-types.CdkTypescriptProject",
488
+ "initializer": {
489
+ "docs": {
490
+ "stability": "experimental"
491
+ },
492
+ "locationInModule": {
493
+ "filename": "src/cdk/cdk-typescript-base.ts",
494
+ "line": 19
495
+ },
496
+ "parameters": [
497
+ {
498
+ "name": "options",
499
+ "type": {
500
+ "fqn": "@xpertss/projen-types.CdkTypescriptProjectOptions"
501
+ }
502
+ }
503
+ ]
504
+ },
505
+ "kind": "class",
506
+ "locationInModule": {
507
+ "filename": "src/cdk/cdk-typescript-base.ts",
508
+ "line": 18
509
+ },
510
+ "name": "CdkTypescriptProject",
511
+ "symbolId": "src/cdk/cdk-typescript-base:CdkTypescriptProject"
512
+ },
513
+ "@xpertss/projen-types.CdkTypescriptProjectOptions": {
514
+ "assembly": "@xpertss/projen-types",
515
+ "datatype": true,
516
+ "docs": {
517
+ "stability": "experimental"
518
+ },
519
+ "fqn": "@xpertss/projen-types.CdkTypescriptProjectOptions",
520
+ "interfaces": [
521
+ "@xpertss/projen-types.CommonCdkOptions"
522
+ ],
523
+ "kind": "interface",
524
+ "locationInModule": {
525
+ "filename": "src/cdk/cdk-typescript-base.ts",
526
+ "line": 7
527
+ },
528
+ "name": "CdkTypescriptProjectOptions",
529
+ "properties": [
530
+ {
531
+ "abstract": true,
532
+ "docs": {
533
+ "stability": "experimental"
534
+ },
535
+ "immutable": true,
536
+ "locationInModule": {
537
+ "filename": "src/cdk/cdk-typescript-base.ts",
538
+ "line": 8
539
+ },
540
+ "name": "environments",
541
+ "optional": true,
542
+ "type": {
543
+ "collection": {
544
+ "elementtype": {
545
+ "union": {
546
+ "types": [
547
+ {
548
+ "primitive": "string"
549
+ },
550
+ {
551
+ "fqn": "@xpertss/projen-types.EnvironmentOptions"
552
+ }
553
+ ]
554
+ }
555
+ },
556
+ "kind": "array"
557
+ }
558
+ }
559
+ }
560
+ ],
561
+ "symbolId": "src/cdk/cdk-typescript-base:CdkTypescriptProjectOptions"
562
+ },
563
+ "@xpertss/projen-types.CodeIndexWorkflow": {
564
+ "assembly": "@xpertss/projen-types",
565
+ "base": "projen.Component",
566
+ "docs": {
567
+ "stability": "experimental",
568
+ "summary": "Generates a code index and publishes it to `.cai/` on checkin."
569
+ },
570
+ "fqn": "@xpertss/projen-types.CodeIndexWorkflow",
571
+ "initializer": {
572
+ "docs": {
573
+ "stability": "experimental"
574
+ },
575
+ "locationInModule": {
576
+ "filename": "src/java/components/code-index-workflow.ts",
577
+ "line": 6
578
+ },
579
+ "parameters": [
580
+ {
581
+ "name": "project",
582
+ "type": {
583
+ "fqn": "projen.java.JavaProject"
584
+ }
585
+ }
586
+ ]
587
+ },
588
+ "kind": "class",
589
+ "locationInModule": {
590
+ "filename": "src/java/components/code-index-workflow.ts",
591
+ "line": 5
592
+ },
593
+ "name": "CodeIndexWorkflow",
594
+ "symbolId": "src/java/components/code-index-workflow:CodeIndexWorkflow"
595
+ },
596
+ "@xpertss/projen-types.CommonCdkOptions": {
597
+ "assembly": "@xpertss/projen-types",
598
+ "datatype": true,
599
+ "docs": {
600
+ "stability": "experimental"
601
+ },
602
+ "fqn": "@xpertss/projen-types.CommonCdkOptions",
603
+ "kind": "interface",
604
+ "locationInModule": {
605
+ "filename": "src/cdk/options.ts",
606
+ "line": 23
607
+ },
608
+ "name": "CommonCdkOptions",
609
+ "properties": [
610
+ {
611
+ "abstract": true,
612
+ "docs": {
613
+ "stability": "experimental"
614
+ },
615
+ "immutable": true,
616
+ "locationInModule": {
617
+ "filename": "src/cdk/options.ts",
618
+ "line": 24
619
+ },
620
+ "name": "name",
621
+ "type": {
622
+ "primitive": "string"
623
+ }
624
+ },
625
+ {
626
+ "abstract": true,
627
+ "docs": {
628
+ "default": "\"2.189.1\"",
629
+ "stability": "experimental"
630
+ },
631
+ "immutable": true,
632
+ "locationInModule": {
633
+ "filename": "src/cdk/options.ts",
634
+ "line": 27
635
+ },
636
+ "name": "cdkVersion",
637
+ "optional": true,
638
+ "type": {
639
+ "primitive": "string"
640
+ }
641
+ },
642
+ {
643
+ "abstract": true,
644
+ "docs": {
645
+ "default": "\"PROJEN_GITHUB_TOKEN\"",
646
+ "stability": "experimental"
647
+ },
648
+ "immutable": true,
649
+ "locationInModule": {
650
+ "filename": "src/cdk/options.ts",
651
+ "line": 30
652
+ },
653
+ "name": "gheTokenSecret",
654
+ "optional": true,
655
+ "type": {
656
+ "primitive": "string"
657
+ }
658
+ },
659
+ {
660
+ "abstract": true,
661
+ "docs": {
662
+ "stability": "experimental",
663
+ "summary": "GitHub secret holding a Slack webhook URL for deploy notifications."
664
+ },
665
+ "immutable": true,
666
+ "locationInModule": {
667
+ "filename": "src/cdk/options.ts",
668
+ "line": 33
669
+ },
670
+ "name": "slackWebhookSecret",
671
+ "optional": true,
672
+ "type": {
673
+ "primitive": "string"
674
+ }
675
+ }
676
+ ],
677
+ "symbolId": "src/cdk/options:CommonCdkOptions"
678
+ },
679
+ "@xpertss/projen-types.CommonJavaOptions": {
680
+ "assembly": "@xpertss/projen-types",
681
+ "datatype": true,
682
+ "docs": {
683
+ "stability": "experimental"
684
+ },
685
+ "fqn": "@xpertss/projen-types.CommonJavaOptions",
686
+ "kind": "interface",
687
+ "locationInModule": {
688
+ "filename": "src/java/options.ts",
689
+ "line": 3
690
+ },
691
+ "name": "CommonJavaOptions",
692
+ "properties": [
693
+ {
694
+ "abstract": true,
695
+ "docs": {
696
+ "stability": "experimental"
697
+ },
698
+ "immutable": true,
699
+ "locationInModule": {
700
+ "filename": "src/java/options.ts",
701
+ "line": 6
702
+ },
703
+ "name": "artifactId",
704
+ "type": {
705
+ "primitive": "string"
706
+ }
707
+ },
708
+ {
709
+ "abstract": true,
710
+ "docs": {
711
+ "stability": "experimental"
712
+ },
713
+ "immutable": true,
714
+ "locationInModule": {
715
+ "filename": "src/java/options.ts",
716
+ "line": 5
717
+ },
718
+ "name": "groupId",
719
+ "type": {
720
+ "primitive": "string"
721
+ }
722
+ },
723
+ {
724
+ "abstract": true,
725
+ "docs": {
726
+ "stability": "experimental"
727
+ },
728
+ "immutable": true,
729
+ "locationInModule": {
730
+ "filename": "src/java/options.ts",
731
+ "line": 4
732
+ },
733
+ "name": "name",
734
+ "type": {
735
+ "primitive": "string"
736
+ }
737
+ },
738
+ {
739
+ "abstract": true,
740
+ "docs": {
741
+ "default": "\"PROJEN_GITHUB_TOKEN\"",
742
+ "stability": "experimental"
743
+ },
744
+ "immutable": true,
745
+ "locationInModule": {
746
+ "filename": "src/java/options.ts",
747
+ "line": 15
748
+ },
749
+ "name": "gheTokenSecret",
750
+ "optional": true,
751
+ "type": {
752
+ "primitive": "string"
753
+ }
754
+ },
755
+ {
756
+ "abstract": true,
757
+ "docs": {
758
+ "remarks": "If unset, the sonar scan step is skipped.",
759
+ "stability": "experimental",
760
+ "summary": "SonarQube project key."
761
+ },
762
+ "immutable": true,
763
+ "locationInModule": {
764
+ "filename": "src/java/options.ts",
765
+ "line": 12
766
+ },
767
+ "name": "sonarProjectKey",
768
+ "optional": true,
769
+ "type": {
770
+ "primitive": "string"
771
+ }
772
+ },
773
+ {
774
+ "abstract": true,
775
+ "docs": {
776
+ "default": "\"0.1.0\"",
777
+ "stability": "experimental"
778
+ },
779
+ "immutable": true,
780
+ "locationInModule": {
781
+ "filename": "src/java/options.ts",
782
+ "line": 9
783
+ },
784
+ "name": "version",
785
+ "optional": true,
786
+ "type": {
787
+ "primitive": "string"
788
+ }
789
+ }
790
+ ],
791
+ "symbolId": "src/java/options:CommonJavaOptions"
792
+ },
793
+ "@xpertss/projen-types.DatabaseComponent": {
794
+ "assembly": "@xpertss/projen-types",
795
+ "base": "projen.Component",
796
+ "docs": {
797
+ "remarks": "The migration tool\nitself is left fully pluggable per the spec's open question - if\n`migrationTool` is provided it's added as a dev dependency and left for\nthe consuming team to wire up; no opinionated default is imposed.",
798
+ "stability": "experimental",
799
+ "summary": "DB provisioning construct + migration tooling wiring."
800
+ },
801
+ "fqn": "@xpertss/projen-types.DatabaseComponent",
802
+ "initializer": {
803
+ "docs": {
804
+ "stability": "experimental"
805
+ },
806
+ "locationInModule": {
807
+ "filename": "src/cdk/database-component.ts",
808
+ "line": 11
809
+ },
810
+ "parameters": [
811
+ {
812
+ "name": "project",
813
+ "type": {
814
+ "fqn": "projen.javascript.NodeProject"
815
+ }
816
+ },
817
+ {
818
+ "name": "options",
819
+ "optional": true,
820
+ "type": {
821
+ "fqn": "@xpertss/projen-types.DatabaseOptions"
822
+ }
823
+ }
824
+ ]
825
+ },
826
+ "kind": "class",
827
+ "locationInModule": {
828
+ "filename": "src/cdk/database-component.ts",
829
+ "line": 10
830
+ },
831
+ "name": "DatabaseComponent",
832
+ "symbolId": "src/cdk/database-component:DatabaseComponent"
833
+ },
834
+ "@xpertss/projen-types.DatabaseOptions": {
835
+ "assembly": "@xpertss/projen-types",
836
+ "datatype": true,
837
+ "docs": {
838
+ "stability": "experimental"
839
+ },
840
+ "fqn": "@xpertss/projen-types.DatabaseOptions",
841
+ "kind": "interface",
842
+ "locationInModule": {
843
+ "filename": "src/cdk/options.ts",
844
+ "line": 45
845
+ },
846
+ "name": "DatabaseOptions",
847
+ "properties": [
848
+ {
849
+ "abstract": true,
850
+ "docs": {
851
+ "default": "\"postgres\"",
852
+ "stability": "experimental"
853
+ },
854
+ "immutable": true,
855
+ "locationInModule": {
856
+ "filename": "src/cdk/options.ts",
857
+ "line": 47
858
+ },
859
+ "name": "engine",
860
+ "optional": true,
861
+ "type": {
862
+ "primitive": "string"
863
+ }
864
+ },
865
+ {
866
+ "abstract": true,
867
+ "docs": {
868
+ "stability": "experimental",
869
+ "summary": "Migration tool to wire up, e.g. \"flyway\", \"liquibase\", \"prisma\". Left pluggable - no default."
870
+ },
871
+ "immutable": true,
872
+ "locationInModule": {
873
+ "filename": "src/cdk/options.ts",
874
+ "line": 50
875
+ },
876
+ "name": "migrationTool",
877
+ "optional": true,
878
+ "type": {
879
+ "primitive": "string"
880
+ }
881
+ }
882
+ ],
883
+ "symbolId": "src/cdk/options:DatabaseOptions"
884
+ },
885
+ "@xpertss/projen-types.DockerPublish": {
886
+ "assembly": "@xpertss/projen-types",
887
+ "base": "projen.Component",
888
+ "docs": {
889
+ "stability": "experimental",
890
+ "summary": "On-demand build+push of a Docker image, defaulting to Docker Hub."
891
+ },
892
+ "fqn": "@xpertss/projen-types.DockerPublish",
893
+ "initializer": {
894
+ "docs": {
895
+ "stability": "experimental"
896
+ },
897
+ "locationInModule": {
898
+ "filename": "src/java/components/docker-publish.ts",
899
+ "line": 11
900
+ },
901
+ "parameters": [
902
+ {
903
+ "name": "project",
904
+ "type": {
905
+ "fqn": "projen.java.JavaProject"
906
+ }
907
+ },
908
+ {
909
+ "name": "options",
910
+ "optional": true,
911
+ "type": {
912
+ "fqn": "@xpertss/projen-types.DockerPublishOptions"
913
+ }
914
+ }
915
+ ]
916
+ },
917
+ "kind": "class",
918
+ "locationInModule": {
919
+ "filename": "src/java/components/docker-publish.ts",
920
+ "line": 10
921
+ },
922
+ "name": "DockerPublish",
923
+ "symbolId": "src/java/components/docker-publish:DockerPublish"
924
+ },
925
+ "@xpertss/projen-types.DockerPublishOptions": {
926
+ "assembly": "@xpertss/projen-types",
927
+ "datatype": true,
928
+ "docs": {
929
+ "stability": "experimental"
930
+ },
931
+ "fqn": "@xpertss/projen-types.DockerPublishOptions",
932
+ "kind": "interface",
933
+ "locationInModule": {
934
+ "filename": "src/java/components/docker-publish.ts",
935
+ "line": 4
936
+ },
937
+ "name": "DockerPublishOptions",
938
+ "properties": [
939
+ {
940
+ "abstract": true,
941
+ "docs": {
942
+ "default": "\"docker.io\"",
943
+ "stability": "experimental"
944
+ },
945
+ "immutable": true,
946
+ "locationInModule": {
947
+ "filename": "src/java/components/docker-publish.ts",
948
+ "line": 6
949
+ },
950
+ "name": "dockerRegistry",
951
+ "optional": true,
952
+ "type": {
953
+ "primitive": "string"
954
+ }
955
+ }
956
+ ],
957
+ "symbolId": "src/java/components/docker-publish:DockerPublishOptions"
958
+ },
959
+ "@xpertss/projen-types.EcrEcsConstructs": {
960
+ "assembly": "@xpertss/projen-types",
961
+ "base": "projen.Component",
962
+ "docs": {
963
+ "remarks": "`externalImageSource` controls whether the\nservice pulls an externally-published image (infra-only projects) or one\nbuilt from this project's own source (app projects).",
964
+ "stability": "experimental",
965
+ "summary": "Reusable construct helper for an ECR repo + Fargate ECS cluster/service standing up a container image."
966
+ },
967
+ "fqn": "@xpertss/projen-types.EcrEcsConstructs",
968
+ "initializer": {
969
+ "docs": {
970
+ "stability": "experimental"
971
+ },
972
+ "locationInModule": {
973
+ "filename": "src/cdk/components/ecr-ecs-constructs.ts",
974
+ "line": 12
975
+ },
976
+ "parameters": [
977
+ {
978
+ "name": "project",
979
+ "type": {
980
+ "fqn": "projen.Project"
981
+ }
982
+ },
983
+ {
984
+ "name": "options",
985
+ "optional": true,
986
+ "type": {
987
+ "fqn": "@xpertss/projen-types.EcrEcsOptions"
988
+ }
989
+ }
990
+ ]
991
+ },
992
+ "kind": "class",
993
+ "locationInModule": {
994
+ "filename": "src/cdk/components/ecr-ecs-constructs.ts",
995
+ "line": 11
996
+ },
997
+ "name": "EcrEcsConstructs",
998
+ "symbolId": "src/cdk/components/ecr-ecs-constructs:EcrEcsConstructs"
999
+ },
1000
+ "@xpertss/projen-types.EcrEcsOptions": {
1001
+ "assembly": "@xpertss/projen-types",
1002
+ "datatype": true,
1003
+ "docs": {
1004
+ "stability": "experimental"
1005
+ },
1006
+ "fqn": "@xpertss/projen-types.EcrEcsOptions",
1007
+ "kind": "interface",
1008
+ "locationInModule": {
1009
+ "filename": "src/cdk/options.ts",
1010
+ "line": 10
1011
+ },
1012
+ "name": "EcrEcsOptions",
1013
+ "properties": [
1014
+ {
1015
+ "abstract": true,
1016
+ "docs": {
1017
+ "default": "false",
1018
+ "stability": "experimental"
1019
+ },
1020
+ "immutable": true,
1021
+ "locationInModule": {
1022
+ "filename": "src/cdk/options.ts",
1023
+ "line": 12
1024
+ },
1025
+ "name": "enabled",
1026
+ "optional": true,
1027
+ "type": {
1028
+ "primitive": "boolean"
1029
+ }
1030
+ },
1031
+ {
1032
+ "abstract": true,
1033
+ "docs": {
1034
+ "default": "true",
1035
+ "stability": "experimental",
1036
+ "summary": "Whether the ECS service stands up an externally-built image (infra-only) rather than one built from this project's own source."
1037
+ },
1038
+ "immutable": true,
1039
+ "locationInModule": {
1040
+ "filename": "src/cdk/options.ts",
1041
+ "line": 20
1042
+ },
1043
+ "name": "externalImageSource",
1044
+ "optional": true,
1045
+ "type": {
1046
+ "primitive": "boolean"
1047
+ }
1048
+ }
1049
+ ],
1050
+ "symbolId": "src/cdk/options:EcrEcsOptions"
1051
+ },
1052
+ "@xpertss/projen-types.EdgeNetworkingConstructs": {
1053
+ "assembly": "@xpertss/projen-types",
1054
+ "base": "projen.Component",
1055
+ "docs": {
1056
+ "stability": "experimental",
1057
+ "summary": "Construct helpers for CloudFront/Route53/API Gateway/Cognito/SQS, scoped to whichever `edgeResources` the consuming project type opts into."
1058
+ },
1059
+ "fqn": "@xpertss/projen-types.EdgeNetworkingConstructs",
1060
+ "initializer": {
1061
+ "docs": {
1062
+ "stability": "experimental"
1063
+ },
1064
+ "locationInModule": {
1065
+ "filename": "src/cdk/components/edge-networking-constructs.ts",
1066
+ "line": 46
1067
+ },
1068
+ "parameters": [
1069
+ {
1070
+ "name": "project",
1071
+ "type": {
1072
+ "fqn": "projen.Project"
1073
+ }
1074
+ },
1075
+ {
1076
+ "name": "resources",
1077
+ "type": {
1078
+ "collection": {
1079
+ "elementtype": {
1080
+ "primitive": "string"
1081
+ },
1082
+ "kind": "array"
1083
+ }
1084
+ }
1085
+ }
1086
+ ]
1087
+ },
1088
+ "kind": "class",
1089
+ "locationInModule": {
1090
+ "filename": "src/cdk/components/edge-networking-constructs.ts",
1091
+ "line": 45
1092
+ },
1093
+ "name": "EdgeNetworkingConstructs",
1094
+ "symbolId": "src/cdk/components/edge-networking-constructs:EdgeNetworkingConstructs"
1095
+ },
1096
+ "@xpertss/projen-types.EnvironmentOptions": {
1097
+ "assembly": "@xpertss/projen-types",
1098
+ "datatype": true,
1099
+ "docs": {
1100
+ "stability": "experimental",
1101
+ "summary": "A single named deployment target used by manual-dispatch deploy workflows."
1102
+ },
1103
+ "fqn": "@xpertss/projen-types.EnvironmentOptions",
1104
+ "kind": "interface",
1105
+ "locationInModule": {
1106
+ "filename": "src/common/environment-options.ts",
1107
+ "line": 4
1108
+ },
1109
+ "name": "EnvironmentOptions",
1110
+ "properties": [
1111
+ {
1112
+ "abstract": true,
1113
+ "docs": {
1114
+ "stability": "experimental",
1115
+ "summary": "Environment name, e.g. \"dev\", \"stage\", \"prod\"."
1116
+ },
1117
+ "immutable": true,
1118
+ "locationInModule": {
1119
+ "filename": "src/common/environment-options.ts",
1120
+ "line": 6
1121
+ },
1122
+ "name": "name",
1123
+ "type": {
1124
+ "primitive": "string"
1125
+ }
1126
+ },
1127
+ {
1128
+ "abstract": true,
1129
+ "docs": {
1130
+ "stability": "experimental",
1131
+ "summary": "AWS account id to deploy into, if relevant to the deploy steps used."
1132
+ },
1133
+ "immutable": true,
1134
+ "locationInModule": {
1135
+ "filename": "src/common/environment-options.ts",
1136
+ "line": 9
1137
+ },
1138
+ "name": "accountId",
1139
+ "optional": true,
1140
+ "type": {
1141
+ "primitive": "string"
1142
+ }
1143
+ },
1144
+ {
1145
+ "abstract": true,
1146
+ "docs": {
1147
+ "stability": "experimental",
1148
+ "summary": "AWS region to deploy into, if relevant to the deploy steps used."
1149
+ },
1150
+ "immutable": true,
1151
+ "locationInModule": {
1152
+ "filename": "src/common/environment-options.ts",
1153
+ "line": 12
1154
+ },
1155
+ "name": "region",
1156
+ "optional": true,
1157
+ "type": {
1158
+ "primitive": "string"
1159
+ }
1160
+ },
1161
+ {
1162
+ "abstract": true,
1163
+ "docs": {
1164
+ "default": "false",
1165
+ "stability": "experimental",
1166
+ "summary": "Whether this environment requires a GitHub Environment approval gate before the deploy job is allowed to run."
1167
+ },
1168
+ "immutable": true,
1169
+ "locationInModule": {
1170
+ "filename": "src/common/environment-options.ts",
1171
+ "line": 20
1172
+ },
1173
+ "name": "requiresApproval",
1174
+ "optional": true,
1175
+ "type": {
1176
+ "primitive": "boolean"
1177
+ }
1178
+ }
1179
+ ],
1180
+ "symbolId": "src/common/environment-options:EnvironmentOptions"
1181
+ },
1182
+ "@xpertss/projen-types.FlywayMigration": {
1183
+ "assembly": "@xpertss/projen-types",
1184
+ "base": "projen.Component",
1185
+ "docs": {
1186
+ "stability": "experimental",
1187
+ "summary": "Adds Flyway config/dependencies + a migrations directory for DB migrations."
1188
+ },
1189
+ "fqn": "@xpertss/projen-types.FlywayMigration",
1190
+ "initializer": {
1191
+ "docs": {
1192
+ "stability": "experimental"
1193
+ },
1194
+ "locationInModule": {
1195
+ "filename": "src/java/components/flyway-migration.ts",
1196
+ "line": 6
1197
+ },
1198
+ "parameters": [
1199
+ {
1200
+ "name": "project",
1201
+ "type": {
1202
+ "fqn": "projen.java.JavaProject"
1203
+ }
1204
+ }
1205
+ ]
1206
+ },
1207
+ "kind": "class",
1208
+ "locationInModule": {
1209
+ "filename": "src/java/components/flyway-migration.ts",
1210
+ "line": 5
1211
+ },
1212
+ "name": "FlywayMigration",
1213
+ "symbolId": "src/java/components/flyway-migration:FlywayMigration"
1214
+ },
1215
+ "@xpertss/projen-types.GitHubPackagesPublish": {
1216
+ "assembly": "@xpertss/projen-types",
1217
+ "base": "projen.Component",
1218
+ "docs": {
1219
+ "stability": "experimental",
1220
+ "summary": "On-demand publish to GitHub Packages."
1221
+ },
1222
+ "fqn": "@xpertss/projen-types.GitHubPackagesPublish",
1223
+ "initializer": {
1224
+ "docs": {
1225
+ "stability": "experimental"
1226
+ },
1227
+ "locationInModule": {
1228
+ "filename": "src/java/components/github-packages-publish.ts",
1229
+ "line": 11
1230
+ },
1231
+ "parameters": [
1232
+ {
1233
+ "name": "project",
1234
+ "type": {
1235
+ "fqn": "projen.java.JavaProject"
1236
+ }
1237
+ },
1238
+ {
1239
+ "name": "options",
1240
+ "optional": true,
1241
+ "type": {
1242
+ "fqn": "@xpertss/projen-types.GitHubPackagesPublishOptions"
1243
+ }
1244
+ }
1245
+ ]
1246
+ },
1247
+ "kind": "class",
1248
+ "locationInModule": {
1249
+ "filename": "src/java/components/github-packages-publish.ts",
1250
+ "line": 10
1251
+ },
1252
+ "name": "GitHubPackagesPublish",
1253
+ "symbolId": "src/java/components/github-packages-publish:GitHubPackagesPublish"
1254
+ },
1255
+ "@xpertss/projen-types.GitHubPackagesPublishOptions": {
1256
+ "assembly": "@xpertss/projen-types",
1257
+ "datatype": true,
1258
+ "docs": {
1259
+ "stability": "experimental"
1260
+ },
1261
+ "fqn": "@xpertss/projen-types.GitHubPackagesPublishOptions",
1262
+ "kind": "interface",
1263
+ "locationInModule": {
1264
+ "filename": "src/java/components/github-packages-publish.ts",
1265
+ "line": 4
1266
+ },
1267
+ "name": "GitHubPackagesPublishOptions",
1268
+ "properties": [
1269
+ {
1270
+ "abstract": true,
1271
+ "docs": {
1272
+ "default": "derived from the repository URL",
1273
+ "stability": "experimental"
1274
+ },
1275
+ "immutable": true,
1276
+ "locationInModule": {
1277
+ "filename": "src/java/components/github-packages-publish.ts",
1278
+ "line": 6
1279
+ },
1280
+ "name": "ghPackagesRegistry",
1281
+ "optional": true,
1282
+ "type": {
1283
+ "primitive": "string"
1284
+ }
1285
+ }
1286
+ ],
1287
+ "symbolId": "src/java/components/github-packages-publish:GitHubPackagesPublishOptions"
1288
+ },
1289
+ "@xpertss/projen-types.JavaAppProject": {
1290
+ "assembly": "@xpertss/projen-types",
1291
+ "base": "@xpertss/projen-types.JavaMavenProject",
1292
+ "docs": {
1293
+ "remarks": "Publishes to GitHub Packages only -\nexplicitly excludes Maven Central, Docker, and CDK deploy hooks.",
1294
+ "stability": "experimental",
1295
+ "summary": "GUI/TUI/CLI Java application."
1296
+ },
1297
+ "fqn": "@xpertss/projen-types.JavaAppProject",
1298
+ "initializer": {
1299
+ "docs": {
1300
+ "stability": "experimental"
1301
+ },
1302
+ "locationInModule": {
1303
+ "filename": "src/java/java-app-project.ts",
1304
+ "line": 10
1305
+ },
1306
+ "parameters": [
1307
+ {
1308
+ "name": "options",
1309
+ "type": {
1310
+ "fqn": "@xpertss/projen-types.JavaAppProjectOptions"
1311
+ }
1312
+ }
1313
+ ]
1314
+ },
1315
+ "kind": "class",
1316
+ "locationInModule": {
1317
+ "filename": "src/java/java-app-project.ts",
1318
+ "line": 9
1319
+ },
1320
+ "name": "JavaAppProject",
1321
+ "symbolId": "src/java/java-app-project:JavaAppProject"
1322
+ },
1323
+ "@xpertss/projen-types.JavaAppProjectOptions": {
1324
+ "assembly": "@xpertss/projen-types",
1325
+ "datatype": true,
1326
+ "docs": {
1327
+ "stability": "experimental"
1328
+ },
1329
+ "fqn": "@xpertss/projen-types.JavaAppProjectOptions",
1330
+ "interfaces": [
1331
+ "@xpertss/projen-types.CommonJavaOptions"
1332
+ ],
1333
+ "kind": "interface",
1334
+ "locationInModule": {
1335
+ "filename": "src/java/options.ts",
1336
+ "line": 53
1337
+ },
1338
+ "name": "JavaAppProjectOptions",
1339
+ "properties": [
1340
+ {
1341
+ "abstract": true,
1342
+ "docs": {
1343
+ "default": "\"https://maven.pkg.github.com/OWNER/REPO\" (derived from the repository URL)",
1344
+ "stability": "experimental"
1345
+ },
1346
+ "immutable": true,
1347
+ "locationInModule": {
1348
+ "filename": "src/java/options.ts",
1349
+ "line": 55
1350
+ },
1351
+ "name": "ghPackagesRegistry",
1352
+ "optional": true,
1353
+ "type": {
1354
+ "primitive": "string"
1355
+ }
1356
+ }
1357
+ ],
1358
+ "symbolId": "src/java/options:JavaAppProjectOptions"
1359
+ },
1360
+ "@xpertss/projen-types.JavaLibraryProject": {
1361
+ "assembly": "@xpertss/projen-types",
1362
+ "base": "@xpertss/projen-types.JavaMavenProject",
1363
+ "docs": {
1364
+ "stability": "experimental",
1365
+ "summary": "Reusable Java library, published to Maven Central."
1366
+ },
1367
+ "fqn": "@xpertss/projen-types.JavaLibraryProject",
1368
+ "initializer": {
1369
+ "docs": {
1370
+ "stability": "experimental"
1371
+ },
1372
+ "locationInModule": {
1373
+ "filename": "src/java/java-library-project.ts",
1374
+ "line": 8
1375
+ },
1376
+ "parameters": [
1377
+ {
1378
+ "name": "options",
1379
+ "type": {
1380
+ "fqn": "@xpertss/projen-types.JavaLibraryProjectOptions"
1381
+ }
1382
+ }
1383
+ ]
1384
+ },
1385
+ "kind": "class",
1386
+ "locationInModule": {
1387
+ "filename": "src/java/java-library-project.ts",
1388
+ "line": 7
1389
+ },
1390
+ "name": "JavaLibraryProject",
1391
+ "symbolId": "src/java/java-library-project:JavaLibraryProject"
1392
+ },
1393
+ "@xpertss/projen-types.JavaLibraryProjectOptions": {
1394
+ "assembly": "@xpertss/projen-types",
1395
+ "datatype": true,
1396
+ "docs": {
1397
+ "stability": "experimental"
1398
+ },
1399
+ "fqn": "@xpertss/projen-types.JavaLibraryProjectOptions",
1400
+ "interfaces": [
1401
+ "@xpertss/projen-types.CommonJavaOptions"
1402
+ ],
1403
+ "kind": "interface",
1404
+ "locationInModule": {
1405
+ "filename": "src/java/options.ts",
1406
+ "line": 18
1407
+ },
1408
+ "name": "JavaLibraryProjectOptions",
1409
+ "properties": [
1410
+ {
1411
+ "abstract": true,
1412
+ "docs": {
1413
+ "stability": "experimental",
1414
+ "summary": "Use Maven Central's OIDC trusted-publishing flow instead of secret-based GPG signing."
1415
+ },
1416
+ "immutable": true,
1417
+ "locationInModule": {
1418
+ "filename": "src/java/options.ts",
1419
+ "line": 20
1420
+ },
1421
+ "name": "mavenCentralOidc",
1422
+ "optional": true,
1423
+ "type": {
1424
+ "primitive": "boolean"
1425
+ }
1426
+ },
1427
+ {
1428
+ "abstract": true,
1429
+ "docs": {
1430
+ "default": "true",
1431
+ "stability": "experimental"
1432
+ },
1433
+ "immutable": true,
1434
+ "locationInModule": {
1435
+ "filename": "src/java/options.ts",
1436
+ "line": 23
1437
+ },
1438
+ "name": "publishCodeIndex",
1439
+ "optional": true,
1440
+ "type": {
1441
+ "primitive": "boolean"
1442
+ }
1443
+ }
1444
+ ],
1445
+ "symbolId": "src/java/options:JavaLibraryProjectOptions"
1446
+ },
1447
+ "@xpertss/projen-types.JavaMavenProject": {
1448
+ "assembly": "@xpertss/projen-types",
1449
+ "base": "projen.java.JavaProject",
1450
+ "docs": {
1451
+ "stability": "experimental",
1452
+ "summary": "Shared Maven build skeleton for all three Java project types: standard `pom.xml`/directory layout (via `java.JavaProject`), a PR-triggered build+test(+SonarQube) workflow that hard-fails on projen drift, and a nightly dependency-upgrade workflow."
1453
+ },
1454
+ "fqn": "@xpertss/projen-types.JavaMavenProject",
1455
+ "initializer": {
1456
+ "docs": {
1457
+ "stability": "experimental"
1458
+ },
1459
+ "locationInModule": {
1460
+ "filename": "src/java/java-maven-base.ts",
1461
+ "line": 19
1462
+ },
1463
+ "parameters": [
1464
+ {
1465
+ "name": "options",
1466
+ "type": {
1467
+ "fqn": "@xpertss/projen-types.JavaMavenProjectOptions"
1468
+ }
1469
+ }
1470
+ ]
1471
+ },
1472
+ "kind": "class",
1473
+ "locationInModule": {
1474
+ "filename": "src/java/java-maven-base.ts",
1475
+ "line": 15
1476
+ },
1477
+ "name": "JavaMavenProject",
1478
+ "properties": [
1479
+ {
1480
+ "docs": {
1481
+ "stability": "experimental"
1482
+ },
1483
+ "immutable": true,
1484
+ "locationInModule": {
1485
+ "filename": "src/java/java-maven-base.ts",
1486
+ "line": 17
1487
+ },
1488
+ "name": "buildVerifyWorkflow",
1489
+ "type": {
1490
+ "fqn": "projen.github.TaskWorkflow"
1491
+ }
1492
+ },
1493
+ {
1494
+ "docs": {
1495
+ "stability": "experimental"
1496
+ },
1497
+ "immutable": true,
1498
+ "locationInModule": {
1499
+ "filename": "src/java/java-maven-base.ts",
1500
+ "line": 16
1501
+ },
1502
+ "name": "upgradeTask",
1503
+ "type": {
1504
+ "fqn": "projen.Task"
1505
+ }
1506
+ }
1507
+ ],
1508
+ "symbolId": "src/java/java-maven-base:JavaMavenProject"
1509
+ },
1510
+ "@xpertss/projen-types.JavaMavenProjectOptions": {
1511
+ "assembly": "@xpertss/projen-types",
1512
+ "datatype": true,
1513
+ "docs": {
1514
+ "stability": "experimental"
1515
+ },
1516
+ "fqn": "@xpertss/projen-types.JavaMavenProjectOptions",
1517
+ "interfaces": [
1518
+ "@xpertss/projen-types.CommonJavaOptions"
1519
+ ],
1520
+ "kind": "interface",
1521
+ "locationInModule": {
1522
+ "filename": "src/java/java-maven-base.ts",
1523
+ "line": 7
1524
+ },
1525
+ "name": "JavaMavenProjectOptions",
1526
+ "symbolId": "src/java/java-maven-base:JavaMavenProjectOptions"
1527
+ },
1528
+ "@xpertss/projen-types.JavaServiceProject": {
1529
+ "assembly": "@xpertss/projen-types",
1530
+ "base": "@xpertss/projen-types.JavaMavenProject",
1531
+ "docs": {
1532
+ "remarks": "Publishes to Docker Hub (never Maven\nCentral); publish and deploy are both manual-dispatch, not on every merge.",
1533
+ "stability": "experimental",
1534
+ "summary": "Springboot service application."
1535
+ },
1536
+ "fqn": "@xpertss/projen-types.JavaServiceProject",
1537
+ "initializer": {
1538
+ "docs": {
1539
+ "stability": "experimental"
1540
+ },
1541
+ "locationInModule": {
1542
+ "filename": "src/java/java-service-project.ts",
1543
+ "line": 12
1544
+ },
1545
+ "parameters": [
1546
+ {
1547
+ "name": "options",
1548
+ "type": {
1549
+ "fqn": "@xpertss/projen-types.JavaServiceProjectOptions"
1550
+ }
1551
+ }
1552
+ ]
1553
+ },
1554
+ "kind": "class",
1555
+ "locationInModule": {
1556
+ "filename": "src/java/java-service-project.ts",
1557
+ "line": 11
1558
+ },
1559
+ "name": "JavaServiceProject",
1560
+ "symbolId": "src/java/java-service-project:JavaServiceProject"
1561
+ },
1562
+ "@xpertss/projen-types.JavaServiceProjectOptions": {
1563
+ "assembly": "@xpertss/projen-types",
1564
+ "datatype": true,
1565
+ "docs": {
1566
+ "stability": "experimental"
1567
+ },
1568
+ "fqn": "@xpertss/projen-types.JavaServiceProjectOptions",
1569
+ "interfaces": [
1570
+ "@xpertss/projen-types.CommonJavaOptions"
1571
+ ],
1572
+ "kind": "interface",
1573
+ "locationInModule": {
1574
+ "filename": "src/java/options.ts",
1575
+ "line": 34
1576
+ },
1577
+ "name": "JavaServiceProjectOptions",
1578
+ "properties": [
1579
+ {
1580
+ "abstract": true,
1581
+ "docs": {
1582
+ "default": "{ enabled: true }",
1583
+ "stability": "experimental"
1584
+ },
1585
+ "immutable": true,
1586
+ "locationInModule": {
1587
+ "filename": "src/java/options.ts",
1588
+ "line": 42
1589
+ },
1590
+ "name": "cdkDeployHook",
1591
+ "optional": true,
1592
+ "type": {
1593
+ "fqn": "@xpertss/projen-types.CdkDeployHookOptions"
1594
+ }
1595
+ },
1596
+ {
1597
+ "abstract": true,
1598
+ "docs": {
1599
+ "default": "\"docker.io\"",
1600
+ "stability": "experimental"
1601
+ },
1602
+ "immutable": true,
1603
+ "locationInModule": {
1604
+ "filename": "src/java/options.ts",
1605
+ "line": 36
1606
+ },
1607
+ "name": "dockerRegistry",
1608
+ "optional": true,
1609
+ "type": {
1610
+ "primitive": "string"
1611
+ }
1612
+ },
1613
+ {
1614
+ "abstract": true,
1615
+ "docs": {
1616
+ "default": "[\"prod\"]",
1617
+ "stability": "experimental",
1618
+ "summary": "Deploy targets to offer on the `CdkDeployHook`'s manual-dispatch workflow, when the hook is enabled."
1619
+ },
1620
+ "immutable": true,
1621
+ "locationInModule": {
1622
+ "filename": "src/java/options.ts",
1623
+ "line": 50
1624
+ },
1625
+ "name": "environments",
1626
+ "optional": true,
1627
+ "type": {
1628
+ "collection": {
1629
+ "elementtype": {
1630
+ "union": {
1631
+ "types": [
1632
+ {
1633
+ "primitive": "string"
1634
+ },
1635
+ {
1636
+ "fqn": "@xpertss/projen-types.EnvironmentOptions"
1637
+ }
1638
+ ]
1639
+ }
1640
+ },
1641
+ "kind": "array"
1642
+ }
1643
+ }
1644
+ },
1645
+ {
1646
+ "abstract": true,
1647
+ "docs": {
1648
+ "default": "true",
1649
+ "stability": "experimental"
1650
+ },
1651
+ "immutable": true,
1652
+ "locationInModule": {
1653
+ "filename": "src/java/options.ts",
1654
+ "line": 39
1655
+ },
1656
+ "name": "useFlyway",
1657
+ "optional": true,
1658
+ "type": {
1659
+ "primitive": "boolean"
1660
+ }
1661
+ }
1662
+ ],
1663
+ "symbolId": "src/java/options:JavaServiceProjectOptions"
1664
+ },
1665
+ "@xpertss/projen-types.MavenCentralPublish": {
1666
+ "assembly": "@xpertss/projen-types",
1667
+ "base": "projen.Component",
1668
+ "docs": {
1669
+ "stability": "experimental",
1670
+ "summary": "On-demand publish workflow to Maven Central, with GPG signing (secrets) or OIDC trusted publishing."
1671
+ },
1672
+ "fqn": "@xpertss/projen-types.MavenCentralPublish",
1673
+ "initializer": {
1674
+ "docs": {
1675
+ "stability": "experimental"
1676
+ },
1677
+ "locationInModule": {
1678
+ "filename": "src/java/components/maven-central-publish.ts",
1679
+ "line": 14
1680
+ },
1681
+ "parameters": [
1682
+ {
1683
+ "name": "project",
1684
+ "type": {
1685
+ "fqn": "projen.java.JavaProject"
1686
+ }
1687
+ },
1688
+ {
1689
+ "name": "options",
1690
+ "optional": true,
1691
+ "type": {
1692
+ "fqn": "@xpertss/projen-types.MavenCentralPublishOptions"
1693
+ }
1694
+ }
1695
+ ]
1696
+ },
1697
+ "kind": "class",
1698
+ "locationInModule": {
1699
+ "filename": "src/java/components/maven-central-publish.ts",
1700
+ "line": 13
1701
+ },
1702
+ "name": "MavenCentralPublish",
1703
+ "symbolId": "src/java/components/maven-central-publish:MavenCentralPublish"
1704
+ },
1705
+ "@xpertss/projen-types.MavenCentralPublishOptions": {
1706
+ "assembly": "@xpertss/projen-types",
1707
+ "datatype": true,
1708
+ "docs": {
1709
+ "stability": "experimental"
1710
+ },
1711
+ "fqn": "@xpertss/projen-types.MavenCentralPublishOptions",
1712
+ "kind": "interface",
1713
+ "locationInModule": {
1714
+ "filename": "src/java/components/maven-central-publish.ts",
1715
+ "line": 4
1716
+ },
1717
+ "name": "MavenCentralPublishOptions",
1718
+ "properties": [
1719
+ {
1720
+ "abstract": true,
1721
+ "docs": {
1722
+ "default": "false",
1723
+ "stability": "experimental"
1724
+ },
1725
+ "immutable": true,
1726
+ "locationInModule": {
1727
+ "filename": "src/java/components/maven-central-publish.ts",
1728
+ "line": 6
1729
+ },
1730
+ "name": "mavenCentralOidc",
1731
+ "optional": true,
1732
+ "type": {
1733
+ "primitive": "boolean"
1734
+ }
1735
+ }
1736
+ ],
1737
+ "symbolId": "src/java/components/maven-central-publish:MavenCentralPublishOptions"
1738
+ }
1739
+ },
1740
+ "version": "0.0.0",
1741
+ "fingerprint": "ykgAzboMXVLVjt0FSFAS6+rsuZvrzsgcv4OWJA7Sp/o="
1742
+ }