@alma-cdk/construct-library 0.0.13 → 0.0.15

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/README.md CHANGED
@@ -22,11 +22,12 @@ Custom [Projen Project Type](https://projen.io/docs/concepts/projects/building-y
22
22
  npm i -D @alma-cdk/construct-library
23
23
  ```
24
24
 
25
- 2. If existing project, install `projen@0.99.21` or newer
25
+ 2. If existing project, install `npm i -D projen@0.99.21` or newer
26
26
 
27
27
  2. Import the custom Projen project type:
28
28
  ```diff
29
29
  - import { AwsCdkConstructLibrary } from 'projen/lib/awscdk';
30
+ + import { cdk } from "projen";
30
31
  + import { AlmaCdkConstructLibrary } from "@alma-cdk/construct-library";
31
32
  ```
32
33
 
@@ -46,6 +47,9 @@ Custom [Projen Project Type](https://projen.io/docs/concepts/projects/building-y
46
47
  project.synth();
47
48
  ```
48
49
 
50
+
51
+ 4. Fnm use 24
52
+
49
53
  4. Install `pnpm`
50
54
 
51
55
  5. Run `projen` with `pnpm`:
@@ -52,8 +52,9 @@ function buildPublishToGoOptions(repositoryUrl) {
52
52
  };
53
53
  }
54
54
  function buildAwsCdkConstructLibraryOptions(validatedOptions) {
55
+ const { golang, python, ...awsCdkConstructLibraryOptions } = validatedOptions;
55
56
  return {
56
- ...validatedOptions,
57
+ ...awsCdkConstructLibraryOptions,
57
58
  // Package manager & projen
58
59
  projenCommand: 'pnpm exec projen',
59
60
  authorOrganization: true,
@@ -76,8 +77,12 @@ function buildAwsCdkConstructLibraryOptions(validatedOptions) {
76
77
  },
77
78
  },
78
79
  // Publishing
79
- publishToPypi: buildPublishToPypiOptions(validatedOptions.name),
80
- publishToGo: buildPublishToGoOptions(validatedOptions.repositoryUrl),
80
+ publishToPypi: python
81
+ ? buildPublishToPypiOptions(validatedOptions.name)
82
+ : undefined,
83
+ publishToGo: golang
84
+ ? buildPublishToGoOptions(validatedOptions.repositoryUrl)
85
+ : undefined,
81
86
  // CDK
82
87
  cdkVersion: CDK_VERSION,
83
88
  constructsVersion: CONSTRUCTS_VERSION,
@@ -100,10 +105,13 @@ class AlmaCdkConstructLibrary extends projen_1.awscdk.AwsCdkConstructLibrary {
100
105
  new SonarCloudReportWorkflow_1.SonarCloudReportWorkflow(this, {
101
106
  sonarProjectPropertiesExtraLines: validatedOptions.sonarProjectPropertiesExtraLines,
102
107
  });
103
- new NodeConfig_1.NodeConfig(this);
108
+ new NodeConfig_1.NodeConfig(this, {
109
+ workflowNodeVersion: validatedOptions.workflowNodeVersion,
110
+ pnpmSettings: validatedOptions.pnpmSettings,
111
+ });
104
112
  }
105
113
  }
106
114
  exports.AlmaCdkConstructLibrary = AlmaCdkConstructLibrary;
107
115
  _a = JSII_RTTI_SYMBOL_1;
