projen 0.101.1 → 0.101.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.
Files changed (144) hide show
  1. package/.jsii +74 -74
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +1 -1
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +3 -3
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-build.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/circleci/circleci.js +1 -1
  33. package/lib/cli/task-runtime.js +34 -7
  34. package/lib/component.js +1 -1
  35. package/lib/dependencies.js +1 -1
  36. package/lib/dev-env.js +1 -1
  37. package/lib/docker-compose/docker-compose-service.js +1 -1
  38. package/lib/docker-compose/docker-compose.js +1 -1
  39. package/lib/file.js +1 -1
  40. package/lib/gitattributes.js +1 -1
  41. package/lib/github/actions-provider.js +1 -1
  42. package/lib/github/auto-approve.js +1 -1
  43. package/lib/github/auto-merge.js +1 -1
  44. package/lib/github/auto-queue.js +1 -1
  45. package/lib/github/dependabot.js +1 -1
  46. package/lib/github/dependency-review.js +1 -1
  47. package/lib/github/github-credentials.js +1 -1
  48. package/lib/github/github-project.js +1 -1
  49. package/lib/github/github.js +1 -1
  50. package/lib/github/merge-queue.js +1 -1
  51. package/lib/github/mergify.js +1 -1
  52. package/lib/github/pr-template.js +1 -1
  53. package/lib/github/pull-request-backport.js +1 -1
  54. package/lib/github/pull-request-lint.js +1 -1
  55. package/lib/github/stale.js +1 -1
  56. package/lib/github/task-workflow-job.js +4 -3
  57. package/lib/github/task-workflow.js +1 -1
  58. package/lib/github/workflow-actions.js +1 -1
  59. package/lib/github/workflow-jobs.js +1 -1
  60. package/lib/github/workflow-steps.js +1 -1
  61. package/lib/github/workflows.js +1 -1
  62. package/lib/gitlab/configuration.js +1 -1
  63. package/lib/gitlab/gitlab-configuration.js +1 -1
  64. package/lib/gitlab/nested-configuration.js +1 -1
  65. package/lib/gitpod.js +1 -1
  66. package/lib/ignore-file.js +1 -1
  67. package/lib/ini.js +1 -1
  68. package/lib/java/java-project.js +1 -1
  69. package/lib/java/junit.js +1 -1
  70. package/lib/java/maven-compile.js +1 -1
  71. package/lib/java/maven-packaging.js +1 -1
  72. package/lib/java/maven-sample.js +1 -1
  73. package/lib/java/pom.js +2 -2
  74. package/lib/java/projenrc.js +1 -1
  75. package/lib/javascript/biome/biome.js +1 -1
  76. package/lib/javascript/bundler.js +1 -1
  77. package/lib/javascript/eslint.js +1 -1
  78. package/lib/javascript/jest.js +4 -4
  79. package/lib/javascript/license-checker.js +1 -1
  80. package/lib/javascript/node-package.js +5 -3
  81. package/lib/javascript/node-project.js +1 -1
  82. package/lib/javascript/npm-config.js +1 -1
  83. package/lib/javascript/prettier.js +1 -1
  84. package/lib/javascript/projenrc.js +1 -1
  85. package/lib/javascript/typescript-config.js +2 -2
  86. package/lib/javascript/upgrade-dependencies.js +2 -2
  87. package/lib/javascript/yarnrc.js +1 -1
  88. package/lib/json-patch.js +1 -1
  89. package/lib/json.js +1 -1
  90. package/lib/license.js +1 -1
  91. package/lib/logger.js +1 -1
  92. package/lib/makefile.js +1 -1
  93. package/lib/object-file.js +1 -1
  94. package/lib/project-build.js +1 -1
  95. package/lib/project-tree.js +1 -1
  96. package/lib/project.js +1 -1
  97. package/lib/projects.js +1 -1
  98. package/lib/projenrc-json.js +1 -1
  99. package/lib/projenrc.js +1 -1
  100. package/lib/python/pip.js +1 -1
  101. package/lib/python/poetry.js +2 -2
  102. package/lib/python/projenrc.js +1 -1
  103. package/lib/python/pyproject-toml-file.js +1 -1
  104. package/lib/python/pytest-sample.js +1 -1
  105. package/lib/python/pytest.js +1 -1
  106. package/lib/python/python-project.js +1 -1
  107. package/lib/python/python-sample.js +1 -1
  108. package/lib/python/requirements-file.js +1 -1
  109. package/lib/python/setuppy.js +1 -1
  110. package/lib/python/setuptools.js +1 -1
  111. package/lib/python/uv.js +1 -1
  112. package/lib/python/venv.js +1 -1
  113. package/lib/readme.js +1 -1
  114. package/lib/release/bump-type.js +1 -1
  115. package/lib/release/publisher.js +2 -2
  116. package/lib/release/release-trigger.js +1 -1
  117. package/lib/release/release.js +1 -1
  118. package/lib/renovatebot.js +1 -1
  119. package/lib/run-task.cjs +19 -2
  120. package/lib/sample-file.js +2 -2
  121. package/lib/source-code.js +1 -1
  122. package/lib/task-shell.js +1 -1
  123. package/lib/task.js +1 -1
  124. package/lib/tasks.js +1 -1
  125. package/lib/testing.js +1 -1
  126. package/lib/textfile.js +1 -1
  127. package/lib/toml.js +1 -1
  128. package/lib/typescript/projenrc-ts.js +1 -1
  129. package/lib/typescript/projenrc.js +1 -1
  130. package/lib/typescript/typescript-typedoc.js +1 -1
  131. package/lib/typescript/typescript.js +5 -5
  132. package/lib/version.js +2 -2
  133. package/lib/vscode/devcontainer.js +1 -1
  134. package/lib/vscode/extensions.js +1 -1
  135. package/lib/vscode/launch-config.js +1 -1
  136. package/lib/vscode/settings.js +1 -1
  137. package/lib/vscode/vscode.js +1 -1
  138. package/lib/web/next.js +3 -3
  139. package/lib/web/postcss.js +1 -1
  140. package/lib/web/react.js +3 -3
  141. package/lib/web/tailwind.js +1 -1
  142. package/lib/xmlfile.js +1 -1
  143. package/lib/yaml.js +1 -1
  144. package/package.json +1 -1
