projalf 0.0.3 → 0.0.5
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/lib/Projalf.d.ts +1 -1
- package/lib/Projalf.js +52 -11
- package/package.json +1 -1
package/lib/Projalf.d.ts
CHANGED
package/lib/Projalf.js
CHANGED
|
@@ -3,28 +3,61 @@ 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 projen_1 = require("projen");
|
|
7
6
|
const cp = require("child_process");
|
|
8
7
|
const path = require("path");
|
|
8
|
+
const projen_1 = require("projen");
|
|
9
9
|
class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
10
10
|
constructor(options) {
|
|
11
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
|
+
}
|
|
12
18
|
super({
|
|
13
19
|
...options,
|
|
14
20
|
name: inferredName,
|
|
15
|
-
defaultReleaseBranch: options.defaultReleaseBranch ??
|
|
21
|
+
defaultReleaseBranch: options.defaultReleaseBranch ?? 'main',
|
|
16
22
|
packageManager: options.packageManager ?? projen_1.javascript.NodePackageManager.NPM,
|
|
17
23
|
projenrcTs: options.projenrcTs ?? true,
|
|
18
|
-
cdkVersion: options.cdkVersion ??
|
|
24
|
+
cdkVersion: options.cdkVersion ?? '2.156.0',
|
|
25
|
+
context: mergedContext,
|
|
19
26
|
deps: options.deps ?? [],
|
|
20
27
|
devDeps: options.devDeps ?? [],
|
|
21
28
|
});
|
|
22
|
-
new projen_1.SampleFile(this,
|
|
23
|
-
contents:
|
|
29
|
+
new projen_1.SampleFile(this, `src/${fileBase}.ts`, {
|
|
30
|
+
contents: `import * as cdk from 'aws-cdk-lib';
|
|
31
|
+
import { Construct } from 'constructs';
|
|
32
|
+
|
|
33
|
+
export interface ${className}Props extends cdk.StackProps {
|
|
34
|
+
serviceName: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export class ${className} extends cdk.Stack {
|
|
38
|
+
constructor(scope: Construct, id: string, props: ${className}Props) {
|
|
39
|
+
super(scope, id, props);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
`,
|
|
24
43
|
});
|
|
25
|
-
new projen_1.SampleFile(this,
|
|
26
|
-
|
|
27
|
-
|
|
44
|
+
new projen_1.SampleFile(this, 'src/main.ts', {
|
|
45
|
+
contents: `import * as cdk from 'aws-cdk-lib';
|
|
46
|
+
import { ${className} } from './${fileBase}';
|
|
47
|
+
|
|
48
|
+
const env = {
|
|
49
|
+
account: process.env.CDK_DEPLOY_ACCOUNT ?? process.env.CDK_DEFAULT_ACCOUNT,
|
|
50
|
+
region: process.env.CDK_DEPLOY_REGION ?? process.env.CDK_DEFAULT_REGION,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const app = new cdk.App();
|
|
54
|
+
|
|
55
|
+
const serviceName = (app.node.tryGetContext('serviceName') as string | undefined) ?? '${inferredName}';
|
|
56
|
+
|
|
57
|
+
new ${className}(app, serviceName, { env, serviceName });
|
|
58
|
+
|
|
59
|
+
app.synth();
|
|
60
|
+
`,
|
|
28
61
|
});
|
|
29
62
|
}
|
|
30
63
|
}
|
|
@@ -34,8 +67,8 @@ Projalf[_a] = { fqn: "projalf.Projalf", version: "0.0.0" };
|
|
|
34
67
|
function inferNameFromGit() {
|
|
35
68
|
try {
|
|
36
69
|
const remote = cp
|
|
37
|
-
.execSync(
|
|
38
|
-
stdio: [
|
|
70
|
+
.execSync('git config --get remote.origin.url', {
|
|
71
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
39
72
|
})
|
|
40
73
|
.toString()
|
|
41
74
|
.trim();
|
|
@@ -51,4 +84,12 @@ function inferNameFromGit() {
|
|
|
51
84
|
function inferNameFromCwd() {
|
|
52
85
|
return path.basename(process.cwd());
|
|
53
86
|
}
|
|
54
|
-
|
|
87
|
+
function toPascalCase(input) {
|
|
88
|
+
return input
|
|
89
|
+
.replace(/[^a-zA-Z0-9]+/g, ' ')
|
|
90
|
+
.split(' ')
|
|
91
|
+
.filter(Boolean)
|
|
92
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
93
|
+
.join('');
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixtQ0FBd0Q7QUFJeEQsTUFBYSxPQUFRLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQUNyRCxZQUFZLE9BQXVCO1FBQ2pDLE1BQU0sWUFBWSxHQUNoQixPQUFPLENBQUMsSUFBSSxJQUFJLGdCQUFnQixFQUFFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMzRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTVDLE1BQU0sYUFBYSxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQXlCLENBQUM7UUFDNUUsSUFBSSxhQUFhLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQzNDLENBQUM7UUFFRCxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsWUFBWTtZQUNsQixvQkFBb0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTTtZQUM1RCxjQUFjLEVBQ1osT0FBTyxDQUFDLGNBQWMsSUFBSSxtQkFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUc7WUFDN0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSTtZQUN0QyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQzNDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTtTQUMvQixDQUFDLENBQUM7UUFFSCxJQUFJLG1CQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sUUFBUSxLQUFLLEVBQUU7WUFDekMsUUFBUSxFQUFFOzs7bUJBR0csU0FBUzs7OztlQUliLFNBQVM7cURBQzZCLFNBQVM7Ozs7Q0FJN0Q7U0FDSSxDQUFDLENBQUM7UUFFSCxJQUFJLG1CQUFVLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNsQyxRQUFRLEVBQUU7V0FDTCxTQUFTLGNBQWMsUUFBUTs7Ozs7Ozs7O3dGQVM4QyxZQUFZOztNQUU5RixTQUFTOzs7Q0FHZDtTQUNJLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBM0RILDBCQTREQzs7O0FBRUQsU0FBUyxnQkFBZ0I7SUFDdkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsRUFBRTthQUNkLFFBQVEsQ0FBQyxvQ0FBb0MsRUFBRTtZQUM5QyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztTQUNwQyxDQUFDO2FBQ0QsUUFBUSxFQUFFO2FBQ1YsSUFBSSxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsS0FBYTtJQUNqQyxPQUFPLEtBQUs7U0FDVCxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDO1NBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCwgU2FtcGxlRmlsZSB9IGZyb20gJ3Byb2plbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamFsZk9wdGlvbnMgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge31cblxuZXhwb3J0IGNsYXNzIFByb2phbGYgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFByb2phbGZPcHRpb25zKSB7XG4gICAgY29uc3QgaW5mZXJyZWROYW1lID1cbiAgICAgIG9wdGlvbnMubmFtZSA/PyBpbmZlck5hbWVGcm9tR2l0KCkgPz8gaW5mZXJOYW1lRnJvbUN3ZCgpO1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpO1xuICAgIGNvbnN0IGZpbGVCYXNlID0gaW5mZXJyZWROYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjb25zdCBtZXJnZWRDb250ZXh0ID0geyAuLi4ob3B0aW9ucy5jb250ZXh0ID8/IHt9KSB9IGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZTtcbiAgICB9XG5cbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogaW5mZXJyZWROYW1lLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2ggPz8gJ21haW4nLFxuICAgICAgcGFja2FnZU1hbmFnZXI6XG4gICAgICAgIG9wdGlvbnMucGFja2FnZU1hbmFnZXIgPz8gamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuTlBNLFxuICAgICAgcHJvamVucmNUczogb3B0aW9ucy5wcm9qZW5yY1RzID8/IHRydWUsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gPz8gJzIuMTU2LjAnLFxuICAgICAgY29udGV4dDogbWVyZ2VkQ29udGV4dCxcbiAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgIGRldkRlcHM6IG9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICB9KTtcblxuICAgIG5ldyBTYW1wbGVGaWxlKHRoaXMsIGBzcmMvJHtmaWxlQmFzZX0udHNgLCB7XG4gICAgICBjb250ZW50czogYGltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSAke2NsYXNzTmFtZX1Qcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzICR7Y2xhc3NOYW1lfSBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiAke2NsYXNzTmFtZX1Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG59XG5gLFxuICAgIH0pO1xuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcywgJ3NyYy9tYWluLnRzJywge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgJHtjbGFzc05hbWV9IH0gZnJvbSAnLi8ke2ZpbGVCYXNlfSc7XG5cbmNvbnN0IGVudiA9IHtcbiAgYWNjb3VudDogcHJvY2Vzcy5lbnYuQ0RLX0RFUExPWV9BQ0NPVU5UID8/IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQsXG4gIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQ0RLX0RFUExPWV9SRUdJT04gPz8gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OLFxufTtcblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcblxuY29uc3Qgc2VydmljZU5hbWUgPSAoYXBwLm5vZGUudHJ5R2V0Q29udGV4dCgnc2VydmljZU5hbWUnKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpID8/ICcke2luZmVycmVkTmFtZX0nO1xuXG5uZXcgJHtjbGFzc05hbWV9KGFwcCwgc2VydmljZU5hbWUsIHsgZW52LCBzZXJ2aWNlTmFtZSB9KTtcblxuYXBwLnN5bnRoKCk7XG5gLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21HaXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZW1vdGUgPSBjcFxuICAgICAgLmV4ZWNTeW5jKCdnaXQgY29uZmlnIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsJywge1xuICAgICAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdpZ25vcmUnXSxcbiAgICAgIH0pXG4gICAgICAudG9TdHJpbmcoKVxuICAgICAgLnRyaW0oKTtcbiAgICBpZiAoIXJlbW90ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBtYXRjaCA9IHJlbW90ZS5tYXRjaCgvXFwvKFteXFwvXSs/KSg/OlxcLmdpdCk/JC8pO1xuICAgIHJldHVybiBtYXRjaD8uWzFdO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21Dd2QoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSk7XG59XG5cbmZ1bmN0aW9uIHRvUGFzY2FsQ2FzZShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlucHV0XG4gICAgLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgJyAnKVxuICAgIC5zcGxpdCgnICcpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oJycpO1xufVxuIl19
|