projalf 0.0.4 → 0.0.6
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/.jsii +4 -4
- package/lib/Projalf.d.ts +1 -1
- package/lib/Projalf.js +79 -2
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
},
|
|
120
120
|
"locationInModule": {
|
|
121
121
|
"filename": "src/Projalf.ts",
|
|
122
|
-
"line":
|
|
122
|
+
"line": 8
|
|
123
123
|
},
|
|
124
124
|
"parameters": [
|
|
125
125
|
{
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"kind": "class",
|
|
134
134
|
"locationInModule": {
|
|
135
135
|
"filename": "src/Projalf.ts",
|
|
136
|
-
"line":
|
|
136
|
+
"line": 7
|
|
137
137
|
},
|
|
138
138
|
"name": "Projalf",
|
|
139
139
|
"symbolId": "src/Projalf:Projalf"
|
|
@@ -151,12 +151,12 @@
|
|
|
151
151
|
"kind": "interface",
|
|
152
152
|
"locationInModule": {
|
|
153
153
|
"filename": "src/Projalf.ts",
|
|
154
|
-
"line":
|
|
154
|
+
"line": 5
|
|
155
155
|
},
|
|
156
156
|
"name": "ProjalfOptions",
|
|
157
157
|
"symbolId": "src/Projalf:ProjalfOptions"
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
160
|
"version": "0.0.0",
|
|
161
|
-
"fingerprint": "
|
|
161
|
+
"fingerprint": "4uffwuxPP2iOBkqQhQeQV1ju+e8swpOB1iA0mCR8QnI="
|
|
162
162
|
}
|
package/lib/Projalf.d.ts
CHANGED
package/lib/Projalf.js
CHANGED
|
@@ -3,20 +3,97 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Projalf = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cp = require("child_process");
|
|
7
|
+
const path = require("path");
|
|
6
8
|
const projen_1 = require("projen");
|
|
7
9
|
class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
8
10
|
constructor(options) {
|
|
11
|
+
const inferredName = options.name ?? inferNameFromGit() ?? inferNameFromCwd();
|
|
12
|
+
const className = toPascalCase(inferredName);
|
|
13
|
+
const fileBase = inferredName.toLowerCase();
|
|
14
|
+
const mergedContext = { ...(options.context ?? {}) };
|
|
15
|
+
if (mergedContext.serviceName === undefined) {
|
|
16
|
+
mergedContext.serviceName = inferredName;
|
|
17
|
+
}
|
|
9
18
|
super({
|
|
10
19
|
...options,
|
|
11
|
-
|
|
20
|
+
name: inferredName,
|
|
21
|
+
defaultReleaseBranch: options.defaultReleaseBranch ?? "main",
|
|
12
22
|
packageManager: options.packageManager ?? projen_1.javascript.NodePackageManager.NPM,
|
|
13
23
|
projenrcTs: options.projenrcTs ?? true,
|
|
24
|
+
cdkVersion: options.cdkVersion ?? "2.156.0",
|
|
25
|
+
appEntrypoint: options.appEntrypoint ?? "src/main.ts",
|
|
26
|
+
context: mergedContext,
|
|
14
27
|
deps: options.deps ?? [],
|
|
15
28
|
devDeps: options.devDeps ?? [],
|
|
16
29
|
});
|
|
30
|
+
new projen_1.SampleFile(this, `src/${fileBase}.ts`, {
|
|
31
|
+
contents: `import * as cdk from 'aws-cdk-lib';
|
|
32
|
+
import { Construct } from 'constructs';
|
|
33
|
+
|
|
34
|
+
export interface ${className}Props extends cdk.StackProps {
|
|
35
|
+
serviceName: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class ${className} extends cdk.Stack {
|
|
39
|
+
constructor(scope: Construct, id: string, props: ${className}Props) {
|
|
40
|
+
super(scope, id, props);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`,
|
|
44
|
+
});
|
|
45
|
+
this.tryRemoveFile("src/main.ts");
|
|
46
|
+
// Force-replace default entrypoint with our customized main.ts
|
|
47
|
+
new projen_1.TextFile(this, "src/main.ts", {
|
|
48
|
+
lines: [
|
|
49
|
+
"import * as cdk from 'aws-cdk-lib';",
|
|
50
|
+
`import { ${className} } from './${fileBase}';`,
|
|
51
|
+
"",
|
|
52
|
+
"const env = {",
|
|
53
|
+
" account: process.env.CDK_DEPLOY_ACCOUNT ?? process.env.CDK_DEFAULT_ACCOUNT,",
|
|
54
|
+
" region: process.env.CDK_DEPLOY_REGION ?? process.env.CDK_DEFAULT_REGION,",
|
|
55
|
+
"};",
|
|
56
|
+
"",
|
|
57
|
+
"const app = new cdk.App();",
|
|
58
|
+
"",
|
|
59
|
+
`const serviceName = (app.node.tryGetContext('serviceName') as string | undefined) ?? '${inferredName}';`,
|
|
60
|
+
"",
|
|
61
|
+
`new ${className}(app, serviceName, { env, serviceName });`,
|
|
62
|
+
"",
|
|
63
|
+
"app.synth();",
|
|
64
|
+
],
|
|
65
|
+
});
|
|
17
66
|
}
|
|
18
67
|
}
|
|
19
68
|
exports.Projalf = Projalf;
|
|
20
69
|
_a = JSII_RTTI_SYMBOL_1;
|
|
21
70
|
Projalf[_a] = { fqn: "projalf.Projalf", version: "0.0.0" };
|
|
22
|
-
|
|
71
|
+
function inferNameFromGit() {
|
|
72
|
+
try {
|
|
73
|
+
const remote = cp
|
|
74
|
+
.execSync("git config --get remote.origin.url", {
|
|
75
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
76
|
+
})
|
|
77
|
+
.toString()
|
|
78
|
+
.trim();
|
|
79
|
+
if (!remote)
|
|
80
|
+
return undefined;
|
|
81
|
+
const match = remote.match(/\/([^\/]+?)(?:\.git)?$/);
|
|
82
|
+
return match?.[1];
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function inferNameFromCwd() {
|
|
89
|
+
return path.basename(process.cwd());
|
|
90
|
+
}
|
|
91
|
+
function toPascalCase(input) {
|
|
92
|
+
return input
|
|
93
|
+
.replace(/[^a-zA-Z0-9]+/g, " ")
|
|
94
|
+
.split(" ")
|
|
95
|
+
.filter(Boolean)
|
|
96
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
97
|
+
.join("");
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixtQ0FBa0U7QUFJbEUsTUFBYSxPQUFRLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQUNyRCxZQUFZLE9BQXVCO1FBQ2pDLE1BQU0sWUFBWSxHQUNoQixPQUFPLENBQUMsSUFBSSxJQUFJLGdCQUFnQixFQUFFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMzRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTVDLE1BQU0sYUFBYSxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQXlCLENBQUM7UUFDNUUsSUFBSSxhQUFhLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQzNDLENBQUM7UUFFRCxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsWUFBWTtZQUNsQixvQkFBb0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTTtZQUM1RCxjQUFjLEVBQ1osT0FBTyxDQUFDLGNBQWMsSUFBSSxtQkFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUc7WUFDN0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSTtZQUN0QyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQzNDLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLGFBQWE7WUFDckQsT0FBTyxFQUFFLGFBQWE7WUFDdEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO1NBQy9CLENBQUMsQ0FBQztRQUVILElBQUksbUJBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxRQUFRLEtBQUssRUFBRTtZQUN6QyxRQUFRLEVBQUU7OzttQkFHRyxTQUFTOzs7O2VBSWIsU0FBUztxREFDNkIsU0FBUzs7OztDQUk3RDtTQUNJLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEMsK0RBQStEO1FBQy9ELElBQUksaUJBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ2hDLEtBQUssRUFBRTtnQkFDTCxxQ0FBcUM7Z0JBQ3JDLFlBQVksU0FBUyxjQUFjLFFBQVEsSUFBSTtnQkFDL0MsRUFBRTtnQkFDRixlQUFlO2dCQUNmLCtFQUErRTtnQkFDL0UsNEVBQTRFO2dCQUM1RSxJQUFJO2dCQUNKLEVBQUU7Z0JBQ0YsNEJBQTRCO2dCQUM1QixFQUFFO2dCQUNGLHlGQUF5RixZQUFZLElBQUk7Z0JBQ3pHLEVBQUU7Z0JBQ0YsT0FBTyxTQUFTLDJDQUEyQztnQkFDM0QsRUFBRTtnQkFDRixjQUFjO2FBQ2Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9ESCwwQkFnRUM7OztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUU7YUFDZCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNELFFBQVEsRUFBRTthQUNWLElBQUksRUFBRSxDQUFDO1FBQ1YsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDckQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgYXdzY2RrLCBqYXZhc2NyaXB0LCBTYW1wbGVGaWxlLCBUZXh0RmlsZSB9IGZyb20gXCJwcm9qZW5cIjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9qYWxmT3B0aW9ucyBleHRlbmRzIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB7fVxuXG5leHBvcnQgY2xhc3MgUHJvamFsZiBleHRlbmRzIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUHJvamFsZk9wdGlvbnMpIHtcbiAgICBjb25zdCBpbmZlcnJlZE5hbWUgPVxuICAgICAgb3B0aW9ucy5uYW1lID8/IGluZmVyTmFtZUZyb21HaXQoKSA/PyBpbmZlck5hbWVGcm9tQ3dkKCk7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdG9QYXNjYWxDYXNlKGluZmVycmVkTmFtZSk7XG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IG1lcmdlZENvbnRleHQgPSB7IC4uLihvcHRpb25zLmNvbnRleHQgPz8ge30pIH0gYXMgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBpZiAobWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBtZXJnZWRDb250ZXh0LnNlcnZpY2VOYW1lID0gaW5mZXJyZWROYW1lO1xuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOlxuICAgICAgICBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiMi4xNTYuMFwiLFxuICAgICAgYXBwRW50cnlwb2ludDogb3B0aW9ucy5hcHBFbnRyeXBvaW50ID8/IFwic3JjL21haW4udHNcIixcbiAgICAgIGNvbnRleHQ6IG1lcmdlZENvbnRleHQsXG4gICAgICBkZXBzOiBvcHRpb25zLmRlcHMgPz8gW10sXG4gICAgICBkZXZEZXBzOiBvcHRpb25zLmRldkRlcHMgPz8gW10sXG4gICAgfSk7XG5cbiAgICBuZXcgU2FtcGxlRmlsZSh0aGlzLCBgc3JjLyR7ZmlsZUJhc2V9LnRzYCwge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgJHtjbGFzc05hbWV9UHJvcHMgZXh0ZW5kcyBjZGsuU3RhY2tQcm9wcyB7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyAke2NsYXNzTmFtZX0gZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogJHtjbGFzc05hbWV9UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB9XG4gICAgfVxuYCxcbiAgICB9KTtcbiAgICB0aGlzLnRyeVJlbW92ZUZpbGUoXCJzcmMvbWFpbi50c1wiKTtcblxuICAgIC8vIEZvcmNlLXJlcGxhY2UgZGVmYXVsdCBlbnRyeXBvaW50IHdpdGggb3VyIGN1c3RvbWl6ZWQgbWFpbi50c1xuICAgIG5ldyBUZXh0RmlsZSh0aGlzLCBcInNyYy9tYWluLnRzXCIsIHtcbiAgICAgIGxpbmVzOiBbXG4gICAgICAgIFwiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcIixcbiAgICAgICAgYGltcG9ydCB7ICR7Y2xhc3NOYW1lfSB9IGZyb20gJy4vJHtmaWxlQmFzZX0nO2AsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiY29uc3QgZW52ID0ge1wiLFxuICAgICAgICBcIiAgYWNjb3VudDogcHJvY2Vzcy5lbnYuQ0RLX0RFUExPWV9BQ0NPVU5UID8/IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQsXCIsXG4gICAgICAgIFwiICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERVBMT1lfUkVHSU9OID8/IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTixcIixcbiAgICAgICAgXCJ9O1wiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBcImNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGBjb25zdCBzZXJ2aWNlTmFtZSA9IChhcHAubm9kZS50cnlHZXRDb250ZXh0KCdzZXJ2aWNlTmFtZScpIGFzIHN0cmluZyB8IHVuZGVmaW5lZCkgPz8gJyR7aW5mZXJyZWROYW1lfSc7YCxcbiAgICAgICAgXCJcIixcbiAgICAgICAgYG5ldyAke2NsYXNzTmFtZX0oYXBwLCBzZXJ2aWNlTmFtZSwgeyBlbnYsIHNlcnZpY2VOYW1lIH0pO2AsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiYXBwLnN5bnRoKCk7XCIsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21HaXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZW1vdGUgPSBjcFxuICAgICAgLmV4ZWNTeW5jKFwiZ2l0IGNvbmZpZyAtLWdldCByZW1vdGUub3JpZ2luLnVybFwiLCB7XG4gICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudHJpbSgpO1xuICAgIGlmICghcmVtb3RlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG1hdGNoID0gcmVtb3RlLm1hdGNoKC9cXC8oW15cXC9dKz8pKD86XFwuZ2l0KT8kLyk7XG4gICAgcmV0dXJuIG1hdGNoPy5bMV07XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUN3ZCgpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKTtcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXRcbiAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCBcIiBcIilcbiAgICAuc3BsaXQoXCIgXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oXCJcIik7XG59XG4iXX0=
|