108
- AlmaCdkConstructLibrary[_a] = { fqn: "@alma-cdk/construct-library.AlmaCdkConstructLibrary", version: "0.0.13" };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxtYUNka0NvbnN0cnVjdExpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQWxtYUNka0NvbnN0cnVjdExpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBNEM7QUFDNUMsc0RBQXVEO0FBRXZELDZDQUEwQztBQUMxQyw2RkFHa0Q7QUFDbEQseUNBQXdEO0FBQ3hELHlFQUFzRTtBQUN0RSxtRkFBZ0Y7QUFJaEYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQztBQUM5QixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBQ2QsZUFBZTtJQUNmLFdBQVc7SUFDWCxNQUFNO0lBQ04sZUFBZTtDQUNQLENBQUM7QUFDWCxNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLFdBQVc7SUFDWCwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGVBQWU7SUFDZixpQkFBaUI7SUFDakIscUJBQXFCO0NBQ2IsQ0FBQztBQUlYLFNBQVMsYUFBYSxDQUFDLFFBQTJCO0lBQ2hELE9BQU8sSUFBQSw2REFBNkIsRUFBQyxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUFDLElBQVk7SUFDN0MsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFBLDZCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVELE9BQU87UUFDTCxRQUFRLEVBQUUsR0FBRyxLQUFLLElBQUksV0FBVyxFQUFFO1FBQ25DLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZFLGlCQUFpQixFQUFFLElBQUk7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLGFBQXFCO0lBQ3BELE9BQU87UUFDTCxVQUFVLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0tBQzlFLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxrQ0FBa0MsQ0FDekMsZ0JBQWtDO0lBRWxDLE9BQU87UUFDTCxHQUFHLGdCQUFnQjtRQUNuQiwyQkFBMkI7UUFDM0IsYUFBYSxFQUFFLGtCQUFrQjtRQUNqQyxrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLG9CQUFvQixFQUFFLE1BQU07UUFDNUIsY0FBYyxFQUFFLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSTtRQUNsRCxTQUFTLEVBQUUsbUJBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTTtRQUN0QyxvQkFBb0IsRUFBRSxJQUFJO1FBQzFCLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFFBQVEsRUFBRSxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQ2xELFdBQVcsRUFBRTtZQUNYLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLGNBQWMsRUFBRSwyQkFBYyxDQUFDLEtBQUs7U0FDckM7UUFDRCwwQkFBMEI7UUFDMUIsUUFBUSxFQUFFLElBQUk7UUFDZCxlQUFlLEVBQUU7WUFDZixpQkFBaUIsRUFBRTtnQkFDakIsY0FBYyxFQUFFLENBQUMsR0FBRyx3QkFBd0IsQ0FBQzthQUM5QztTQUNGO1FBQ0QsYUFBYTtRQUNiLGFBQWEsRUFBRSx5QkFBeUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDL0QsV0FBVyxFQUFFLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztRQUNwRSxNQUFNO1FBQ04sVUFBVSxFQUFFLFdBQVc7UUFDdkIsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLFlBQVk7UUFDWixTQUFTLEVBQUUsQ0FBQyxHQUFHLDBCQUEwQixDQUFDO1FBQzFDLFdBQVcsRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO1NBQzdDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFhLHVCQUF3QixTQUFRLGVBQU0sQ0FBQyxzQkFBc0I7SUFHeEUsWUFBWSxPQUF1QztRQUNqRCxNQUFNLGdCQUFnQixHQUNwQixxRUFBb0MsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7UUFFaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsc0NBQXNDO1FBRTFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3JCLElBQUksRUFBRSxvQkFBb0I7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLEVBQUU7WUFDakMsZ0NBQWdDLEVBQzlCLGdCQUFnQixDQUFDLGdDQUFnQztTQUNwRCxDQUFDLENBQUM7UUFFSCxJQUFJLHVCQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7QUF0QkgsMERBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBqYXZhc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFVwZGF0ZVNuYXBzaG90IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgTm9kZUNvbmZpZyB9IGZyb20gJy4vTm9kZUNvbmZpZyc7XG5pbXBvcnQge1xuICBhbG1hQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnNTY2hlbWEsXG4gIHR5cGUgQWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxufSBmcm9tICcuL3NjaGVtYXMvYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zJztcbmltcG9ydCB7IHBhcnNlU2NvcGVkUGFja2FnZU5hbWUgfSBmcm9tICcuL3NjaGVtYXMvbmFtZSc7XG5pbXBvcnQgeyBTb25hckNsb3VkUmVwb3J0V29ya2Zsb3cgfSBmcm9tICcuL1NvbmFyQ2xvdWRSZXBvcnRXb3JrZmxvdyc7XG5pbXBvcnQgeyB1bmlxdWVLZXl3b3Jkc0Nhc2VJbnNlbnNpdGl2ZSB9IGZyb20gJy4vdW5pcXVlS2V5d29yZHNDYXNlSW5zZW5zaXRpdmUnO1xuXG5leHBvcnQgdHlwZSB7IEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hcy9hbG1hQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMnO1xuXG5jb25zdCBDREtfVkVSU0lPTiA9ICcyLjIyMC4wJztcbmNvbnN0IENPTlNUUlVDVFNfVkVSU0lPTiA9ICcxMC4zLjAnO1xuY29uc3QgSlNJSV9WRVJTSU9OID0gJ341LjkuMCc7XG5jb25zdCBKRVNUX1ZFUlNJT04gPSAnXjMwJztcbmNvbnN0IERFRkFVTFRfS0VZV09SRFMgPSBbJ2NkaycsICdhd3MtY2RrJywgJ2F3c2NkaycsICdhd3MnXSBhcyBjb25zdDtcbmNvbnN0IFBSRVRUSUVSX0lHTk9SRV9QQVRURVJOUyA9IFtcbiAgJy5naXRodWIvKiovKicsXG4gICcucHJvamVuLyoqLyonLFxuICAnLnZzY29kZS8qKi8qJyxcbiAgJ2NvdmVyYWdlLyoqLyonLFxuICAnZGlzdC8qKi8qJyxcbiAgJy8qLionLFxuICAnIS5wcm9qZW5yYy50cycsXG5dIGFzIGNvbnN0O1xuY29uc3QgREVGQVVMVF9HSVRJR05PUkVfUEFUVEVSTlMgPSBbXG4gICcuRFNfU3RvcmUnLFxuICAnL2V4YW1wbGVzLyoqL2Nkay5jb250ZXh0Lmpzb24nLFxuICAnL2V4YW1wbGVzLyoqL25vZGVfbW9kdWxlcycsXG4gICcvZXhhbXBsZXMvKiovY2RrLm91dCcsXG4gICcvZXhhbXBsZXMvKiovLmdpdCcsXG4gICdUT0RPLm1kJyxcbiAgJy5zY2FubmVyd29yay8nLFxuICAnKiovKi5kcmF3aW8uYmtwJyxcbiAgJyoqLyouYWZkZXNpZ25+bG9ja34nLFxuXSBhcyBjb25zdDtcblxudHlwZSBWYWxpZGF0ZWRPcHRpb25zID0gei5pbmZlcjx0eXBlb2YgYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zU2NoZW1hPjtcblxuZnVuY3Rpb24gYnVpbGRLZXl3b3JkcyhrZXl3b3JkczogcmVhZG9ubHkgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB1bmlxdWVLZXl3b3Jkc0Nhc2VJbnNlbnNpdGl2ZShbLi4uREVGQVVMVF9LRVlXT1JEUywgLi4ua2V5d29yZHNdKTtcbn1cblxuZnVuY3Rpb24gYnVpbGRQdWJsaXNoVG9QeXBpT3B0aW9ucyhuYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgeyBzY29wZSwgcGFja2FnZU5hbWUgfSA9IHBhcnNlU2NvcGVkUGFja2FnZU5hbWUobmFtZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBkaXN0TmFtZTogYCR7c2NvcGV9LiR7cGFja2FnZU5hbWV9YCxcbiAgICBtb2R1bGU6IGAke3Njb3BlLnJlcGxhY2UoLy0vZywgJ18nKX0uJHtwYWNrYWdlTmFtZS5yZXBsYWNlKC8tL2csICdfJyl9YCxcbiAgICB0cnVzdGVkUHVibGlzaGluZzogdHJ1ZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRQdWJsaXNoVG9Hb09wdGlvbnMocmVwb3NpdG9yeVVybDogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgbW9kdWxlTmFtZTogYCR7cmVwb3NpdG9yeVVybC5yZXBsYWNlKCdodHRwczovLycsICcnKS5yZXBsYWNlKCcuZ2l0JywgJycpfS1nb2AsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMoXG4gIHZhbGlkYXRlZE9wdGlvbnM6IFZhbGlkYXRlZE9wdGlvbnMsXG4pOiBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIC4uLnZhbGlkYXRlZE9wdGlvbnMsXG4gICAgLy8gUGFja2FnZSBtYW5hZ2VyICYgcHJvamVuXG4gICAgcHJvamVuQ29tbWFuZDogJ3BucG0gZXhlYyBwcm9qZW4nLFxuICAgIGF1dGhvck9yZ2FuaXphdGlvbjogdHJ1ZSxcbiAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAgIHBhY2thZ2VNYW5hZ2VyOiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlci5QTlBNLFxuICAgIG5wbUFjY2VzczogamF2YXNjcmlwdC5OcG1BY2Nlc3MuUFVCTElDLFxuICAgIG5wbVRydXN0ZWRQdWJsaXNoaW5nOiB0cnVlLFxuICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAganNpaVZlcnNpb246IEpTSUlfVkVSU0lPTixcbiAgICBrZXl3b3JkczogYnVpbGRLZXl3b3Jkcyh2YWxpZGF0ZWRPcHRpb25zLmtleXdvcmRzKSxcbiAgICBqZXN0T3B0aW9uczoge1xuICAgICAgamVzdFZlcnNpb246IEpFU1RfVkVSU0lPTixcbiAgICAgIHVwZGF0ZVNuYXBzaG90OiBVcGRhdGVTbmFwc2hvdC5ORVZFUixcbiAgICB9LFxuICAgIC8vIENvZGUgcXVhbGl0eSAoUHJldHRpZXIpXG4gICAgcHJldHRpZXI6IHRydWUsXG4gICAgcHJldHRpZXJPcHRpb25zOiB7XG4gICAgICBpZ25vcmVGaWxlT3B0aW9uczoge1xuICAgICAgICBpZ25vcmVQYXR0ZXJuczogWy4uLlBSRVRUSUVSX0lHTk9SRV9QQVRURVJOU10sXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gUHVibGlzaGluZ1xuICAgIHB1Ymxpc2hUb1B5cGk6IGJ1aWxkUHVibGlzaFRvUHlwaU9wdGlvbnModmFsaWRhdGVkT3B0aW9ucy5uYW1lKSxcbiAgICBwdWJsaXNoVG9HbzogYnVpbGRQdWJsaXNoVG9Hb09wdGlvbnModmFsaWRhdGVkT3B0aW9ucy5yZXBvc2l0b3J5VXJsKSxcbiAgICAvLyBDREtcbiAgICBjZGtWZXJzaW9uOiBDREtfVkVSU0lPTixcbiAgICBjb25zdHJ1Y3RzVmVyc2lvbjogQ09OU1RSVUNUU19WRVJTSU9OLFxuICAgIC8vIEdpdCAmIGRldlxuICAgIGdpdGlnbm9yZTogWy4uLkRFRkFVTFRfR0lUSUdOT1JFX1BBVFRFUk5TXSxcbiAgICB0c2NvbmZpZ0Rldjoge1xuICAgICAgaW5jbHVkZTogWydBbG1hQ2RrQ29uc3RydWN0TGlicmFyeS8qKi8qLnRzJ10sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnkge1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IHZhbGlkYXRlZE9wdGlvbnMgPVxuICAgICAgYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zU2NoZW1hLnBhcnNlKG9wdGlvbnMpO1xuICAgIHN1cGVyKGJ1aWxkQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnModmFsaWRhdGVkT3B0aW9ucykpO1xuXG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gdmFsaWRhdGVkT3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uO1xuXG4gICAgdGhpcy5hZGREZXZEZXBzKCd0eXBlc2NyaXB0QF41LjknKTsgLy8gRGVmYXVsdHMgdG8gdmVyeSBvbGQgdHlwZXNjcmlwdEA0LjlcblxuICAgIHRoaXMuYWRkVGFzaygnZm9ybWF0Jywge1xuICAgICAgZXhlYzogJ3ByZXR0aWVyIC0td3JpdGUgLicsXG4gICAgfSk7XG5cbiAgICBuZXcgU29uYXJDbG91ZFJlcG9ydFdvcmtmbG93KHRoaXMsIHtcbiAgICAgIHNvbmFyUHJvamVjdFByb3BlcnRpZXNFeHRyYUxpbmVzOlxuICAgICAgICB2YWxpZGF0ZWRPcHRpb25zLnNvbmFyUHJvamVjdFByb3BlcnRpZXNFeHRyYUxpbmVzLFxuICAgIH0pO1xuXG4gICAgbmV3IE5vZGVDb25maWcodGhpcyk7XG4gIH1cbn1cbiJdfQ==
116
+ AlmaCdkConstructLibrary[_a] = { fqn: "@alma-cdk/construct-library.AlmaCdkConstructLibrary", version: "0.0.15" };
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxtYUNka0NvbnN0cnVjdExpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQWxtYUNka0NvbnN0cnVjdExpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBNEM7QUFDNUMsc0RBQXVEO0FBRXZELDZDQUEwQztBQUMxQyw2RkFHa0Q7QUFDbEQseUNBQXdEO0FBQ3hELHlFQUFzRTtBQUN0RSxtRkFBZ0Y7QUFJaEYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQztBQUM5QixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBQ2QsZUFBZTtJQUNmLFdBQVc7SUFDWCxNQUFNO0lBQ04sZUFBZTtDQUNQLENBQUM7QUFDWCxNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLFdBQVc7SUFDWCwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGVBQWU7SUFDZixpQkFBaUI7SUFDakIscUJBQXFCO0NBQ2IsQ0FBQztBQUlYLFNBQVMsYUFBYSxDQUFDLFFBQTJCO0lBQ2hELE9BQU8sSUFBQSw2REFBNkIsRUFBQyxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUFDLElBQVk7SUFDN0MsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFBLDZCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVELE9BQU87UUFD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QUUsZ0JBQWdCLENBQUMsbUJBQW1CO1lBQ3pELFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZO1NBQzVDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBekJILDBEQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBVcGRhdGVTbmFwc2hvdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IE5vZGVDb25maWcgfSBmcm9tICcuL05vZGVDb25maWcnO1xuaW1wb3J0IHtcbiAgYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zU2NoZW1hLFxuICB0eXBlIEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyxcbn0gZnJvbSAnLi9zY2hlbWFzL2FsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyc7XG5pbXBvcnQgeyBwYXJzZVNjb3BlZFBhY2thZ2VOYW1lIH0gZnJvbSAnLi9zY2hlbWFzL25hbWUnO1xuaW1wb3J0IHsgU29uYXJDbG91ZFJlcG9ydFdvcmtmbG93IH0gZnJvbSAnLi9Tb25hckNsb3VkUmVwb3J0V29ya2Zsb3cnO1xuaW1wb3J0IHsgdW5pcXVlS2V5d29yZHNDYXNlSW5zZW5zaXRpdmUgfSBmcm9tICcuL3VuaXF1ZUtleXdvcmRzQ2FzZUluc2Vuc2l0aXZlJztcblxuZXhwb3J0IHR5cGUgeyBBbG1hQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYXMvYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zJztcblxuY29uc3QgQ0RLX1ZFUlNJT04gPSAnMi4yMjAuMCc7XG5jb25zdCBDT05TVFJVQ1RTX1ZFUlNJT04gPSAnMTAuMy4wJztcbmNvbnN0IEpTSUlfVkVSU0lPTiA9ICd+NS45LjAnO1xuY29uc3QgSkVTVF9WRVJTSU9OID0gJ14zMCc7XG5jb25zdCBERUZBVUxUX0tFWVdPUkRTID0gWydjZGsnLCAnYXdzLWNkaycsICdhd3NjZGsnLCAnYXdzJ10gYXMgY29uc3Q7XG5jb25zdCBQUkVUVElFUl9JR05PUkVfUEFUVEVSTlMgPSBbXG4gICcuZ2l0aHViLyoqLyonLFxuICAnLnByb2plbi8qKi8qJyxcbiAgJy52c2NvZGUvKiovKicsXG4gICdjb3ZlcmFnZS8qKi8qJyxcbiAgJ2Rpc3QvKiovKicsXG4gICcvKi4qJyxcbiAgJyEucHJvamVucmMudHMnLFxuXSBhcyBjb25zdDtcbmNvbnN0IERFRkFVTFRfR0lUSUdOT1JFX1BBVFRFUk5TID0gW1xuICAnLkRTX1N0b3JlJyxcbiAgJy9leGFtcGxlcy8qKi9jZGsuY29udGV4dC5qc29uJyxcbiAgJy9leGFtcGxlcy8qKi9ub2RlX21vZHVsZXMnLFxuICAnL2V4YW1wbGVzLyoqL2Nkay5vdXQnLFxuICAnL2V4YW1wbGVzLyoqLy5naXQnLFxuICAnVE9ETy5tZCcsXG4gICcuc2Nhbm5lcndvcmsvJyxcbiAgJyoqLyouZHJhd2lvLmJrcCcsXG4gICcqKi8qLmFmZGVzaWdufmxvY2t+Jyxcbl0gYXMgY29uc3Q7XG5cbnR5cGUgVmFsaWRhdGVkT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIGFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1NjaGVtYT47XG5cbmZ1bmN0aW9uIGJ1aWxkS2V5d29yZHMoa2V5d29yZHM6IHJlYWRvbmx5IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICByZXR1cm4gdW5pcXVlS2V5d29yZHNDYXNlSW5zZW5zaXRpdmUoWy4uLkRFRkFVTFRfS0VZV09SRFMsIC4uLmtleXdvcmRzXSk7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUHVibGlzaFRvUHlwaU9wdGlvbnMobmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHsgc2NvcGUsIHBhY2thZ2VOYW1lIH0gPSBwYXJzZVNjb3BlZFBhY2thZ2VOYW1lKG5hbWUpO1xuXG4gIHJldHVybiB7XG4gICAgZGlzdE5hbWU6IGAke3Njb3BlfS4ke3BhY2thZ2VOYW1lfWAsXG4gICAgbW9kdWxlOiBgJHtzY29wZS5yZXBsYWNlKC8tL2csICdfJyl9LiR7cGFja2FnZU5hbWUucmVwbGFjZSgvLS9nLCAnXycpfWAsXG4gICAgdHJ1c3RlZFB1Ymxpc2hpbmc6IHRydWUsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUHVibGlzaFRvR29PcHRpb25zKHJlcG9zaXRvcnlVcmw6IHN0cmluZykge1xuICByZXR1cm4ge1xuICAgIG1vZHVsZU5hbWU6IGAke3JlcG9zaXRvcnlVcmwucmVwbGFjZSgnaHR0cHM6Ly8nLCAnJykucmVwbGFjZSgnLmdpdCcsICcnKX0tZ29gLFxuICB9O1xufVxuXG5mdW5jdGlvbiBidWlsZEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zKFxuICB2YWxpZGF0ZWRPcHRpb25zOiBWYWxpZGF0ZWRPcHRpb25zLFxuKTogYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgY29uc3QgeyBnb2xhbmcsIHB5dGhvbiwgLi4uYXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSA9IHZhbGlkYXRlZE9wdGlvbnM7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5hd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyxcbiAgICAvLyBQYWNrYWdlIG1hbmFnZXIgJiBwcm9qZW5cbiAgICBwcm9qZW5Db21tYW5kOiAncG5wbSBleGVjIHByb2plbicsXG4gICAgYXV0aG9yT3JnYW5pemF0aW9uOiB0cnVlLFxuICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgcGFja2FnZU1hbmFnZXI6IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0sXG4gICAgbnBtQWNjZXNzOiBqYXZhc2NyaXB0Lk5wbUFjY2Vzcy5QVUJMSUMsXG4gICAgbnBtVHJ1c3RlZFB1Ymxpc2hpbmc6IHRydWUsXG4gICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICBqc2lpVmVyc2lvbjogSlNJSV9WRVJTSU9OLFxuICAgIGtleXdvcmRzOiBidWlsZEtleXdvcmRzKHZhbGlkYXRlZE9wdGlvbnMua2V5d29yZHMpLFxuICAgIGplc3RPcHRpb25zOiB7XG4gICAgICBqZXN0VmVyc2lvbjogSkVTVF9WRVJTSU9OLFxuICAgICAgdXBkYXRlU25hcHNob3Q6IFVwZGF0ZVNuYXBzaG90Lk5FVkVSLFxuICAgIH0sXG4gICAgLy8gQ29kZSBxdWFsaXR5IChQcmV0dGllcilcbiAgICBwcmV0dGllcjogdHJ1ZSxcbiAgICBwcmV0dGllck9wdGlvbnM6IHtcbiAgICAgIGlnbm9yZUZpbGVPcHRpb25zOiB7XG4gICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbLi4uUFJFVFRJRVJfSUdOT1JFX1BBVFRFUk5TXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAvLyBQdWJsaXNoaW5nXG4gICAgcHVibGlzaFRvUHlwaTogcHl0aG9uXG4gICAgICA/IGJ1aWxkUHVibGlzaFRvUHlwaU9wdGlvbnModmFsaWRhdGVkT3B0aW9ucy5uYW1lKVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgcHVibGlzaFRvR286IGdvbGFuZ1xuICAgICAgPyBidWlsZFB1Ymxpc2hUb0dvT3B0aW9ucyh2YWxpZGF0ZWRPcHRpb25zLnJlcG9zaXRvcnlVcmwpXG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICAvLyBDREtcbiAgICBjZGtWZXJzaW9uOiBDREtfVkVSU0lPTixcbiAgICBjb25zdHJ1Y3RzVmVyc2lvbjogQ09OU1RSVUNUU19WRVJTSU9OLFxuICAgIC8vIEdpdCAmIGRldlxuICAgIGdpdGlnbm9yZTogWy4uLkRFRkFVTFRfR0lUSUdOT1JFX1BBVFRFUk5TXSxcbiAgICB0c2NvbmZpZ0Rldjoge1xuICAgICAgaW5jbHVkZTogWydBbG1hQ2RrQ29uc3RydWN0TGlicmFyeS8qKi8qLnRzJ10sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgYXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnkge1xuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IHZhbGlkYXRlZE9wdGlvbnMgPVxuICAgICAgYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zU2NoZW1hLnBhcnNlKG9wdGlvbnMpO1xuICAgIHN1cGVyKGJ1aWxkQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnModmFsaWRhdGVkT3B0aW9ucykpO1xuXG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gdmFsaWRhdGVkT3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uO1xuXG4gICAgdGhpcy5hZGREZXZEZXBzKCd0eXBlc2NyaXB0QF41LjknKTsgLy8gRGVmYXVsdHMgdG8gdmVyeSBvbGQgdHlwZXNjcmlwdEA0LjlcblxuICAgIHRoaXMuYWRkVGFzaygnZm9ybWF0Jywge1xuICAgICAgZXhlYzogJ3ByZXR0aWVyIC0td3JpdGUgLicsXG4gICAgfSk7XG5cbiAgICBuZXcgU29uYXJDbG91ZFJlcG9ydFdvcmtmbG93KHRoaXMsIHtcbiAgICAgIHNvbmFyUHJvamVjdFByb3BlcnRpZXNFeHRyYUxpbmVzOlxuICAgICAgICB2YWxpZGF0ZWRPcHRpb25zLnNvbmFyUHJvamVjdFByb3BlcnRpZXNFeHRyYUxpbmVzLFxuICAgIH0pO1xuXG4gICAgbmV3IE5vZGVDb25maWcodGhpcywge1xuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogdmFsaWRhdGVkT3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uLFxuICAgICAgcG5wbVNldHRpbmdzOiB2YWxpZGF0ZWRPcHRpb25zLnBucG1TZXR0aW5ncyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,10 +1,13 @@
1
1
  import { cdk } from 'projen';
