@nikovirtala/projen-constructs 0.1.7 → 0.2.0
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 +659 -84
- package/API.md +807 -36
- package/README.md +37 -8
- package/lib/components/typedoc-config.d.ts +321 -0
- package/lib/components/typedoc-config.js +73 -1
- package/lib/components/typedoc.d.ts +19 -0
- package/lib/components/typedoc.js +10 -1
- package/lib/components/vitest.d.ts +197 -0
- package/lib/components/vitest.js +72 -2
- package/lib/config.d.ts +4 -4
- package/lib/errors.d.ts +16 -0
- package/lib/errors.js +26 -2
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/project-generator.d.ts +95 -73
- package/lib/project-generator.js +362 -77
- package/lib/project-type.d.ts +94 -0
- package/lib/project-type.js +99 -0
- package/lib/projects/awscdk-construct-library.generated.js +4 -4
- package/lib/projects/awscdk-typescript-app.generated.js +4 -4
- package/lib/projects/jsii.generated.js +4 -4
- package/lib/projects/typescript.generated.js +4 -4
- package/lib/utils.d.ts +2 -2
- package/lib/utils.js +3 -3
- package/package.json +1 -1
- package/scripts/generate-project-types.ts +103 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum defining all supported project types
|
|
3
|
+
*
|
|
4
|
+
* Each project type corresponds to a generated project class and its configuration
|
|
5
|
+
* in the defaultOptions structure.
|
|
6
|
+
*
|
|
7
|
+
* @generated Automatically generated from Projen's JSII manifest
|
|
8
|
+
*/
|
|
9
|
+
export declare enum ProjectType {
|
|
10
|
+
/**
|
|
11
|
+
* AWS CDK construct library project.
|
|
12
|
+
*/
|
|
13
|
+
AWS_CDK_CONSTRUCT_LIBRARY = "awscdk.AwsCdkConstructLibrary",
|
|
14
|
+
/**
|
|
15
|
+
* AWS CDK app in Java.
|
|
16
|
+
*/
|
|
17
|
+
AWS_CDK_JAVA_APP = "awscdk.AwsCdkJavaApp",
|
|
18
|
+
/**
|
|
19
|
+
* AWS CDK app in Python.
|
|
20
|
+
*/
|
|
21
|
+
AWS_CDK_PYTHON_APP = "awscdk.AwsCdkPythonApp",
|
|
22
|
+
/**
|
|
23
|
+
* AWS CDK app in TypeScript.
|
|
24
|
+
*/
|
|
25
|
+
AWS_CDK_TYPE_SCRIPT_APP = "awscdk.AwsCdkTypeScriptApp",
|
|
26
|
+
/**
|
|
27
|
+
* CDK8s app in Python.
|
|
28
|
+
*/
|
|
29
|
+
CDK8S_PYTHON_APP = "cdk8s.Cdk8sPythonApp",
|
|
30
|
+
/**
|
|
31
|
+
* CDK8s app in TypeScript.
|
|
32
|
+
*/
|
|
33
|
+
CDK8S_TYPE_SCRIPT_APP = "cdk8s.Cdk8sTypeScriptApp",
|
|
34
|
+
/**
|
|
35
|
+
* ConstructLibraryAws
|
|
36
|
+
*/
|
|
37
|
+
CONSTRUCT_LIBRARY_AWS = "awscdk.ConstructLibraryAws",
|
|
38
|
+
/**
|
|
39
|
+
* CDK8s construct library project.
|
|
40
|
+
*/
|
|
41
|
+
CONSTRUCT_LIBRARY_CDK8S = "cdk8s.ConstructLibraryCdk8s",
|
|
42
|
+
/**
|
|
43
|
+
* CDKTF construct library project.
|
|
44
|
+
*/
|
|
45
|
+
CONSTRUCT_LIBRARY_CDKTF = "cdktf.ConstructLibraryCdktf",
|
|
46
|
+
/**
|
|
47
|
+
* GitHub-based project.
|
|
48
|
+
*/
|
|
49
|
+
GIT_HUB_PROJECT = "github.GitHubProject",
|
|
50
|
+
/**
|
|
51
|
+
* Java project.
|
|
52
|
+
*/
|
|
53
|
+
JAVA_PROJECT = "java.JavaProject",
|
|
54
|
+
/**
|
|
55
|
+
* Multi-language jsii library project.
|
|
56
|
+
*/
|
|
57
|
+
JSII_PROJECT = "cdk.JsiiProject",
|
|
58
|
+
/**
|
|
59
|
+
* Next.js project using JavaScript.
|
|
60
|
+
*/
|
|
61
|
+
NEXT_JS_PROJECT = "web.NextJsProject",
|
|
62
|
+
/**
|
|
63
|
+
* Next.js project using TypeScript.
|
|
64
|
+
*/
|
|
65
|
+
NEXT_JS_TYPE_SCRIPT_PROJECT = "web.NextJsTypeScriptProject",
|
|
66
|
+
/**
|
|
67
|
+
* Node.js project.
|
|
68
|
+
*/
|
|
69
|
+
NODE_PROJECT = "javascript.NodeProject",
|
|
70
|
+
/**
|
|
71
|
+
* Python project.
|
|
72
|
+
*/
|
|
73
|
+
PYTHON_PROJECT = "python.PythonProject",
|
|
74
|
+
/**
|
|
75
|
+
* React project using JavaScript.
|
|
76
|
+
*/
|
|
77
|
+
REACT_PROJECT = "web.ReactProject",
|
|
78
|
+
/**
|
|
79
|
+
* React project using TypeScript.
|
|
80
|
+
*/
|
|
81
|
+
REACT_TYPE_SCRIPT_PROJECT = "web.ReactTypeScriptProject",
|
|
82
|
+
/**
|
|
83
|
+
* TypeScript app.
|
|
84
|
+
*/
|
|
85
|
+
TYPE_SCRIPT_APP_PROJECT = "typescript.TypeScriptAppProject",
|
|
86
|
+
/**
|
|
87
|
+
* TypeScriptLibraryProject
|
|
88
|
+
*/
|
|
89
|
+
TYPE_SCRIPT_LIBRARY_PROJECT = "typescript.TypeScriptLibraryProject",
|
|
90
|
+
/**
|
|
91
|
+
* TypeScript project.
|
|
92
|
+
*/
|
|
93
|
+
TYPE_SCRIPT_PROJECT = "typescript.TypeScriptProject"
|
|
94
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enum defining all supported project types
|
|
6
|
+
*
|
|
7
|
+
* Each project type corresponds to a generated project class and its configuration
|
|
8
|
+
* in the defaultOptions structure.
|
|
9
|
+
*
|
|
10
|
+
* @generated Automatically generated from Projen's JSII manifest
|
|
11
|
+
*/
|
|
12
|
+
var ProjectType;
|
|
13
|
+
(function (ProjectType) {
|
|
14
|
+
/**
|
|
15
|
+
* AWS CDK construct library project.
|
|
16
|
+
*/
|
|
17
|
+
ProjectType["AWS_CDK_CONSTRUCT_LIBRARY"] = "awscdk.AwsCdkConstructLibrary";
|
|
18
|
+
/**
|
|
19
|
+
* AWS CDK app in Java.
|
|
20
|
+
*/
|
|
21
|
+
ProjectType["AWS_CDK_JAVA_APP"] = "awscdk.AwsCdkJavaApp";
|
|
22
|
+
/**
|
|
23
|
+
* AWS CDK app in Python.
|
|
24
|
+
*/
|
|
25
|
+
ProjectType["AWS_CDK_PYTHON_APP"] = "awscdk.AwsCdkPythonApp";
|
|
26
|
+
/**
|
|
27
|
+
* AWS CDK app in TypeScript.
|
|
28
|
+
*/
|
|
29
|
+
ProjectType["AWS_CDK_TYPE_SCRIPT_APP"] = "awscdk.AwsCdkTypeScriptApp";
|
|
30
|
+
/**
|
|
31
|
+
* CDK8s app in Python.
|
|
32
|
+
*/
|
|
33
|
+
ProjectType["CDK8S_PYTHON_APP"] = "cdk8s.Cdk8sPythonApp";
|
|
34
|
+
/**
|
|
35
|
+
* CDK8s app in TypeScript.
|
|
36
|
+
*/
|
|
37
|
+
ProjectType["CDK8S_TYPE_SCRIPT_APP"] = "cdk8s.Cdk8sTypeScriptApp";
|
|
38
|
+
/**
|
|
39
|
+
* ConstructLibraryAws
|
|
40
|
+
*/
|
|
41
|
+
ProjectType["CONSTRUCT_LIBRARY_AWS"] = "awscdk.ConstructLibraryAws";
|
|
42
|
+
/**
|
|
43
|
+
* CDK8s construct library project.
|
|
44
|
+
*/
|
|
45
|
+
ProjectType["CONSTRUCT_LIBRARY_CDK8S"] = "cdk8s.ConstructLibraryCdk8s";
|
|
46
|
+
/**
|
|
47
|
+
* CDKTF construct library project.
|
|
48
|
+
*/
|
|
49
|
+
ProjectType["CONSTRUCT_LIBRARY_CDKTF"] = "cdktf.ConstructLibraryCdktf";
|
|
50
|
+
/**
|
|
51
|
+
* GitHub-based project.
|
|
52
|
+
*/
|
|
53
|
+
ProjectType["GIT_HUB_PROJECT"] = "github.GitHubProject";
|
|
54
|
+
/**
|
|
55
|
+
* Java project.
|
|
56
|
+
*/
|
|
57
|
+
ProjectType["JAVA_PROJECT"] = "java.JavaProject";
|
|
58
|
+
/**
|
|
59
|
+
* Multi-language jsii library project.
|
|
60
|
+
*/
|
|
61
|
+
ProjectType["JSII_PROJECT"] = "cdk.JsiiProject";
|
|
62
|
+
/**
|
|
63
|
+
* Next.js project using JavaScript.
|
|
64
|
+
*/
|
|
65
|
+
ProjectType["NEXT_JS_PROJECT"] = "web.NextJsProject";
|
|
66
|
+
/**
|
|
67
|
+
* Next.js project using TypeScript.
|
|
68
|
+
*/
|
|
69
|
+
ProjectType["NEXT_JS_TYPE_SCRIPT_PROJECT"] = "web.NextJsTypeScriptProject";
|
|
70
|
+
/**
|
|
71
|
+
* Node.js project.
|
|
72
|
+
*/
|
|
73
|
+
ProjectType["NODE_PROJECT"] = "javascript.NodeProject";
|
|
74
|
+
/**
|
|
75
|
+
* Python project.
|
|
76
|
+
*/
|
|
77
|
+
ProjectType["PYTHON_PROJECT"] = "python.PythonProject";
|
|
78
|
+
/**
|
|
79
|
+
* React project using JavaScript.
|
|
80
|
+
*/
|
|
81
|
+
ProjectType["REACT_PROJECT"] = "web.ReactProject";
|
|
82
|
+
/**
|
|
83
|
+
* React project using TypeScript.
|
|
84
|
+
*/
|
|
85
|
+
ProjectType["REACT_TYPE_SCRIPT_PROJECT"] = "web.ReactTypeScriptProject";
|
|
86
|
+
/**
|
|
87
|
+
* TypeScript app.
|
|
88
|
+
*/
|
|
89
|
+
ProjectType["TYPE_SCRIPT_APP_PROJECT"] = "typescript.TypeScriptAppProject";
|
|
90
|
+
/**
|
|
91
|
+
* TypeScriptLibraryProject
|
|
92
|
+
*/
|
|
93
|
+
ProjectType["TYPE_SCRIPT_LIBRARY_PROJECT"] = "typescript.TypeScriptLibraryProject";
|
|
94
|
+
/**
|
|
95
|
+
* TypeScript project.
|
|
96
|
+
*/
|
|
97
|
+
ProjectType["TYPE_SCRIPT_PROJECT"] = "typescript.TypeScriptProject";
|
|
98
|
+
})(ProjectType || (exports.ProjectType = ProjectType = {}));
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb2plY3QtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7OztHQU9HO0FBQ0gsSUFBWSxXQTBHWDtBQTFHRCxXQUFZLFdBQVc7SUFDbkI7O09BRUc7SUFDSCwwRUFBMkQsQ0FBQTtJQUUzRDs7T0FFRztJQUNILHdEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsNERBQTZDLENBQUE7SUFFN0M7O09BRUc7SUFDSCxxRUFBc0QsQ0FBQTtJQUV0RDs7T0FFRztJQUNILHdEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsaUVBQWtELENBQUE7SUFFbEQ7O09BRUc7SUFDSCxtRUFBb0QsQ0FBQTtJQUVwRDs7T0FFRztJQUNILHNFQUF1RCxDQUFBO0lBRXZEOztPQUVHO0lBQ0gsc0VBQXVELENBQUE7SUFFdkQ7O09BRUc7SUFDSCx1REFBd0MsQ0FBQTtJQUV4Qzs7T0FFRztJQUNILGdEQUFpQyxDQUFBO0lBRWpDOztPQUVHO0lBQ0gsK0NBQWdDLENBQUE7SUFFaEM7O09BRUc7SUFDSCxvREFBcUMsQ0FBQTtJQUVyQzs7T0FFRztJQUNILDBFQUEyRCxDQUFBO0lBRTNEOztPQUVHO0lBQ0gsc0RBQXVDLENBQUE7SUFFdkM7O09BRUc7SUFDSCxzREFBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILGlEQUFrQyxDQUFBO0lBRWxDOztPQUVHO0lBQ0gsdUVBQXdELENBQUE7SUFFeEQ7O09BRUc7SUFDSCwwRUFBMkQsQ0FBQTtJQUUzRDs7T0FFRztJQUNILGtGQUFtRSxDQUFBO0lBRW5FOztPQUVHO0lBQ0gsbUVBQW9ELENBQUE7QUFFeEQsQ0FBQyxFQTFHVyxXQUFXLDJCQUFYLFdBQVcsUUEwR3RCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIGRlZmluaW5nIGFsbCBzdXBwb3J0ZWQgcHJvamVjdCB0eXBlc1xuICpcbiAqIEVhY2ggcHJvamVjdCB0eXBlIGNvcnJlc3BvbmRzIHRvIGEgZ2VuZXJhdGVkIHByb2plY3QgY2xhc3MgYW5kIGl0cyBjb25maWd1cmF0aW9uXG4gKiBpbiB0aGUgZGVmYXVsdE9wdGlvbnMgc3RydWN0dXJlLlxuICpcbiAqIEBnZW5lcmF0ZWQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBQcm9qZW4ncyBKU0lJIG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBlbnVtIFByb2plY3RUeXBlIHtcbiAgICAvKipcbiAgICAgKiBBV1MgQ0RLIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3QuXG4gICAgICovXG4gICAgQVdTX0NES19DT05TVFJVQ1RfTElCUkFSWSA9IFwiYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlcIixcblxuICAgIC8qKlxuICAgICAqIEFXUyBDREsgYXBwIGluIEphdmEuXG4gICAgICovXG4gICAgQVdTX0NES19KQVZBX0FQUCA9IFwiYXdzY2RrLkF3c0Nka0phdmFBcHBcIixcblxuICAgIC8qKlxuICAgICAqIEFXUyBDREsgYXBwIGluIFB5dGhvbi5cbiAgICAgKi9cbiAgICBBV1NfQ0RLX1BZVEhPTl9BUFAgPSBcImF3c2Nkay5Bd3NDZGtQeXRob25BcHBcIixcblxuICAgIC8qKlxuICAgICAqIEFXUyBDREsgYXBwIGluIFR5cGVTY3JpcHQuXG4gICAgICovXG4gICAgQVdTX0NES19UWVBFX1NDUklQVF9BUFAgPSBcImF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwXCIsXG5cbiAgICAvKipcbiAgICAgKiBDREs4cyBhcHAgaW4gUHl0aG9uLlxuICAgICAqL1xuICAgIENESzhTX1BZVEhPTl9BUFAgPSBcImNkazhzLkNkazhzUHl0aG9uQXBwXCIsXG5cbiAgICAvKipcbiAgICAgKiBDREs4cyBhcHAgaW4gVHlwZVNjcmlwdC5cbiAgICAgKi9cbiAgICBDREs4U19UWVBFX1NDUklQVF9BUFAgPSBcImNkazhzLkNkazhzVHlwZVNjcmlwdEFwcFwiLFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0TGlicmFyeUF3c1xuICAgICAqL1xuICAgIENPTlNUUlVDVF9MSUJSQVJZX0FXUyA9IFwiYXdzY2RrLkNvbnN0cnVjdExpYnJhcnlBd3NcIixcblxuICAgIC8qKlxuICAgICAqIENESzhzIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3QuXG4gICAgICovXG4gICAgQ09OU1RSVUNUX0xJQlJBUllfQ0RLOFMgPSBcImNkazhzLkNvbnN0cnVjdExpYnJhcnlDZGs4c1wiLFxuXG4gICAgLyoqXG4gICAgICogQ0RLVEYgY29uc3RydWN0IGxpYnJhcnkgcHJvamVjdC5cbiAgICAgKi9cbiAgICBDT05TVFJVQ1RfTElCUkFSWV9DREtURiA9IFwiY2RrdGYuQ29uc3RydWN0TGlicmFyeUNka3RmXCIsXG5cbiAgICAvKipcbiAgICAgKiBHaXRIdWItYmFzZWQgcHJvamVjdC5cbiAgICAgKi9cbiAgICBHSVRfSFVCX1BST0pFQ1QgPSBcImdpdGh1Yi5HaXRIdWJQcm9qZWN0XCIsXG5cbiAgICAvKipcbiAgICAgKiBKYXZhIHByb2plY3QuXG4gICAgICovXG4gICAgSkFWQV9QUk9KRUNUID0gXCJqYXZhLkphdmFQcm9qZWN0XCIsXG5cbiAgICAvKipcbiAgICAgKiBNdWx0aS1sYW5ndWFnZSBqc2lpIGxpYnJhcnkgcHJvamVjdC5cbiAgICAgKi9cbiAgICBKU0lJX1BST0pFQ1QgPSBcImNkay5Kc2lpUHJvamVjdFwiLFxuXG4gICAgLyoqXG4gICAgICogTmV4dC5qcyBwcm9qZWN0IHVzaW5nIEphdmFTY3JpcHQuXG4gICAgICovXG4gICAgTkVYVF9KU19QUk9KRUNUID0gXCJ3ZWIuTmV4dEpzUHJvamVjdFwiLFxuXG4gICAgLyoqXG4gICAgICogTmV4dC5qcyBwcm9qZWN0IHVzaW5nIFR5cGVTY3JpcHQuXG4gICAgICovXG4gICAgTkVYVF9KU19UWVBFX1NDUklQVF9QUk9KRUNUID0gXCJ3ZWIuTmV4dEpzVHlwZVNjcmlwdFByb2plY3RcIixcblxuICAgIC8qKlxuICAgICAqIE5vZGUuanMgcHJvamVjdC5cbiAgICAgKi9cbiAgICBOT0RFX1BST0pFQ1QgPSBcImphdmFzY3JpcHQuTm9kZVByb2plY3RcIixcblxuICAgIC8qKlxuICAgICAqIFB5dGhvbiBwcm9qZWN0LlxuICAgICAqL1xuICAgIFBZVEhPTl9QUk9KRUNUID0gXCJweXRob24uUHl0aG9uUHJvamVjdFwiLFxuXG4gICAgLyoqXG4gICAgICogUmVhY3QgcHJvamVjdCB1c2luZyBKYXZhU2NyaXB0LlxuICAgICAqL1xuICAgIFJFQUNUX1BST0pFQ1QgPSBcIndlYi5SZWFjdFByb2plY3RcIixcblxuICAgIC8qKlxuICAgICAqIFJlYWN0IHByb2plY3QgdXNpbmcgVHlwZVNjcmlwdC5cbiAgICAgKi9cbiAgICBSRUFDVF9UWVBFX1NDUklQVF9QUk9KRUNUID0gXCJ3ZWIuUmVhY3RUeXBlU2NyaXB0UHJvamVjdFwiLFxuXG4gICAgLyoqXG4gICAgICogVHlwZVNjcmlwdCBhcHAuXG4gICAgICovXG4gICAgVFlQRV9TQ1JJUFRfQVBQX1BST0pFQ1QgPSBcInR5cGVzY3JpcHQuVHlwZVNjcmlwdEFwcFByb2plY3RcIixcblxuICAgIC8qKlxuICAgICAqIFR5cGVTY3JpcHRMaWJyYXJ5UHJvamVjdFxuICAgICAqL1xuICAgIFRZUEVfU0NSSVBUX0xJQlJBUllfUFJPSkVDVCA9IFwidHlwZXNjcmlwdC5UeXBlU2NyaXB0TGlicmFyeVByb2plY3RcIixcblxuICAgIC8qKlxuICAgICAqIFR5cGVTY3JpcHQgcHJvamVjdC5cbiAgICAgKi9cbiAgICBUWVBFX1NDUklQVF9QUk9KRUNUID0gXCJ0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0XCIsXG5cbn0iXX0=
|
|
@@ -20,14 +20,14 @@ class AwsCdkConstructLibraryProject extends projen_1.awscdk.AwsCdkConstructLibra
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(options) {
|
|
22
22
|
/* Separate component configuration from base Projen options */
|
|
23
|
-
const { mise, vitest,
|
|
23
|
+
const { mise, vitest, ...baseOptions } = options;
|
|
24
24
|
/* Merge default configuration with user options and initialize base class */
|
|
25
25
|
super((0, utils_1.deepMerge)(config_1.defaultOptions.awscdk.AwsCdkConstructLibrary, baseOptions));
|
|
26
26
|
/* Apply component defaults and instantiate enabled components */
|
|
27
|
-
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest
|
|
27
|
+
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest }]);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.AwsCdkConstructLibraryProject = AwsCdkConstructLibraryProject;
|
|
31
31
|
_a = JSII_RTTI_SYMBOL_1;
|
|
32
|
-
AwsCdkConstructLibraryProject[_a] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
AwsCdkConstructLibraryProject[_a] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.2.0" };
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC1saWJyYXJ5LmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9hd3NjZGstY29uc3RydWN0LWxpYnJhcnkuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkVBQTZFO0FBQzdFLG1DQUFnQztBQUNoQyw2Q0FBMEM7QUFDMUMsaURBQThDO0FBQzlDLHNDQUEwRDtBQUMxRCxvQ0FBcUM7QUFLckM7Ozs7R0FJRztBQUNILE1BQWEsNkJBQThCLFNBQVEsZUFBTSxDQUFDLHNCQUFzQjtJQUM1RTs7T0FFRztJQUNILFlBQVksT0FBNkM7UUFDckQsK0RBQStEO1FBQy9ELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWpELDZFQUE2RTtRQUM3RSxLQUFLLENBQUMsSUFBQSxpQkFBUyxFQUF1Qyx1QkFBYyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRWxILGlFQUFpRTtRQUNqRSxJQUFBLHNCQUFhLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDOztBQWJMLHNFQWNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgTWlzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL21pc2VcIjtcbmltcG9ydCB7IFZpdGVzdCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3ZpdGVzdFwiO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0cywgZGVmYXVsdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQXdzQ2RrQ29uc3RydWN0TGlicmFyeVByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vYXdzY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCB7IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay1jb25zdHJ1Y3QtbGlicmFyeS1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG4vKipcbiAqIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlQcm9qZWN0IHdpdGggc3RhbmRhcmQgY29uZmlndXJhdGlvbiBhbmQgY29tcG9uZW50IGludGVncmF0aW9uXG4gKlxuICogRXh0ZW5kcyBQcm9qZW4ncyBiYXNlIGNsYXNzIHdpdGggb3BpbmlvbmF0ZWQgZGVmYXVsdHMgYW5kIGF1dG9tYXRpYyBjb21wb25lbnQgc2V0dXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5UHJvamVjdCBleHRlbmRzIGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyAtIFByb2plY3QgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlQcm9qZWN0T3B0aW9ucykge1xuICAgICAgICAvKiBTZXBhcmF0ZSBjb21wb25lbnQgY29uZmlndXJhdGlvbiBmcm9tIGJhc2UgUHJvamVuIG9wdGlvbnMgKi9cbiAgICAgICAgY29uc3QgeyBtaXNlLCB2aXRlc3QsIC4uLmJhc2VPcHRpb25zIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIC8qIE1lcmdlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aXRoIHVzZXIgb3B0aW9ucyBhbmQgaW5pdGlhbGl6ZSBiYXNlIGNsYXNzICovXG4gICAgICAgIHN1cGVyKGRlZXBNZXJnZTxhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnM+KGRlZmF1bHRPcHRpb25zLmF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5LCBiYXNlT3B0aW9ucykpO1xuXG4gICAgICAgIC8qIEFwcGx5IGNvbXBvbmVudCBkZWZhdWx0cyBhbmQgaW5zdGFudGlhdGUgZW5hYmxlZCBjb21wb25lbnRzICovXG4gICAgICAgIGFwcGx5RGVmYXVsdHModGhpcywgW3sgY29tcG9uZW50OiBNaXNlLCBlbmFibGVkOiBtaXNlIH0sIHsgY29tcG9uZW50OiBWaXRlc3QsIGVuYWJsZWQ6IHZpdGVzdCB9XSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -20,14 +20,14 @@ class AwsCdkTypeScriptAppProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(options) {
|
|
22
22
|
/* Separate component configuration from base Projen options */
|
|
23
|
-
const { mise, vitest,
|
|
23
|
+
const { mise, vitest, ...baseOptions } = options;
|
|
24
24
|
/* Merge default configuration with user options and initialize base class */
|
|
25
25
|
super((0, utils_1.deepMerge)(config_1.defaultOptions.awscdk.AwsCdkTypeScriptApp, baseOptions));
|
|
26
26
|
/* Apply component defaults and instantiate enabled components */
|
|
27
|
-
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest
|
|
27
|
+
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest }]);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.AwsCdkTypeScriptAppProject = AwsCdkTypeScriptAppProject;
|
|
31
31
|
_a = JSII_RTTI_SYMBOL_1;
|
|
32
|
-
AwsCdkTypeScriptAppProject[_a] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
AwsCdkTypeScriptAppProject[_a] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.2.0" };
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLXR5cGVzY3JpcHQtYXBwLmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9hd3NjZGstdHlwZXNjcmlwdC1hcHAuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkVBQTZFO0FBQzdFLG1DQUFnQztBQUNoQyw2Q0FBMEM7QUFDMUMsaURBQThDO0FBQzlDLHNDQUEwRDtBQUMxRCxvQ0FBcUM7QUFLckM7Ozs7R0FJRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQUN0RTs7T0FFRztJQUNILFlBQVksT0FBMEM7UUFDbEQsK0RBQStEO1FBQy9ELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWpELDZFQUE2RTtRQUM3RSxLQUFLLENBQUMsSUFBQSxpQkFBUyxFQUFvQyx1QkFBYyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTVHLGlFQUFpRTtRQUNqRSxJQUFBLHNCQUFhLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDOztBQWJMLGdFQWNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgTWlzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL21pc2VcIjtcbmltcG9ydCB7IFZpdGVzdCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3ZpdGVzdFwiO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0cywgZGVmYXVsdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQXdzQ2RrVHlwZVNjcmlwdEFwcFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vYXdzY2RrLXR5cGVzY3JpcHQtYXBwLW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHBQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay10eXBlc2NyaXB0LWFwcC1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG4vKipcbiAqIEF3c0Nka1R5cGVTY3JpcHRBcHBQcm9qZWN0IHdpdGggc3RhbmRhcmQgY29uZmlndXJhdGlvbiBhbmQgY29tcG9uZW50IGludGVncmF0aW9uXG4gKlxuICogRXh0ZW5kcyBQcm9qZW4ncyBiYXNlIGNsYXNzIHdpdGggb3BpbmlvbmF0ZWQgZGVmYXVsdHMgYW5kIGF1dG9tYXRpYyBjb21wb25lbnQgc2V0dXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtUeXBlU2NyaXB0QXBwUHJvamVjdCBleHRlbmRzIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyAtIFByb2plY3QgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka1R5cGVTY3JpcHRBcHBQcm9qZWN0T3B0aW9ucykge1xuICAgICAgICAvKiBTZXBhcmF0ZSBjb21wb25lbnQgY29uZmlndXJhdGlvbiBmcm9tIGJhc2UgUHJvamVuIG9wdGlvbnMgKi9cbiAgICAgICAgY29uc3QgeyBtaXNlLCB2aXRlc3QsIC4uLmJhc2VPcHRpb25zIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIC8qIE1lcmdlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aXRoIHVzZXIgb3B0aW9ucyBhbmQgaW5pdGlhbGl6ZSBiYXNlIGNsYXNzICovXG4gICAgICAgIHN1cGVyKGRlZXBNZXJnZTxhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnM+KGRlZmF1bHRPcHRpb25zLmF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBiYXNlT3B0aW9ucykpO1xuXG4gICAgICAgIC8qIEFwcGx5IGNvbXBvbmVudCBkZWZhdWx0cyBhbmQgaW5zdGFudGlhdGUgZW5hYmxlZCBjb21wb25lbnRzICovXG4gICAgICAgIGFwcGx5RGVmYXVsdHModGhpcywgW3sgY29tcG9uZW50OiBNaXNlLCBlbmFibGVkOiBtaXNlIH0sIHsgY29tcG9uZW50OiBWaXRlc3QsIGVuYWJsZWQ6IHZpdGVzdCB9XSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -20,14 +20,14 @@ class JsiiProject extends projen_1.cdk.JsiiProject {
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(options) {
|
|
22
22
|
/* Separate component configuration from base Projen options */
|
|
23
|
-
const { mise, vitest,
|
|
23
|
+
const { mise, vitest, ...baseOptions } = options;
|
|
24
24
|
/* Merge default configuration with user options and initialize base class */
|
|
25
25
|
super((0, utils_1.deepMerge)(config_1.defaultOptions.cdk.JsiiProject, baseOptions));
|
|
26
26
|
/* Apply component defaults and instantiate enabled components */
|
|
27
|
-
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest
|
|
27
|
+
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest }]);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.JsiiProject = JsiiProject;
|
|
31
31
|
_a = JSII_RTTI_SYMBOL_1;
|
|
32
|
-
JsiiProject[_a] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
JsiiProject[_a] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.2.0" };
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvanNpaS5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2RUFBNkU7QUFDN0UsbUNBQTZCO0FBQzdCLDZDQUEwQztBQUMxQyxpREFBOEM7QUFDOUMsc0NBQTBEO0FBQzFELG9DQUFxQztBQUtyQzs7OztHQUlHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsWUFBRyxDQUFDLFdBQVc7SUFDNUM7O09BRUc7SUFDSCxZQUFZLE9BQTJCO1FBQ25DLCtEQUErRDtRQUMvRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVqRCw2RUFBNkU7UUFDN0UsS0FBSyxDQUFDLElBQUEsaUJBQVMsRUFBeUIsdUJBQWMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFdEYsaUVBQWlFO1FBQ2pFLElBQUEsc0JBQWEsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7O0FBYkwsa0NBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgeyBjZGsgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBNaXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvbWlzZVwiO1xuaW1wb3J0IHsgVml0ZXN0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvdml0ZXN0XCI7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRzLCBkZWZhdWx0T3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWdcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHR5cGUgeyBKc2lpUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi9qc2lpLW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCB7IEpzaWlQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL2pzaWktb3B0aW9ucy5nZW5lcmF0ZWRcIjtcblxuLyoqXG4gKiBKc2lpUHJvamVjdCB3aXRoIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gYW5kIGNvbXBvbmVudCBpbnRlZ3JhdGlvblxuICpcbiAqIEV4dGVuZHMgUHJvamVuJ3MgYmFzZSBjbGFzcyB3aXRoIG9waW5pb25hdGVkIGRlZmF1bHRzIGFuZCBhdXRvbWF0aWMgY29tcG9uZW50IHNldHVwLlxuICovXG5leHBvcnQgY2xhc3MgSnNpaVByb2plY3QgZXh0ZW5kcyBjZGsuSnNpaVByb2plY3Qge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gUHJvamVjdCBjb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIC8qIFNlcGFyYXRlIGNvbXBvbmVudCBjb25maWd1cmF0aW9uIGZyb20gYmFzZSBQcm9qZW4gb3B0aW9ucyAqL1xuICAgICAgICBjb25zdCB7IG1pc2UsIHZpdGVzdCwgLi4uYmFzZU9wdGlvbnMgfSA9IG9wdGlvbnM7XG5cbiAgICAgICAgLyogTWVyZ2UgZGVmYXVsdCBjb25maWd1cmF0aW9uIHdpdGggdXNlciBvcHRpb25zIGFuZCBpbml0aWFsaXplIGJhc2UgY2xhc3MgKi9cbiAgICAgICAgc3VwZXIoZGVlcE1lcmdlPGNkay5Kc2lpUHJvamVjdE9wdGlvbnM+KGRlZmF1bHRPcHRpb25zLmNkay5Kc2lpUHJvamVjdCwgYmFzZU9wdGlvbnMpKTtcblxuICAgICAgICAvKiBBcHBseSBjb21wb25lbnQgZGVmYXVsdHMgYW5kIGluc3RhbnRpYXRlIGVuYWJsZWQgY29tcG9uZW50cyAqL1xuICAgICAgICBhcHBseURlZmF1bHRzKHRoaXMsIFt7IGNvbXBvbmVudDogTWlzZSwgZW5hYmxlZDogbWlzZSB9LCB7IGNvbXBvbmVudDogVml0ZXN0LCBlbmFibGVkOiB2aXRlc3QgfV0pO1xuICAgIH1cbn0iXX0=
|
|
@@ -20,14 +20,14 @@ class TypeScriptProject extends projen_1.typescript.TypeScriptProject {
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(options) {
|
|
22
22
|
/* Separate component configuration from base Projen options */
|
|
23
|
-
const { mise, vitest,
|
|
23
|
+
const { mise, vitest, ...baseOptions } = options;
|
|
24
24
|
/* Merge default configuration with user options and initialize base class */
|
|
25
25
|
super((0, utils_1.deepMerge)(config_1.defaultOptions.typescript.TypeScriptProject, baseOptions));
|
|
26
26
|
/* Apply component defaults and instantiate enabled components */
|
|
27
|
-
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest
|
|
27
|
+
(0, config_1.applyDefaults)(this, [{ component: mise_1.Mise, enabled: mise }, { component: vitest_1.Vitest, enabled: vitest }]);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.TypeScriptProject = TypeScriptProject;
|
|
31
31
|
_a = JSII_RTTI_SYMBOL_1;
|
|
32
|
-
TypeScriptProject[_a] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
TypeScriptProject[_a] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.2.0" };
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvdHlwZXNjcmlwdC5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2RUFBNkU7QUFDN0UsbUNBQW9DO0FBQ3BDLDZDQUEwQztBQUMxQyxpREFBOEM7QUFDOUMsc0NBQTBEO0FBQzFELG9DQUFxQztBQUtyQzs7OztHQUlHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjtJQUMvRDs7T0FFRztJQUNILFlBQVksT0FBaUM7UUFDekMsK0RBQStEO1FBQy9ELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWpELDZFQUE2RTtRQUM3RSxLQUFLLENBQUMsSUFBQSxpQkFBUyxFQUFzQyx1QkFBYyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRWhILGlFQUFpRTtRQUNqRSxJQUFBLHNCQUFhLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDOztBQWJMLDhDQWNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHsgdHlwZXNjcmlwdCB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IE1pc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9taXNlXCI7XG5pbXBvcnQgeyBWaXRlc3QgfSBmcm9tIFwiLi4vY29tcG9uZW50cy92aXRlc3RcIjtcbmltcG9ydCB7IGFwcGx5RGVmYXVsdHMsIGRlZmF1bHRPcHRpb25zIH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzY3JpcHQtb3B0aW9ucy5nZW5lcmF0ZWRcIjtcblxuZXhwb3J0IHsgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNjcmlwdC1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG4vKipcbiAqIFR5cGVTY3JpcHRQcm9qZWN0IHdpdGggc3RhbmRhcmQgY29uZmlndXJhdGlvbiBhbmQgY29tcG9uZW50IGludGVncmF0aW9uXG4gKlxuICogRXh0ZW5kcyBQcm9qZW4ncyBiYXNlIGNsYXNzIHdpdGggb3BpbmlvbmF0ZWQgZGVmYXVsdHMgYW5kIGF1dG9tYXRpYyBjb21wb25lbnQgc2V0dXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0UHJvamVjdCBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3Qge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gUHJvamVjdCBjb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIC8qIFNlcGFyYXRlIGNvbXBvbmVudCBjb25maWd1cmF0aW9uIGZyb20gYmFzZSBQcm9qZW4gb3B0aW9ucyAqL1xuICAgICAgICBjb25zdCB7IG1pc2UsIHZpdGVzdCwgLi4uYmFzZU9wdGlvbnMgfSA9IG9wdGlvbnM7XG5cbiAgICAgICAgLyogTWVyZ2UgZGVmYXVsdCBjb25maWd1cmF0aW9uIHdpdGggdXNlciBvcHRpb25zIGFuZCBpbml0aWFsaXplIGJhc2UgY2xhc3MgKi9cbiAgICAgICAgc3VwZXIoZGVlcE1lcmdlPHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zPihkZWZhdWx0T3B0aW9ucy50eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0LCBiYXNlT3B0aW9ucykpO1xuXG4gICAgICAgIC8qIEFwcGx5IGNvbXBvbmVudCBkZWZhdWx0cyBhbmQgaW5zdGFudGlhdGUgZW5hYmxlZCBjb21wb25lbnRzICovXG4gICAgICAgIGFwcGx5RGVmYXVsdHModGhpcywgW3sgY29tcG9uZW50OiBNaXNlLCBlbmFibGVkOiBtaXNlIH0sIHsgY29tcG9uZW50OiBWaXRlc3QsIGVuYWJsZWQ6IHZpdGVzdCB9XSk7XG4gICAgfVxufSJdfQ==
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const deepMerge: <T>(target: Partial<T
|
|
2
|
-
export declare const mergeAll: <T extends object>(...items: Partial<T>[]) => Partial<T
|
|
1
|
+
export declare const deepMerge: <T>(target: Partial<T> | undefined, source: Partial<T> | undefined) => T;
|
|
2
|
+
export declare const mergeAll: <T extends object>(...items: (Partial<T> | undefined)[]) => Partial<T> | undefined;
|
package/lib/utils.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mergeAll = exports.deepMerge = void 0;
|
|
4
4
|
const deepMerge = (target, source) => {
|
|
5
|
-
const result = structuredClone(target);
|
|
6
|
-
const src = source;
|
|
5
|
+
const result = structuredClone(target ?? {});
|
|
6
|
+
const src = (source ?? {});
|
|
7
7
|
for (const key in src) {
|
|
8
8
|
if (src[key] && typeof src[key] === "object" && !Array.isArray(src[key])) {
|
|
9
9
|
result[key] = (0, exports.deepMerge)((result[key] || {}), src[key]);
|
|
@@ -17,4 +17,4 @@ const deepMerge = (target, source) => {
|
|
|
17
17
|
exports.deepMerge = deepMerge;
|
|
18
18
|
const mergeAll = (...items) => items.reduce((acc, item) => (0, exports.deepMerge)(acc, item), {});
|
|
19
19
|
exports.mergeAll = mergeAll;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSxTQUFTLEdBQUcsQ0FBSSxNQUE4QixFQUFFLE1BQThCLEVBQUssRUFBRTtJQUM5RixNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBNEIsQ0FBQztJQUN4RSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQTRCLENBQUM7SUFDdEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUEsaUJBQVMsRUFDbkIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUE0QixFQUM5QyxHQUFHLENBQUMsR0FBRyxDQUE0QixDQUN0QyxDQUFDO1FBQ04sQ0FBQzthQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLE1BQVcsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFkVyxRQUFBLFNBQVMsYUFjcEI7QUFFSyxNQUFNLFFBQVEsR0FBRyxDQUFtQixHQUFHLEtBQWlDLEVBQUUsRUFBRSxDQUMvRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxpQkFBUyxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFPLENBQUMsQ0FBQztBQURsRCxRQUFBLFFBQVEsWUFDMEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVlcE1lcmdlID0gPFQ+KHRhcmdldDogUGFydGlhbDxUPiB8IHVuZGVmaW5lZCwgc291cmNlOiBQYXJ0aWFsPFQ+IHwgdW5kZWZpbmVkKTogVCA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3RydWN0dXJlZENsb25lKHRhcmdldCA/PyB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgY29uc3Qgc3JjID0gKHNvdXJjZSA/PyB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc3JjKSB7XG4gICAgICAgIGlmIChzcmNba2V5XSAmJiB0eXBlb2Ygc3JjW2tleV0gPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkoc3JjW2tleV0pKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBNZXJnZShcbiAgICAgICAgICAgICAgICAocmVzdWx0W2tleV0gfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIHNyY1trZXldIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmIChzcmNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHNyY1trZXldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQgYXMgVDtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXJnZUFsbCA9IDxUIGV4dGVuZHMgb2JqZWN0PiguLi5pdGVtczogKFBhcnRpYWw8VD4gfCB1bmRlZmluZWQpW10pID0+XG4gICAgaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IGRlZXBNZXJnZShhY2MsIGl0ZW0pLCB7fSBhcyBUKTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import type { Assembly, ClassType } from "@jsii/spec";
|
|
4
|
+
|
|
5
|
+
const BASE_CLASS = "projen.Project";
|
|
6
|
+
|
|
7
|
+
function loadProjenManifest(): Assembly {
|
|
8
|
+
const projenPackageJson = require.resolve("projen/package.json");
|
|
9
|
+
const projenRoot = dirname(projenPackageJson);
|
|
10
|
+
const jsiiPath = join(projenRoot, ".jsii");
|
|
11
|
+
return JSON.parse(readFileSync(jsiiPath, "utf-8"));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function extendsBase(classType: ClassType, manifest: Assembly): boolean {
|
|
15
|
+
if (classType.inheritancePath) {
|
|
16
|
+
return classType.inheritancePath.includes(BASE_CLASS);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
let currentBase = classType.base;
|
|
20
|
+
while (currentBase) {
|
|
21
|
+
if (currentBase === BASE_CLASS) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
const baseType = manifest.types?.[currentBase];
|
|
25
|
+
if (!baseType || baseType.kind !== "class") {
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
currentBase = (baseType as ClassType).base;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function toEnumName(className: string): string {
|
|
35
|
+
return className
|
|
36
|
+
.replace(/([A-Z])/g, "_$1")
|
|
37
|
+
.toUpperCase()
|
|
38
|
+
.replace(/^_/, "");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function discoverProjectTypes(manifest: Assembly): Array<[string, string, string]> {
|
|
42
|
+
const projectTypes: Array<[string, string, string]> = [];
|
|
43
|
+
|
|
44
|
+
for (const [fqn, type] of Object.entries(manifest.types ?? {})) {
|
|
45
|
+
if (type.kind !== "class") {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const classType = type as ClassType;
|
|
50
|
+
|
|
51
|
+
if (classType.abstract) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (!extendsBase(classType, manifest)) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const parts = fqn.split(".");
|
|
60
|
+
if (parts.length < 3 || parts[0] !== "projen") {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const module = parts[1];
|
|
65
|
+
const className = parts.slice(2).join(".");
|
|
66
|
+
const enumName = toEnumName(className);
|
|
67
|
+
const value = `${module}.${className}`;
|
|
68
|
+
const docs = classType.docs?.summary ?? className;
|
|
69
|
+
|
|
70
|
+
projectTypes.push([enumName, value, docs]);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return projectTypes.sort((a, b) => a[0].localeCompare(b[0]));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function generateEnum(): string {
|
|
77
|
+
const manifest = loadProjenManifest();
|
|
78
|
+
const projectTypes = discoverProjectTypes(manifest);
|
|
79
|
+
|
|
80
|
+
const lines: string[] = [];
|
|
81
|
+
lines.push("/**");
|
|
82
|
+
lines.push(" * Enum defining all supported project types");
|
|
83
|
+
lines.push(" *");
|
|
84
|
+
lines.push(" * Each project type corresponds to a generated project class and its configuration");
|
|
85
|
+
lines.push(" * in the defaultOptions structure.");
|
|
86
|
+
lines.push(" *");
|
|
87
|
+
lines.push(" * @generated Automatically generated from Projen's JSII manifest");
|
|
88
|
+
lines.push(" */");
|
|
89
|
+
lines.push("export enum ProjectType {");
|
|
90
|
+
|
|
91
|
+
for (const [enumName, value, docs] of projectTypes) {
|
|
92
|
+
lines.push(" /**");
|
|
93
|
+
lines.push(` * ${docs}`);
|
|
94
|
+
lines.push(" */");
|
|
95
|
+
lines.push(` ${enumName} = "${value}",`);
|
|
96
|
+
lines.push("");
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
lines.push("}");
|
|
100
|
+
return lines.join("\n");
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
console.log(generateEnum());
|