@@ -81,7 +81,7 @@ var AutoRelease;
81
81
  * @pjid node
82
82
  */
83
83
  class NodeProject extends github_1.GitHubProject {
84
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.NodeProject", version: "0.101.1" };
84
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.NodeProject", version: "0.101.3" };
85
85
  /**
86
86
  * API for managing the node package.
87
87
  */
@@ -8,7 +8,7 @@ const ini_1 = require("../ini");
8
8
  * File representing the local NPM config in .npmrc
9
9
  */
10
10
  class NpmConfig extends component_1.Component {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.NpmConfig", version: "0.101.1" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.NpmConfig", version: "0.101.3" };
12
12
  /**
13
13
  * The config object. This object can be mutated until the project is
14
14
  * synthesized.
@@ -113,7 +113,7 @@ var TrailingComma;
113
113
  * Represents prettier configuration.
114
114
  */
115
115
  class Prettier extends component_1.Component {
116
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Prettier", version: "0.101.1" };
116
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Prettier", version: "0.101.3" };
117
117
  static of(project) {
118
118
  const isPrettier = (c) => c instanceof Prettier;
119
119
  return project.components.find(isPrettier);
@@ -16,7 +16,7 @@ const biome_1 = require("./biome/biome");
16
16
  * and has no expectations around the project's main language.
17
17
  */
18
18
  class Projenrc extends projenrc_1.ProjenrcFile {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Projenrc", version: "0.101.1" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Projenrc", version: "0.101.3" };
20
20
  filePath;
21
21
  constructor(project, options = {}) {
22
22
  super(project);
@@ -170,7 +170,7 @@ var TypeScriptJsxMode;
170
170
  * Extending from more than one base config file requires TypeScript 5.0+.
171
171
  */
172
172
  class TypescriptConfigExtends {
173
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.TypescriptConfigExtends", version: "0.101.1" };
173
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.TypescriptConfigExtends", version: "0.101.3" };
174
174
  /**
175
175
  * Factory for creation from array of file paths.
176
176
  *
@@ -204,7 +204,7 @@ class TypescriptConfigExtends {
204
204
  }
205
205
  exports.TypescriptConfigExtends = TypescriptConfigExtends;
206
206
  class TypescriptConfig extends component_1.Component {
207
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.TypescriptConfig", version: "0.101.1" };
207
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.TypescriptConfig", version: "0.101.3" };
208
208
  _extends;
209
209
  compilerOptions;
210
210
  includeSet;
@@ -20,7 +20,7 @@ const PATCH_CREATED_OUTPUT = "patch_created";
20
20
  * Upgrade node project dependencies.
21
21
  */
22
22
  class UpgradeDependencies extends component_1.Component {
23
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.UpgradeDependencies", version: "0.101.1" };
23
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.UpgradeDependencies", version: "0.101.3" };
24
24
  /**
25
25
  * The workflows that execute the upgrades. One workflow per branch.
26
26
  */
@@ -397,7 +397,7 @@ exports.UpgradeDependencies = UpgradeDependencies;
397
397
  */
398
398
  class UpgradeDependenciesSchedule {
399
399
  cron;
400
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.UpgradeDependenciesSchedule", version: "0.101.1" };
400
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.UpgradeDependenciesSchedule", version: "0.101.3" };
401
401
  /**
402
402
  * Disables automatic upgrades.
403
403
  */
@@ -95,7 +95,7 @@ var YarnWorkerPoolMode;
95
95
  YarnWorkerPoolMode["WORKERS"] = "workers";
96
96
  })(YarnWorkerPoolMode || (exports.YarnWorkerPoolMode = YarnWorkerPoolMode = {}));
97
97
  class Yarnrc extends component_1.Component {
98
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Yarnrc", version: "0.101.1" };
98
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Yarnrc", version: "0.101.3" };
99
99
  constructor(project, options = {}) {
100
100
  super(project);
101
101
  this.updateGitAttributes();
package/lib/json-patch.js CHANGED
@@ -34,7 +34,7 @@ const TEST_FAILURE_BEHAVIOR_SYMBOL = Symbol.for("testFailureBehavior");
34
34
  */
35
35
  class JsonPatch {
36
36
  operation;
37
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.JsonPatch", version: "0.101.1" };
37
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.JsonPatch", version: "0.101.3" };
38
38
  /**
39
39
  * Applies a set of JSON-Patch (RFC-6902) operations to `document` and returns the result.
40
40
  * @param document The document to patch
package/lib/json.js CHANGED
@@ -7,7 +7,7 @@ const object_file_1 = require("./object-file");
7
7
  * Represents a JSON file.
8
8
  */
9
9
  class JsonFile extends object_file_1.ObjectFile {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.JsonFile", version: "0.101.1" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.JsonFile", version: "0.101.3" };
11
11
  newline;
12
12
  allowComments = true;
13
13
  /**
package/lib/license.js CHANGED
@@ -38,7 +38,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
38
38
  const fs = __importStar(require("fs"));
39
39
  const file_1 = require("./file");
40
40
  class License extends file_1.FileBase {
41
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.License", version: "0.101.1" };
41
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.License", version: "0.101.3" };
42
42
  text;
43
43
  constructor(project, options) {
44
44
  super(project, "LICENSE", {
package/lib/logger.js CHANGED
@@ -15,7 +15,7 @@ const constructs_1 = require("./util/constructs");
15
15
  * Project-level logging utilities.
16
16
  */
17
17
  class Logger extends component_1.Component {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Logger", version: "0.101.1" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Logger", version: "0.101.3" };
19
19
  level;
20
20
  usePrefix;
21
21
  constructor(scope, options = {}) {
package/lib/makefile.js CHANGED
@@ -7,7 +7,7 @@ const file_1 = require("./file");
7
7
  * Minimal Makefile.
8
8
  */
9
9
  class Makefile extends file_1.FileBase {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Makefile", version: "0.101.1" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Makefile", version: "0.101.3" };
11
11
  /**
12
12
  * List of rule definitions.
13
13
  */
@@ -9,7 +9,7 @@ const util_1 = require("./util");
9
9
  * Represents an Object file.
10
10
  */
11
11
  class ObjectFile extends file_1.FileBase {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ObjectFile", version: "0.101.1" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ObjectFile", version: "0.101.3" };
13
13
  /**
14
14
  * The output object. This object can be mutated until the project is
15
15
  * synthesized.
@@ -15,7 +15,7 @@ const component_1 = require("./component");
15
15
  * 6. package
16
16
  */
17
17
  class ProjectBuild extends component_1.Component {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectBuild", version: "0.101.1" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectBuild", version: "0.101.3" };
19
19
  /**
20
20
  * The task responsible for a full release build.
21
21
  */
@@ -17,7 +17,7 @@ const json_1 = require("./json");
17
17
  * @stability experimental
18
18
  */
19
19
  class ProjectTree extends component_1.Component {
20
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectTree", version: "0.101.1" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectTree", version: "0.101.3" };
21
21
  file;
22
22
  constructor(project) {
23
23
  super(project, new.target.name);
package/lib/project.js CHANGED
@@ -65,7 +65,7 @@ const DEFAULT_OUTDIR = ".";
65
65
  * Base project
66
66
  */
67
67
  class Project extends constructs_1.Construct {
68
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Project", version: "0.101.1" };
68
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Project", version: "0.101.3" };
69
69
  /**
70
70
  * The name of the default task (the task executed when `projen` is run without arguments). Normally
71
71
  * this task should synthesize the project files.
package/lib/projects.js CHANGED
@@ -44,7 +44,7 @@ const option_hints_1 = require("./option-hints");
44
44
  * Programmatic API for projen.
45
45
  */
46
46
  class Projects {
47
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Projects", version: "0.101.1" };
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Projects", version: "0.101.3" };
48
48
  /**
49
49
  * Creates a new project with defaults.
50
50
  *
@@ -9,7 +9,7 @@ const projenrc_1 = require("./projenrc");
9
9
  * Sets up a project to use JSON for projenrc.
10
10
  */
11
11
  class ProjenrcJson extends projenrc_1.ProjenrcFile {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcJson", version: "0.101.1" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcJson", version: "0.101.3" };
13
13
  filePath;
14
14
  constructor(project, options = {}) {
15
15
  super(project);
package/lib/projenrc.js CHANGED
@@ -7,7 +7,7 @@ const component_1 = require("./component");
7
7
  * A component representing the projen runtime configuration
8
8
  */
9
9
  class ProjenrcFile extends component_1.Component {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcFile", version: "0.101.1" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcFile", version: "0.101.3" };
11
11
  /**
12
12
  * Returns the `Projenrc` instance associated with a project or `undefined` if
13
13
  * there is no Projenrc.
package/lib/python/pip.js CHANGED
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
9
9
  * Manages dependencies using a requirements.txt file and the pip CLI tool.
10
10
  */
11
11
  class Pip extends component_1.Component {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pip", version: "0.101.1" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pip", version: "0.101.3" };
13
13
  installCiTask;
14
14
  constructor(project, _options = {}) {
15
15
  super(project);
@@ -47,7 +47,7 @@ const exec_1 = require("../util/exec");
47
47
  * poetry CLI tool.
48
48
  */
49
49
  class Poetry extends component_1.Component {
50
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Poetry", version: "0.101.1" };
50
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Poetry", version: "0.101.3" };
51
51
  /**
52
52
  * Task for updating the lockfile and installing project dependencies.
53
53
  */
@@ -250,7 +250,7 @@ exports.Poetry = Poetry;
250
250
  * @see https://python-poetry.org/docs/pyproject/
251
251
  */
252
252
  class PoetryPyproject extends component_1.Component {
253
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PoetryPyproject", version: "0.101.1" };
253
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PoetryPyproject", version: "0.101.3" };
254
254
  file;
255
255
  constructor(scope, options) {
256
256
  super(scope);
@@ -17,7 +17,7 @@ const projenrc_1 = require("../projenrc");
17
17
  * `synth` task which will run `.projenrc.py`.
18
18
  */
19
19
  class Projenrc extends projenrc_1.ProjenrcFile {
20
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Projenrc", version: "0.101.1" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Projenrc", version: "0.101.3" };
21
21
  /**
22
22
  * The name of the projenrc file.
23
23
  */
@@ -10,7 +10,7 @@ const pyproject_toml_1 = require("./pyproject-toml");
10
10
  * @see https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
11
11
  */
12
12
  class PyprojectTomlFile extends toml_1.TomlFile {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PyprojectTomlFile", version: "0.101.1" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PyprojectTomlFile", version: "0.101.3" };
14
14
  constructor(scope, config) {
15
15
  super(scope, "pyproject.toml", {
16
16
  omitEmpty: false,
@@ -7,7 +7,7 @@ const __1 = require("..");
7
7
  * Python test code sample.
8
8
  */
9
9
  class PytestSample extends __1.Component {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PytestSample", version: "0.101.1" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PytestSample", version: "0.101.3" };
11
11
  constructor(project, options) {
12
12
  super(project);
13
13
  new __1.SampleDir(project, options.testdir, {
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const component_1 = require("../component");
6
6
  const dependencies_1 = require("../dependencies");
7
7
  class Pytest extends component_1.Component {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pytest", version: "0.101.1" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pytest", version: "0.101.3" };
9
9
  testMatch;
10
10
  constructor(project, options = {}) {
11
11
  super(project);
@@ -23,7 +23,7 @@ const PYTHON_PROJECT_NAME_REGEX = /^[A-Za-z0-9-_\.]+$/;
23
23
  * @pjid python
24
24
  */
25
25
  class PythonProject extends github_1.GitHubProject {
26
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonProject", version: "0.101.1" };
26
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonProject", version: "0.101.3" };
27
27
  /**
28
28
  * Python module name (the project name, with any hyphens or periods replaced
29
29
  * with underscores).
@@ -8,7 +8,7 @@ const sample_file_1 = require("../sample-file");
8
8
  * Python code sample.
9
9
  */
10
10
  class PythonSample extends component_1.Component {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonSample", version: "0.101.1" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonSample", version: "0.101.3" };
12
12
  constructor(project, options) {
13
13
  super(project);
14
14
  new sample_file_1.SampleDir(project, options.dir, {
@@ -11,7 +11,7 @@ const semver_1 = require("../util/semver");
11
11
  * @see https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
12
12
  */
13
13
  class RequirementsFile extends file_1.FileBase {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.RequirementsFile", version: "0.101.1" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.RequirementsFile", version: "0.101.3" };
15
15
  packages = new Array();
16
16
  packageProvider;
17
17
  constructor(project, filePath, options) {
@@ -7,7 +7,7 @@ const file_1 = require("../file");
7
7
  * Python packaging script where package metadata can be placed.
8
8
  */
9
9
  class SetupPy extends file_1.FileBase {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.SetupPy", version: "0.101.1" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.SetupPy", version: "0.101.3" };
11
11
  setupConfig;
12
12
  constructor(project, options) {
13
13
  super(project, "setup.py");
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
9
9
  * Manages packaging through setuptools with a setup.py script.
10
10
  */
11
11
  class Setuptools extends component_1.Component {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Setuptools", version: "0.101.1" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Setuptools", version: "0.101.3" };
13
13
  publishTask;
14
14
  /**
15
15
  * A task that uploads the package to the Test PyPI repository.
package/lib/python/uv.js CHANGED
@@ -11,7 +11,7 @@ const exec_1 = require("../util/exec");
11
11
  * Manage project dependencies, virtual environments, and packaging through uv.
12
12
  */
13
13
  class Uv extends component_1.Component {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Uv", version: "0.101.1" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Uv", version: "0.101.3" };
15
15
  /**
16
16
  * The `pyproject.toml` file
17
17
  */
@@ -43,7 +43,7 @@ const exec_1 = require("../util/exec");
43
43
  * Manages a virtual environment through the Python venv module.
44
44
  */
45
45
  class Venv extends component_1.Component {
46
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Venv", version: "0.101.1" };
46
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Venv", version: "0.101.3" };
47
47
  /**
48
48
  * Name of directory to store the environment in
49
49
  */
package/lib/readme.js CHANGED
@@ -10,7 +10,7 @@ const sample_file_1 = require("./sample-file");
10
10
  * @param text - The initial contents of the README.md file. Defaults to '# replace this'
11
11
  */
12
12
  class SampleReadme extends sample_file_1.SampleFile {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleReadme", version: "0.101.1" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleReadme", version: "0.101.3" };
14
14
  constructor(project, props) {
15
15
  super(project, props?.filename ?? "README.md", {
16
16
  contents: props?.contents ?? "# replace this",
@@ -89,4 +89,4 @@ function isMajorMinorPatch(v) {
89
89
  function isFullVersionString(nextVersion) {
90
90
  return nextVersion.match(/^\d+\.\d+\.\d+(-[^\s]+)?$/);
91
91
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvYnVtcC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBd0JBLDRDQXNCQztBQUtELHdDQVNDO0FBS0Qsc0NBV0M7QUFLRCxrQ0FlQztBQUVELDhDQUVDO0FBcEdEOzs7O0dBSUc7QUFDSCxtQ0FBb0M7QUFhcEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxFQUFVLEVBQUUsRUFBVTtJQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFBLGNBQUssRUFBQyxFQUFFLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFBLGNBQUssRUFBQyxFQUFFLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsSUFBSSxFQUFFLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNqRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsUUFBa0I7SUFDL0MsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxVQUFVO1lBQ2IsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzNCLEtBQUssVUFBVTtZQUNiLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLENBQVM7SUFDckMsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDakIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixXQUFXLENBQUMsV0FBbUIsRUFBRSxRQUFrQjtJQUNqRSxRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixLQUFLLE1BQU07WUFDVCxPQUFPLFdBQVcsQ0FBQztRQUNyQixLQUFLLFVBQVU7WUFDYixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDM0IsS0FBSyxVQUFVO1lBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBQSxZQUFHLEVBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYiwyQkFBMkIsV0FBVyxVQUFVLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FDcEUsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLENBQVM7SUFDekMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFdBQW1CO0lBQzlDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN5bWJvbGljIHJlcHJlc2VudGF0aW9ucyBvZiB2ZXJzaW9uIGJ1bXBzXG4gKlxuICogVGhlcmUgYXJlIDMgdHlwZXMgb2YgYnVtcHM6IG5vIGJ1bXAsIGEgcmVsYXRpdmUgYnVtcCAoaW5jcmVhc2luZyBvbmUgY29tcG9uZW50KSBvciBhbiBhYnNvbHV0ZSBidW1wIChhIHNwZWNpZmljIG5ldyB2ZXJzaW9uKVxuICovXG5pbXBvcnQgeyBpbmMsIHBhcnNlIH0gZnJvbSBcInNlbXZlclwiO1xuXG5leHBvcnQgdHlwZSBCdW1wVHlwZSA9XG4gIHwgUmVsYXRpdmVCdW1wVHlwZVxuICB8IHsgYnVtcDogXCJhYnNvbHV0ZVwiOyBhYnNvbHV0ZTogc3RyaW5nIH07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aXZlQnVtcFR5cGUgPVxuICB8IHsgYnVtcDogXCJub25lXCIgfVxuICB8IHsgYnVtcDogXCJyZWxhdGl2ZVwiOyByZWxhdGl2ZTogTWFqb3JNaW5vclBhdGNoIH07XG5cbi8vIFRoZSBvbmx5IHJlbGF0aXZlIHR5cGVzIHRoYXQgQ0FUViBzdXBwb3J0c1xuZXhwb3J0IHR5cGUgTWFqb3JNaW5vclBhdGNoID0gXCJtYWpvclwiIHwgXCJtaW5vclwiIHwgXCJwYXRjaFwiO1xuXG4vKipcbiAqIFJldmVyc2UgZW5naW5lZXIgdGhlIGJ1bXAgdHlwZSBmcm9tIHR3byB2ZXJzaW9uXG4gKlxuICogV2UgaGF2ZSB0byBkbyB0aGlzIGJlY2F1c2UgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIHdpbGwgbm90IGp1c3QgdGVsbFxuICogdXMgdGhlIHR5cGUgb2YgYnVtcCBpdCBwZXJmb3JtZWQsIGl0IG9ubHkgcHJpbnRzIHRoZSBuZXcgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbGF0aXZlQnVtcFR5cGUodjA6IHN0cmluZywgdjE6IHN0cmluZyk6IFJlbGF0aXZlQnVtcFR5cGUge1xuICBjb25zdCBzMCA9IHBhcnNlKHYwKTtcbiAgaWYgKCFzMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm90IGEgcGFyc2VhYmxlIHZlcnNpb246ICR7djB9YCk7XG4gIH1cbiAgY29uc3QgczEgPSBwYXJzZSh2MSk7XG4gIGlmICghczEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBhIHBhcnNlYWJsZSB2ZXJzaW9uOiAke3YxfWApO1xuICB9XG5cbiAgLy8gRGlzY2FyZHMgdGhlIGJ1aWxkIHF1YWxpZmllciAoYCsxMjM0NWApXG4gIGlmIChzMC52ZXJzaW9uID09PSBzMS52ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHsgYnVtcDogXCJub25lXCIgfTtcbiAgfVxuXG4gIGlmIChzMC5tYWpvciAhPT0gczEubWFqb3IpIHtcbiAgICByZXR1cm4geyBidW1wOiBcInJlbGF0aXZlXCIsIHJlbGF0aXZlOiBcIm1ham9yXCIgfTtcbiAgfVxuICBpZiAoczAubWlub3IgIT09IHMxLm1pbm9yKSB7XG4gICAgcmV0dXJuIHsgYnVtcDogXCJyZWxhdGl2ZVwiLCByZWxhdGl2ZTogXCJtaW5vclwiIH07XG4gIH1cbiAgcmV0dXJuIHsgYnVtcDogXCJyZWxhdGl2ZVwiLCByZWxhdGl2ZTogXCJwYXRjaFwiIH07XG59XG5cbi8qKlxuICogQnVtcCB0eXBlIHRvIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQnVtcFR5cGUoYnVtcFR5cGU6IEJ1bXBUeXBlKSB7XG4gIHN3aXRjaCAoYnVtcFR5cGUuYnVtcCkge1xuICAgIGNhc2UgXCJub25lXCI6XG4gICAgICByZXR1cm4gXCJub25lXCI7XG4gICAgY2FzZSBcInJlbGF0aXZlXCI6XG4gICAgICByZXR1cm4gYnVtcFR5cGUucmVsYXRpdmU7XG4gICAgY2FzZSBcImFic29sdXRlXCI6XG4gICAgICByZXR1cm4gYnVtcFR5cGUuYWJzb2x1dGU7XG4gIH1cbn1cblxuLyoqXG4gKiBTdHJpbmcgdG8gYnVtcCB0eXBlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJ1bXBUeXBlKHg6IHN0cmluZyk6IEJ1bXBUeXBlIHtcbiAgaWYgKHggPT09IFwibm9uZVwiKSB7XG4gICAgcmV0dXJuIHsgYnVtcDogXCJub25lXCIgfTtcbiAgfVxuICBpZiAoaXNNYWpvck1pbm9yUGF0Y2goeCkpIHtcbiAgICByZXR1cm4geyBidW1wOiBcInJlbGF0aXZlXCIsIHJlbGF0aXZlOiB4IH07XG4gIH1cbiAgaWYgKGlzRnVsbFZlcnNpb25TdHJpbmcoeCkpIHtcbiAgICByZXR1cm4geyBidW1wOiBcImFic29sdXRlXCIsIGFic29sdXRlOiB4IH07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHZlcnNpb246ICR7eH1gKTtcbn1cblxuLyoqXG4gKiBQZXJmb3JtIHRoZSBnaXZlbiBidW1wIG9uIHRoZSBnaXZlbiB2ZXJzaW9uLCByZXR1cm5pbmcgdGhlIG5ldyB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZXJmb3JtQnVtcChiYXNlVmVyc2lvbjogc3RyaW5nLCBidW1wVHlwZTogQnVtcFR5cGUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGJ1bXBUeXBlLmJ1bXApIHtcbiAgICBjYXNlIFwibm9uZVwiOlxuICAgICAgcmV0dXJuIGJhc2VWZXJzaW9uO1xuICAgIGNhc2UgXCJhYnNvbHV0ZVwiOlxuICAgICAgcmV0dXJuIGJ1bXBUeXBlLmFic29sdXRlO1xuICAgIGNhc2UgXCJyZWxhdGl2ZVwiOlxuICAgICAgY29uc3QgaW5jZWQgPSBpbmMoYmFzZVZlcnNpb24sIGJ1bXBUeXBlLnJlbGF0aXZlKTtcbiAgICAgIGlmICghaW5jZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3QgYnVtcCB2ZXJzaW9uOiAke2Jhc2VWZXJzaW9ufSwgdHlwZSAke2J1bXBUeXBlLnJlbGF0aXZlfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaW5jZWQudG9TdHJpbmcoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNYWpvck1pbm9yUGF0Y2godjogc3RyaW5nKTogdiBpcyBNYWpvck1pbm9yUGF0Y2gge1xuICByZXR1cm4gISF2Lm1hdGNoKC9eKG1ham9yfG1pbm9yfHBhdGNoKSQvKTtcbn1cblxuZnVuY3Rpb24gaXNGdWxsVmVyc2lvblN0cmluZyhuZXh0VmVyc2lvbjogc3RyaW5nKSB7XG4gIHJldHVybiBuZXh0VmVyc2lvbi5tYXRjaCgvXlxcZCtcXC5cXGQrXFwuXFxkKygtW15cXHNdKyk/JC8pO1xufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvYnVtcC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLDRDQXNCQztBQUtELHdDQVNDO0FBS0Qsc0NBV0M7QUFLRCxrQ0FlQztBQUVELDhDQUVDO0FBbEdEOzs7O0dBSUc7QUFDSCxtQ0FBb0M7QUFXcEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxFQUFVLEVBQUUsRUFBVTtJQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFBLGNBQUssRUFBQyxFQUFFLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFBLGNBQUssRUFBQyxFQUFFLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsSUFBSSxFQUFFLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNqRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsUUFBa0I7SUFDL0MsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxVQUFVO1lBQ2IsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzNCLEtBQUssVUFBVTtZQUNiLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLENBQVM7SUFDckMsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDakIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixXQUFXLENBQUMsV0FBbUIsRUFBRSxRQUFrQjtJQUNqRSxRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixLQUFLLE1BQU07WUFDVCxPQUFPLFdBQVcsQ0FBQztRQUNyQixLQUFLLFVBQVU7WUFDYixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDM0IsS0FBSyxVQUFVO1lBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBQSxZQUFHLEVBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYiwyQkFBMkIsV0FBVyxVQUFVLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FDcEUsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLENBQVM7SUFDekMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFdBQW1CO0lBQzlDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN5bWJvbGljIHJlcHJlc2VudGF0aW9ucyBvZiB2ZXJzaW9uIGJ1bXBzXG4gKlxuICogVGhlcmUgYXJlIDMgdHlwZXMgb2YgYnVtcHM6IG5vIGJ1bXAsIGEgcmVsYXRpdmUgYnVtcCAoaW5jcmVhc2luZyBvbmUgY29tcG9uZW50KSBvciBhbiBhYnNvbHV0ZSBidW1wIChhIHNwZWNpZmljIG5ldyB2ZXJzaW9uKVxuICovXG5pbXBvcnQgeyBpbmMsIHBhcnNlIH0gZnJvbSBcInNlbXZlclwiO1xuXG5leHBvcnQgdHlwZSBCdW1wVHlwZSA9XG4gIFJlbGF0aXZlQnVtcFR5cGUgfCB7IGJ1bXA6IFwiYWJzb2x1dGVcIjsgYWJzb2x1dGU6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBSZWxhdGl2ZUJ1bXBUeXBlID1cbiAgeyBidW1wOiBcIm5vbmVcIiB9IHwgeyBidW1wOiBcInJlbGF0aXZlXCI7IHJlbGF0aXZlOiBNYWpvck1pbm9yUGF0Y2ggfTtcblxuLy8gVGhlIG9ubHkgcmVsYXRpdmUgdHlwZXMgdGhhdCBDQVRWIHN1cHBvcnRzXG5leHBvcnQgdHlwZSBNYWpvck1pbm9yUGF0Y2ggPSBcIm1ham9yXCIgfCBcIm1pbm9yXCIgfCBcInBhdGNoXCI7XG5cbi8qKlxuICogUmV2ZXJzZSBlbmdpbmVlciB0aGUgYnVtcCB0eXBlIGZyb20gdHdvIHZlcnNpb25cbiAqXG4gKiBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgd2lsbCBub3QganVzdCB0ZWxsXG4gKiB1cyB0aGUgdHlwZSBvZiBidW1wIGl0IHBlcmZvcm1lZCwgaXQgb25seSBwcmludHMgdGhlIG5ldyB2ZXJzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVsYXRpdmVCdW1wVHlwZSh2MDogc3RyaW5nLCB2MTogc3RyaW5nKTogUmVsYXRpdmVCdW1wVHlwZSB7XG4gIGNvbnN0IHMwID0gcGFyc2UodjApO1xuICBpZiAoIXMwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgYSBwYXJzZWFibGUgdmVyc2lvbjogJHt2MH1gKTtcbiAgfVxuICBjb25zdCBzMSA9IHBhcnNlKHYxKTtcbiAgaWYgKCFzMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm90IGEgcGFyc2VhYmxlIHZlcnNpb246ICR7djF9YCk7XG4gIH1cblxuICAvLyBEaXNjYXJkcyB0aGUgYnVpbGQgcXVhbGlmaWVyIChgKzEyMzQ1YClcbiAgaWYgKHMwLnZlcnNpb24gPT09IHMxLnZlcnNpb24pIHtcbiAgICByZXR1cm4geyBidW1wOiBcIm5vbmVcIiB9O1xuICB9XG5cbiAgaWYgKHMwLm1ham9yICE9PSBzMS5tYWpvcikge1xuICAgIHJldHVybiB7IGJ1bXA6IFwicmVsYXRpdmVcIiwgcmVsYXRpdmU6IFwibWFqb3JcIiB9O1xuICB9XG4gIGlmIChzMC5taW5vciAhPT0gczEubWlub3IpIHtcbiAgICByZXR1cm4geyBidW1wOiBcInJlbGF0aXZlXCIsIHJlbGF0aXZlOiBcIm1pbm9yXCIgfTtcbiAgfVxuICByZXR1cm4geyBidW1wOiBcInJlbGF0aXZlXCIsIHJlbGF0aXZlOiBcInBhdGNoXCIgfTtcbn1cblxuLyoqXG4gKiBCdW1wIHR5cGUgdG8gc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJCdW1wVHlwZShidW1wVHlwZTogQnVtcFR5cGUpIHtcbiAgc3dpdGNoIChidW1wVHlwZS5idW1wKSB7XG4gICAgY2FzZSBcIm5vbmVcIjpcbiAgICAgIHJldHVybiBcIm5vbmVcIjtcbiAgICBjYXNlIFwicmVsYXRpdmVcIjpcbiAgICAgIHJldHVybiBidW1wVHlwZS5yZWxhdGl2ZTtcbiAgICBjYXNlIFwiYWJzb2x1dGVcIjpcbiAgICAgIHJldHVybiBidW1wVHlwZS5hYnNvbHV0ZTtcbiAgfVxufVxuXG4vKipcbiAqIFN0cmluZyB0byBidW1wIHR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQnVtcFR5cGUoeDogc3RyaW5nKTogQnVtcFR5cGUge1xuICBpZiAoeCA9PT0gXCJub25lXCIpIHtcbiAgICByZXR1cm4geyBidW1wOiBcIm5vbmVcIiB9O1xuICB9XG4gIGlmIChpc01ham9yTWlub3JQYXRjaCh4KSkge1xuICAgIHJldHVybiB7IGJ1bXA6IFwicmVsYXRpdmVcIiwgcmVsYXRpdmU6IHggfTtcbiAgfVxuICBpZiAoaXNGdWxsVmVyc2lvblN0cmluZyh4KSkge1xuICAgIHJldHVybiB7IGJ1bXA6IFwiYWJzb2x1dGVcIiwgYWJzb2x1dGU6IHggfTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdmVyc2lvbjogJHt4fWApO1xufVxuXG4vKipcbiAqIFBlcmZvcm0gdGhlIGdpdmVuIGJ1bXAgb24gdGhlIGdpdmVuIHZlcnNpb24sIHJldHVybmluZyB0aGUgbmV3IHZlcnNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlcmZvcm1CdW1wKGJhc2VWZXJzaW9uOiBzdHJpbmcsIGJ1bXBUeXBlOiBCdW1wVHlwZSk6IHN0cmluZyB7XG4gIHN3aXRjaCAoYnVtcFR5cGUuYnVtcCkge1xuICAgIGNhc2UgXCJub25lXCI6XG4gICAgICByZXR1cm4gYmFzZVZlcnNpb247XG4gICAgY2FzZSBcImFic29sdXRlXCI6XG4gICAgICByZXR1cm4gYnVtcFR5cGUuYWJzb2x1dGU7XG4gICAgY2FzZSBcInJlbGF0aXZlXCI6XG4gICAgICBjb25zdCBpbmNlZCA9IGluYyhiYXNlVmVyc2lvbiwgYnVtcFR5cGUucmVsYXRpdmUpO1xuICAgICAgaWYgKCFpbmNlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENvdWxkIG5vdCBidW1wIHZlcnNpb246ICR7YmFzZVZlcnNpb259LCB0eXBlICR7YnVtcFR5cGUucmVsYXRpdmV9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbmNlZC50b1N0cmluZygpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01ham9yTWlub3JQYXRjaCh2OiBzdHJpbmcpOiB2IGlzIE1ham9yTWlub3JQYXRjaCB7XG4gIHJldHVybiAhIXYubWF0Y2goL14obWFqb3J8bWlub3J8cGF0Y2gpJC8pO1xufVxuXG5mdW5jdGlvbiBpc0Z1bGxWZXJzaW9uU3RyaW5nKG5leHRWZXJzaW9uOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5leHRWZXJzaW9uLm1hdGNoKC9eXFxkK1xcLlxcZCtcXC5cXGQrKC1bXlxcc10rKT8kLyk7XG59XG4iXX0=