2
+ import { PnpmWorkspaceSpecification } from './pnpm-workspace-schema';
2
3
  export interface NodeConfigOptions {
3
- workflowNodeVersion: string;
4
+ readonly workflowNodeVersion: string;
5
+ readonly pnpmSettings?: PnpmWorkspaceSpecification;
4
6
  }
7
+ export declare function mergePnpmSettings<T>(defaults: T, overrides: unknown): T;
5
8
  export declare class NodeConfig {
6
9
  /**
7
- * @param project - The CDK construct library project; must expose `workflowNodeVersion` (e.g. AlmaCdkConstructLibrary).
10
+ * @param project - The CDK construct library project.
8
11
  */
9
- constructor(project: cdk.JsiiProject & NodeConfigOptions);
12
+ constructor(project: cdk.JsiiProject, options: NodeConfigOptions);
10
13
  }
package/lib/NodeConfig.js CHANGED
@@ -1,34 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeConfig = void 0;
4
+ exports.mergePnpmSettings = mergePnpmSettings;
4
5
  const projen_1 = require("projen");
5
6
  const daysToMinutes_1 = require("./daysToMinutes");
7
+ function isPlainObject(value) {
8
+ return value != null && typeof value === 'object' && !Array.isArray(value);
9
+ }
10
+ function mergePnpmSettings(defaults, overrides) {
11
+ if (Array.isArray(defaults) && Array.isArray(overrides)) {
12
+ return [...defaults, ...overrides];
13
+ }
14
+ if (isPlainObject(defaults) && isPlainObject(overrides)) {
15
+ const mergedEntries = Object.keys(overrides).map((key) => [
16
+ key,
17
+ key in defaults
18
+ ? mergePnpmSettings(defaults[key], overrides[key])
19
+ : overrides[key],
20
+ ]);
21
+ return {
22
+ ...defaults,
23
+ ...Object.fromEntries(mergedEntries),
24
+ };
25
+ }
26
+ return (overrides ?? defaults);
27
+ }
6
28
  class NodeConfig {
7
29
  /**
8
- * @param project - The CDK construct library project; must expose `workflowNodeVersion` (e.g. AlmaCdkConstructLibrary).
30
+ * @param project - The CDK construct library project.
9
31
  */
10
- constructor(project) {
32
+ constructor(project, options) {
11
33
  new projen_1.TextFile(project, '.nvmrc', {
12
- lines: [project.workflowNodeVersion],
34
+ lines: [options.workflowNodeVersion],
13
35
  });
36
+ const defaultWorkspaceConfig = {
37
+ minimumReleaseAge: (0, daysToMinutes_1.daysToMinutes)(3),
38
+ minimumReleaseAgeExclude: ['@alma-cdk/construct-library'],
39
+ trustPolicy: 'no-downgrade',
40
+ trustPolicyIgnoreAfter: (0, daysToMinutes_1.daysToMinutes)(14),
41
+ trustPolicyExclude: ['jsii@5.9.33'],
42
+ nodeLinker: 'hoisted', // required for bundled deps
43
+ resolutionMode: 'highest',
44
+ strictDepBuilds: true,
45
+ onlyBuiltDependencies: [],
46
+ blockExoticSubdeps: true,
47
+ overrides: {},
48
+ };
49
+ const workspaceConfig = mergePnpmSettings(defaultWorkspaceConfig, options.pnpmSettings);
14
50
  new projen_1.YamlFile(project, 'pnpm-workspace.yaml', {
15
- obj: {
16
- minimumReleaseAge: (0, daysToMinutes_1.daysToMinutes)(3),
17
- minimumReleaseAgeExclude: ['@alma-cdk/construct-library'],
18
- trustPolicy: 'no-downgrade',
19
- trustPolicyIgnoreAfter: (0, daysToMinutes_1.daysToMinutes)(14),
20
- trustPolicyExclude: ['jsii@5.9.33'],
21
- nodeLinker: 'hoisted', // required for bundled deps
22
- resolutionMode: 'highest',
23
- strictDepBuilds: true,
24
- onlyBuiltDependencies: ['unrs-resolver'], // allow unrs-resolver build scripts
25
- blockExoticSubdeps: true,
26
- overrides: {
27
- 'ajv@^8': '^8.18.0',
28
- },
29
- },
51
+ obj: workspaceConfig,
30
52
  });
31
53
  }
32
54
  }
33
55
  exports.NodeConfig = NodeConfig;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ob2RlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFpRDtBQUNqRCxtREFBZ0Q7QUFPaEQsTUFBYSxVQUFVO0lBQ3JCOztPQUVHO0lBQ0gsWUFBWSxPQUE0QztRQUN0RCxJQUFJLGlCQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtZQUM5QixLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQkFBUSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRTtZQUMzQyxHQUFHLEVBQUU7Z0JBQ0gsaUJBQWlCLEVBQUUsSUFBQSw2QkFBYSxFQUFDLENBQUMsQ0FBQztnQkFDbkMsd0JBQXdCLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDekQsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLHNCQUFzQixFQUFFLElBQUEsNkJBQWEsRUFBQyxFQUFFLENBQUM7Z0JBQ3pDLGtCQUFrQixFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNuQyxVQUFVLEVBQUUsU0FBUyxFQUFFLDRCQUE0QjtnQkFDbkQsY0FBYyxFQUFFLFNBQVM7Z0JBQ3pCLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixxQkFBcUIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLG9DQUFvQztnQkFDOUUsa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsU0FBUyxFQUFFO29CQUNULFFBQVEsRUFBRSxTQUFTO2lCQUNwQjthQUM0QjtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEzQkQsZ0NBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUsIGNkaywgWWFtbEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgZGF5c1RvTWludXRlcyB9IGZyb20gJy4vZGF5c1RvTWludXRlcyc7XG5pbXBvcnQgeyBQbnBtV29ya3NwYWNlU3BlY2lmaWNhdGlvbiB9IGZyb20gJy4vcG5wbS13b3Jrc3BhY2Utc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlQ29uZmlnT3B0aW9ucyB7XG4gIHdvcmtmbG93Tm9kZVZlcnNpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE5vZGVDb25maWcge1xuICAvKipcbiAgICogQHBhcmFtIHByb2plY3QgLSBUaGUgQ0RLIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3Q7IG11c3QgZXhwb3NlIGB3b3JrZmxvd05vZGVWZXJzaW9uYCAoZS5nLiBBbG1hQ2RrQ29uc3RydWN0TGlicmFyeSkuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBjZGsuSnNpaVByb2plY3QgJiBOb2RlQ29uZmlnT3B0aW9ucykge1xuICAgIG5ldyBUZXh0RmlsZShwcm9qZWN0LCAnLm52bXJjJywge1xuICAgICAgbGluZXM6IFtwcm9qZWN0LndvcmtmbG93Tm9kZVZlcnNpb25dLFxuICAgIH0pO1xuXG4gICAgbmV3IFlhbWxGaWxlKHByb2plY3QsICdwbnBtLXdvcmtzcGFjZS55YW1sJywge1xuICAgICAgb2JqOiB7XG4gICAgICAgIG1pbmltdW1SZWxlYXNlQWdlOiBkYXlzVG9NaW51dGVzKDMpLFxuICAgICAgICBtaW5pbXVtUmVsZWFzZUFnZUV4Y2x1ZGU6IFsnQGFsbWEtY2RrL2NvbnN0cnVjdC1saWJyYXJ5J10sXG4gICAgICAgIHRydXN0UG9saWN5OiAnbm8tZG93bmdyYWRlJyxcbiAgICAgICAgdHJ1c3RQb2xpY3lJZ25vcmVBZnRlcjogZGF5c1RvTWludXRlcygxNCksXG4gICAgICAgIHRydXN0UG9saWN5RXhjbHVkZTogWydqc2lpQDUuOS4zMyddLFxuICAgICAgICBub2RlTGlua2VyOiAnaG9pc3RlZCcsIC8vIHJlcXVpcmVkIGZvciBidW5kbGVkIGRlcHNcbiAgICAgICAgcmVzb2x1dGlvbk1vZGU6ICdoaWdoZXN0JyxcbiAgICAgICAgc3RyaWN0RGVwQnVpbGRzOiB0cnVlLFxuICAgICAgICBvbmx5QnVpbHREZXBlbmRlbmNpZXM6IFsndW5ycy1yZXNvbHZlciddLCAvLyBhbGxvdyB1bnJzLXJlc29sdmVyIGJ1aWxkIHNjcmlwdHNcbiAgICAgICAgYmxvY2tFeG90aWNTdWJkZXBzOiB0cnVlLFxuICAgICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgICAnYWp2QF44JzogJ144LjE4LjAnLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBQbnBtV29ya3NwYWNlU3BlY2lmaWNhdGlvbixcbiAgICB9KTtcbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ob2RlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLDhDQW9CQztBQW5DRCxtQ0FBaUQ7QUFDakQsbURBQWdEO0FBUWhELFNBQVMsYUFBYSxDQUNwQixLQUFjO0lBRWQsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFJLFFBQVcsRUFBRSxTQUFrQjtJQUNsRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLFNBQVMsQ0FBTSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDeEQsR0FBRztZQUNILEdBQUcsSUFBSSxRQUFRO2dCQUNiLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsRCxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztTQUNuQixDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsR0FBRyxRQUFRO1lBQ1gsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztTQUNoQyxDQUFDO0lBQ1QsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFNLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQWEsVUFBVTtJQUNyQjs7T0FFRztJQUNILFlBQVksT0FBd0IsRUFBRSxPQUEwQjtRQUM5RCxJQUFJLGlCQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtZQUM5QixLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxzQkFBc0IsR0FBK0I7WUFDekQsaUJBQWlCLEVBQUUsSUFBQSw2QkFBYSxFQUFDLENBQUMsQ0FBQztZQUNuQyx3QkFBd0IsRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQ3pELFdBQVcsRUFBRSxjQUFjO1lBQzNCLHNCQUFzQixFQUFFLElBQUEsNkJBQWEsRUFBQyxFQUFFLENBQUM7WUFDekMsa0JBQWtCLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDbkMsVUFBVSxFQUFFLFNBQVMsRUFBRSw0QkFBNEI7WUFDbkQsY0FBYyxFQUFFLFNBQVM7WUFDekIsZUFBZSxFQUFFLElBQUk7WUFDckIscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUN2QyxzQkFBc0IsRUFDdEIsT0FBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQztRQUVGLElBQUksaUJBQVEsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUU7WUFDM0MsR0FBRyxFQUFFLGVBQWU7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBaENELGdDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRGaWxlLCBjZGssIFlhbWxGaWxlIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IGRheXNUb01pbnV0ZXMgfSBmcm9tICcuL2RheXNUb01pbnV0ZXMnO1xuaW1wb3J0IHsgUG5wbVdvcmtzcGFjZVNwZWNpZmljYXRpb24gfSBmcm9tICcuL3BucG0td29ya3NwYWNlLXNjaGVtYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUNvbmZpZ09wdGlvbnMge1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBucG1TZXR0aW5ncz86IFBucG1Xb3Jrc3BhY2VTcGVjaWZpY2F0aW9uO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KFxuICB2YWx1ZTogdW5rbm93bixcbik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVBucG1TZXR0aW5nczxUPihkZWZhdWx0czogVCwgb3ZlcnJpZGVzOiB1bmtub3duKTogVCB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRlZmF1bHRzKSAmJiBBcnJheS5pc0FycmF5KG92ZXJyaWRlcykpIHtcbiAgICByZXR1cm4gWy4uLmRlZmF1bHRzLCAuLi5vdmVycmlkZXNdIGFzIFQ7XG4gIH1cblxuICBpZiAoaXNQbGFpbk9iamVjdChkZWZhdWx0cykgJiYgaXNQbGFpbk9iamVjdChvdmVycmlkZXMpKSB7XG4gICAgY29uc3QgbWVyZ2VkRW50cmllcyA9IE9iamVjdC5rZXlzKG92ZXJyaWRlcykubWFwKChrZXkpID0+IFtcbiAgICAgIGtleSxcbiAgICAgIGtleSBpbiBkZWZhdWx0c1xuICAgICAgICA/IG1lcmdlUG5wbVNldHRpbmdzKGRlZmF1bHRzW2tleV0sIG92ZXJyaWRlc1trZXldKVxuICAgICAgICA6IG92ZXJyaWRlc1trZXldLFxuICAgIF0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRzLFxuICAgICAgLi4uT2JqZWN0LmZyb21FbnRyaWVzKG1lcmdlZEVudHJpZXMpLFxuICAgIH0gYXMgVDtcbiAgfVxuXG4gIHJldHVybiAob3ZlcnJpZGVzID8/IGRlZmF1bHRzKSBhcyBUO1xufVxuXG5leHBvcnQgY2xhc3MgTm9kZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBDREsgY29uc3RydWN0IGxpYnJhcnkgcHJvamVjdC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IGNkay5Kc2lpUHJvamVjdCwgb3B0aW9uczogTm9kZUNvbmZpZ09wdGlvbnMpIHtcbiAgICBuZXcgVGV4dEZpbGUocHJvamVjdCwgJy5udm1yYycsIHtcbiAgICAgIGxpbmVzOiBbb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmF1bHRXb3Jrc3BhY2VDb25maWc6IFBucG1Xb3Jrc3BhY2VTcGVjaWZpY2F0aW9uID0ge1xuICAgICAgbWluaW11bVJlbGVhc2VBZ2U6IGRheXNUb01pbnV0ZXMoMyksXG4gICAgICBtaW5pbXVtUmVsZWFzZUFnZUV4Y2x1ZGU6IFsnQGFsbWEtY2RrL2NvbnN0cnVjdC1saWJyYXJ5J10sXG4gICAgICB0cnVzdFBvbGljeTogJ25vLWRvd25ncmFkZScsXG4gICAgICB0cnVzdFBvbGljeUlnbm9yZUFmdGVyOiBkYXlzVG9NaW51dGVzKDE0KSxcbiAgICAgIHRydXN0UG9saWN5RXhjbHVkZTogWydqc2lpQDUuOS4zMyddLFxuICAgICAgbm9kZUxpbmtlcjogJ2hvaXN0ZWQnLCAvLyByZXF1aXJlZCBmb3IgYnVuZGxlZCBkZXBzXG4gICAgICByZXNvbHV0aW9uTW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgc3RyaWN0RGVwQnVpbGRzOiB0cnVlLFxuICAgICAgb25seUJ1aWx0RGVwZW5kZW5jaWVzOiBbXSxcbiAgICAgIGJsb2NrRXhvdGljU3ViZGVwczogdHJ1ZSxcbiAgICAgIG92ZXJyaWRlczoge30sXG4gICAgfTtcblxuICAgIGNvbnN0IHdvcmtzcGFjZUNvbmZpZyA9IG1lcmdlUG5wbVNldHRpbmdzKFxuICAgICAgZGVmYXVsdFdvcmtzcGFjZUNvbmZpZyxcbiAgICAgIG9wdGlvbnMucG5wbVNldHRpbmdzLFxuICAgICk7XG5cbiAgICBuZXcgWWFtbEZpbGUocHJvamVjdCwgJ3BucG0td29ya3NwYWNlLnlhbWwnLCB7XG4gICAgICBvYmo6IHdvcmtzcGFjZUNvbmZpZyxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/lib/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { AlmaCdkConstructLibrary, type AlmaCdkConstructLibraryOptions, } from './AlmaCdkConstructLibrary';
2
+ export type { AuditConfig, Catalog, Dependency, Dependency1, ExecutionEnv, OptionalDependency, PackageExtension, PeerDependency, PeerDependencyMeta, PeerDependencyMetaValue, PeerDependencyRules, PnpmWorkspaceSpecification, SupportedArchitectures, UpdateConfig, } from './pnpm-workspace-schema';
package/lib/index.js CHANGED
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AlmaCdkConstructLibrary = void 0;
4
4
  var AlmaCdkConstructLibrary_1 = require("./AlmaCdkConstructLibrary");
5
5
  Object.defineProperty(exports, "AlmaCdkConstructLibrary", { enumerable: true, get: function () { return AlmaCdkConstructLibrary_1.AlmaCdkConstructLibrary; } });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBR21DO0FBRmpDLGtJQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgQWxtYUNka0NvbnN0cnVjdExpYnJhcnksXG4gIHR5cGUgQWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxufSBmcm9tICcuL0FsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5JztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBR21DO0FBRmpDLGtJQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgQWxtYUNka0NvbnN0cnVjdExpYnJhcnksXG4gIHR5cGUgQWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxufSBmcm9tICcuL0FsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5JztcblxuZXhwb3J0IHR5cGUge1xuICBBdWRpdENvbmZpZyxcbiAgQ2F0YWxvZyxcbiAgRGVwZW5kZW5jeSxcbiAgRGVwZW5kZW5jeTEsXG4gIEV4ZWN1dGlvbkVudixcbiAgT3B0aW9uYWxEZXBlbmRlbmN5LFxuICBQYWNrYWdlRXh0ZW5zaW9uLFxuICBQZWVyRGVwZW5kZW5jeSxcbiAgUGVlckRlcGVuZGVuY3lNZXRhLFxuICBQZWVyRGVwZW5kZW5jeU1ldGFWYWx1ZSxcbiAgUGVlckRlcGVuZGVuY3lSdWxlcyxcbiAgUG5wbVdvcmtzcGFjZVNwZWNpZmljYXRpb24sXG4gIFN1cHBvcnRlZEFyY2hpdGVjdHVyZXMsXG4gIFVwZGF0ZUNvbmZpZyxcbn0gZnJvbSAnLi9wbnBtLXdvcmtzcGFjZS1zY2hlbWEnOyJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { cdk } from 'projen';
2
2
  import { BranchOptions } from 'projen/lib/release';
3
3
  import { z } from 'zod';
4
+ import type { PnpmWorkspaceSpecification } from '../pnpm-workspace-schema';
4
5
  /** Options for a release branch (matches projen BranchOptions) */
5
6
  export declare const branchOptionsSchema: z.ZodObject<{
6
7
  workflowName: z.ZodOptional<z.ZodString>;
@@ -26,14 +27,18 @@ export interface AlmaCdkConstructLibraryOptions {
26
27
  readonly repositoryUrl: string;
27
28
  readonly releaseBranches?: Record<string, BranchOptions>;
28
29
  readonly releaseEnvironment?: string;
30
+ readonly peerDeps?: string[];
29
31
  readonly deps?: string[];
30
32
  readonly devDeps?: string[];
31
33
  readonly bundledDeps?: string[];
32
34
  readonly minNodeVersion?: string;
33
35
  readonly workflowNodeVersion?: string;
34
36
  readonly maxNodeVersion?: string;
37
+ readonly pnpmSettings?: PnpmWorkspaceSpecification;
35
38
  /** Appended to generated `sonar-project.properties` after the default lines (e.g. Sonar multicriteria ignores). */
36
39
  readonly sonarProjectPropertiesExtraLines?: string[];
40
+ readonly golang?: boolean;
41
+ readonly python?: boolean;
37
42
  }
38
43
  /** Projen AwsCdkConstructLibrary options with validation and defaults (min/max/workflow Node versions, scoped name, etc.). */
39
44
  export declare const almaCdkConstructLibraryOptionsSchema: z.ZodObject<{
@@ -56,11 +61,222 @@ export declare const almaCdkConstructLibraryOptionsSchema: z.ZodObject<{
56
61
  npmDistTag: z.ZodOptional<z.ZodString>;
57
62
  }, z.core.$strip>>>;
58
63
  releaseEnvironment: z.ZodString;
64
+ peerDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
65
  deps: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
66
  devDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
61
67
  bundledDeps: z.ZodOptional<z.ZodArray<z.ZodString>>;
62
68
  minNodeVersion: z.ZodDefault<z.ZodString>;
63
69
  workflowNodeVersion: z.ZodDefault<z.ZodString>;
64
70
  maxNodeVersion: z.ZodDefault<z.ZodString>;
71
+ pnpmSettings: z.ZodOptional<z.ZodObject<{
72
+ packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
73
+ catalog: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
74
+ catalogs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
75
+ catalogMode: z.ZodOptional<z.ZodEnum<{
76
+ strict: "strict";
77
+ prefer: "prefer";
78
+ manual: "manual";
79
+ }>>;
80
+ cleanupUnusedCatalogs: z.ZodOptional<z.ZodBoolean>;
81
+ onlyBuiltDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
82
+ overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
83
+ packageExtensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
84
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
85
+ optionalDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
86
+ peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
87
+ peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
88
+ optional: z.ZodOptional<z.ZodBoolean>;
89
+ }, z.core.$strict>>>;
90
+ }, z.core.$strict>>>;
91
+ peerDependencyRules: z.ZodOptional<z.ZodObject<{
92
+ ignoreMissing: z.ZodOptional<z.ZodArray<z.ZodString>>;
93
+ allowedVersions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
94
+ allowAny: z.ZodOptional<z.ZodArray<z.ZodString>>;
95
+ }, z.core.$strict>>;
96
+ neverBuiltDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
97
+ dangerouslyAllowAllBuilds: z.ZodOptional<z.ZodBoolean>;
98
+ onlyBuiltDependenciesFile: z.ZodOptional<z.ZodString>;
99
+ ignoredBuiltDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
+ allowedDeprecatedVersions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
101
+ patchedDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
102
+ allowUnusedPatches: z.ZodOptional<z.ZodBoolean>;
103
+ allowNonAppliedPatches: z.ZodOptional<z.ZodBoolean>;
104
+ ignorePatchFailures: z.ZodOptional<z.ZodBoolean>;
105
+ updateConfig: z.ZodOptional<z.ZodObject<{
106
+ ignoreDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
107
+ }, z.core.$strict>>;
108
+ configDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
109
+ auditConfig: z.ZodOptional<z.ZodObject<{
110
+ ignoreCves: z.ZodOptional<z.ZodArray<z.ZodString>>;
111
+ ignoreGhsas: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
+ }, z.core.$strict>>;
113
+ requiredScripts: z.ZodOptional<z.ZodArray<z.ZodString>>;
114
+ supportedArchitectures: z.ZodOptional<z.ZodObject<{
115
+ os: z.ZodOptional<z.ZodArray<z.ZodString>>;
116
+ cpu: z.ZodOptional<z.ZodArray<z.ZodString>>;
117
+ libc: z.ZodOptional<z.ZodArray<z.ZodString>>;
118
+ }, z.core.$strict>>;
119
+ ignoredOptionalDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
+ executionEnv: z.ZodOptional<z.ZodObject<{
121
+ nodeVersion: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strict>>;
123
+ hoist: z.ZodOptional<z.ZodBoolean>;
124
+ hoistWorkspacePackages: z.ZodOptional<z.ZodBoolean>;
125
+ hoistPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
126
+ publicHoistPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
127
+ shamefullyHoist: z.ZodOptional<z.ZodBoolean>;
128
+ modulesDir: z.ZodOptional<z.ZodString>;
129
+ nodeLinker: z.ZodOptional<z.ZodEnum<{
130
+ hoisted: "hoisted";
131
+ isolated: "isolated";
132
+ pnp: "pnp";
133
+ }>>;
134
+ symlink: z.ZodOptional<z.ZodBoolean>;
135
+ enableModulesDir: z.ZodOptional<z.ZodBoolean>;
136
+ virtualStoreDir: z.ZodOptional<z.ZodString>;
137
+ virtualStoreDirMaxLength: z.ZodOptional<z.ZodNumber>;
138
+ packageImportMethod: z.ZodOptional<z.ZodEnum<{
139
+ auto: "auto";
140
+ hardlink: "hardlink";
141
+ copy: "copy";
142
+ clone: "clone";
143
+ "clone-or-copy": "clone-or-copy";
144
+ }>>;
145
+ modulesCacheMaxAge: z.ZodOptional<z.ZodNumber>;
146
+ dlxCacheMaxAge: z.ZodOptional<z.ZodNumber>;
147
+ storeDir: z.ZodOptional<z.ZodString>;
148
+ verifyStoreIntegrity: z.ZodOptional<z.ZodBoolean>;
149
+ strictStorePkgContentCheck: z.ZodOptional<z.ZodBoolean>;
150
+ enableGlobalVirtualStore: z.ZodOptional<z.ZodBoolean>;
151
+ lockfile: z.ZodOptional<z.ZodBoolean>;
152
+ preferFrozenLockfile: z.ZodOptional<z.ZodBoolean>;
153
+ lockfileIncludeTarballUrl: z.ZodOptional<z.ZodBoolean>;
154
+ gitBranchLockfile: z.ZodOptional<z.ZodBoolean>;
155
+ mergeGitBranchLockfilesBranchPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
156
+ peersSuffixMaxLength: z.ZodOptional<z.ZodNumber>;
157
+ registry: z.ZodOptional<z.ZodString>;
158
+ ca: z.ZodOptional<z.ZodString>;
159
+ cafile: z.ZodOptional<z.ZodString>;
160
+ cert: z.ZodOptional<z.ZodString>;
161
+ key: z.ZodOptional<z.ZodString>;
162
+ gitShallowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
163
+ httpsProxy: z.ZodOptional<z.ZodString>;
164
+ proxy: z.ZodOptional<z.ZodString>;
165
+ localAddress: z.ZodOptional<z.ZodString>;
166
+ maxsockets: z.ZodOptional<z.ZodNumber>;
167
+ noproxy: z.ZodOptional<z.ZodString>;
168
+ strictSsl: z.ZodOptional<z.ZodBoolean>;
169
+ networkConcurrency: z.ZodOptional<z.ZodNumber>;
170
+ fetchRetries: z.ZodOptional<z.ZodNumber>;
171
+ fetchRetryFactor: z.ZodOptional<z.ZodNumber>;
172
+ fetchRetryMintimeout: z.ZodOptional<z.ZodNumber>;
173
+ fetchRetryMaxtimeout: z.ZodOptional<z.ZodNumber>;
174
+ fetchTimeout: z.ZodOptional<z.ZodNumber>;
175
+ autoInstallPeers: z.ZodOptional<z.ZodBoolean>;
176
+ dedupePeerDependents: z.ZodOptional<z.ZodBoolean>;
177
+ strictPeerDependencies: z.ZodOptional<z.ZodBoolean>;
178
+ resolvePeersFromWorkspaceRoot: z.ZodOptional<z.ZodBoolean>;
179
+ color: z.ZodOptional<z.ZodEnum<{
180
+ never: "never";
181
+ auto: "auto";
182
+ always: "always";
183
+ }>>;
184
+ loglevel: z.ZodOptional<z.ZodEnum<{
185
+ error: "error";
186
+ debug: "debug";
187
+ info: "info";
188
+ warn: "warn";
189
+ }>>;
190
+ useBetaCli: z.ZodOptional<z.ZodBoolean>;
191
+ recursiveInstall: z.ZodOptional<z.ZodBoolean>;
192
+ engineStrict: z.ZodOptional<z.ZodBoolean>;
193
+ npmPath: z.ZodOptional<z.ZodString>;
194
+ packageManagerStrict: z.ZodOptional<z.ZodBoolean>;
195
+ packageManagerStrictVersion: z.ZodOptional<z.ZodBoolean>;
196
+ managePackageManagerVersions: z.ZodOptional<z.ZodBoolean>;
197
+ ignoreScripts: z.ZodOptional<z.ZodBoolean>;
198
+ ignoreDepScripts: z.ZodOptional<z.ZodBoolean>;
199
+ childConcurrency: z.ZodOptional<z.ZodNumber>;
200
+ sideEffectsCache: z.ZodOptional<z.ZodBoolean>;
201
+ sideEffectsCacheReadonly: z.ZodOptional<z.ZodBoolean>;
202
+ unsafePerm: z.ZodOptional<z.ZodBoolean>;
203
+ nodeOptions: z.ZodOptional<z.ZodString>;
204
+ verifyDepsBeforeRun: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
205
+ error: "error";
206
+ warn: "warn";
207
+ install: "install";
208
+ prompt: "prompt";
209
+ }>, z.ZodLiteral<false>]>>;
210
+ strictDepBuilds: z.ZodOptional<z.ZodBoolean>;
211
+ useNodeVersion: z.ZodOptional<z.ZodString>;
212
+ nodeVersion: z.ZodOptional<z.ZodString>;
213
+ linkWorkspacePackages: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"deep">]>>;
214
+ injectWorkspacePackages: z.ZodOptional<z.ZodBoolean>;
215
+ syncInjectedDepsAfterScripts: z.ZodOptional<z.ZodArray<z.ZodString>>;
216
+ preferWorkspacePackages: z.ZodOptional<z.ZodBoolean>;
217
+ sharedWorkspaceLockfile: z.ZodOptional<z.ZodBoolean>;
218
+ saveWorkspaceProtocol: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"rolling">]>>;
219
+ includeWorkspaceRoot: z.ZodOptional<z.ZodBoolean>;
220
+ ignoreWorkspaceCycles: z.ZodOptional<z.ZodBoolean>;
221
+ ignoreWorkspaceRootCheck: z.ZodOptional<z.ZodBoolean>;
222
+ disallowWorkspaceCycles: z.ZodOptional<z.ZodBoolean>;
223
+ workspaceConcurrency: z.ZodOptional<z.ZodNumber>;
224
+ failIfNoMatch: z.ZodOptional<z.ZodBoolean>;
225
+ forceLegacyDeploy: z.ZodOptional<z.ZodBoolean>;
226
+ savePrefix: z.ZodOptional<z.ZodEnum<{
227
+ "": "";
228
+ "^": "^";
229
+ "~": "~";
230
+ }>>;
231
+ tag: z.ZodOptional<z.ZodString>;
232
+ globalDir: z.ZodOptional<z.ZodString>;
233
+ globalBinDir: z.ZodOptional<z.ZodString>;
234
+ stateDir: z.ZodOptional<z.ZodString>;
235
+ cacheDir: z.ZodOptional<z.ZodString>;
236
+ useStderr: z.ZodOptional<z.ZodBoolean>;
237
+ updateNotifier: z.ZodOptional<z.ZodBoolean>;
238
+ preferSymlinkedExecutables: z.ZodOptional<z.ZodBoolean>;
239
+ ignoreCompatibilityDb: z.ZodOptional<z.ZodBoolean>;
240
+ resolutionMode: z.ZodOptional<z.ZodEnum<{
241
+ highest: "highest";
242
+ "time-based": "time-based";
243
+ "lowest-direct": "lowest-direct";
244
+ }>>;
245
+ registrySupportsTimeField: z.ZodOptional<z.ZodBoolean>;
246
+ extendNodePath: z.ZodOptional<z.ZodBoolean>;
247
+ deployAllFiles: z.ZodOptional<z.ZodBoolean>;
248
+ dedupeDirectDeps: z.ZodOptional<z.ZodBoolean>;
249
+ dedupeInjectedDeps: z.ZodOptional<z.ZodBoolean>;
250
+ optimisticRepeatInstall: z.ZodOptional<z.ZodBoolean>;
251
+ gitChecks: z.ZodOptional<z.ZodBoolean>;
252
+ publishBranch: z.ZodOptional<z.ZodString>;
253
+ pnpmfile: z.ZodOptional<z.ZodString>;
254
+ globalPnpmfile: z.ZodOptional<z.ZodString>;
255
+ ignorePnpmfile: z.ZodOptional<z.ZodBoolean>;
256
+ patchesDir: z.ZodOptional<z.ZodString>;
257
+ enablePrePostScripts: z.ZodOptional<z.ZodBoolean>;
258
+ scriptShell: z.ZodOptional<z.ZodString>;
259
+ shellEmulator: z.ZodOptional<z.ZodBoolean>;
260
+ saveExact: z.ZodOptional<z.ZodBoolean>;
261
+ minimumReleaseAge: z.ZodOptional<z.ZodNumber>;
262
+ minimumReleaseAgeExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
263
+ preferOffline: z.ZodOptional<z.ZodBoolean>;
264
+ trustPolicy: z.ZodOptional<z.ZodEnum<{
265
+ "no-downgrade": "no-downgrade";
266
+ off: "off";
267
+ }>>;
268
+ trustPolicyExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
269
+ allowBuilds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
270
+ blockExoticSubdeps: z.ZodOptional<z.ZodBoolean>;
271
+ trustPolicyIgnoreAfter: z.ZodOptional<z.ZodNumber>;
272
+ auditLevel: z.ZodOptional<z.ZodEnum<{
273
+ low: "low";
274
+ moderate: "moderate";
275
+ high: "high";
276
+ critical: "critical";
277
+ }>>;
278
+ }, z.core.$strict>>;
65
279
  sonarProjectPropertiesExtraLines: z.ZodOptional<z.ZodArray<z.ZodString>>;
