@nikovirtala/projen-constructs 0.4.1 → 0.5.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.
@@ -0,0 +1,77 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.AwsCdkAppSampleCode = void 0;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ const projen_1 = require("projen");
40
+ /**
41
+ * Makes projen's sample code of AWS CDK TypeScript apps runnable with Node.js's native TypeScript
42
+ * support and `verbatimModuleSyntax`.
43
+ *
44
+ * Projen writes `<srcdir>/<entrypoint>` when the source directory has no TypeScript files. Its
45
+ * import of `StackProps` isn't marked as type-only, which `verbatimModuleSyntax` rejects and which
46
+ * fails at runtime when Node.js strips types: aws-cdk-lib has no `StackProps` export.
47
+ *
48
+ * Only a file that still matches projen's sample is changed, never code written by hand.
49
+ *
50
+ * @internal
51
+ */
52
+ class AwsCdkAppSampleCode extends projen_1.Component {
53
+ app;
54
+ constructor(project) {
55
+ super(project);
56
+ this.app = project;
57
+ }
58
+ /**
59
+ * Runs after projen's sample code component, which the project constructor adds before any
60
+ * component of this library, so the sample exists by now.
61
+ */
62
+ synthesize() {
63
+ super.synthesize();
64
+ const entrypoint = path.join(this.app.outdir, this.app.srcdir, this.app.appEntrypoint);
65
+ if (!fs.existsSync(entrypoint)) {
66
+ return;
67
+ }
68
+ const sampleImport = "import { App, Stack, StackProps } from 'aws-cdk-lib';\n";
69
+ const contents = fs.readFileSync(entrypoint, "utf-8");
70
+ if (!contents.startsWith(sampleImport) || !contents.includes("\nexport class MyStack extends Stack {")) {
71
+ return;
72
+ }
73
+ fs.writeFileSync(entrypoint, contents.replace(sampleImport, "import { App, Stack, type StackProps } from 'aws-cdk-lib';\n"));
74
+ }
75
+ }
76
+ exports.AwsCdkAppSampleCode = AwsCdkAppSampleCode;
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXR5cGVzY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmF0aXZlLXR5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQThCO0FBQzlCLGdEQUFrQztBQUNsQyxtQ0FBZ0Q7QUFFaEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLGtCQUFTO0lBQzdCLEdBQUcsQ0FBNkI7SUFFakQsWUFBWSxPQUFtQztRQUMzQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ2EsVUFBVTtRQUN0QixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXZGLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyx5REFBeUQsQ0FBQztRQUMvRSxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsd0NBQXdDLENBQUMsRUFBRSxDQUFDO1lBQ3JHLE9BQU87UUFDWCxDQUFDO1FBRUQsRUFBRSxDQUFDLGFBQWEsQ0FDWixVQUFVLEVBQ1YsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsOERBQThELENBQUMsQ0FDakcsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQWpDRCxrREFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyB0eXBlIGF3c2NkaywgQ29tcG9uZW50IH0gZnJvbSBcInByb2plblwiO1xuXG4vKipcbiAqIE1ha2VzIHByb2plbidzIHNhbXBsZSBjb2RlIG9mIEFXUyBDREsgVHlwZVNjcmlwdCBhcHBzIHJ1bm5hYmxlIHdpdGggTm9kZS5qcydzIG5hdGl2ZSBUeXBlU2NyaXB0XG4gKiBzdXBwb3J0IGFuZCBgdmVyYmF0aW1Nb2R1bGVTeW50YXhgLlxuICpcbiAqIFByb2plbiB3cml0ZXMgYDxzcmNkaXI+LzxlbnRyeXBvaW50PmAgd2hlbiB0aGUgc291cmNlIGRpcmVjdG9yeSBoYXMgbm8gVHlwZVNjcmlwdCBmaWxlcy4gSXRzXG4gKiBpbXBvcnQgb2YgYFN0YWNrUHJvcHNgIGlzbid0IG1hcmtlZCBhcyB0eXBlLW9ubHksIHdoaWNoIGB2ZXJiYXRpbU1vZHVsZVN5bnRheGAgcmVqZWN0cyBhbmQgd2hpY2hcbiAqIGZhaWxzIGF0IHJ1bnRpbWUgd2hlbiBOb2RlLmpzIHN0cmlwcyB0eXBlczogYXdzLWNkay1saWIgaGFzIG5vIGBTdGFja1Byb3BzYCBleHBvcnQuXG4gKlxuICogT25seSBhIGZpbGUgdGhhdCBzdGlsbCBtYXRjaGVzIHByb2plbidzIHNhbXBsZSBpcyBjaGFuZ2VkLCBuZXZlciBjb2RlIHdyaXR0ZW4gYnkgaGFuZC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEF3c0Nka0FwcFNhbXBsZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcDtcblxuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwKSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuICAgICAgICB0aGlzLmFwcCA9IHByb2plY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUnVucyBhZnRlciBwcm9qZW4ncyBzYW1wbGUgY29kZSBjb21wb25lbnQsIHdoaWNoIHRoZSBwcm9qZWN0IGNvbnN0cnVjdG9yIGFkZHMgYmVmb3JlIGFueVxuICAgICAqIGNvbXBvbmVudCBvZiB0aGlzIGxpYnJhcnksIHNvIHRoZSBzYW1wbGUgZXhpc3RzIGJ5IG5vdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc3ludGhlc2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGVudHJ5cG9pbnQgPSBwYXRoLmpvaW4odGhpcy5hcHAub3V0ZGlyLCB0aGlzLmFwcC5zcmNkaXIsIHRoaXMuYXBwLmFwcEVudHJ5cG9pbnQpO1xuXG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhlbnRyeXBvaW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FtcGxlSW1wb3J0ID0gXCJpbXBvcnQgeyBBcHAsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xcblwiO1xuICAgICAgICBjb25zdCBjb250ZW50cyA9IGZzLnJlYWRGaWxlU3luYyhlbnRyeXBvaW50LCBcInV0Zi04XCIpO1xuXG4gICAgICAgIGlmICghY29udGVudHMuc3RhcnRzV2l0aChzYW1wbGVJbXBvcnQpIHx8ICFjb250ZW50cy5pbmNsdWRlcyhcIlxcbmV4cG9ydCBjbGFzcyBNeVN0YWNrIGV4dGVuZHMgU3RhY2sge1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgICAgICBjb250ZW50cy5yZXBsYWNlKHNhbXBsZUltcG9ydCwgXCJpbXBvcnQgeyBBcHAsIFN0YWNrLCB0eXBlIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XFxuXCIpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -428,7 +428,7 @@ class TypeScriptClassRenderer {
428
428
  */
429
429
  class ProjectGenerator extends projen.Component {
430
430
  options;
431
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.ProjectGenerator", version: "0.4.1" };
431
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.ProjectGenerator", version: "0.5.1" };
432
432
  renderer;
433
433
  static enumGenerated = false;
434
434
  /**
@@ -15,7 +15,7 @@ const utils_1 = require("../utils");
15
15
  * Extends Projen's base class with opinionated defaults and automatic component setup.
16
16
  */
17
17
  class AwsCdkConstructLibraryProject extends projen_1.awscdk.AwsCdkConstructLibrary {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.4.1" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.5.1" };
19
19
  /**
20
20
  * @param options - Project configuration
21
21
  */
@@ -15,7 +15,7 @@ const utils_1 = require("../utils");
15
15
  * Extends Projen's base class with opinionated defaults and automatic component setup.
16
16
  */
17
17
  class AwsCdkTypeScriptAppProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.4.1" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.5.1" };
19
19
  /**
20
20
  * @param options - Project configuration
21
21
  */
@@ -16,7 +16,7 @@ const utils_1 = require("../utils");
16
16
  * Extends Projen's base class with opinionated defaults and automatic component setup.
17
17
  */
18
18
  class JsiiProject extends projen_1.cdk.JsiiProject {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.4.1" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.5.1" };
20
20
  /**
21
21
  * @param options - Project configuration
22
22
  */
@@ -15,7 +15,7 @@ const utils_1 = require("../utils");
15
15
  * Extends Projen's base class with opinionated defaults and automatic component setup.
16
16
  */
17
17
  class TypeScriptProject extends projen_1.typescript.TypeScriptProject {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.4.1" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.5.1" };
19
19
  /**
20
20
  * @param options - Project configuration
21
21
  */
package/package.json CHANGED
@@ -60,7 +60,7 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "version": "0.4.1",
63
+ "version": "0.5.1",
64
64
  "types": "lib/index.d.ts",
65
65
  "jsii": {
66
66
  "outdir": "dist",