@codedrifters/configulator 0.0.0 → 0.0.1
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.
- package/LICENSE +1 -1
- package/README.md +761 -1
- package/lib/aws/aws-deployment-config.d.ts +45 -108
- package/lib/aws/aws-deployment-config.js +69 -100
- package/lib/aws/aws-deployment-target.d.ts +210 -0
- package/lib/aws/aws-deployment-target.js +202 -0
- package/lib/aws/index.d.ts +1 -1
- package/lib/aws/index.js +2 -2
- package/lib/index.d.ts +9 -0
- package/lib/index.js +26 -0
- package/lib/jsii/index.d.ts +1 -0
- package/lib/jsii/index.js +18 -0
- package/lib/jsii/jsii-faker.d.ts +47 -0
- package/lib/jsii/jsii-faker.js +103 -0
- package/lib/pnpm/pnpm-workspace.d.ts +240 -1
- package/lib/pnpm/pnpm-workspace.js +155 -15
- package/lib/projects/index.d.ts +2 -0
- package/lib/projects/index.js +19 -0
- package/lib/projects/monorepo-project.d.ts +50 -0
- package/lib/projects/monorepo-project.js +203 -0
- package/lib/projects/typescript-project.d.ts +4 -0
- package/lib/projects/typescript-project.js +150 -0
- package/lib/turbo/turbo-repo.d.ts +116 -9
- package/lib/turbo/turbo-repo.js +107 -20
- package/lib/versions.d.ts +19 -7
- package/lib/versions.js +20 -8
- package/lib/vscode/vscode.js +2 -1
- package/lib/workflows/aws-deploy-workflow.d.ts +84 -0
- package/lib/workflows/aws-deploy-workflow.js +312 -0
- package/lib/workflows/index.d.ts +1 -2
- package/lib/workflows/index.js +2 -3
- package/package.json +21 -20
- package/lib/workflows/build-workflow.d.ts +0 -13
- package/lib/workflows/build-workflow.js +0 -64
- package/lib/workflows/deploy-workflow.d.ts +0 -17
- package/lib/workflows/deploy-workflow.js +0 -113
- package/lib/workflows/steps/deploy.d.ts +0 -4
- package/lib/workflows/steps/deploy.js +0 -62
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { Component } from "projen";
|
|
2
|
+
import { AwsCdkTypeScriptApp } from "projen/lib/awscdk";
|
|
3
|
+
import { AwsDeploymentConfig } from "./aws-deployment-config";
|
|
4
|
+
import { GitBranch } from "../git";
|
|
5
|
+
/*******************************************************************************
|
|
6
|
+
*
|
|
7
|
+
* AWS Deployment Configuration
|
|
8
|
+
*
|
|
9
|
+
* A single deployment target that CDK applications can be deployed into.
|
|
10
|
+
*
|
|
11
|
+
******************************************************************************/
|
|
12
|
+
/**
|
|
13
|
+
* Stage Types
|
|
14
|
+
*
|
|
15
|
+
* What stage of deployment is this? Dev, staging, or prod?
|
|
16
|
+
*/
|
|
17
|
+
export declare const AWS_STAGE_TYPE: {
|
|
18
|
+
/**
|
|
19
|
+
* Development environment, typically used for testing and development.
|
|
20
|
+
*/
|
|
21
|
+
readonly DEV: "dev";
|
|
22
|
+
/**
|
|
23
|
+
* Staging environment, used for pre-production testing.
|
|
24
|
+
*/
|
|
25
|
+
readonly STAGE: "stage";
|
|
26
|
+
/**
|
|
27
|
+
* Production environment, used for live deployments.
|
|
28
|
+
*/
|
|
29
|
+
readonly PROD: "prod";
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Above const as a type.
|
|
33
|
+
*/
|
|
34
|
+
export type AwsStageType = (typeof AWS_STAGE_TYPE)[keyof typeof AWS_STAGE_TYPE];
|
|
35
|
+
/**
|
|
36
|
+
* Environment Types
|
|
37
|
+
*
|
|
38
|
+
* Is this a primary of secondary region / environment?
|
|
39
|
+
*/
|
|
40
|
+
export declare const AWS_ENVIRONMENT_TYPE: {
|
|
41
|
+
/**
|
|
42
|
+
* Account and region that represents the primary region for this service.
|
|
43
|
+
* For example, the base DynamoDB Region for global tables.
|
|
44
|
+
*/
|
|
45
|
+
readonly PRIMARY: "primary";
|
|
46
|
+
/**
|
|
47
|
+
* Account and region that represents a secondary region for this service.
|
|
48
|
+
* For example, a replica region for a global DynamoDB table.
|
|
49
|
+
*/
|
|
50
|
+
readonly SECONDARY: "secondary";
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Above const as a type.
|
|
54
|
+
*/
|
|
55
|
+
export type AwsEnvironmentType = (typeof AWS_ENVIRONMENT_TYPE)[keyof typeof AWS_ENVIRONMENT_TYPE];
|
|
56
|
+
/**
|
|
57
|
+
* Represents the configuration for local deployment in AWS.
|
|
58
|
+
*/
|
|
59
|
+
export interface AwsLocalDeploymentConfig {
|
|
60
|
+
/**
|
|
61
|
+
* The AWS profile (in ~/.aws/config) to use for local deployment.
|
|
62
|
+
*
|
|
63
|
+
* @default generated dynamically based role name, account and region
|
|
64
|
+
*/
|
|
65
|
+
readonly profile?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Named Role used to conduct local deployments.
|
|
68
|
+
*
|
|
69
|
+
* @default "poweruseraccess"
|
|
70
|
+
*/
|
|
71
|
+
readonly roleName?: string;
|
|
72
|
+
/**
|
|
73
|
+
* The pattern used to identify stacks to deploy in CI deployments.
|
|
74
|
+
*
|
|
75
|
+
* @default *-${account}-${region}
|
|
76
|
+
*/
|
|
77
|
+
readonly stackPattern?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface CiDeploymentConfig {
|
|
80
|
+
/**
|
|
81
|
+
* The OIDC IAM Role to assume for CI deployments.
|
|
82
|
+
*/
|
|
83
|
+
readonly roleArn: string;
|
|
84
|
+
/**
|
|
85
|
+
* The pattern used to identify stacks to deploy in CI deployments.
|
|
86
|
+
*
|
|
87
|
+
* @default *-${account}-${region}
|
|
88
|
+
*/
|
|
89
|
+
readonly stackPattern?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Represents a deployment target in AWS, including account and region, and
|
|
93
|
+
* branches allowed to deploy to this target.
|
|
94
|
+
*/
|
|
95
|
+
export interface AwsDeploymentTargetOptions {
|
|
96
|
+
/**
|
|
97
|
+
* The account name for the deployment target.
|
|
98
|
+
*/
|
|
99
|
+
readonly account: string;
|
|
100
|
+
/**
|
|
101
|
+
* The AWS region for the deployment target.
|
|
102
|
+
*/
|
|
103
|
+
readonly region: string;
|
|
104
|
+
/**
|
|
105
|
+
* AWS deployment type, such as dev, stage, or prod.
|
|
106
|
+
*
|
|
107
|
+
* @default 'dev'
|
|
108
|
+
*/
|
|
109
|
+
readonly awsStageType?: AwsStageType;
|
|
110
|
+
/**
|
|
111
|
+
* AWS environment type, such as primary or secondary.
|
|
112
|
+
*
|
|
113
|
+
* @default 'primary'
|
|
114
|
+
*/
|
|
115
|
+
readonly awsEnvironmentType?: AwsEnvironmentType;
|
|
116
|
+
/**
|
|
117
|
+
* The AWS profile to use for this deployment target.
|
|
118
|
+
*
|
|
119
|
+
* @default ['main'] when prod release type, ['feature/*'] when dev type
|
|
120
|
+
*/
|
|
121
|
+
readonly branches?: Array<GitBranch>;
|
|
122
|
+
/**
|
|
123
|
+
* Can this deployment target be used for local development?
|
|
124
|
+
*
|
|
125
|
+
* @default true for dev environments, false for prod environments
|
|
126
|
+
*/
|
|
127
|
+
readonly localDeployment?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Configuration when deploying to this target locally.
|
|
130
|
+
*/
|
|
131
|
+
readonly localDeploymentConfig?: AwsLocalDeploymentConfig;
|
|
132
|
+
/**
|
|
133
|
+
* Can this deployment target be used in CI deployments?
|
|
134
|
+
*
|
|
135
|
+
* @default false
|
|
136
|
+
*/
|
|
137
|
+
readonly ciDeployment?: boolean;
|
|
138
|
+
readonly ciDeploymentConfig?: CiDeploymentConfig;
|
|
139
|
+
}
|
|
140
|
+
export declare class AwsDeploymentTarget extends Component {
|
|
141
|
+
/**
|
|
142
|
+
* Static method to discovert targets in a project.
|
|
143
|
+
*/
|
|
144
|
+
static of(project: AwsCdkTypeScriptApp): Array<AwsDeploymentTarget> | undefined;
|
|
145
|
+
/**
|
|
146
|
+
* The account name for the deployment target.
|
|
147
|
+
*/
|
|
148
|
+
account: string;
|
|
149
|
+
/**
|
|
150
|
+
* The AWS region for the deployment target.
|
|
151
|
+
*/
|
|
152
|
+
region: string;
|
|
153
|
+
/**'
|
|
154
|
+
* AWS stage type, such as dev, stage, or prod.
|
|
155
|
+
*
|
|
156
|
+
* @default 'dev'
|
|
157
|
+
*/
|
|
158
|
+
awsStageType: AwsStageType;
|
|
159
|
+
/**
|
|
160
|
+
* AWS environment type, such as primary or secondary.
|
|
161
|
+
*
|
|
162
|
+
* @default 'primary'
|
|
163
|
+
*/
|
|
164
|
+
awsEnvironmentType: AwsEnvironmentType;
|
|
165
|
+
/**
|
|
166
|
+
* The AWS profile to use for this deployment target.
|
|
167
|
+
*
|
|
168
|
+
* @default ['main'] when prod release type, ['feature/*'] when dev type
|
|
169
|
+
*/
|
|
170
|
+
branches: Array<GitBranch>;
|
|
171
|
+
/**
|
|
172
|
+
* Can this deployment target be used for local development?
|
|
173
|
+
*
|
|
174
|
+
* @default true for dev environments, false for prod environments
|
|
175
|
+
*/
|
|
176
|
+
localDeployment?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Configuration when deploying to this target locally.
|
|
179
|
+
*/
|
|
180
|
+
localDeploymentConfig?: AwsLocalDeploymentConfig;
|
|
181
|
+
/**
|
|
182
|
+
* Can this deployment target be used in CI deployments?
|
|
183
|
+
*
|
|
184
|
+
* @default false
|
|
185
|
+
*/
|
|
186
|
+
ciDeployment?: boolean;
|
|
187
|
+
ciDeploymentConfig?: Required<CiDeploymentConfig>;
|
|
188
|
+
/**
|
|
189
|
+
* Configuration for the CDK output directory for this deployment target.
|
|
190
|
+
*/
|
|
191
|
+
awsDeploymentConfig: AwsDeploymentConfig;
|
|
192
|
+
constructor(project: AwsCdkTypeScriptApp, options: AwsDeploymentTargetOptions);
|
|
193
|
+
/*****************************************************************************
|
|
194
|
+
*
|
|
195
|
+
* Deploy Tasks
|
|
196
|
+
*
|
|
197
|
+
* - If local deploy, add a deploy task.
|
|
198
|
+
*
|
|
199
|
+
****************************************************************************/
|
|
200
|
+
private configureDeployTask;
|
|
201
|
+
/*****************************************************************************
|
|
202
|
+
*
|
|
203
|
+
* Watch tasks
|
|
204
|
+
*
|
|
205
|
+
* - Configure watch task to use the branch name
|
|
206
|
+
* - configure watch task to use the correct synth output location.
|
|
207
|
+
*
|
|
208
|
+
****************************************************************************/
|
|
209
|
+
private configureWatchTask;
|
|
210
|
+
}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsDeploymentTarget = exports.AWS_ENVIRONMENT_TYPE = exports.AWS_STAGE_TYPE = void 0;
|
|
4
|
+
const projen_1 = require("projen");
|
|
5
|
+
const aws_deployment_config_1 = require("./aws-deployment-config");
|
|
6
|
+
/*******************************************************************************
|
|
7
|
+
*
|
|
8
|
+
* AWS Deployment Configuration
|
|
9
|
+
*
|
|
10
|
+
* A single deployment target that CDK applications can be deployed into.
|
|
11
|
+
*
|
|
12
|
+
******************************************************************************/
|
|
13
|
+
/**
|
|
14
|
+
* Stage Types
|
|
15
|
+
*
|
|
16
|
+
* What stage of deployment is this? Dev, staging, or prod?
|
|
17
|
+
*/
|
|
18
|
+
exports.AWS_STAGE_TYPE = {
|
|
19
|
+
/**
|
|
20
|
+
* Development environment, typically used for testing and development.
|
|
21
|
+
*/
|
|
22
|
+
DEV: "dev",
|
|
23
|
+
/**
|
|
24
|
+
* Staging environment, used for pre-production testing.
|
|
25
|
+
*/
|
|
26
|
+
STAGE: "stage",
|
|
27
|
+
/**
|
|
28
|
+
* Production environment, used for live deployments.
|
|
29
|
+
*/
|
|
30
|
+
PROD: "prod",
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Environment Types
|
|
34
|
+
*
|
|
35
|
+
* Is this a primary of secondary region / environment?
|
|
36
|
+
*/
|
|
37
|
+
exports.AWS_ENVIRONMENT_TYPE = {
|
|
38
|
+
/**
|
|
39
|
+
* Account and region that represents the primary region for this service.
|
|
40
|
+
* For example, the base DynamoDB Region for global tables.
|
|
41
|
+
*/
|
|
42
|
+
PRIMARY: "primary",
|
|
43
|
+
/**
|
|
44
|
+
* Account and region that represents a secondary region for this service.
|
|
45
|
+
* For example, a replica region for a global DynamoDB table.
|
|
46
|
+
*/
|
|
47
|
+
SECONDARY: "secondary",
|
|
48
|
+
};
|
|
49
|
+
class AwsDeploymentTarget extends projen_1.Component {
|
|
50
|
+
/**
|
|
51
|
+
* Static method to discovert targets in a project.
|
|
52
|
+
*/
|
|
53
|
+
static of(project) {
|
|
54
|
+
const isDefined = (c) => c instanceof AwsDeploymentTarget;
|
|
55
|
+
return project.components.filter(isDefined);
|
|
56
|
+
}
|
|
57
|
+
constructor(project, options) {
|
|
58
|
+
super(project);
|
|
59
|
+
/**
|
|
60
|
+
* The AWS profile to use for this deployment target.
|
|
61
|
+
*
|
|
62
|
+
* @default ['main'] when prod release type, ['feature/*'] when dev type
|
|
63
|
+
*/
|
|
64
|
+
this.branches = [];
|
|
65
|
+
/*****************************************************************************
|
|
66
|
+
*
|
|
67
|
+
* Deploy Tasks
|
|
68
|
+
*
|
|
69
|
+
* - If local deploy, add a deploy task.
|
|
70
|
+
*
|
|
71
|
+
****************************************************************************/
|
|
72
|
+
this.configureDeployTask = () => {
|
|
73
|
+
if (this.localDeployment) {
|
|
74
|
+
const taskName = [
|
|
75
|
+
"deploy",
|
|
76
|
+
this.awsStageType,
|
|
77
|
+
this.account,
|
|
78
|
+
this.region,
|
|
79
|
+
].join(":");
|
|
80
|
+
const deployTask = this.project.tasks.addTask(taskName, {
|
|
81
|
+
env: this.awsDeploymentConfig.env,
|
|
82
|
+
});
|
|
83
|
+
deployTask.exec(`cdk deploy --lookups=false --require-approval=never --profile=${this.localDeploymentConfig?.profile} --app=${this.awsDeploymentConfig.cdkOut} "${this.localDeploymentConfig?.stackPattern}"`);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
/*****************************************************************************
|
|
87
|
+
*
|
|
88
|
+
* Watch tasks
|
|
89
|
+
*
|
|
90
|
+
* - Configure watch task to use the branch name
|
|
91
|
+
* - configure watch task to use the correct synth output location.
|
|
92
|
+
*
|
|
93
|
+
****************************************************************************/
|
|
94
|
+
this.configureWatchTask = () => {
|
|
95
|
+
if (this.localDeployment) {
|
|
96
|
+
const taskName = [
|
|
97
|
+
"watch",
|
|
98
|
+
this.awsStageType,
|
|
99
|
+
this.account,
|
|
100
|
+
this.region,
|
|
101
|
+
].join(":");
|
|
102
|
+
const watchTask = this.project.tasks.addTask(taskName, {
|
|
103
|
+
env: this.awsDeploymentConfig.env,
|
|
104
|
+
});
|
|
105
|
+
// update the synth first
|
|
106
|
+
const synthSilent = this.project.tasks.tryFind("synth:silent");
|
|
107
|
+
if (synthSilent) {
|
|
108
|
+
watchTask.spawn(synthSilent);
|
|
109
|
+
}
|
|
110
|
+
// do a normal deploy
|
|
111
|
+
watchTask.exec(`cdk deploy --lookups=false --require-approval=never --profile=${this.localDeploymentConfig?.profile} --app=${this.awsDeploymentConfig.cdkOut} "${this.localDeploymentConfig?.stackPattern}"`);
|
|
112
|
+
// watch for changes and log output
|
|
113
|
+
watchTask.exec(`cdk watch --lookups=false --require-approval=never --hotswap --profile=${this.localDeploymentConfig?.profile} "${this.localDeploymentConfig?.stackPattern}"`);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Set target region and account.
|
|
118
|
+
*/
|
|
119
|
+
this.account = options.account;
|
|
120
|
+
this.region = options.region;
|
|
121
|
+
/**
|
|
122
|
+
* Set default type
|
|
123
|
+
*/
|
|
124
|
+
this.awsStageType = options.awsStageType || exports.AWS_STAGE_TYPE.DEV;
|
|
125
|
+
/**
|
|
126
|
+
* Set default environment type
|
|
127
|
+
*/
|
|
128
|
+
this.awsEnvironmentType =
|
|
129
|
+
options.awsEnvironmentType || exports.AWS_ENVIRONMENT_TYPE.PRIMARY;
|
|
130
|
+
/**
|
|
131
|
+
* Set default Branches
|
|
132
|
+
*/
|
|
133
|
+
this.branches =
|
|
134
|
+
options.branches ??
|
|
135
|
+
(this.awsStageType === exports.AWS_STAGE_TYPE.PROD
|
|
136
|
+
? [
|
|
137
|
+
{
|
|
138
|
+
branch: "main",
|
|
139
|
+
},
|
|
140
|
+
]
|
|
141
|
+
: [
|
|
142
|
+
{
|
|
143
|
+
branch: "feature/*",
|
|
144
|
+
},
|
|
145
|
+
]);
|
|
146
|
+
/**
|
|
147
|
+
* Set default for local deployment
|
|
148
|
+
*/
|
|
149
|
+
this.localDeployment =
|
|
150
|
+
options.localDeployment ?? this.awsStageType === exports.AWS_STAGE_TYPE.DEV;
|
|
151
|
+
/**
|
|
152
|
+
* Some default configurations for local deployments.
|
|
153
|
+
*/
|
|
154
|
+
if (this.localDeployment) {
|
|
155
|
+
const roleName = options.localDeploymentConfig?.roleName?.toLowerCase() ||
|
|
156
|
+
"poweruseraccess";
|
|
157
|
+
const profile = options.localDeploymentConfig?.profile ||
|
|
158
|
+
`${roleName}-${this.awsStageType}-${this.account}-${this.region}`;
|
|
159
|
+
const stackPattern = options.localDeploymentConfig?.stackPattern ||
|
|
160
|
+
`${this.awsStageType}/${this.awsEnvironmentType}/*-${this.account}-${this.region}`;
|
|
161
|
+
this.localDeploymentConfig = {
|
|
162
|
+
profile,
|
|
163
|
+
roleName,
|
|
164
|
+
stackPattern,
|
|
165
|
+
...options.localDeploymentConfig,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Set CI deployment default
|
|
170
|
+
*/
|
|
171
|
+
this.ciDeployment = options.ciDeployment ?? false;
|
|
172
|
+
/**
|
|
173
|
+
* Some defaults for CI deployments.
|
|
174
|
+
*/
|
|
175
|
+
if (this.ciDeployment) {
|
|
176
|
+
const roleArn = options.ciDeploymentConfig?.roleArn ||
|
|
177
|
+
`arn:aws:iam::${this.account}:role/GitHubDeployer}`;
|
|
178
|
+
const stackPattern = options.ciDeploymentConfig?.stackPattern ||
|
|
179
|
+
`${this.awsStageType}/${this.awsEnvironmentType}/*-${this.account}-${this.region}`;
|
|
180
|
+
this.ciDeploymentConfig = {
|
|
181
|
+
roleArn,
|
|
182
|
+
stackPattern,
|
|
183
|
+
...options.ciDeploymentConfig,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Find or create CDK folder config for this project.
|
|
188
|
+
*/
|
|
189
|
+
this.awsDeploymentConfig =
|
|
190
|
+
aws_deployment_config_1.AwsDeploymentConfig.of(project) || new aws_deployment_config_1.AwsDeploymentConfig(project);
|
|
191
|
+
/**
|
|
192
|
+
* Add the target to the deployment targets array.
|
|
193
|
+
*/
|
|
194
|
+
this.awsDeploymentConfig.awsDeploymentTargets.push(this);
|
|
195
|
+
// Deploy tasks are configured per target.
|
|
196
|
+
this.configureDeployTask();
|
|
197
|
+
// Watch tasks are configured per target.
|
|
198
|
+
this.configureWatchTask();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.AwsDeploymentTarget = AwsDeploymentTarget;
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveW1lbnQtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9hd3MtZGVwbG95bWVudC10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLG1FQUE4RDtBQUc5RDs7Ozs7O2dGQU1nRjtBQUVoRjs7OztHQUlHO0FBQ1UsUUFBQSxjQUFjLEdBQUc7SUFDNUI7O09BRUc7SUFDSCxHQUFHLEVBQUUsS0FBSztJQUVWOztPQUVHO0lBQ0gsS0FBSyxFQUFFLE9BQU87SUFFZDs7T0FFRztJQUNILElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQU9YOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDOzs7T0FHRztJQUNILE9BQU8sRUFBRSxTQUFTO0lBQ2xCOzs7T0FHRztJQUNILFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQThHWCxNQUFhLG1CQUFvQixTQUFRLGtCQUFTO0lBQ2hEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FDZCxPQUE0QjtRQUU1QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVksRUFBNEIsRUFBRSxDQUMzRCxDQUFDLFlBQVksbUJBQW1CLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBOERELFlBQ0UsT0FBNEIsRUFDNUIsT0FBbUM7UUFFbkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBeENqQjs7OztXQUlHO1FBQ0ksYUFBUSxHQUFxQixFQUFFLENBQUM7UUErSXZDOzs7Ozs7c0ZBTThFO1FBRXRFLHdCQUFtQixHQUFHLEdBQVMsRUFBRTtZQUN2QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxRQUFRLEdBQUc7b0JBQ2YsUUFBUTtvQkFDUixJQUFJLENBQUMsWUFBWTtvQkFDakIsSUFBSSxDQUFDLE9B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LENBQUMsa0JBQWtCO2FBQzlCLENBQUM7UUFDSixDQUFDO1FBRUQ7O1dBRUc7UUFDSCxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLDJDQUFtQixDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLDJDQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRFOztXQUVHO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FpRUY7QUF2UEQsa0RBdVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gXCJwcm9qZW4vbGliL2F3c2Nka1wiO1xuaW1wb3J0IHsgQXdzRGVwbG95bWVudENvbmZpZyB9IGZyb20gXCIuL2F3cy1kZXBsb3ltZW50LWNvbmZpZ1wiO1xuaW1wb3J0IHsgR2l0QnJhbmNoIH0gZnJvbSBcIi4uL2dpdFwiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICpcbiAqIEFXUyBEZXBsb3ltZW50IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBBIHNpbmdsZSBkZXBsb3ltZW50IHRhcmdldCB0aGF0IENESyBhcHBsaWNhdGlvbnMgY2FuIGJlIGRlcGxveWVkIGludG8uXG4gKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBTdGFnZSBUeXBlc1xuICpcbiAqIFdoYXQgc3RhZ2Ugb2YgZGVwbG95bWVudCBpcyB0aGlzPyBEZXYsIHN0YWdpbmcsIG9yIHByb2Q/XG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfU1RBR0VfVFlQRSA9IHtcbiAgLyoqXG4gICAqIERldmVsb3BtZW50IGVudmlyb25tZW50LCB0eXBpY2FsbHkgdXNlZCBmb3IgdGVzdGluZyBhbmQgZGV2ZWxvcG1lbnQuXG4gICAqL1xuICBERVY6IFwiZGV2XCIsXG5cbiAgLyoqXG4gICAqIFN0YWdpbmcgZW52aXJvbm1lbnQsIHVzZWQgZm9yIHByZS1wcm9kdWN0aW9uIHRlc3RpbmcuXG4gICAqL1xuICBTVEFHRTogXCJzdGFnZVwiLFxuXG4gIC8qKlxuICAgKiBQcm9kdWN0aW9uIGVudmlyb25tZW50LCB1c2VkIGZvciBsaXZlIGRlcGxveW1lbnRzLlxuICAgKi9cbiAgUFJPRDogXCJwcm9kXCIsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFib3ZlIGNvbnN0IGFzIGEgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgQXdzU3RhZ2VUeXBlID0gKHR5cGVvZiBBV1NfU1RBR0VfVFlQRSlba2V5b2YgdHlwZW9mIEFXU19TVEFHRV9UWVBFXTtcblxuLyoqXG4gKiBFbnZpcm9ubWVudCBUeXBlc1xuICpcbiAqIElzIHRoaXMgYSBwcmltYXJ5IG9mIHNlY29uZGFyeSByZWdpb24gLyBlbnZpcm9ubWVudD9cbiAqL1xuZXhwb3J0IGNvbnN0IEFXU19FTlZJUk9OTUVOVF9UWVBFID0ge1xuICAvKipcbiAgICogQWNjb3VudCBhbmQgcmVnaW9uIHRoYXQgcmVwcmVzZW50cyB0aGUgcHJpbWFyeSByZWdpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICogRm9yIGV4YW1wbGUsIHRoZSBiYXNlIER5bmFtb0RCIFJlZ2lvbiBmb3IgZ2xvYmFsIHRhYmxlcy5cbiAgICovXG4gIFBSSU1BUlk6IFwicHJpbWFyeVwiLFxuICAvKipcbiAgICogQWNjb3VudCBhbmQgcmVnaW9uIHRoYXQgcmVwcmVzZW50cyBhIHNlY29uZGFyeSByZWdpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICogRm9yIGV4YW1wbGUsIGEgcmVwbGljYSByZWdpb24gZm9yIGEgZ2xvYmFsIER5bmFtb0RCIHRhYmxlLlxuICAgKi9cbiAgU0VDT05EQVJZOiBcInNlY29uZGFyeVwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBBYm92ZSBjb25zdCBhcyBhIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIEF3c0Vudmlyb25tZW50VHlwZSA9XG4gICh0eXBlb2YgQVdTX0VOVklST05NRU5UX1RZUEUpW2tleW9mIHR5cGVvZiBBV1NfRU5WSVJPTk1FTlRfVFlQRV07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29uZmlndXJhdGlvbiBmb3IgbG9jYWwgZGVwbG95bWVudCBpbiBBV1MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzTG9jYWxEZXBsb3ltZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgcHJvZmlsZSAoaW4gfi8uYXdzL2NvbmZpZykgdG8gdXNlIGZvciBsb2NhbCBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBnZW5lcmF0ZWQgZHluYW1pY2FsbHkgYmFzZWQgcm9sZSBuYW1lLCBhY2NvdW50IGFuZCByZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWVkIFJvbGUgdXNlZCB0byBjb25kdWN0IGxvY2FsIGRlcGxveW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInBvd2VydXNlcmFjY2Vzc1wiXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdHRlcm4gdXNlZCB0byBpZGVudGlmeSBzdGFja3MgdG8gZGVwbG95IGluIENJIGRlcGxveW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAqLSR7YWNjb3VudH0tJHtyZWdpb259XG4gICAqL1xuICByZWFkb25seSBzdGFja1BhdHRlcm4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2lEZXBsb3ltZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBPSURDIElBTSBSb2xlIHRvIGFzc3VtZSBmb3IgQ0kgZGVwbG95bWVudHMuXG4gICAqL1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXR0ZXJuIHVzZWQgdG8gaWRlbnRpZnkgc3RhY2tzIHRvIGRlcGxveSBpbiBDSSBkZXBsb3ltZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgKi0ke2FjY291bnR9LSR7cmVnaW9ufVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tQYXR0ZXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkZXBsb3ltZW50IHRhcmdldCBpbiBBV1MsIGluY2x1ZGluZyBhY2NvdW50IGFuZCByZWdpb24sIGFuZFxuICogYnJhbmNoZXMgYWxsb3dlZCB0byBkZXBsb3kgdG8gdGhpcyB0YXJnZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzRGVwbG95bWVudFRhcmdldE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGFjY291bnQgbmFtZSBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFXUyBkZXBsb3ltZW50IHR5cGUsIHN1Y2ggYXMgZGV2LCBzdGFnZSwgb3IgcHJvZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2RldidcbiAgICovXG4gIHJlYWRvbmx5IGF3c1N0YWdlVHlwZT86IEF3c1N0YWdlVHlwZTtcblxuICAvKipcbiAgICogQVdTIGVudmlyb25tZW50IHR5cGUsIHN1Y2ggYXMgcHJpbWFyeSBvciBzZWNvbmRhcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdwcmltYXJ5J1xuICAgKi9cbiAgcmVhZG9ubHkgYXdzRW52aXJvbm1lbnRUeXBlPzogQXdzRW52aXJvbm1lbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgdG8gdXNlIGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ21haW4nXSB3aGVuIHByb2QgcmVsZWFzZSB0eXBlLCBbJ2ZlYXR1cmUvKiddIHdoZW4gZGV2IHR5cGVcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogQXJyYXk8R2l0QnJhbmNoPjtcblxuICAvKipcbiAgICogQ2FuIHRoaXMgZGVwbG95bWVudCB0YXJnZXQgYmUgdXNlZCBmb3IgbG9jYWwgZGV2ZWxvcG1lbnQ/XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWUgZm9yIGRldiBlbnZpcm9ubWVudHMsIGZhbHNlIGZvciBwcm9kIGVudmlyb25tZW50c1xuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB3aGVuIGRlcGxveWluZyB0byB0aGlzIHRhcmdldCBsb2NhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxEZXBsb3ltZW50Q29uZmlnPzogQXdzTG9jYWxEZXBsb3ltZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBDYW4gdGhpcyBkZXBsb3ltZW50IHRhcmdldCBiZSB1c2VkIGluIENJIGRlcGxveW1lbnRzP1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2lEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKlxuICAgKiBDb25maWd1cmF0aW9uIHdoZW4gZGVwbG95aW5nIHRvIHRoaXMgdGFyZ2V0IGluIENJLlxuXG4gICAqL1xuICByZWFkb25seSBjaURlcGxveW1lbnRDb25maWc/OiBDaURlcGxveW1lbnRDb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBBd3NEZXBsb3ltZW50VGFyZ2V0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFN0YXRpYyBtZXRob2QgdG8gZGlzY292ZXJ0IHRhcmdldHMgaW4gYSBwcm9qZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihcbiAgICBwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLFxuICApOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNEZWZpbmVkID0gKGM6IENvbXBvbmVudCk6IGMgaXMgQXdzRGVwbG95bWVudFRhcmdldCA9PlxuICAgICAgYyBpbnN0YW5jZW9mIEF3c0RlcGxveW1lbnRUYXJnZXQ7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maWx0ZXIoaXNEZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBuYW1lIGZvciB0aGUgZGVwbG95bWVudCB0YXJnZXQuXG4gICAqL1xuICBwdWJsaWMgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIHJlZ2lvbjogc3RyaW5nO1xuXG4gIC8qKidcbiAgICogQVdTIHN0YWdlIHR5cGUsIHN1Y2ggYXMgZGV2LCBzdGFnZSwgb3IgcHJvZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2RldidcbiAgICovXG4gIHB1YmxpYyBhd3NTdGFnZVR5cGU6IEF3c1N0YWdlVHlwZTtcblxuICAvKipcbiAgICogQVdTIGVudmlyb25tZW50IHR5cGUsIHN1Y2ggYXMgcHJpbWFyeSBvciBzZWNvbmRhcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdwcmltYXJ5J1xuICAgKi9cbiAgcHVibGljIGF3c0Vudmlyb25tZW50VHlwZTogQXdzRW52aXJvbm1lbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgdG8gdXNlIGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ21haW4nXSB3aGVuIHByb2QgcmVsZWFzZSB0eXBlLCBbJ2ZlYXR1cmUvKiddIHdoZW4gZGV2IHR5cGVcbiAgICovXG4gIHB1YmxpYyBicmFuY2hlczogQXJyYXk8R2l0QnJhbmNoPiA9IFtdO1xuXG4gIC8qKlxuICAgKiBDYW4gdGhpcyBkZXBsb3ltZW50IHRhcmdldCBiZSB1c2VkIGZvciBsb2NhbCBkZXZlbG9wbWVudD9cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZSBmb3IgZGV2IGVudmlyb25tZW50cywgZmFsc2UgZm9yIHByb2QgZW52aXJvbm1lbnRzXG4gICAqL1xuICBwdWJsaWMgbG9jYWxEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB3aGVuIGRlcGxveWluZyB0byB0aGlzIHRhcmdldCBsb2NhbGx5LlxuICAgKi9cbiAgcHVibGljIGxvY2FsRGVwbG95bWVudENvbmZpZz86IEF3c0xvY2FsRGVwbG95bWVudENvbmZpZztcblxuICAvKipcbiAgICogQ2FuIHRoaXMgZGVwbG95bWVudCB0YXJnZXQgYmUgdXNlZCBpbiBDSSBkZXBsb3ltZW50cz9cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBjaURlcGxveW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qXG4gICAqIENvbmZpZ3VyYXRpb24gd2hlbiBkZXBsb3lpbmcgdG8gdGhpcyB0YXJnZXQgaW4gQ0kuXG4gICAqL1xuICBwdWJsaWMgY2lEZXBsb3ltZW50Q29uZmlnPzogUmVxdWlyZWQ8Q2lEZXBsb3ltZW50Q29uZmlnPjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIENESyBvdXRwdXQgZGlyZWN0b3J5IGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIGF3c0RlcGxveW1lbnRDb25maWc6IEF3c0RlcGxveW1lbnRDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgICBvcHRpb25zOiBBd3NEZXBsb3ltZW50VGFyZ2V0T3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGFyZ2V0IHJlZ2lvbiBhbmQgYWNjb3VudC5cbiAgICAgKi9cbiAgICB0aGlzLmFjY291bnQgPSBvcHRpb25zLmFjY291bnQ7XG4gICAgdGhpcy5yZWdpb24gPSBvcHRpb25zLnJlZ2lvbjtcblxuICAgIC8qKlxuICAgICAqIFNldCBkZWZhdWx0IHR5cGVcbiAgICAgKi9cbiAgICB0aGlzLmF3c1N0YWdlVHlwZSA9IG9wdGlvbnMuYXdzU3RhZ2VUeXBlIHx8IEFXU19TVEFHRV9UWVBFLkRFVjtcblxuICAgIC8qKlxuICAgICAqIFNldCBkZWZhdWx0IGVudmlyb25tZW50IHR5cGVcbiAgICAgKi9cbiAgICB0aGlzLmF3c0Vudmlyb25tZW50VHlwZSA9XG4gICAgICBvcHRpb25zLmF3c0Vudmlyb25tZW50VHlwZSB8fCBBV1NfRU5WSVJPTk1FTlRfVFlQRS5QUklNQVJZO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgQnJhbmNoZXNcbiAgICAgKi9cblxuICAgIHRoaXMuYnJhbmNoZXMgPVxuICAgICAgb3B0aW9ucy5icmFuY2hlcyA/P1xuICAgICAgKHRoaXMuYXdzU3RhZ2VUeXBlID09PSBBV1NfU1RBR0VfVFlQRS5QUk9EXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBicmFuY2g6IFwibWFpblwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBicmFuY2g6IFwiZmVhdHVyZS8qXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgZm9yIGxvY2FsIGRlcGxveW1lbnRcbiAgICAgKi9cbiAgICB0aGlzLmxvY2FsRGVwbG95bWVudCA9XG4gICAgICBvcHRpb25zLmxvY2FsRGVwbG95bWVudCA/PyB0aGlzLmF3c1N0YWdlVHlwZSA9PT0gQVdTX1NUQUdFX1RZUEUuREVWO1xuXG4gICAgLyoqXG4gICAgICogU29tZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIGZvciBsb2NhbCBkZXBsb3ltZW50cy5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5sb2NhbERlcGxveW1lbnQpIHtcbiAgICAgIGNvbnN0IHJvbGVOYW1lID1cbiAgICAgICAgb3B0aW9ucy5sb2NhbERlcGxveW1lbnRDb25maWc/LnJvbGVOYW1lPy50b0xvd2VyQ2FzZSgpIHx8XG4gICAgICAgIFwicG93ZXJ1c2VyYWNjZXNzXCI7XG4gICAgICBjb25zdCBwcm9maWxlID1cbiAgICAgICAgb3B0aW9ucy5sb2NhbERlcGxveW1lbnRDb25maWc/LnByb2ZpbGUgfHxcbiAgICAgICAgYCR7cm9sZU5hbWV9LSR7dGhpcy5hd3NTdGFnZVR5cGV9LSR7dGhpcy5hY2NvdW50fS0ke3RoaXMucmVnaW9ufWA7XG5cbiAgICAgIGNvbnN0IHN0YWNrUGF0dGVybiA9XG4gICAgICAgIG9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm4gfHxcbiAgICAgICAgYCR7dGhpcy5hd3NTdGFnZVR5cGV9LyR7dGhpcy5hd3NFbnZpcm9ubWVudFR5cGV9LyotJHt0aGlzLmFjY291bnR9LSR7dGhpcy5yZWdpb259YDtcblxuICAgICAgdGhpcy5sb2NhbERlcGxveW1lbnRDb25maWcgPSB7XG4gICAgICAgIHByb2ZpbGUsXG4gICAgICAgIHJvbGVOYW1lLFxuICAgICAgICBzdGFja1BhdHRlcm4sXG4gICAgICAgIC4uLm9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgQ0kgZGVwbG95bWVudCBkZWZhdWx0XG4gICAgICovXG4gICAgdGhpcy5jaURlcGxveW1lbnQgPSBvcHRpb25zLmNpRGVwbG95bWVudCA/PyBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNvbWUgZGVmYXVsdHMgZm9yIENJIGRlcGxveW1lbnRzLlxuICAgICAqL1xuICAgIGlmICh0aGlzLmNpRGVwbG95bWVudCkge1xuICAgICAgY29uc3Qgcm9sZUFybiA9XG4gICAgICAgIG9wdGlvbnMuY2lEZXBsb3ltZW50Q29uZmlnPy5yb2xlQXJuIHx8XG4gICAgICAgIGBhcm46YXdzOmlhbTo6JHt0aGlzLmFjY291bnR9OnJvbGUvR2l0SHViRGVwbG95ZXJ9YDtcblxuICAgICAgY29uc3Qgc3RhY2tQYXR0ZXJuID1cbiAgICAgICAgb3B0aW9ucy5jaURlcGxveW1lbnRDb25maWc/LnN0YWNrUGF0dGVybiB8fFxuICAgICAgICBgJHt0aGlzLmF3c1N0YWdlVHlwZX0vJHt0aGlzLmF3c0Vudmlyb25tZW50VHlwZX0vKi0ke3RoaXMuYWNjb3VudH0tJHt0aGlzLnJlZ2lvbn1gO1xuXG4gICAgICB0aGlzLmNpRGVwbG95bWVudENvbmZpZyA9IHtcbiAgICAgICAgcm9sZUFybixcbiAgICAgICAgc3RhY2tQYXR0ZXJuLFxuICAgICAgICAuLi5vcHRpb25zLmNpRGVwbG95bWVudENvbmZpZyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZCBvciBjcmVhdGUgQ0RLIGZvbGRlciBjb25maWcgZm9yIHRoaXMgcHJvamVjdC5cbiAgICAgKi9cbiAgICB0aGlzLmF3c0RlcGxveW1lbnRDb25maWcgPVxuICAgICAgQXdzRGVwbG95bWVudENvbmZpZy5vZihwcm9qZWN0KSB8fCBuZXcgQXdzRGVwbG95bWVudENvbmZpZyhwcm9qZWN0KTtcblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBkZXBsb3ltZW50IHRhcmdldHMgYXJyYXkuXG4gICAgICovXG4gICAgdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmF3c0RlcGxveW1lbnRUYXJnZXRzLnB1c2godGhpcyk7XG5cbiAgICAvLyBEZXBsb3kgdGFza3MgYXJlIGNvbmZpZ3VyZWQgcGVyIHRhcmdldC5cbiAgICB0aGlzLmNvbmZpZ3VyZURlcGxveVRhc2soKTtcblxuICAgIC8vIFdhdGNoIHRhc2tzIGFyZSBjb25maWd1cmVkIHBlciB0YXJnZXQuXG4gICAgdGhpcy5jb25maWd1cmVXYXRjaFRhc2soKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBEZXBsb3kgVGFza3NcbiAgICpcbiAgICogLSBJZiBsb2NhbCBkZXBsb3ksIGFkZCBhIGRlcGxveSB0YXNrLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZURlcGxveVRhc2sgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMubG9jYWxEZXBsb3ltZW50KSB7XG4gICAgICBjb25zdCB0YXNrTmFtZSA9IFtcbiAgICAgICAgXCJkZXBsb3lcIixcbiAgICAgICAgdGhpcy5hd3NTdGFnZVR5cGUsXG4gICAgICAgIHRoaXMuYWNjb3VudCxcbiAgICAgICAgdGhpcy5yZWdpb24sXG4gICAgICBdLmpvaW4oXCI6XCIpO1xuICAgICAgY29uc3QgZGVwbG95VGFzayA9IHRoaXMucHJvamVjdC50YXNrcy5hZGRUYXNrKHRhc2tOYW1lLCB7XG4gICAgICAgIGVudjogdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmVudixcbiAgICAgIH0pO1xuICAgICAgZGVwbG95VGFzay5leGVjKFxuICAgICAgICBgY2RrIGRlcGxveSAtLWxvb2t1cHM9ZmFsc2UgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC0tcHJvZmlsZT0ke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5wcm9maWxlfSAtLWFwcD0ke3RoaXMuYXdzRGVwbG95bWVudENvbmZpZy5jZGtPdXR9IFwiJHt0aGlzLmxvY2FsRGVwbG95bWVudENvbmZpZz8uc3RhY2tQYXR0ZXJufVwiYCxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBXYXRjaCB0YXNrc1xuICAgKlxuICAgKiAtIENvbmZpZ3VyZSB3YXRjaCB0YXNrIHRvIHVzZSB0aGUgYnJhbmNoIG5hbWVcbiAgICogLSBjb25maWd1cmUgd2F0Y2ggdGFzayB0byB1c2UgdGhlIGNvcnJlY3Qgc3ludGggb3V0cHV0IGxvY2F0aW9uLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZVdhdGNoVGFzayA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5sb2NhbERlcGxveW1lbnQpIHtcbiAgICAgIGNvbnN0IHRhc2tOYW1lID0gW1xuICAgICAgICBcIndhdGNoXCIsXG4gICAgICAgIHRoaXMuYXdzU3RhZ2VUeXBlLFxuICAgICAgICB0aGlzLmFjY291bnQsXG4gICAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgXS5qb2luKFwiOlwiKTtcbiAgICAgIGNvbnN0IHdhdGNoVGFzayA9IHRoaXMucHJvamVjdC50YXNrcy5hZGRUYXNrKHRhc2tOYW1lLCB7XG4gICAgICAgIGVudjogdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmVudixcbiAgICAgIH0pO1xuXG4gICAgICAvLyB1cGRhdGUgdGhlIHN5bnRoIGZpcnN0XG4gICAgICBjb25zdCBzeW50aFNpbGVudCA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKFwic3ludGg6c2lsZW50XCIpO1xuICAgICAgaWYgKHN5bnRoU2lsZW50KSB7XG4gICAgICAgIHdhdGNoVGFzay5zcGF3bihzeW50aFNpbGVudCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGRvIGEgbm9ybWFsIGRlcGxveVxuICAgICAgd2F0Y2hUYXNrLmV4ZWMoXG4gICAgICAgIGBjZGsgZGVwbG95IC0tbG9va3Vwcz1mYWxzZSAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXIgLS1wcm9maWxlPSR7dGhpcy5sb2NhbERlcGxveW1lbnRDb25maWc/LnByb2ZpbGV9IC0tYXBwPSR7dGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmNka091dH0gXCIke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm59XCJgLFxuICAgICAgKTtcblxuICAgICAgLy8gd2F0Y2ggZm9yIGNoYW5nZXMgYW5kIGxvZyBvdXRwdXRcbiAgICAgIHdhdGNoVGFzay5leGVjKFxuICAgICAgICBgY2RrIHdhdGNoIC0tbG9va3Vwcz1mYWxzZSAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXIgLS1ob3Rzd2FwIC0tcHJvZmlsZT0ke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5wcm9maWxlfSBcIiR7dGhpcy5sb2NhbERlcGxveW1lbnRDb25maWc/LnN0YWNrUGF0dGVybn1cImAsXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
package/lib/aws/index.d.ts
CHANGED
package/lib/aws/index.js
CHANGED
|
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./aws-types"), exports);
|
|
18
17
|
__exportStar(require("./aws-deployment-config"), exports);
|
|
19
|
-
|
|
18
|
+
__exportStar(require("./aws-types"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYXdzLWRlcGxveW1lbnQtY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hd3MtdHlwZXNcIjtcbiJdfQ==
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
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("./aws/"), exports);
|
|
18
|
+
__exportStar(require("./git/"), exports);
|
|
19
|
+
__exportStar(require("./jsii/"), exports);
|
|
20
|
+
__exportStar(require("./pnpm/"), exports);
|
|
21
|
+
__exportStar(require("./projects/"), exports);
|
|
22
|
+
__exportStar(require("./turbo/"), exports);
|
|
23
|
+
__exportStar(require("./typescript/"), exports);
|
|
24
|
+
__exportStar(require("./vscode/"), exports);
|
|
25
|
+
__exportStar(require("./workflows/"), exports);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2Qix5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4Qiw4Q0FBNEI7QUFDNUIsMkNBQXlCO0FBQ3pCLGdEQUE4QjtBQUM5Qiw0Q0FBMEI7QUFDMUIsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYXdzL1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2l0L1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vanNpaS9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BucG0vXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0cy9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R1cmJvL1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNjcmlwdC9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZzY29kZS9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtmbG93cy9cIjtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./jsii-faker";
|
|
@@ -0,0 +1,18 @@
|
|
|
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("./jsii-faker"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNpaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vanNpaS1mYWtlclwiO1xuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as spec from "@jsii/spec";
|
|
2
|
+
import { Component } from "projen";
|
|
3
|
+
import { TypeScriptProject } from "projen/lib/typescript";
|
|
4
|
+
import { ValueOf } from "type-fest";
|
|
5
|
+
/**
|
|
6
|
+
* The FQNs for the base classes and options used by Jsii.
|
|
7
|
+
*
|
|
8
|
+
* These are the defaults used by Projen's TypeScriptProject.
|
|
9
|
+
*/
|
|
10
|
+
declare const ProjenBaseFqn: {
|
|
11
|
+
readonly TYPESCRIPT_PROJECT: "projen.typescript.TypeScriptProject";
|
|
12
|
+
readonly TYPESCRIPT_PROJECT_OPTIONS: "projen.typescript.TypeScriptProjectOptions";
|
|
13
|
+
};
|
|
14
|
+
export interface ClassTypeOptions {
|
|
15
|
+
/**
|
|
16
|
+
* The name of the class.
|
|
17
|
+
*
|
|
18
|
+
* @example "MyProject"
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* The FQN for the base class this class is extending.
|
|
23
|
+
*
|
|
24
|
+
* @default ProjenBaseFqn.TYPESCRIPT_PROJECT
|
|
25
|
+
*/
|
|
26
|
+
baseFqn?: ValueOf<typeof ProjenBaseFqn> | string;
|
|
27
|
+
/**
|
|
28
|
+
* The FQN for the options for this class.
|
|
29
|
+
*
|
|
30
|
+
* @default ProjenBaseFqn.TYPESCRIPT_PROJECT_OPTIONS
|
|
31
|
+
*/
|
|
32
|
+
optionsFqn?: ValueOf<typeof ProjenBaseFqn> | string;
|
|
33
|
+
}
|
|
34
|
+
export declare class JsiiFaker extends Component {
|
|
35
|
+
readonly project: TypeScriptProject;
|
|
36
|
+
static of(project: TypeScriptProject): JsiiFaker | undefined;
|
|
37
|
+
private _assemblyName;
|
|
38
|
+
private _types;
|
|
39
|
+
constructor(project: TypeScriptProject);
|
|
40
|
+
toJSON: () => {
|
|
41
|
+
types: {
|
|
42
|
+
[name: string]: spec.Type;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
addClassType(options: ClassTypeOptions): void;
|
|
46
|
+
}
|
|
47
|
+
export {};
|