280
+ golang: z.ZodDefault<z.ZodBoolean>;
281
+ python: z.ZodDefault<z.ZodBoolean>;
66
282
  }, z.core.$strip>;
@@ -5,6 +5,7 @@ const projen_1 = require("projen");
5
5
  const semver = require("semver");
6
6
  const zod_1 = require("zod");
7
7
  const name_1 = require("./name");
8
+ const pnpmSettings_1 = require("./pnpmSettings");
8
9
  const repositoryUrl_1 = require("./repositoryUrl");
9
10
  /** Positive integer (≥ 1) */
10
11
  const positiveInteger = zod_1.z.number().int().positive();
@@ -40,6 +41,7 @@ exports.branchOptionsSchema = zod_1.z.object({
40
41
  });
41
42
  const NODEJS_MIN_VERSION = '20';
42
43
  const NODEJS_MAX_VERSION = '24';
44
+ const NODEJS_WORKFLOW_VERSION = NODEJS_MAX_VERSION;
43
45
  /** Projen AwsCdkConstructLibrary options with validation and defaults (min/max/workflow Node versions, scoped name, etc.). */
44
46
  // JSII cannot infer this schema shape cleanly, so we keep the runtime schema
45
47
  // and its public options interface aligned explicitly.
@@ -55,15 +57,19 @@ exports.almaCdkConstructLibraryOptionsSchema = zod_1.z
55
57
  repositoryUrl: repositoryUrl_1.repositoryUrlSchema,
