projen-cdktf-hybrid-construct 0.1.51 → 0.1.54
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/.projenrc.ts +1 -1
- package/README.md +51 -6
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/publishing.d.ts +15 -0
- package/lib/publishing.js +54 -0
- package/package.json +3 -1
package/.projenrc.ts
CHANGED
@@ -13,7 +13,7 @@ const project = new typescript.TypeScriptProject({
|
|
13
13
|
license: "MIT",
|
14
14
|
copyrightOwner: "Daniel Schmidt",
|
15
15
|
|
16
|
-
deps: ["projen", "@types/uuid", "uuid"],
|
16
|
+
deps: ["projen", "@types/uuid", "uuid", "@types/change-case", "change-case"],
|
17
17
|
devDeps: ["fs-extra", "glob", "@types/fs-extra", "@types/glob"],
|
18
18
|
|
19
19
|
release: true,
|
package/README.md
CHANGED
@@ -21,7 +21,6 @@ If you want to write a CDKTF construct and also publish it as a Terraform Module
|
|
21
21
|
const { HybridModule } = require("projen-cdktf-hybrid-construct");
|
22
22
|
|
23
23
|
const project = new HybridModule({
|
24
|
-
defaultReleaseBranch: "main",
|
25
24
|
// The name of the module & repository need to start with terraform-cdk-
|
26
25
|
name: "terraform-cdk-my-new-hybrid-construct",
|
27
26
|
repositoryUrl:
|
@@ -68,7 +67,7 @@ project.synth();
|
|
68
67
|
If you want to republish an existing Terraform module as a CDKTF construct or if you want to repackage them with an easier to use API you can use the `TerraformModule` template.
|
69
68
|
|
70
69
|
```js
|
71
|
-
const {
|
70
|
+
const { TerraformModule } = require("projen-cdktf-hybrid-construct");
|
72
71
|
|
73
72
|
const project = new TerraformModule({
|
74
73
|
name: "my-module",
|
@@ -97,6 +96,24 @@ project.synth();
|
|
97
96
|
|
98
97
|
### Open Source
|
99
98
|
|
99
|
+
We have a helper method for easy configuration, but there are still some manual steps required.
|
100
|
+
|
101
|
+
```js
|
102
|
+
const {
|
103
|
+
HybridModule,
|
104
|
+
publishToRegistries,
|
105
|
+
} = require("projen-cdktf-hybrid-construct");
|
106
|
+
|
107
|
+
const project = new HybridModule({
|
108
|
+
// ... all the other options
|
109
|
+
...publishToRegistries({
|
110
|
+
name: "my-new-hybrid-construct",
|
111
|
+
namespace: "my-org",
|
112
|
+
registries: ["npm", "pypi", "nuget", "maven"],
|
113
|
+
}),
|
114
|
+
});
|
115
|
+
```
|
116
|
+
|
100
117
|
#### Terraform
|
101
118
|
|
102
119
|
1. [Sign in at the registry](https://registry.terraform.io/sign-in)
|
@@ -114,7 +131,8 @@ Please make sure your repository name starts with `terraform-cdk-`.
|
|
114
131
|
|
115
132
|
1. Create an account at [pypi.org](https://pypi.org/)
|
116
133
|
2. Create an [API token](https://pypi.org/help/#apitoken) on pypi
|
117
|
-
3.
|
134
|
+
3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `TWINE_USERNAME` and the value `__token__` and a second one with the name `TWINE_PASSWORD` and the value of the token
|
135
|
+
4. Set the `publishToPypi` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)
|
118
136
|
|
119
137
|
```js
|
120
138
|
const name = "name-of-my-hybrid-construct";
|
@@ -131,7 +149,13 @@ new HybridModule({
|
|
131
149
|
#### Maven (Java)
|
132
150
|
|
133
151
|
1. [Create a Sonatype account and repository](https://central.sonatype.org/publish/publish-guide/#introduction)
|
134
|
-
2.
|
152
|
+
2. Create [GitHub Action Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) to configure maven:
|
153
|
+
- `MAVEN_USERNAME`
|
154
|
+
- `MAVEN_PASSWORD`
|
155
|
+
- `MAVEN_STAGING_PROFILE_ID`
|
156
|
+
- `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`
|
157
|
+
- `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE`
|
158
|
+
3. Setup the `publishToMaven` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)
|
135
159
|
|
136
160
|
```js
|
137
161
|
const githubNamespace = "my-org";
|
@@ -151,7 +175,8 @@ new HybridModule({
|
|
151
175
|
|
152
176
|
1. [Create a NuGet account](https://www.nuget.org/users/account/LogOn) (you might need to create a Microsoft Account if you don't have one)
|
153
177
|
2. [Create API keys](https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package#create-api-keys)
|
154
|
-
3.
|
178
|
+
3. Create a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) with the name `NUGET_API_KEY` and the value of the token
|
179
|
+
4. Setup the `publishToNuget` section in the options of `HybridModule` or `TerraformModule` (or use the helper mentioned above)
|
155
180
|
|
156
181
|
```js
|
157
182
|
const githubNamespace = "my-org";
|
@@ -167,6 +192,26 @@ new HybridModule({
|
|
167
192
|
});
|
168
193
|
```
|
169
194
|
|
195
|
+
### Github Packages
|
196
|
+
|
197
|
+
We have a helper method for easy configuration, no extra steps needed:
|
198
|
+
|
199
|
+
```js
|
200
|
+
const {
|
201
|
+
HybridModule,
|
202
|
+
publishToGithubPackages,
|
203
|
+
} = require("projen-cdktf-hybrid-construct");
|
204
|
+
|
205
|
+
const project = new HybridModule({
|
206
|
+
// ... all the other options
|
207
|
+
...publishToGithubPackages({
|
208
|
+
name: "my-new-hybrid-construct",
|
209
|
+
namespace: "my-org",
|
210
|
+
registries: ["npm", "maven"], // pypi and nuget are not yet supported
|
211
|
+
}),
|
212
|
+
});
|
213
|
+
```
|
214
|
+
|
170
215
|
### Roadmap
|
171
216
|
|
172
217
|
- [x] Add dedicated file for HCL templates
|
@@ -176,5 +221,5 @@ new HybridModule({
|
|
176
221
|
- [x] Add example folder to project using this
|
177
222
|
- [x] Add testing strategy
|
178
223
|
- [x] Add construct / option / docs to publish existing module as construct
|
224
|
+
- [x] Add deployment scripts to Github Packages
|
179
225
|
- [ ] Add deployment scripts to Artifactory
|
180
|
-
- [ ] Add deployment scripts to Github Packages
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./hybrid-module"), exports);
|
18
18
|
__exportStar(require("./terraform-module"), exports);
|
19
|
-
|
19
|
+
__exportStar(require("./publishing"), exports);
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQyxxREFBbUM7QUFDbkMsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vaHlicmlkLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVibGlzaGluZ1wiO1xuIl19
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { ConstructLibraryOptions } from "projen/lib/cdk";
|
2
|
+
export declare type Registry = "npm" | "maven" | "nuget" | "pypi";
|
3
|
+
export declare type PublishOptions = {
|
4
|
+
name: string;
|
5
|
+
namespace: string;
|
6
|
+
registries: Registry[];
|
7
|
+
};
|
8
|
+
declare type AtomicObject = Function | Promise<any> | Date | RegExp | Boolean | Number | String;
|
9
|
+
declare type Mutable<T> = T extends AtomicObject ? T : T extends ReadonlyMap<infer K, infer V> ? Map<Mutable<K>, Mutable<V>> : T extends ReadonlySet<infer V> ? Set<Mutable<V>> : T extends object ? {
|
10
|
+
-readonly [K in keyof T]: Mutable<T[K]>;
|
11
|
+
} : T;
|
12
|
+
declare type Config = Mutable<Pick<ConstructLibraryOptions, "publishToPypi" | "publishToMaven" | "publishToNuget" | "releaseToNpm" | "npmRegistryUrl">>;
|
13
|
+
export declare function publishToRegistries(options: PublishOptions): Config;
|
14
|
+
export declare function publishToGithubPackages(options: PublishOptions): Config;
|
15
|
+
export {};
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.publishToGithubPackages = exports.publishToRegistries = void 0;
|
4
|
+
const change_case_1 = require("change-case");
|
5
|
+
function publishToRegistries(options) {
|
6
|
+
const { name, namespace, registries } = options;
|
7
|
+
const sanitizedNamespace = namespace.replace(/-/gi, "_");
|
8
|
+
const sanitizedName = name.replace(/-/gi, "_");
|
9
|
+
const config = {
|
10
|
+
releaseToNpm: registries.includes("npm"),
|
11
|
+
};
|
12
|
+
if (registries.includes("pypi")) {
|
13
|
+
config.publishToPypi = {
|
14
|
+
distName: `${sanitizedNamespace}-${sanitizedName}`,
|
15
|
+
module: `${sanitizedNamespace}_${sanitizedName}`,
|
16
|
+
};
|
17
|
+
}
|
18
|
+
if (registries.includes("maven")) {
|
19
|
+
config.publishToMaven = {
|
20
|
+
javaPackage: `com.${sanitizedNamespace}.${sanitizedName}`,
|
21
|
+
mavenGroupId: `com.${sanitizedNamespace}`,
|
22
|
+
mavenArtifactId: sanitizedName,
|
23
|
+
};
|
24
|
+
}
|
25
|
+
if (registries.includes("nuget")) {
|
26
|
+
const nugetName = `${(0, change_case_1.pascalCase)(namespace)}.${(0, change_case_1.pascalCase)(name)}`;
|
27
|
+
config.publishToNuget = {
|
28
|
+
dotNetNamespace: nugetName,
|
29
|
+
packageId: nugetName,
|
30
|
+
};
|
31
|
+
}
|
32
|
+
return config;
|
33
|
+
}
|
34
|
+
exports.publishToRegistries = publishToRegistries;
|
35
|
+
function publishToGithubPackages(options) {
|
36
|
+
const { registries } = options;
|
37
|
+
const config = publishToRegistries(options);
|
38
|
+
if (registries.includes("pypi")) {
|
39
|
+
throw new Error("Github Packages does not support python packages");
|
40
|
+
}
|
41
|
+
if (registries.includes("nuget")) {
|
42
|
+
// Seems like projen does not support github packages on nuget yet: https://github.dev/projen/projen/blob/14f37ec704afdc5143e6a2954c1250b1f0ccaddf/src/release/publisher.ts#L343
|
43
|
+
throw new Error("Github Packages does support nuget packages, but this library does not yet support it");
|
44
|
+
}
|
45
|
+
if (registries.includes("npm")) {
|
46
|
+
config.npmRegistryUrl = "https://npm.pkg.github.com";
|
47
|
+
}
|
48
|
+
if (registries.includes("maven")) {
|
49
|
+
config.publishToMaven.mavenRepositoryUrl = "https://maven.pkg.github.com";
|
50
|
+
}
|
51
|
+
return config;
|
52
|
+
}
|
53
|
+
exports.publishToGithubPackages = publishToGithubPackages;
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF5QztBQXlDekMsU0FBZ0IsbUJBQW1CLENBQUMsT0FBdUI7SUFDekQsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2hELE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxNQUFNLEdBQVc7UUFDckIsWUFBWSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0tBQ3pDLENBQUM7SUFFRixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxDQUFDLGFBQWEsR0FBRztZQUNyQixRQUFRLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxhQUFhLEVBQUU7WUFDbEQsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLElBQUksYUFBYSxFQUFFO1NBQ2pELENBQUM7S0FDSDtJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQyxNQUFNLENBQUMsY0FBYyxHQUFHO1lBQ3RCLFdBQVcsRUFBRSxPQUFPLGtCQUFrQixJQUFJLGFBQWEsRUFBRTtZQUN6RCxZQUFZLEVBQUUsT0FBTyxrQkFBa0IsRUFBRTtZQUN6QyxlQUFlLEVBQUUsYUFBYTtTQUMvQixDQUFDO0tBQ0g7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxJQUFBLHdCQUFVLEVBQUMsU0FBUyxDQUFDLElBQUksSUFBQSx3QkFBVSxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTSxDQUFDLGNBQWMsR0FBRztZQUN0QixlQUFlLEVBQUUsU0FBUztZQUMxQixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0tBQ0g7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBL0JELGtEQStCQztBQUVELFNBQWdCLHVCQUF1QixDQUFDLE9BQXVCO0lBQzdELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDL0IsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztLQUNyRTtJQUNELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQyxnTEFBZ0w7UUFDaEwsTUFBTSxJQUFJLEtBQUssQ0FDYix1RkFBdUYsQ0FDeEYsQ0FBQztLQUNIO0lBRUQsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsNEJBQTRCLENBQUM7S0FDdEQ7SUFFRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxDQUFDLGNBQWUsQ0FBQyxrQkFBa0IsR0FBRyw4QkFBOEIsQ0FBQztLQUM1RTtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUF0QkQsMERBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFzY2FsQ2FzZSB9IGZyb20gXCJjaGFuZ2UtY2FzZVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tIFwicHJvamVuL2xpYi9jZGtcIjtcblxuZXhwb3J0IHR5cGUgUmVnaXN0cnkgPSBcIm5wbVwiIHwgXCJtYXZlblwiIHwgXCJudWdldFwiIHwgXCJweXBpXCI7XG5cbmV4cG9ydCB0eXBlIFB1Ymxpc2hPcHRpb25zID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICByZWdpc3RyaWVzOiBSZWdpc3RyeVtdO1xufTtcblxudHlwZSBBdG9taWNPYmplY3QgPVxuICB8IEZ1bmN0aW9uXG4gIHwgUHJvbWlzZTxhbnk+XG4gIHwgRGF0ZVxuICB8IFJlZ0V4cFxuICB8IEJvb2xlYW5cbiAgfCBOdW1iZXJcbiAgfCBTdHJpbmc7XG5cbnR5cGUgTXV0YWJsZTxUPiA9IFQgZXh0ZW5kcyBBdG9taWNPYmplY3RcbiAgPyBUXG4gIDogVCBleHRlbmRzIFJlYWRvbmx5TWFwPGluZmVyIEssIGluZmVyIFY+IC8vIE1hcCBleHRlbmRzIFJlYWRvbmx5TWFwXG4gID8gTWFwPE11dGFibGU8Sz4sIE11dGFibGU8Vj4+XG4gIDogVCBleHRlbmRzIFJlYWRvbmx5U2V0PGluZmVyIFY+IC8vIFNldCBleHRlbmRzIFJlYWRvbmx5U2V0XG4gID8gU2V0PE11dGFibGU8Vj4+XG4gIDogVCBleHRlbmRzIG9iamVjdFxuICA/IHsgLXJlYWRvbmx5IFtLIGluIGtleW9mIFRdOiBNdXRhYmxlPFRbS10+IH1cbiAgOiBUO1xuXG50eXBlIENvbmZpZyA9IE11dGFibGU8XG4gIFBpY2s8XG4gICAgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMsXG4gICAgfCBcInB1Ymxpc2hUb1B5cGlcIlxuICAgIHwgXCJwdWJsaXNoVG9NYXZlblwiXG4gICAgfCBcInB1Ymxpc2hUb051Z2V0XCJcbiAgICB8IFwicmVsZWFzZVRvTnBtXCJcbiAgICB8IFwibnBtUmVnaXN0cnlVcmxcIlxuICA+XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFRvUmVnaXN0cmllcyhvcHRpb25zOiBQdWJsaXNoT3B0aW9ucyk6IENvbmZpZyB7XG4gIGNvbnN0IHsgbmFtZSwgbmFtZXNwYWNlLCByZWdpc3RyaWVzIH0gPSBvcHRpb25zO1xuICBjb25zdCBzYW5pdGl6ZWROYW1lc3BhY2UgPSBuYW1lc3BhY2UucmVwbGFjZSgvLS9naSwgXCJfXCIpO1xuICBjb25zdCBzYW5pdGl6ZWROYW1lID0gbmFtZS5yZXBsYWNlKC8tL2dpLCBcIl9cIik7XG4gIGNvbnN0IGNvbmZpZzogQ29uZmlnID0ge1xuICAgIHJlbGVhc2VUb05wbTogcmVnaXN0cmllcy5pbmNsdWRlcyhcIm5wbVwiKSxcbiAgfTtcblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcInB5cGlcIikpIHtcbiAgICBjb25maWcucHVibGlzaFRvUHlwaSA9IHtcbiAgICAgIGRpc3ROYW1lOiBgJHtzYW5pdGl6ZWROYW1lc3BhY2V9LSR7c2FuaXRpemVkTmFtZX1gLFxuICAgICAgbW9kdWxlOiBgJHtzYW5pdGl6ZWROYW1lc3BhY2V9XyR7c2FuaXRpemVkTmFtZX1gLFxuICAgIH07XG4gIH1cblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm1hdmVuXCIpKSB7XG4gICAgY29uZmlnLnB1Ymxpc2hUb01hdmVuID0ge1xuICAgICAgamF2YVBhY2thZ2U6IGBjb20uJHtzYW5pdGl6ZWROYW1lc3BhY2V9LiR7c2FuaXRpemVkTmFtZX1gLFxuICAgICAgbWF2ZW5Hcm91cElkOiBgY29tLiR7c2FuaXRpemVkTmFtZXNwYWNlfWAsXG4gICAgICBtYXZlbkFydGlmYWN0SWQ6IHNhbml0aXplZE5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwibnVnZXRcIikpIHtcbiAgICBjb25zdCBudWdldE5hbWUgPSBgJHtwYXNjYWxDYXNlKG5hbWVzcGFjZSl9LiR7cGFzY2FsQ2FzZShuYW1lKX1gO1xuICAgIGNvbmZpZy5wdWJsaXNoVG9OdWdldCA9IHtcbiAgICAgIGRvdE5ldE5hbWVzcGFjZTogbnVnZXROYW1lLFxuICAgICAgcGFja2FnZUlkOiBudWdldE5hbWUsXG4gICAgfTtcbiAgfVxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFRvR2l0aHViUGFja2FnZXMob3B0aW9uczogUHVibGlzaE9wdGlvbnMpOiBDb25maWcge1xuICBjb25zdCB7IHJlZ2lzdHJpZXMgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGNvbmZpZyA9IHB1Ymxpc2hUb1JlZ2lzdHJpZXMob3B0aW9ucyk7XG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwicHlwaVwiKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkdpdGh1YiBQYWNrYWdlcyBkb2VzIG5vdCBzdXBwb3J0IHB5dGhvbiBwYWNrYWdlc1wiKTtcbiAgfVxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm51Z2V0XCIpKSB7XG4gICAgLy8gU2VlbXMgbGlrZSBwcm9qZW4gZG9lcyBub3Qgc3VwcG9ydCBnaXRodWIgcGFja2FnZXMgb24gbnVnZXQgeWV0OiBodHRwczovL2dpdGh1Yi5kZXYvcHJvamVuL3Byb2plbi9ibG9iLzE0ZjM3ZWM3MDRhZmRjNTE0M2U2YTI5NTRjMTI1MGIxZjBjY2FkZGYvc3JjL3JlbGVhc2UvcHVibGlzaGVyLnRzI0wzNDNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIkdpdGh1YiBQYWNrYWdlcyBkb2VzIHN1cHBvcnQgbnVnZXQgcGFja2FnZXMsIGJ1dCB0aGlzIGxpYnJhcnkgZG9lcyBub3QgeWV0IHN1cHBvcnQgaXRcIlxuICAgICk7XG4gIH1cblxuICBpZiAocmVnaXN0cmllcy5pbmNsdWRlcyhcIm5wbVwiKSkge1xuICAgIGNvbmZpZy5ucG1SZWdpc3RyeVVybCA9IFwiaHR0cHM6Ly9ucG0ucGtnLmdpdGh1Yi5jb21cIjtcbiAgfVxuXG4gIGlmIChyZWdpc3RyaWVzLmluY2x1ZGVzKFwibWF2ZW5cIikpIHtcbiAgICBjb25maWcucHVibGlzaFRvTWF2ZW4hLm1hdmVuUmVwb3NpdG9yeVVybCA9IFwiaHR0cHM6Ly9tYXZlbi5wa2cuZ2l0aHViLmNvbVwiO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==
|
package/package.json
CHANGED
@@ -53,13 +53,15 @@
|
|
53
53
|
"typescript": "^4.6.4"
|
54
54
|
},
|
55
55
|
"dependencies": {
|
56
|
+
"@types/change-case": "^2.3.1",
|
56
57
|
"@types/uuid": "^8.3.4",
|
58
|
+
"change-case": "^4.1.2",
|
57
59
|
"projen": "^0.53.6",
|
58
60
|
"uuid": "^8.3.2"
|
59
61
|
},
|
60
62
|
"main": "lib/index.js",
|
61
63
|
"license": "MIT",
|
62
|
-
"version": "0.1.
|
64
|
+
"version": "0.1.54",
|
63
65
|
"jest": {
|
64
66
|
"testMatch": [
|
65
67
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|