@jttc/projen-project-types 1.0.0-beta.1 → 1.0.0-beta.3

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.
@@ -12,6 +12,7 @@ export declare class CommonOptionsConfig {
12
12
  static withCommonOptionsDefaults<T extends TypeScriptProjectOptions>(options: T): T;
13
13
  /**
14
14
  * Configures common components like VSCode settings and extensions
15
+ * If project has parent, configures VSCode in parent project instead of subproject
15
16
  * @param project - The project instance to configure
16
17
  */
17
18
  static withCommonComponents(project: Project, options: TypeScriptProjectOptions): void;
@@ -22,11 +22,18 @@ class CommonOptionsConfig {
22
22
  }
23
23
  /**
24
24
  * Configures common components like VSCode settings and extensions
25
+ * If project has parent, configures VSCode in parent project instead of subproject
25
26
  * @param project - The project instance to configure
26
27
  */
27
28
  static withCommonComponents(project, options) {
28
29
  if (options.vscode !== false) {
29
- const vscode = new vscode_1.VsCode(project);
30
+ // Determine target project: use parent if it's a subproject, otherwise use current project
31
+ const targetProject = project.parent ?? project;
32
+ // Try to find existing VsCode component by type in target project
33
+ let vscode = targetProject.node.children.find((child) => child instanceof vscode_1.VsCode);
34
+ if (!vscode) {
35
+ vscode = new vscode_1.VsCode(targetProject);
36
+ }
30
37
  vscode.settings.addSettings(this.VSCODE_SETTINGS);
31
38
  vscode.extensions.addRecommendations(...this.VSCODE_EXTENSIONS);
32
39
  }
@@ -38,7 +45,7 @@ exports.CommonOptionsConfig = CommonOptionsConfig;
38
45
  */
39
46
  CommonOptionsConfig.DEFAULT_PRETTIER_OPTIONS = {
40
47
  settings: {
41
- trailingComma: javascript_1.TrailingComma.ES5,
48
+ trailingComma: javascript_1.TrailingComma.ALL,
42
49
  singleQuote: true,
43
50
  bracketSpacing: true,
44
51
  semi: true,
@@ -66,4 +73,4 @@ CommonOptionsConfig.VSCODE_EXTENSIONS = [
66
73
  'vscode-icons-team.vscode-icons',
67
74
  'ms-vscode-remote.vscode-remote-extensionpack',
68
75
  ];
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL2NvbW1vbi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHNEQUF1RTtBQUV2RSwwQ0FBNEM7QUFDNUMsOENBQTJDO0FBRTNDOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFDOUI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FDOUIsT0FBVTtRQUVWLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDbEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLHdCQUF3QjtTQUMxRSxDQUFDO1FBRUYsT0FBTyxJQUFBLGdCQUFTLEVBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFNLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsT0FBZ0IsRUFDaEIsT0FBaUM7UUFFakMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNsRCxNQUFNLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUM7O0FBOUJILGtEQWtFQztBQW5DQzs7R0FFRztBQUNxQiw0Q0FBd0IsR0FBb0I7SUFDbEUsUUFBUSxFQUFFO1FBQ1IsYUFBYSxFQUFFLDBCQUFhLENBQUMsR0FBRztRQUNoQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixjQUFjLEVBQUUsSUFBSTtRQUNwQixJQUFJLEVBQUUsSUFBSTtLQUNYO0NBQ0YsQ0FBQztBQUVzQixtQ0FBZSxHQUFHO0lBQ3hDLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsbUJBQW1CLEVBQUUsQ0FBQztJQUN0Qix5QkFBeUIsRUFBRSx3QkFBd0I7SUFDbkQsaUJBQWlCLEVBQUUsZ0JBQWdCO0lBQ25DLHNCQUFzQixFQUFFLEtBQUs7Q0FDOUIsQ0FBQztBQUVzQixxQ0FBaUIsR0FBRztJQUMxQyxzQ0FBc0M7SUFDdEMseUNBQXlDO0lBQ3pDLGlDQUFpQztJQUNqQyx3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5QixtQ0FBbUM7SUFDbkMsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixpQ0FBaUM7SUFDakMsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyw4Q0FBOEM7Q0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgUHJldHRpZXJPcHRpb25zLCBUcmFpbGluZ0NvbW1hIH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdwcm9qZW4vbGliL3V0aWwnO1xuaW1wb3J0IHsgVnNDb2RlIH0gZnJvbSAncHJvamVuL2xpYi92c2NvZGUnO1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGNvbmZpZ3VyaW5nIGNvbW1vbiBwcm9qZWN0IG9wdGlvbnMgd2l0aCBkZWZhdWx0IHZhbHVlc1xuICovXG5leHBvcnQgY2xhc3MgQ29tbW9uT3B0aW9uc0NvbmZpZyB7XG4gIC8qKlxuICAgKiBDb25maWd1cmVzIGRlZmF1bHQgb3B0aW9ucyBvbmx5IGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIHByb2plbiBvcHRpb25zXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gUHJvamVjdCBvcHRpb25zIHRoYXQgbWF5IGluY2x1ZGUgZXhpc3RpbmcgY29uZmlndXJhdGlvbnNcbiAgICogQHJldHVybnMgRmluYWwgb3B0aW9ucyB3aXRoIGRlZmF1bHQgdmFsdWVzIGFwcGxpZWQgd2hlcmUgbm8gcHJldmlvdXMgY29uZmlndXJhdGlvbiBleGlzdGVkXG4gICAqL1xuICBzdGF0aWMgd2l0aENvbW1vbk9wdGlvbnNEZWZhdWx0czxUIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zPihcbiAgICBvcHRpb25zOiBULFxuICApOiBUIHtcbiAgICBjb25zdCBjb21tb25EZWZhdWx0cyA9IHtcbiAgICAgIHByZXR0aWVyOiBvcHRpb25zLnByZXR0aWVyID8/IHRydWUsXG4gICAgICBwcmV0dGllck9wdGlvbnM6IG9wdGlvbnMucHJldHRpZXJPcHRpb25zID8/IHRoaXMuREVGQVVMVF9QUkVUVElFUl9PUFRJT05TLFxuICAgIH07XG5cbiAgICByZXR1cm4gZGVlcE1lcmdlKFt7fSwgb3B0aW9ucywgY29tbW9uRGVmYXVsdHNdKSBhcyBUO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgY29tbW9uIGNvbXBvbmVudHMgbGlrZSBWU0NvZGUgc2V0dGluZ3MgYW5kIGV4dGVuc2lvbnNcbiAgICogQHBhcmFtIHByb2plY3QgLSBUaGUgcHJvamVjdCBpbnN0YW5jZSB0byBjb25maWd1cmVcbiAgICovXG4gIHN0YXRpYyB3aXRoQ29tbW9uQ29tcG9uZW50cyhcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIG9wdGlvbnM6IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbnMudnNjb2RlICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgdnNjb2RlID0gbmV3IFZzQ29kZShwcm9qZWN0KTtcbiAgICAgIHZzY29kZS5zZXR0aW5ncy5hZGRTZXR0aW5ncyh0aGlzLlZTQ09ERV9TRVRUSU5HUyk7XG4gICAgICB2c2NvZGUuZXh0ZW5zaW9ucy5hZGRSZWNvbW1lbmRhdGlvbnMoLi4udGhpcy5WU0NPREVfRVhURU5TSU9OUyk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBEZWZhdWx0IHByZXR0aWVyIGNvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbCBhbHdheXMgYmUgYXBwbGllZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9QUkVUVElFUl9PUFRJT05TOiBQcmV0dGllck9wdGlvbnMgPSB7XG4gICAgc2V0dGluZ3M6IHtcbiAgICAgIHRyYWlsaW5nQ29tbWE6IFRyYWlsaW5nQ29tbWEuRVM1LFxuICAgICAgc2luZ2xlUXVvdGU6IHRydWUsXG4gICAgICBicmFja2V0U3BhY2luZzogdHJ1ZSxcbiAgICAgIHNlbWk6IHRydWUsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBWU0NPREVfU0VUVElOR1MgPSB7XG4gICAgJ2VkaXRvci5mb3JtYXRPblNhdmUnOiB0cnVlLFxuICAgICdlZGl0b3IuaW5kZW50U2l6ZSc6IDIsXG4gICAgJ2VkaXRvci5kZWZhdWx0Rm9ybWF0dGVyJzogJ2VzYmVucC5wcmV0dGllci12c2NvZGUnLFxuICAgICdlc2xpbnQubm9kZVBhdGgnOiAnLi9ub2RlX21vZHVsZXMnLFxuICAgICdlc2xpbnQudXNlRmxhdENvbmZpZyc6IGZhbHNlLFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFZTQ09ERV9FWFRFTlNJT05TID0gW1xuICAgICdhbWF6b253ZWJzZXJ2aWNlcy5hd3MtdG9vbGtpdC12c2NvZGUnLFxuICAgICdEYW5pZWxUaGllbGtpbmcuYXdzLWNsb3VkZm9ybWF0aW9uLXlhbWwnLFxuICAgICdtcy1henVyZXRvb2xzLnZzY29kZS1jb250YWluZXJzJyxcbiAgICAnZGJhZXVtZXIudnNjb2RlLWVzbGludCcsXG4gICAgJ21odXRjaGllLmdpdC1ncmFwaCcsXG4gICAgJ2dpdGh1Yi52c2NvZGUtZ2l0aHViLWFjdGlvbnMnLFxuICAgICdHaXRIdWIudnNjb2RlLXB1bGwtcmVxdWVzdC1naXRodWInLFxuICAgICdlYW1vZGlvLmdpdGxlbnMnLFxuICAgICdlc2JlbnAucHJldHRpZXItdnNjb2RlJyxcbiAgICAnc3BtZWVzc2VtYW4udnNjb2RlLXRhc2tleHBsb3JlcicsXG4gICAgJ3dheW91LnZzY29kZS10b2RvLWhpZ2hsaWdodCcsXG4gICAgJ3ZzY29kZS1pY29ucy10ZWFtLnZzY29kZS1pY29ucycsXG4gICAgJ21zLXZzY29kZS1yZW1vdGUudnNjb2RlLXJlbW90ZS1leHRlbnNpb25wYWNrJyxcbiAgXTtcbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL2NvbW1vbi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHNEQUF1RTtBQUV2RSwwQ0FBNEM7QUFDNUMsOENBQTJDO0FBRTNDOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFDOUI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FDOUIsT0FBVTtRQUVWLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDbEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLHdCQUF3QjtTQUMxRSxDQUFDO1FBRUYsT0FBTyxJQUFBLGdCQUFTLEVBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFNLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQ3pCLE9BQWdCLEVBQ2hCLE9BQWlDO1FBRWpDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM3QiwyRkFBMkY7WUFDM0YsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUM7WUFFaEQsa0VBQWtFO1lBQ2xFLElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDM0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFNLENBQ3pCLENBQUM7WUFFWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDOztBQTFDSCxrREErRUM7QUFuQ0M7O0dBRUc7QUFDcUIsNENBQXdCLEdBQW9CO0lBQ2xFLFFBQVEsRUFBRTtRQUNSLGFBQWEsRUFBRSwwQkFBYSxDQUFDLEdBQUc7UUFDaEMsV0FBVyxFQUFFLElBQUk7UUFDakIsY0FBYyxFQUFFLElBQUk7UUFDcEIsSUFBSSxFQUFFLElBQUk7S0FDWDtDQUNGLENBQUM7QUFFc0IsbUNBQWUsR0FBRztJQUN4QyxxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLG1CQUFtQixFQUFFLENBQUM7SUFDdEIseUJBQXlCLEVBQUUsd0JBQXdCO0lBQ25ELGlCQUFpQixFQUFFLGdCQUFnQjtJQUNuQyxzQkFBc0IsRUFBRSxLQUFLO0NBQzlCLENBQUM7QUFFc0IscUNBQWlCLEdBQUc7SUFDMUMsc0NBQXNDO0lBQ3RDLHlDQUF5QztJQUN6QyxpQ0FBaUM7SUFDakMsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsbUNBQW1DO0lBQ25DLGlCQUFpQjtJQUNqQix3QkFBd0I7SUFDeEIsaUNBQWlDO0lBQ2pDLDZCQUE2QjtJQUM3QixnQ0FBZ0M7SUFDaEMsOENBQThDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFByZXR0aWVyT3B0aW9ucywgVHJhaWxpbmdDb21tYSB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAncHJvamVuL2xpYi91dGlsJztcbmltcG9ydCB7IFZzQ29kZSB9IGZyb20gJ3Byb2plbi9saWIvdnNjb2RlJztcblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIGZvciBjb25maWd1cmluZyBjb21tb24gcHJvamVjdCBvcHRpb25zIHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENvbW1vbk9wdGlvbnNDb25maWcge1xuICAvKipcbiAgICogQ29uZmlndXJlcyBkZWZhdWx0IG9wdGlvbnMgb25seSBpZiB0aGV5IGFyZSBub3QgYWxyZWFkeSBkZWZpbmVkIGluIHRoZSBwcm9qZW4gb3B0aW9uc1xuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFByb2plY3Qgb3B0aW9ucyB0aGF0IG1heSBpbmNsdWRlIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zXG4gICAqIEByZXR1cm5zIEZpbmFsIG9wdGlvbnMgd2l0aCBkZWZhdWx0IHZhbHVlcyBhcHBsaWVkIHdoZXJlIG5vIHByZXZpb3VzIGNvbmZpZ3VyYXRpb24gZXhpc3RlZFxuICAgKi9cbiAgc3RhdGljIHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHM8VCBleHRlbmRzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucz4oXG4gICAgb3B0aW9uczogVCxcbiAgKTogVCB7XG4gICAgY29uc3QgY29tbW9uRGVmYXVsdHMgPSB7XG4gICAgICBwcmV0dGllcjogb3B0aW9ucy5wcmV0dGllciA/PyB0cnVlLFxuICAgICAgcHJldHRpZXJPcHRpb25zOiBvcHRpb25zLnByZXR0aWVyT3B0aW9ucyA/PyB0aGlzLkRFRkFVTFRfUFJFVFRJRVJfT1BUSU9OUyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlZXBNZXJnZShbe30sIG9wdGlvbnMsIGNvbW1vbkRlZmF1bHRzXSkgYXMgVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIGNvbW1vbiBjb21wb25lbnRzIGxpa2UgVlNDb2RlIHNldHRpbmdzIGFuZCBleHRlbnNpb25zXG4gICAqIElmIHByb2plY3QgaGFzIHBhcmVudCwgY29uZmlndXJlcyBWU0NvZGUgaW4gcGFyZW50IHByb2plY3QgaW5zdGVhZCBvZiBzdWJwcm9qZWN0XG4gICAqIEBwYXJhbSBwcm9qZWN0IC0gVGhlIHByb2plY3QgaW5zdGFuY2UgdG8gY29uZmlndXJlXG4gICAqL1xuICBzdGF0aWMgd2l0aENvbW1vbkNvbXBvbmVudHMoXG4gICAgcHJvamVjdDogUHJvamVjdCxcbiAgICBvcHRpb25zOiBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMsXG4gICk6IHZvaWQge1xuICAgIGlmIChvcHRpb25zLnZzY29kZSAhPT0gZmFsc2UpIHtcbiAgICAgIC8vIERldGVybWluZSB0YXJnZXQgcHJvamVjdDogdXNlIHBhcmVudCBpZiBpdCdzIGEgc3VicHJvamVjdCwgb3RoZXJ3aXNlIHVzZSBjdXJyZW50IHByb2plY3RcbiAgICAgIGNvbnN0IHRhcmdldFByb2plY3QgPSBwcm9qZWN0LnBhcmVudCA/PyBwcm9qZWN0O1xuXG4gICAgICAvLyBUcnkgdG8gZmluZCBleGlzdGluZyBWc0NvZGUgY29tcG9uZW50IGJ5IHR5cGUgaW4gdGFyZ2V0IHByb2plY3RcbiAgICAgIGxldCB2c2NvZGUgPSB0YXJnZXRQcm9qZWN0Lm5vZGUuY2hpbGRyZW4uZmluZChcbiAgICAgICAgKGNoaWxkKSA9PiBjaGlsZCBpbnN0YW5jZW9mIFZzQ29kZSxcbiAgICAgICkgYXMgVnNDb2RlO1xuXG4gICAgICBpZiAoIXZzY29kZSkge1xuICAgICAgICB2c2NvZGUgPSBuZXcgVnNDb2RlKHRhcmdldFByb2plY3QpO1xuICAgICAgfVxuXG4gICAgICB2c2NvZGUuc2V0dGluZ3MuYWRkU2V0dGluZ3ModGhpcy5WU0NPREVfU0VUVElOR1MpO1xuICAgICAgdnNjb2RlLmV4dGVuc2lvbnMuYWRkUmVjb21tZW5kYXRpb25zKC4uLnRoaXMuVlNDT0RFX0VYVEVOU0lPTlMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHByZXR0aWVyIGNvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbCBhbHdheXMgYmUgYXBwbGllZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9QUkVUVElFUl9PUFRJT05TOiBQcmV0dGllck9wdGlvbnMgPSB7XG4gICAgc2V0dGluZ3M6IHtcbiAgICAgIHRyYWlsaW5nQ29tbWE6IFRyYWlsaW5nQ29tbWEuQUxMLFxuICAgICAgc2luZ2xlUXVvdGU6IHRydWUsXG4gICAgICBicmFja2V0U3BhY2luZzogdHJ1ZSxcbiAgICAgIHNlbWk6IHRydWUsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBWU0NPREVfU0VUVElOR1MgPSB7XG4gICAgJ2VkaXRvci5mb3JtYXRPblNhdmUnOiB0cnVlLFxuICAgICdlZGl0b3IuaW5kZW50U2l6ZSc6IDIsXG4gICAgJ2VkaXRvci5kZWZhdWx0Rm9ybWF0dGVyJzogJ2VzYmVucC5wcmV0dGllci12c2NvZGUnLFxuICAgICdlc2xpbnQubm9kZVBhdGgnOiAnLi9ub2RlX21vZHVsZXMnLFxuICAgICdlc2xpbnQudXNlRmxhdENvbmZpZyc6IGZhbHNlLFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFZTQ09ERV9FWFRFTlNJT05TID0gW1xuICAgICdhbWF6b253ZWJzZXJ2aWNlcy5hd3MtdG9vbGtpdC12c2NvZGUnLFxuICAgICdEYW5pZWxUaGllbGtpbmcuYXdzLWNsb3VkZm9ybWF0aW9uLXlhbWwnLFxuICAgICdtcy1henVyZXRvb2xzLnZzY29kZS1jb250YWluZXJzJyxcbiAgICAnZGJhZXVtZXIudnNjb2RlLWVzbGludCcsXG4gICAgJ21odXRjaGllLmdpdC1ncmFwaCcsXG4gICAgJ2dpdGh1Yi52c2NvZGUtZ2l0aHViLWFjdGlvbnMnLFxuICAgICdHaXRIdWIudnNjb2RlLXB1bGwtcmVxdWVzdC1naXRodWInLFxuICAgICdlYW1vZGlvLmdpdGxlbnMnLFxuICAgICdlc2JlbnAucHJldHRpZXItdnNjb2RlJyxcbiAgICAnc3BtZWVzc2VtYW4udnNjb2RlLXRhc2tleHBsb3JlcicsXG4gICAgJ3dheW91LnZzY29kZS10b2RvLWhpZ2hsaWdodCcsXG4gICAgJ3ZzY29kZS1pY29ucy10ZWFtLnZzY29kZS1pY29ucycsXG4gICAgJ21zLXZzY29kZS1yZW1vdGUudnNjb2RlLXJlbW90ZS1leHRlbnNpb25wYWNrJyxcbiAgXTtcbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Component, Project } from 'projen';
2
+ import { K8sVersion, Cdk8sBaseOptions } from './interfaces/Cdk8s';
3
+ export declare class Cdk8sComponent extends Component {
4
+ readonly appPath: string;
5
+ readonly appFile: string;
6
+ readonly imports: string[];
7
+ readonly outputPath: string;
8
+ readonly k8sVersion: K8sVersion;
9
+ constructor(project: Project, id: string, props?: Cdk8sBaseOptions);
10
+ postSynthesize(): void;
11
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Cdk8sComponent = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const child_process_1 = require("child_process");
7
+ const path = require("path");
8
+ const projen_1 = require("projen");
9
+ const Cdk8s_1 = require("./interfaces/Cdk8s");
10
+ class Cdk8sComponent extends projen_1.Component {
11
+ constructor(project, id, props) {
12
+ super(project, id);
13
+ this.appPath = 'src';
14
+ this.appFile = 'main.ts';
15
+ this.outputPath = 'kubernetes';
16
+ this.k8sVersion = Cdk8s_1.K8sVersion.V1_30;
17
+ if (props && props.k8sVersion) {
18
+ this.k8sVersion = props.k8sVersion;
19
+ }
20
+ this.imports = [`k8s@${this.k8sVersion}`];
21
+ if (props && props.appPath) {
22
+ this.appPath = props.appPath;
23
+ }
24
+ if (props && props.appFile) {
25
+ this.appFile = props.appFile;
26
+ }
27
+ if (props && props.outputPath) {
28
+ this.outputPath = props.outputPath;
29
+ }
30
+ if (props && props.imports) {
31
+ props.imports.forEach((importPath) => {
32
+ this.imports.push(importPath);
33
+ });
34
+ }
35
+ const cdk8sPlusVersion = `cdk8s-plus-${this.k8sVersion.split('.')[1]}`;
36
+ // Note: constructs dependency is now managed by the BaseProject dependency override system
37
+ // to avoid conflicts between different project types
38
+ project.deps.addDependency('cdk8s', projen_1.DependencyType.RUNTIME);
39
+ project.deps.addDependency('cdk8s-cli', projen_1.DependencyType.BUILD);
40
+ project.deps.addDependency(cdk8sPlusVersion, projen_1.DependencyType.RUNTIME);
41
+ project.addTask('cdk8s', {
42
+ description: 'CDK8s command',
43
+ steps: [
44
+ {
45
+ exec: 'cdk8s',
46
+ say: 'cdk for kubernetes',
47
+ receiveArgs: true,
48
+ },
49
+ ],
50
+ });
51
+ project.addTask('cdk8s:import', {
52
+ description: 'Import cdk8s charts',
53
+ steps: [
54
+ {
55
+ exec: `cdk8s import --output ${this.appPath}/imports`,
56
+ say: 'Importing kubernetes files',
57
+ receiveArgs: true,
58
+ },
59
+ ],
60
+ });
61
+ project.addTask('cdk8s:synth', {
62
+ description: 'Synthesized cdk8s constructs',
63
+ steps: [
64
+ {
65
+ exec: `cdk8s synth --output ${this.outputPath}`,
66
+ say: 'Synthesizing kubernetes files',
67
+ receiveArgs: true,
68
+ },
69
+ ],
70
+ });
71
+ new projen_1.YamlFile(project, 'cdk8s.yaml', {
72
+ obj: {
73
+ language: 'typescript',
74
+ app: `npx ts-node ${this.appPath}/${this.appFile}`,
75
+ imports: this.imports,
76
+ },
77
+ });
78
+ const pjid = project.root.initProject?.type.pjid;
79
+ new projen_1.SampleFile(project, `${this.appPath}/${this.appFile}`, {
80
+ sourcePath: path.join(__dirname, 'main.ts.template'),
81
+ });
82
+ if (pjid === 'cdk8s-library' || pjid === 'cdk8s-app') {
83
+ new projen_1.SampleFile(project, 'test/main.test.ts', {
84
+ sourcePath: path.join(__dirname, 'main.test.ts.template'),
85
+ });
86
+ }
87
+ }
88
+ postSynthesize() {
89
+ const cdk8sImportTask = this.project.tasks.tryFind('cdk8s:import');
90
+ if (cdk8sImportTask) {
91
+ (0, child_process_1.execSync)(this.project.runTaskCommand(cdk8sImportTask));
92
+ }
93
+ }
94
+ }
95
+ exports.Cdk8sComponent = Cdk8sComponent;
96
+ _a = JSII_RTTI_SYMBOL_1;
97
+ Cdk8sComponent[_a] = { fqn: "@jttc/projen-project-types.Cdk8sComponent", version: "1.0.0-beta.3" };
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9jZGs4cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IsbUNBTWdCO0FBRWhCLDhDQUFrRTtBQUVsRSxNQUFhLGNBQWUsU0FBUSxrQkFBUztJQU8zQyxZQUFZLE9BQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFQWixZQUFPLEdBQVcsS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxTQUFTLENBQUM7UUFFNUIsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxlQUFVLEdBQWUsa0JBQVUsQ0FBQyxLQUFLLENBQUM7UUFLakQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFMUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxD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QUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7O0FBckdILHdDQXNHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEZXBlbmRlbmN5VHlwZSxcbiAgUHJvamVjdCxcbiAgU2FtcGxlRmlsZSxcbiAgWWFtbEZpbGUsXG59IGZyb20gJ3Byb2plbic7XG5cbmltcG9ydCB7IEs4c1ZlcnNpb24sIENkazhzQmFzZU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvQ2RrOHMnO1xuXG5leHBvcnQgY2xhc3MgQ2RrOHNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZWFkb25seSBhcHBQYXRoOiBzdHJpbmcgPSAnc3JjJztcbiAgcmVhZG9ubHkgYXBwRmlsZTogc3RyaW5nID0gJ21haW4udHMnO1xuICByZWFkb25seSBpbXBvcnRzOiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgb3V0cHV0UGF0aDogc3RyaW5nID0gJ2t1YmVybmV0ZXMnO1xuICByZWFkb25seSBrOHNWZXJzaW9uOiBLOHNWZXJzaW9uID0gSzhzVmVyc2lvbi5WMV8zMDtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IENkazhzQmFzZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBpZCk7XG5cbiAgICBpZiAocHJvcHMgJiYgcHJvcHMuazhzVmVyc2lvbikge1xuICAgICAgdGhpcy5rOHNWZXJzaW9uID0gcHJvcHMuazhzVmVyc2lvbjtcbiAgICB9XG5cbiAgICB0aGlzLmltcG9ydHMgPSBbYGs4c0Ake3RoaXMuazhzVmVyc2lvbn1gXTtcblxuICAgIGlmIChwcm9wcyAmJiBwcm9wcy5hcHBQYXRoKSB7XG4gICAgICB0aGlzLmFwcFBhdGggPSBwcm9wcy5hcHBQYXRoO1xuICAgIH1cblxuICAgIGlmIChwcm9wcyAmJiBwcm9wcy5hcHBGaWxlKSB7XG4gICAgICB0aGlzLmFwcEZpbGUgPSBwcm9wcy5hcHBGaWxlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcyAmJiBwcm9wcy5vdXRwdXRQYXRoKSB7XG4gICAgICB0aGlzLm91dHB1dFBhdGggPSBwcm9wcy5vdXRwdXRQYXRoO1xuICAgIH1cblxuICAgIGlmIChwcm9wcyAmJiBwcm9wcy5pbXBvcnRzKSB7XG4gICAgICBwcm9wcy5pbXBvcnRzLmZvckVhY2goKGltcG9ydFBhdGgpID0+IHtcbiAgICAgICAgdGhpcy5pbXBvcnRzLnB1c2goaW1wb3J0UGF0aCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBjZGs4c1BsdXNWZXJzaW9uID0gYGNkazhzLXBsdXMtJHt0aGlzLms4c1ZlcnNpb24uc3BsaXQoJy4nKVsxXX1gO1xuXG4gICAgLy8gTm90ZTogY29uc3RydWN0cyBkZXBlbmRlbmN5IGlzIG5vdyBtYW5hZ2VkIGJ5IHRoZSBCYXNlUHJvamVjdCBkZXBlbmRlbmN5IG92ZXJyaWRlIHN5c3RlbVxuICAgIC8vIHRvIGF2b2lkIGNvbmZsaWN0cyBiZXR3ZWVuIGRpZmZlcmVudCBwcm9qZWN0IHR5cGVzXG4gICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koJ2NkazhzJywgRGVwZW5kZW5jeVR5cGUuUlVOVElNRSk7XG4gICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koJ2NkazhzLWNsaScsIERlcGVuZGVuY3lUeXBlLkJVSUxEKTtcbiAgICBwcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShjZGs4c1BsdXNWZXJzaW9uLCBEZXBlbmRlbmN5VHlwZS5SVU5USU1FKTtcblxuICAgIHByb2plY3QuYWRkVGFzaygnY2RrOHMnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0NESzhzIGNvbW1hbmQnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6ICdjZGs4cycsXG4gICAgICAgICAgc2F5OiAnY2RrIGZvciBrdWJlcm5ldGVzJyxcbiAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LmFkZFRhc2soJ2NkazhzOmltcG9ydCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW1wb3J0IGNkazhzIGNoYXJ0cycsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgZXhlYzogYGNkazhzIGltcG9ydCAtLW91dHB1dCAke3RoaXMuYXBwUGF0aH0vaW1wb3J0c2AsXG4gICAgICAgICAgc2F5OiAnSW1wb3J0aW5nIGt1YmVybmV0ZXMgZmlsZXMnLFxuICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHByb2plY3QuYWRkVGFzaygnY2RrOHM6c3ludGgnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVkIGNkazhzIGNvbnN0cnVjdHMnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IGBjZGs4cyBzeW50aCAtLW91dHB1dCAke3RoaXMub3V0cHV0UGF0aH1gLFxuICAgICAgICAgIHNheTogJ1N5bnRoZXNpemluZyBrdWJlcm5ldGVzIGZpbGVzJyxcbiAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBuZXcgWWFtbEZpbGUocHJvamVjdCwgJ2NkazhzLnlhbWwnLCB7XG4gICAgICBvYmo6IHtcbiAgICAgICAgbGFuZ3VhZ2U6ICd0eXBlc2NyaXB0JyxcbiAgICAgICAgYXBwOiBgbnB4IHRzLW5vZGUgJHt0aGlzLmFwcFBhdGh9LyR7dGhpcy5hcHBGaWxlfWAsXG4gICAgICAgIGltcG9ydHM6IHRoaXMuaW1wb3J0cyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBwamlkID0gcHJvamVjdC5yb290LmluaXRQcm9qZWN0Py50eXBlLnBqaWQ7XG5cbiAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgJHt0aGlzLmFwcFBhdGh9LyR7dGhpcy5hcHBGaWxlfWAsIHtcbiAgICAgIHNvdXJjZVBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdtYWluLnRzLnRlbXBsYXRlJyksXG4gICAgfSk7XG5cbiAgICBpZiAocGppZCA9PT0gJ2NkazhzLWxpYnJhcnknIHx8IHBqaWQgPT09ICdjZGs4cy1hcHAnKSB7XG4gICAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCAndGVzdC9tYWluLnRlc3QudHMnLCB7XG4gICAgICAgIHNvdXJjZVBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdtYWluLnRlc3QudHMudGVtcGxhdGUnKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHBvc3RTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGNkazhzSW1wb3J0VGFzayA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKCdjZGs4czppbXBvcnQnKTtcbiAgICBpZiAoY2RrOHNJbXBvcnRUYXNrKSB7XG4gICAgICBleGVjU3luYyh0aGlzLnByb2plY3QucnVuVGFza0NvbW1hbmQoY2RrOHNJbXBvcnRUYXNrKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './cdk8s';
2
+ export * from './interfaces/Cdk8s';
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cdk8s"), exports);
18
+ __exportStar(require("./interfaces/Cdk8s"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLHFEQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2RrOHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL0NkazhzJztcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { AwsCdkConstructLibraryOptions, AwsCdkTypeScriptAppOptions } from 'projen/lib/awscdk';
2
+ export declare enum K8sVersion {
3
+ V1_29 = "1.29.0",
4
+ V1_30 = "1.30.0",
5
+ V1_31 = "1.31.0",
6
+ V1_32 = "1.32.0",
7
+ V1_33 = "1.33.0"
8
+ }
9
+ export interface Cdk8sBaseOptions {
10
+ /**
11
+ * path of main file to execute the typescript transpilation
12
+ *
13
+ * @default "src/k8s"
14
+ */
15
+ readonly appPath?: string;
16
+ /**
17
+ * The name of the main file
18
+ * @default main.ts
19
+ */
20
+ readonly appFile?: string;
21
+ /**
22
+ * List of kubernetes imports to be added
23
+ */
24
+ readonly imports?: string[];
25
+ /**
26
+ * The path where the output synthesized file will be saved
27
+ * @default "kubernetes"
28
+ */
29
+ readonly outputPath?: string;
30
+ /**
31
+ * The kubernetes version to use
32
+ * @default 1.31
33
+ */
34
+ readonly k8sVersion?: K8sVersion;
35
+ }
36
+ export interface Cdk8sLibraryOptions extends Cdk8sBaseOptions, AwsCdkConstructLibraryOptions {
37
+ }
38
+ export interface Cdk8sAppOptions extends Cdk8sBaseOptions, AwsCdkTypeScriptAppOptions {
39
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.K8sVersion = void 0;
4
+ var K8sVersion;
5
+ (function (K8sVersion) {
6
+ K8sVersion["V1_29"] = "1.29.0";
7
+ K8sVersion["V1_30"] = "1.30.0";
8
+ K8sVersion["V1_31"] = "1.31.0";
9
+ K8sVersion["V1_32"] = "1.32.0";
10
+ K8sVersion["V1_33"] = "1.33.0";
11
+ })(K8sVersion || (exports.K8sVersion = K8sVersion = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrOHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9pbnRlcmZhY2VzL0NkazhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBTlcsVUFBVSwwQkFBVixVQUFVLFFBTXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMsXG4gIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zLFxufSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5cbmV4cG9ydCBlbnVtIEs4c1ZlcnNpb24ge1xuICBWMV8yOSA9ICcxLjI5LjAnLFxuICBWMV8zMCA9ICcxLjMwLjAnLFxuICBWMV8zMSA9ICcxLjMxLjAnLFxuICBWMV8zMiA9ICcxLjMyLjAnLFxuICBWMV8zMyA9ICcxLjMzLjAnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENkazhzQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogcGF0aCBvZiBtYWluIGZpbGUgdG8gZXhlY3V0ZSB0aGUgdHlwZXNjcmlwdCB0cmFuc3BpbGF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwic3JjL2s4c1wiXG4gICAqL1xuICByZWFkb25seSBhcHBQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbWFpbiBmaWxlXG4gICAqIEBkZWZhdWx0IG1haW4udHNcbiAgICovXG4gIHJlYWRvbmx5IGFwcEZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGt1YmVybmV0ZXMgaW1wb3J0cyB0byBiZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB3aGVyZSB0aGUgb3V0cHV0IHN5bnRoZXNpemVkIGZpbGUgd2lsbCBiZSBzYXZlZFxuICAgKiBAZGVmYXVsdCBcImt1YmVybmV0ZXNcIlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGt1YmVybmV0ZXMgdmVyc2lvbiB0byB1c2VcbiAgICogQGRlZmF1bHQgMS4zMVxuICAgKi9cbiAgcmVhZG9ubHkgazhzVmVyc2lvbj86IEs4c1ZlcnNpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNMaWJyYXJ5T3B0aW9uc1xuICBleHRlbmRzIENkazhzQmFzZU9wdGlvbnMsIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNBcHBPcHRpb25zXG4gIGV4dGVuZHMgQ2RrOHNCYXNlT3B0aW9ucywgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge31cbiJdfQ==
@@ -0,0 +1 @@
1
+ export * from './cdk8s';
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cdk8s"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jZGs4cyc7XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -1 +1,4 @@
1
1
  export * from './cdk/cdk-library-project';
2
+ export * from './cdk/cdk-app-project';
3
+ export * from './cdk/cdk8s-library-project';
4
+ export * from './components';
package/lib/index.js CHANGED
@@ -15,4 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./cdk/cdk-library-project"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2RrL2Nkay1saWJyYXJ5LXByb2plY3QnO1xuIl19
18
+ __exportStar(require("./cdk/cdk-app-project"), exports);
19
+ __exportStar(require("./cdk/cdk8s-library-project"), exports);
20
+ __exportStar(require("./components"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDREQUEwQztBQUMxQyx3REFBc0M7QUFDdEMsOERBQTRDO0FBQzVDLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2RrL2Nkay1saWJyYXJ5LXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGsvY2RrLWFwcC1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vY2RrL2NkazhzLWxpYnJhcnktcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuIl19
package/mkdocs.yml CHANGED
@@ -6,6 +6,10 @@ nav:
6
6
  - index.md
7
7
  - Project Types:
8
8
  - CDK Library: project-types/cdk-library.md
9
+ - CDK App: project-types/cdk-app.md
10
+ - CDK8s Library: project-types/cdk8s-library.md
11
+ - Components:
12
+ - CDK8s Component: components/cdk8s.md
9
13
  - Configuration:
10
14
  - Default Configurations: default-configurations.md
11
15
  theme:
package/package.json CHANGED
@@ -52,29 +52,29 @@
52
52
  "jest": "^30.2.0",
53
53
  "jest-junit": "^16",
54
54
  "jsii": "~5.9.0",
55
- "jsii-diff": "^1.121.0",
55
+ "jsii-diff": "^1.125.0",
56
56
  "jsii-docgen": "^10.5.0",
57
- "jsii-pacmak": "^1.121.0",
57
+ "jsii-pacmak": "^1.125.0",
58
58
  "jsii-rosetta": "~5.9.0",
59
59
  "prettier": "^3.7.4",
60
- "projen": "^0.98.30",
60
+ "projen": "^0.99.0",
61
61
  "ts-jest": "^29.4.6",
62
62
  "ts-node": "^10.9.2",
63
63
  "typescript": "^5.9.3"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "constructs": "^10.4.4",
67
- "projen": "^0.98.30"
67
+ "projen": "^0.99.0"
68
68
  },
69
69
  "dependencies": {
70
- "projen": "^0.98.30"
70
+ "projen": "^0.99.0"
71
71
  },
72
72
  "main": "lib/index.js",
73
73
  "license": "Apache-2.0",
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "version": "1.0.0-beta.1",
77
+ "version": "1.0.0-beta.3",
78
78
  "jest": {
79
79
  "coverageProvider": "v8",
80
80
  "verbose": true,