56
58
  releaseBranches: zod_1.z.record(zod_1.z.string(), exports.branchOptionsSchema).optional(),
57
59
  releaseEnvironment: zod_1.z.string(),
60
+ peerDeps: zod_1.z.array(zod_1.z.string()).optional(),
58
61
  deps: zod_1.z.array(zod_1.z.string()).optional(),
59
62
  devDeps: zod_1.z.array(zod_1.z.string()).optional(),
60
63
  bundledDeps: zod_1.z.array(zod_1.z.string()).optional(),
61
64
  minNodeVersion: nodeVersionStringSchema.default(NODEJS_MIN_VERSION),
62
- workflowNodeVersion: nodeVersionStringSchema.default(NODEJS_MAX_VERSION),
65
+ workflowNodeVersion: nodeVersionStringSchema.default(NODEJS_WORKFLOW_VERSION),
63
66
  maxNodeVersion: nodeVersionStringSchema.default(NODEJS_MAX_VERSION),
67
+ pnpmSettings: pnpmSettings_1.pnpmSettingsSchema.optional(),
64
68
  sonarProjectPropertiesExtraLines: zod_1.z.array(zod_1.z.string()).optional(),
69
+ golang: zod_1.z.boolean().default(true),
70
+ python: zod_1.z.boolean().default(true),
65
71
  })
66
72
  .refine(validateNodeVersionOrder, {
67
73
  message: 'Node versions must satisfy min <= workflow <= max',
68
74
  });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYXMvYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFxQztBQUVyQyxpQ0FBaUM7QUFDakMsNkJBQXdCO0FBQ3hCLGlDQUFvQztBQUNwQyxtREFBc0Q7QUFFdEQsNkJBQTZCO0FBQzdCLE1BQU0sZUFBZSxHQUFHLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUVwRCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQ25DLEVBQUUsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLENBQzFELENBQUM7QUFFRixTQUFTLHdCQUF3QixDQUFDLElBSWpDO0lBQ0MsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FB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N0QsQ0FBZ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkaywgY2RrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEJyYW5jaE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL3JlbGVhc2UnO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IG5hbWVTY2hlbWEgfSBmcm9tICcuL25hbWUnO1xuaW1wb3J0IHsgcmVwb3NpdG9yeVVybFNjaGVtYSB9IGZyb20gJy4vcmVwb3NpdG9yeVVybCc7XG5cbi8qKiBQb3NpdGl2ZSBpbnRlZ2VyICjiiaUgMSkgKi9cbmNvbnN0IHBvc2l0aXZlSW50ZWdlciA9IHoubnVtYmVyKCkuaW50KCkucG9zaXRpdmUoKTtcblxuZnVuY3Rpb24gY29lcmNlVmFsaWRTZW12ZXIodmFsdWU6IHN0cmluZyk6IHNlbXZlci5TZW1WZXIgfCBudWxsIHtcbiAgY29uc3QgY29lcmNlZCA9IHNlbXZlci5jb2VyY2UodmFsdWUpO1xuICByZXR1cm4gY29lcmNlZCAhPSBudWxsICYmIHNlbXZlci52YWxpZChjb2VyY2VkKSAhPSBudWxsID8gY29lcmNlZCA6IG51bGw7XG59XG5cbi8qKlxuICogTm9kZS9lbmdpbmUgdmVyc2lvbjogbXVzdCBiZSB2YWxpZCBzZW12ZXIgb3IgY29lcmNpYmxlIHRvIG9uZSAoZS5nLiBtYWpvci1vbmx5IGAyMGApLlxuICogUGFyc2VkIG91dHB1dCBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIOKAlCBubyBub3JtYWxpemF0aW9uIChlLmcuIGAyMGAgc3RheXMgYDIwYCwgbm90IGAyMC4wLjBgKS5cbiAqL1xuY29uc3Qgbm9kZVZlcnNpb25TdHJpbmdTY2hlbWEgPSB6LnN0cmluZygpLnJlZmluZShcbiAgKHMpID0+IGNvZXJjZVZhbGlkU2VtdmVyKHMpICE9IG51bGwsXG4gIHsgbWVzc2FnZTogJ011c3QgYmUgYSB2YWxpZCBzZW12ZXIgb3IgY29lcmNpYmxlIHRvIG9uZScgfSxcbik7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlTm9kZVZlcnNpb25PcmRlcihvcHRzOiB7XG4gIG1pbk5vZGVWZXJzaW9uOiBzdHJpbmc7XG4gIG1heE5vZGVWZXJzaW9uOiBzdHJpbmc7XG4gIHdvcmtmbG93Tm9kZVZlcnNpb246IHN0cmluZztcbn0pOiBib29sZWFuIHtcbiAgY29uc3QgbWluID0gY29lcmNlVmFsaWRTZW12ZXIob3B0cy5taW5Ob2RlVmVyc2lvbik7XG4gIGNvbnN0IG1heCA9IGNvZXJjZVZhbGlkU2VtdmVyKG9wdHMubWF4Tm9kZVZlcnNpb24pO1xuICBjb25zdCB3b3JrZmxvdyA9IGNvZXJjZVZhbGlkU2VtdmVyKG9wdHMud29ya2Zsb3dOb2RlVmVyc2lvbik7XG4gIGlmIChtaW4gPT0gbnVsbCB8fCBtYXggPT0gbnVsbCB8fCB3b3JrZmxvdyA9PSBudWxsKSByZXR1cm4gdHJ1ZTsgLy8gbGV0IGZpZWxkLWxldmVsIHZhbGlkYXRpb24gaGFuZGxlIGludmFsaWQgc2VtdmVyXG4gIHJldHVybiAoXG4gICAgc2VtdmVyLmx0ZShtaW4sIG1heCkgJiZcbiAgICBzZW12ZXIubHRlKG1pbiwgd29ya2Zsb3cpICYmXG4gICAgc2VtdmVyLmx0ZSh3b3JrZmxvdywgbWF4KVxuICApO1xufVxuXG4vKiogT3B0aW9ucyBmb3IgYSByZWxlYXNlIGJyYW5jaCAobWF0Y2hlcyBwcm9qZW4gQnJhbmNoT3B0aW9ucykgKi9cbmV4cG9ydCBjb25zdCBicmFuY2hPcHRpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICB3b3JrZmxvd05hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZW52aXJvbm1lbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWFqb3JWZXJzaW9uOiBwb3NpdGl2ZUludGVnZXIsXG4gIG1pbk1ham9yVmVyc2lvbjogcG9zaXRpdmVJbnRlZ2VyLm9wdGlvbmFsKCksXG4gIG1pbm9yVmVyc2lvbjogcG9zaXRpdmVJbnRlZ2VyLm9wdGlvbmFsKCksXG4gIHByZXJlbGVhc2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGFnUHJlZml4OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG5wbURpc3RUYWc6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbi8qKlxuICogTmVlZHMgdG8gYmUgbWFudWFsbHkgdHlwZWQgZHVlIHRvIEpTSUkgbGltaXRhdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3RhYmlsaXR5OiBjZGsuU3RhYmlsaXR5O1xuICByZWFkb25seSBtYWpvclZlcnNpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBrZXl3b3Jkcz86IHN0cmluZ1tdO1xuICByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIEJyYW5jaE9wdGlvbnM+O1xuICByZWFkb25seSByZWxlYXNlRW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlcHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZGV2RGVwcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBidW5kbGVkRGVwcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBtaW5Ob2RlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBBcHBlbmRlZCB0byBnZW5lcmF0ZWQgYHNvbmFyLXByb2plY3QucHJvcGVydGllc2AgYWZ0ZXIgdGhlIGRlZmF1bHQgbGluZXMgKGUuZy4gU29uYXIgbXVsdGljcml0ZXJpYSBpZ25vcmVzKS4gKi9cbiAgcmVhZG9ubHkgc29uYXJQcm9qZWN0UHJvcGVydGllc0V4dHJhTGluZXM/OiBzdHJpbmdbXTtcbn1cblxuY29uc3QgTk9ERUpTX01JTl9WRVJTSU9OID0gJzIwJztcbmNvbnN0IE5PREVKU19NQVhfVkVSU0lPTiA9ICcyNCc7XG5cblxuLyoqIFByb2plbiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IG9wdGlvbnMgd2l0aCB2YWxpZGF0aW9uIGFuZCBkZWZhdWx0cyAobWluL21heC93b3JrZmxvdyBOb2RlIHZlcnNpb25zLCBzY29wZWQgbmFtZSwgZXRjLikuICovXG4vLyBKU0lJIGNhbm5vdCBpbmZlciB0aGlzIHNjaGVtYSBzaGFwZSBjbGVhbmx5LCBzbyB3ZSBrZWVwIHRoZSBydW50aW1lIHNjaGVtYVxuLy8gYW5kIGl0cyBwdWJsaWMgb3B0aW9ucyBpbnRlcmZhY2UgYWxpZ25lZCBleHBsaWNpdGx5LlxuZXhwb3J0IGNvbnN0IGFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgc3RhYmlsaXR5OiB6LmVudW0oY2RrLlN0YWJpbGl0eSksXG4gICAgbWFqb3JWZXJzaW9uOiBwb3NpdGl2ZUludGVnZXIsXG4gICAgYXV0aG9yOiB6LnN0cmluZygpLFxuICAgIGF1dGhvckFkZHJlc3M6IHouZW1haWwoKSxcbiAgICBuYW1lOiBuYW1lU2NoZW1hLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLFxuICAgIGtleXdvcmRzOiB6LmFycmF5KHouc3RyaW5nKCkpLmRlZmF1bHQoW10pLFxuICAgIHJlcG9zaXRvcnlVcmw6IHJlcG9zaXRvcnlVcmxTY2hlbWEsXG4gICAgcmVsZWFzZUJyYW5jaGVzOiB6LnJlY29yZCh6LnN0cmluZygpLCBicmFuY2hPcHRpb25zU2NoZW1hKS5vcHRpb25hbCgpLFxuICAgIHJlbGVhc2VFbnZpcm9ubWVudDogei5zdHJpbmcoKSxcbiAgICBkZXBzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgZGV2RGVwczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGJ1bmRsZWREZXBzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgbWluTm9kZVZlcnNpb246IG5vZGVWZXJzaW9uU3RyaW5nU2NoZW1hLmRlZmF1bHQoTk9ERUpTX01JTl9WRVJTSU9OKSxcbiAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBub2RlVmVyc2lvblN0cmluZ1NjaGVtYS5kZWZhdWx0KE5PREVKU19NQVhfVkVSU0lPTiksXG4gICAgbWF4Tm9kZVZlcnNpb246IG5vZGVWZXJzaW9uU3RyaW5nU2NoZW1hLmRlZmF1bHQoTk9ERUpTX01BWF9WRVJTSU9OKSxcbiAgICBzb25hclByb2plY3RQcm9wZXJ0aWVzRXh0cmFMaW5lczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICB9KVxuICAucmVmaW5lKHZhbGlkYXRlTm9kZVZlcnNpb25PcmRlciwge1xuICAgIG1lc3NhZ2U6ICdOb2RlIHZlcnNpb25zIG11c3Qgc2F0aXNmeSBtaW4gPD0gd29ya2Zsb3cgPD0gbWF4JyxcbiAgfSkgc2F0aXNmaWVzIHouWm9kVHlwZTxQYXJ0aWFsPGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucz4+ICYgei5ab2RUeXBlPEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucz47XG5cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYXMvYWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFxQztBQUVyQyxpQ0FBaUM7QUFDakMsNkJBQXdCO0FBRXhCLGlDQUFvQztBQUNwQyxpREFBb0Q7QUFDcEQsbURBQXNEO0FBRXRELDZCQUE2QjtBQUM3QixNQUFNLGVBQWUsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFFcEQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsT0FBTyxPQUFPLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMzRSxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUMvQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUNuQyxFQUFFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxDQUMxRCxDQUFDO0FBRUYsU0FBUyx3QkFBd0IsQ0FBQyxJQUlqQztJQUNDLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLG1C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QUFrQixDQUFDLFFBQVEsRUFBRTtJQUMzQyxnQ0FBZ0MsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNoRSxNQUFNLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDakMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0NBQ2xDLENBQUM7S0FDRCxNQUFNLENBQUMsd0JBQXdCLEVBQUU7SUFDaEMsT0FBTyxFQUFFLG1EQUFtRDtDQUM3RCxDQUFnSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBjZGsgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQnJhbmNoT3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvcmVsZWFzZSc7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHR5cGUgeyBQbnBtV29ya3NwYWNlU3BlY2lmaWNhdGlvbiB9IGZyb20gJy4uL3BucG0td29ya3NwYWNlLXNjaGVtYSc7XG5pbXBvcnQgeyBuYW1lU2NoZW1hIH0gZnJvbSAnLi9uYW1lJztcbmltcG9ydCB7IHBucG1TZXR0aW5nc1NjaGVtYSB9IGZyb20gJy4vcG5wbVNldHRpbmdzJztcbmltcG9ydCB7IHJlcG9zaXRvcnlVcmxTY2hlbWEgfSBmcm9tICcuL3JlcG9zaXRvcnlVcmwnO1xuXG4vKiogUG9zaXRpdmUgaW50ZWdlciAo4omlIDEpICovXG5jb25zdCBwb3NpdGl2ZUludGVnZXIgPSB6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCk7XG5cbmZ1bmN0aW9uIGNvZXJjZVZhbGlkU2VtdmVyKHZhbHVlOiBzdHJpbmcpOiBzZW12ZXIuU2VtVmVyIHwgbnVsbCB7XG4gIGNvbnN0IGNvZXJjZWQgPSBzZW12ZXIuY29lcmNlKHZhbHVlKTtcbiAgcmV0dXJuIGNvZXJjZWQgIT0gbnVsbCAmJiBzZW12ZXIudmFsaWQoY29lcmNlZCkgIT0gbnVsbCA/IGNvZXJjZWQgOiBudWxsO1xufVxuXG4vKipcbiAqIE5vZGUvZW5naW5lIHZlcnNpb246IG11c3QgYmUgdmFsaWQgc2VtdmVyIG9yIGNvZXJjaWJsZSB0byBvbmUgKGUuZy4gbWFqb3Itb25seSBgMjBgKS5cbiAqIFBhcnNlZCBvdXRwdXQgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyDigJQgbm8gbm9ybWFsaXphdGlvbiAoZS5nLiBgMjBgIHN0YXlzIGAyMGAsIG5vdCBgMjAuMC4wYCkuXG4gKi9cbmNvbnN0IG5vZGVWZXJzaW9uU3RyaW5nU2NoZW1hID0gei5zdHJpbmcoKS5yZWZpbmUoXG4gIChzKSA9PiBjb2VyY2VWYWxpZFNlbXZlcihzKSAhPSBudWxsLFxuICB7IG1lc3NhZ2U6ICdNdXN0IGJlIGEgdmFsaWQgc2VtdmVyIG9yIGNvZXJjaWJsZSB0byBvbmUnIH0sXG4pO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZU5vZGVWZXJzaW9uT3JkZXIob3B0czoge1xuICBtaW5Ob2RlVmVyc2lvbjogc3RyaW5nO1xuICBtYXhOb2RlVmVyc2lvbjogc3RyaW5nO1xuICB3b3JrZmxvd05vZGVWZXJzaW9uOiBzdHJpbmc7XG59KTogYm9vbGVhbiB7XG4gIGNvbnN0IG1pbiA9IGNvZXJjZVZhbGlkU2VtdmVyKG9wdHMubWluTm9kZVZlcnNpb24pO1xuICBjb25zdCBtYXggPSBjb2VyY2VWYWxpZFNlbXZlcihvcHRzLm1heE5vZGVWZXJzaW9uKTtcbiAgY29uc3Qgd29ya2Zsb3cgPSBjb2VyY2VWYWxpZFNlbXZlcihvcHRzLndvcmtmbG93Tm9kZVZlcnNpb24pO1xuICBpZiAobWluID09IG51bGwgfHwgbWF4ID09IG51bGwgfHwgd29ya2Zsb3cgPT0gbnVsbCkgcmV0dXJuIHRydWU7IC8vIGxldCBmaWVsZC1sZXZlbCB2YWxpZGF0aW9uIGhhbmRsZSBpbnZhbGlkIHNlbXZlclxuICByZXR1cm4gKFxuICAgIHNlbXZlci5sdGUobWluLCBtYXgpICYmXG4gICAgc2VtdmVyLmx0ZShtaW4sIHdvcmtmbG93KSAmJlxuICAgIHNlbXZlci5sdGUod29ya2Zsb3csIG1heClcbiAgKTtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIGEgcmVsZWFzZSBicmFuY2ggKG1hdGNoZXMgcHJvamVuIEJyYW5jaE9wdGlvbnMpICovXG5leHBvcnQgY29uc3QgYnJhbmNoT3B0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgd29ya2Zsb3dOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGVudmlyb25tZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1ham9yVmVyc2lvbjogcG9zaXRpdmVJbnRlZ2VyLFxuICBtaW5NYWpvclZlcnNpb246IHBvc2l0aXZlSW50ZWdlci5vcHRpb25hbCgpLFxuICBtaW5vclZlcnNpb246IHBvc2l0aXZlSW50ZWdlci5vcHRpb25hbCgpLFxuICBwcmVyZWxlYXNlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRhZ1ByZWZpeDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBucG1EaXN0VGFnOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuXG4vKipcbiAqIE5lZWRzIHRvIGJlIG1hbnVhbGx5IHR5cGVkIGR1ZSB0byBKU0lJIGxpbWl0YXRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7XG4gIHJlYWRvbmx5IHN0YWJpbGl0eTogY2RrLlN0YWJpbGl0eTtcbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uOiBudW1iZXI7XG4gIHJlYWRvbmx5IGF1dGhvcjogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JBZGRyZXNzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkga2V5d29yZHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgcmVwb3NpdG9yeVVybDogc3RyaW5nO1xuICByZWFkb25seSByZWxlYXNlQnJhbmNoZXM/OiBSZWNvcmQ8c3RyaW5nLCBCcmFuY2hPcHRpb25zPjtcbiAgcmVhZG9ubHkgcmVsZWFzZUVudmlyb25tZW50Pzogc3RyaW5nO1xuICByZWFkb25seSBwZWVyRGVwcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBkZXBzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGRldkRlcHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgYnVuZGxlZERlcHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgbWluTm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdvcmtmbG93Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heE5vZGVWZXJzaW9uPzogc3RyaW5nO1xuICByZWFkb25seSBwbnBtU2V0dGluZ3M/OiBQbnBtV29ya3NwYWNlU3BlY2lmaWNhdGlvbjtcbiAgLyoqIEFwcGVuZGVkIHRvIGdlbmVyYXRlZCBgc29uYXItcHJvamVjdC5wcm9wZXJ0aWVzYCBhZnRlciB0aGUgZGVmYXVsdCBsaW5lcyAoZS5nLiBTb25hciBtdWx0aWNyaXRlcmlhIGlnbm9yZXMpLiAqL1xuICByZWFkb25seSBzb25hclByb2plY3RQcm9wZXJ0aWVzRXh0cmFMaW5lcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBnb2xhbmc/OiBib29sZWFuO1xuICByZWFkb25seSBweXRob24/OiBib29sZWFuO1xufVxuXG50eXBlIFNjaGVtYUNvbXBhdGlibGVBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyA9IE9taXQ8XG4gIFBhcnRpYWw8YXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zPixcbiAgJ3B5dGhvbidcbj47XG5cbmNvbnN0IE5PREVKU19NSU5fVkVSU0lPTiA9ICcyMCc7XG5jb25zdCBOT0RFSlNfTUFYX1ZFUlNJT04gPSAnMjQnO1xuY29uc3QgTk9ERUpTX1dPUktGTE9XX1ZFUlNJT04gPSBOT0RFSlNfTUFYX1ZFUlNJT047XG5cblxuLyoqIFByb2plbiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IG9wdGlvbnMgd2l0aCB2YWxpZGF0aW9uIGFuZCBkZWZhdWx0cyAobWluL21heC93b3JrZmxvdyBOb2RlIHZlcnNpb25zLCBzY29wZWQgbmFtZSwgZXRjLikuICovXG4vLyBKU0lJIGNhbm5vdCBpbmZlciB0aGlzIHNjaGVtYSBzaGFwZSBjbGVhbmx5LCBzbyB3ZSBrZWVwIHRoZSBydW50aW1lIHNjaGVtYVxuLy8gYW5kIGl0cyBwdWJsaWMgb3B0aW9ucyBpbnRlcmZhY2UgYWxpZ25lZCBleHBsaWNpdGx5LlxuZXhwb3J0IGNvbnN0IGFsbWFDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgc3RhYmlsaXR5OiB6LmVudW0oY2RrLlN0YWJpbGl0eSksXG4gICAgbWFqb3JWZXJzaW9uOiBwb3NpdGl2ZUludGVnZXIsXG4gICAgYXV0aG9yOiB6LnN0cmluZygpLFxuICAgIGF1dGhvckFkZHJlc3M6IHouZW1haWwoKSxcbiAgICBuYW1lOiBuYW1lU2NoZW1hLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLFxuICAgIGtleXdvcmRzOiB6LmFycmF5KHouc3RyaW5nKCkpLmRlZmF1bHQoW10pLFxuICAgIHJlcG9zaXRvcnlVcmw6IHJlcG9zaXRvcnlVcmxTY2hlbWEsXG4gICAgcmVsZWFzZUJyYW5jaGVzOiB6LnJlY29yZCh6LnN0cmluZygpLCBicmFuY2hPcHRpb25zU2NoZW1hKS5vcHRpb25hbCgpLFxuICAgIHJlbGVhc2VFbnZpcm9ubWVudDogei5zdHJpbmcoKSxcbiAgICBwZWVyRGVwczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGRlcHM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbiAgICBkZXZEZXBzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgYnVuZGxlZERlcHM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbiAgICBtaW5Ob2RlVmVyc2lvbjogbm9kZVZlcnNpb25TdHJpbmdTY2hlbWEuZGVmYXVsdChOT0RFSlNfTUlOX1ZFUlNJT04pLFxuICAgIHdvcmtmbG93Tm9kZVZlcnNpb246IG5vZGVWZXJzaW9uU3RyaW5nU2NoZW1hLmRlZmF1bHQoTk9ERUpTX1dPUktGTE9XX1ZFUlNJT04pLFxuICAgIG1heE5vZGVWZXJzaW9uOiBub2RlVmVyc2lvblN0cmluZ1NjaGVtYS5kZWZhdWx0KE5PREVKU19NQVhfVkVSU0lPTiksXG4gICAgcG5wbVNldHRpbmdzOiBwbnBtU2V0dGluZ3NTY2hlbWEub3B0aW9uYWwoKSxcbiAgICBzb25hclByb2plY3RQcm9wZXJ0aWVzRXh0cmFMaW5lczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGdvbGFuZzogei5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgICBweXRob246IHouYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gIH0pXG4gIC5yZWZpbmUodmFsaWRhdGVOb2RlVmVyc2lvbk9yZGVyLCB7XG4gICAgbWVzc2FnZTogJ05vZGUgdmVyc2lvbnMgbXVzdCBzYXRpc2Z5IG1pbiA8PSB3b3JrZmxvdyA8PSBtYXgnLFxuICB9KSBzYXRpc2ZpZXMgei5ab2RUeXBlPFNjaGVtYUNvbXBhdGlibGVBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucz4gJiB6LlpvZFR5cGU8QWxtYUNka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zPjtcblxuIl19