projen 0.103.4 → 0.103.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1547 -18
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/cdktn/cdktn-app-ts.js +1 -1
- package/lib/cdktn/cdktn-config.js +1 -1
- package/lib/cdktn/cdktn-construct.js +1 -1
- package/lib/cdktn/cdktn-deps.js +1 -1
- package/lib/cdktn/cdktn-tasks.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/component.js +2 -2
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +4 -2
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-config-file.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/pnpm-workspace-config.js +2 -2
- package/lib/javascript/pnpm-workspace.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/properties-file.d.ts +50 -0
- package/lib/properties-file.js +77 -0
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv-config.js +1 -1
- package/lib/python/uv.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +4 -2
- package/lib/sample-file.js +2 -2
- package/lib/script-runner.js +1 -1
- package/lib/sonarqube/index.d.ts +4 -0
- package/lib/sonarqube/index.js +21 -0
- package/lib/sonarqube/javascript.d.ts +35 -0
- package/lib/sonarqube/javascript.js +57 -0
- package/lib/sonarqube/rust.d.ts +37 -0
- package/lib/sonarqube/rust.js +58 -0
- package/lib/sonarqube/sonarqube.d.ts +439 -0
- package/lib/sonarqube/sonarqube.js +184 -0
- package/lib/sonarqube/typescript.d.ts +36 -0
- package/lib/sonarqube/typescript.js +61 -0
- package/lib/source-code.js +1 -1
- package/lib/task-shell.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-runner.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/util.d.ts +9 -0
- package/lib/util.js +39 -1
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/properties-file/LICENSE +21 -0
- package/node_modules/properties-file/README.md +253 -0
- package/node_modules/properties-file/dist/cjs/bundler/bun.d.ts +10 -0
- package/node_modules/properties-file/dist/cjs/bundler/bun.js +1 -0
- package/node_modules/properties-file/dist/cjs/bundler/esbuild.d.ts +11 -0
- package/node_modules/properties-file/dist/cjs/bundler/esbuild.js +1 -0
- package/node_modules/properties-file/dist/cjs/bundler/rollup.d.ts +11 -0
- package/node_modules/properties-file/dist/cjs/bundler/rollup.js +1 -0
- package/node_modules/properties-file/dist/cjs/bundler/webpack.d.ts +12 -0
- package/node_modules/properties-file/dist/cjs/bundler/webpack.js +1 -0
- package/node_modules/properties-file/dist/cjs/characters.d.ts +32 -0
- package/node_modules/properties-file/dist/cjs/characters.js +1 -0
- package/node_modules/properties-file/dist/cjs/editor/index.d.ts +181 -0
- package/node_modules/properties-file/dist/cjs/editor/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/escape/index.d.ts +18 -0
- package/node_modules/properties-file/dist/cjs/escape/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/index.d.ts +25 -0
- package/node_modules/properties-file/dist/cjs/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/package.json +1 -0
- package/node_modules/properties-file/dist/cjs/parser/index.d.ts +3 -0
- package/node_modules/properties-file/dist/cjs/parser/index.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/nodes.d.ts +154 -0
- package/node_modules/properties-file/dist/cjs/parser/nodes.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/normalize.d.ts +12 -0
- package/node_modules/properties-file/dist/cjs/parser/normalize.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/parse.d.ts +23 -0
- package/node_modules/properties-file/dist/cjs/parser/parse.js +1 -0
- package/node_modules/properties-file/dist/cjs/parser/properties.d.ts +93 -0
- package/node_modules/properties-file/dist/cjs/parser/properties.js +1 -0
- package/node_modules/properties-file/dist/cjs/properties-file.d.ts +8 -0
- package/node_modules/properties-file/dist/cjs/unescape/index.d.ts +14 -0
- package/node_modules/properties-file/dist/cjs/unescape/index.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/bun.d.ts +10 -0
- package/node_modules/properties-file/dist/esm/bundler/bun.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/esbuild.d.ts +11 -0
- package/node_modules/properties-file/dist/esm/bundler/esbuild.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/rollup.d.ts +11 -0
- package/node_modules/properties-file/dist/esm/bundler/rollup.js +1 -0
- package/node_modules/properties-file/dist/esm/bundler/webpack.d.ts +12 -0
- package/node_modules/properties-file/dist/esm/bundler/webpack.js +1 -0
- package/node_modules/properties-file/dist/esm/characters.d.ts +32 -0
- package/node_modules/properties-file/dist/esm/characters.js +1 -0
- package/node_modules/properties-file/dist/esm/editor/index.d.ts +181 -0
- package/node_modules/properties-file/dist/esm/editor/index.js +1 -0
- package/node_modules/properties-file/dist/esm/escape/index.d.ts +18 -0
- package/node_modules/properties-file/dist/esm/escape/index.js +1 -0
- package/node_modules/properties-file/dist/esm/index.d.ts +25 -0
- package/node_modules/properties-file/dist/esm/index.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/index.d.ts +3 -0
- package/node_modules/properties-file/dist/esm/parser/index.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/nodes.d.ts +154 -0
- package/node_modules/properties-file/dist/esm/parser/nodes.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/normalize.d.ts +12 -0
- package/node_modules/properties-file/dist/esm/parser/normalize.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/parse.d.ts +23 -0
- package/node_modules/properties-file/dist/esm/parser/parse.js +1 -0
- package/node_modules/properties-file/dist/esm/parser/properties.d.ts +93 -0
- package/node_modules/properties-file/dist/esm/parser/properties.js +1 -0
- package/node_modules/properties-file/dist/esm/properties-file.d.ts +8 -0
- package/node_modules/properties-file/dist/esm/unescape/index.d.ts +14 -0
- package/node_modules/properties-file/dist/esm/unescape/index.js +1 -0
- package/node_modules/properties-file/package.json +190 -0
- package/package.json +4 -2
package/lib/object-file.js
CHANGED
|
@@ -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.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ObjectFile", version: "0.103.5" };
|
|
13
13
|
/**
|
|
14
14
|
* The output object. This object can be mutated until the project is
|
|
15
15
|
* synthesized.
|
package/lib/project-build.js
CHANGED
|
@@ -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.103.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectBuild", version: "0.103.5" };
|
|
19
19
|
/**
|
|
20
20
|
* The task responsible for a full release build.
|
|
21
21
|
*/
|
package/lib/project-tree.js
CHANGED
|
@@ -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.103.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectTree", version: "0.103.5" };
|
|
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.103.
|
|
68
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Project", version: "0.103.5" };
|
|
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.103.
|
|
47
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Projects", version: "0.103.5" };
|
|
48
48
|
/**
|
|
49
49
|
* Creates a new project with defaults.
|
|
50
50
|
*
|
package/lib/projenrc-json.js
CHANGED
|
@@ -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.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcJson", version: "0.103.5" };
|
|
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.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcFile", version: "0.103.5" };
|
|
11
11
|
/**
|
|
12
12
|
* Returns the `Projenrc` instance associated with a project or `undefined` if
|
|
13
13
|
* there is no Projenrc.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { IConstruct } from "constructs";
|
|
2
|
+
import type { IResolver } from "./file";
|
|
3
|
+
import type { ObjectFileOptions } from "./object-file";
|
|
4
|
+
import { ObjectFile } from "./object-file";
|
|
5
|
+
/**
|
|
6
|
+
* Options for `PropertiesFile`.
|
|
7
|
+
*/
|
|
8
|
+
export interface PropertiesFileOptions extends ObjectFileOptions {
|
|
9
|
+
/**
|
|
10
|
+
* A comment to include at the top of the file (after the projen marker,
|
|
11
|
+
* if enabled). Each string in the array becomes a separate comment line.
|
|
12
|
+
*
|
|
13
|
+
* @default - no additional comment
|
|
14
|
+
*/
|
|
15
|
+
readonly comment?: string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Represents a Java `.properties` file.
|
|
19
|
+
*
|
|
20
|
+
* Properties files consist of key=value pairs, one per line,
|
|
21
|
+
* with `#` used for comments. This file format is commonly
|
|
22
|
+
* used by tools like SonarQube, Gradle, and other JVM-based
|
|
23
|
+
* ecosystem tools.
|
|
24
|
+
*
|
|
25
|
+
* The object passed as `obj` can be a nested structure. Nested keys are
|
|
26
|
+
* flattened into dot-separated property keys on synthesis. For example,
|
|
27
|
+
* `{ sonar: { sources: "src" } }` produces `sonar.sources=src`.
|
|
28
|
+
*
|
|
29
|
+
* This means `addOverride` uses dot notation as a path separator,
|
|
30
|
+
* consistent with ObjectFile/JsonPatch semantics.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* new PropertiesFile(project, 'sonar-project.properties', {
|
|
34
|
+
* obj: {
|
|
35
|
+
* sonar: {
|
|
36
|
+
* projectKey: 'my-project',
|
|
37
|
+
* sources: 'src',
|
|
38
|
+
* },
|
|
39
|
+
* },
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // Produces:
|
|
43
|
+
* // sonar.projectKey=my-project
|
|
44
|
+
* // sonar.sources=src
|
|
45
|
+
*/
|
|
46
|
+
export declare class PropertiesFile extends ObjectFile {
|
|
47
|
+
private readonly comment?;
|
|
48
|
+
constructor(scope: IConstruct, filePath: string, options: PropertiesFileOptions);
|
|
49
|
+
protected synthesizeContent(resolver: IResolver): string | undefined;
|
|
50
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PropertiesFile = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
const editor_1 = require("properties-file/editor");
|
|
6
|
+
const object_file_1 = require("./object-file");
|
|
7
|
+
const util_1 = require("./util");
|
|
8
|
+
/**
|
|
9
|
+
* Represents a Java `.properties` file.
|
|
10
|
+
*
|
|
11
|
+
* Properties files consist of key=value pairs, one per line,
|
|
12
|
+
* with `#` used for comments. This file format is commonly
|
|
13
|
+
* used by tools like SonarQube, Gradle, and other JVM-based
|
|
14
|
+
* ecosystem tools.
|
|
15
|
+
*
|
|
16
|
+
* The object passed as `obj` can be a nested structure. Nested keys are
|
|
17
|
+
* flattened into dot-separated property keys on synthesis. For example,
|
|
18
|
+
* `{ sonar: { sources: "src" } }` produces `sonar.sources=src`.
|
|
19
|
+
*
|
|
20
|
+
* This means `addOverride` uses dot notation as a path separator,
|
|
21
|
+
* consistent with ObjectFile/JsonPatch semantics.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* new PropertiesFile(project, 'sonar-project.properties', {
|
|
25
|
+
* obj: {
|
|
26
|
+
* sonar: {
|
|
27
|
+
* projectKey: 'my-project',
|
|
28
|
+
* sources: 'src',
|
|
29
|
+
* },
|
|
30
|
+
* },
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Produces:
|
|
34
|
+
* // sonar.projectKey=my-project
|
|
35
|
+
* // sonar.sources=src
|
|
36
|
+
*/
|
|
37
|
+
class PropertiesFile extends object_file_1.ObjectFile {
|
|
38
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.PropertiesFile", version: "0.103.5" };
|
|
39
|
+
comment;
|
|
40
|
+
constructor(scope, filePath, options) {
|
|
41
|
+
super(scope, filePath, options);
|
|
42
|
+
this.comment = options.comment;
|
|
43
|
+
}
|
|
44
|
+
synthesizeContent(resolver) {
|
|
45
|
+
const json = super.synthesizeContent(resolver);
|
|
46
|
+
if (!json) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const obj = JSON.parse(json);
|
|
50
|
+
// Build the initial content (marker and comments) as a seed string
|
|
51
|
+
// so the editor doesn't produce a leading blank line.
|
|
52
|
+
const header = [];
|
|
53
|
+
if (this.marker) {
|
|
54
|
+
header.push(`# ${this.marker}`);
|
|
55
|
+
header.push("");
|
|
56
|
+
}
|
|
57
|
+
if (this.comment && this.comment.length > 0) {
|
|
58
|
+
for (const line of this.comment) {
|
|
59
|
+
header.push(`# ${line}`);
|
|
60
|
+
}
|
|
61
|
+
header.push("");
|
|
62
|
+
}
|
|
63
|
+
const editor = new editor_1.PropertiesEditor(header.join("\n"));
|
|
64
|
+
// Insert all flattened key-value pairs
|
|
65
|
+
const flatEntries = (0, util_1.flattenToDotNotation)(obj);
|
|
66
|
+
for (const [key, value] of flatEntries) {
|
|
67
|
+
editor.insert(key, value);
|
|
68
|
+
}
|
|
69
|
+
return (editor.format({
|
|
70
|
+
separatorChar: "=",
|
|
71
|
+
separatorLeading: "",
|
|
72
|
+
separatorTrailing: "",
|
|
73
|
+
}) + "\n");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.PropertiesFile = PropertiesFile;
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3BlcnRpZXMtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsbURBQTBEO0FBRzFELCtDQUEyQztBQUMzQyxpQ0FBOEM7QUFlOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFhLGNBQWUsU0FBUSx3QkFBVTs7SUFDM0IsT0FBTyxDQUFZO0lBRXBDLFlBQ0UsS0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsT0FBOEI7UUFFOUIsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxRQUFtQjtRQUM3QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsbUVBQW1FO1FBQ25FLHNEQUFzRDtRQUN0RCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUkseUJBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXZELHVDQUF1QztRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFBLDJCQUFvQixFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxDQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDWixhQUFhLEVBQUUsR0FBRztZQUNsQixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLGlCQUFpQixFQUFFLEVBQUU7U0FDdEIsQ0FBQyxHQUFHLElBQUksQ0FDVixDQUFDO0lBQ0osQ0FBQzs7QUFuREgsd0NBb0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFByb3BlcnRpZXNFZGl0b3IgfSBmcm9tIFwicHJvcGVydGllcy1maWxlL2VkaXRvclwiO1xuaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgdHlwZSB7IE9iamVjdEZpbGVPcHRpb25zIH0gZnJvbSBcIi4vb2JqZWN0LWZpbGVcIjtcbmltcG9ydCB7IE9iamVjdEZpbGUgfSBmcm9tIFwiLi9vYmplY3QtZmlsZVwiO1xuaW1wb3J0IHsgZmxhdHRlblRvRG90Tm90YXRpb24gfSBmcm9tIFwiLi91dGlsXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFByb3BlcnRpZXNGaWxlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9wZXJ0aWVzRmlsZU9wdGlvbnMgZXh0ZW5kcyBPYmplY3RGaWxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGNvbW1lbnQgdG8gaW5jbHVkZSBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIChhZnRlciB0aGUgcHJvamVuIG1hcmtlcixcbiAgICogaWYgZW5hYmxlZCkuIEVhY2ggc3RyaW5nIGluIHRoZSBhcnJheSBiZWNvbWVzIGEgc2VwYXJhdGUgY29tbWVudCBsaW5lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgY29tbWVudFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBKYXZhIGAucHJvcGVydGllc2AgZmlsZS5cbiAqXG4gKiBQcm9wZXJ0aWVzIGZpbGVzIGNvbnNpc3Qgb2Yga2V5PXZhbHVlIHBhaXJzLCBvbmUgcGVyIGxpbmUsXG4gKiB3aXRoIGAjYCB1c2VkIGZvciBjb21tZW50cy4gVGhpcyBmaWxlIGZvcm1hdCBpcyBjb21tb25seVxuICogdXNlZCBieSB0b29scyBsaWtlIFNvbmFyUXViZSwgR3JhZGxlLCBhbmQgb3RoZXIgSlZNLWJhc2VkXG4gKiBlY29zeXN0ZW0gdG9vbHMuXG4gKlxuICogVGhlIG9iamVjdCBwYXNzZWQgYXMgYG9iamAgY2FuIGJlIGEgbmVzdGVkIHN0cnVjdHVyZS4gTmVzdGVkIGtleXMgYXJlXG4gKiBmbGF0dGVuZWQgaW50byBkb3Qtc2VwYXJhdGVkIHByb3BlcnR5IGtleXMgb24gc3ludGhlc2lzLiBGb3IgZXhhbXBsZSxcbiAqIGB7IHNvbmFyOiB7IHNvdXJjZXM6IFwic3JjXCIgfSB9YCBwcm9kdWNlcyBgc29uYXIuc291cmNlcz1zcmNgLlxuICpcbiAqIFRoaXMgbWVhbnMgYGFkZE92ZXJyaWRlYCB1c2VzIGRvdCBub3RhdGlvbiBhcyBhIHBhdGggc2VwYXJhdG9yLFxuICogY29uc2lzdGVudCB3aXRoIE9iamVjdEZpbGUvSnNvblBhdGNoIHNlbWFudGljcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogbmV3IFByb3BlcnRpZXNGaWxlKHByb2plY3QsICdzb25hci1wcm9qZWN0LnByb3BlcnRpZXMnLCB7XG4gKiAgIG9iajoge1xuICogICAgIHNvbmFyOiB7XG4gKiAgICAgICBwcm9qZWN0S2V5OiAnbXktcHJvamVjdCcsXG4gKiAgICAgICBzb3VyY2VzOiAnc3JjJyxcbiAqICAgICB9LFxuICogICB9LFxuICogfSk7XG4gKlxuICogLy8gUHJvZHVjZXM6XG4gKiAvLyBzb25hci5wcm9qZWN0S2V5PW15LXByb2plY3RcbiAqIC8vIHNvbmFyLnNvdXJjZXM9c3JjXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0aWVzRmlsZSBleHRlbmRzIE9iamVjdEZpbGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1lbnQ/OiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogSUNvbnN0cnVjdCxcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFByb3BlcnRpZXNGaWxlT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGZpbGVQYXRoLCBvcHRpb25zKTtcbiAgICB0aGlzLmNvbW1lbnQgPSBvcHRpb25zLmNvbW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoIWpzb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZShqc29uKTtcblxuICAgIC8vIEJ1aWxkIHRoZSBpbml0aWFsIGNvbnRlbnQgKG1hcmtlciBhbmQgY29tbWVudHMpIGFzIGEgc2VlZCBzdHJpbmdcbiAgICAvLyBzbyB0aGUgZWRpdG9yIGRvZXNuJ3QgcHJvZHVjZSBhIGxlYWRpbmcgYmxhbmsgbGluZS5cbiAgICBjb25zdCBoZWFkZXI6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAodGhpcy5tYXJrZXIpIHtcbiAgICAgIGhlYWRlci5wdXNoKGAjICR7dGhpcy5tYXJrZXJ9YCk7XG4gICAgICBoZWFkZXIucHVzaChcIlwiKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb21tZW50ICYmIHRoaXMuY29tbWVudC5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5jb21tZW50KSB7XG4gICAgICAgIGhlYWRlci5wdXNoKGAjICR7bGluZX1gKTtcbiAgICAgIH1cbiAgICAgIGhlYWRlci5wdXNoKFwiXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvciA9IG5ldyBQcm9wZXJ0aWVzRWRpdG9yKGhlYWRlci5qb2luKFwiXFxuXCIpKTtcblxuICAgIC8vIEluc2VydCBhbGwgZmxhdHRlbmVkIGtleS12YWx1ZSBwYWlyc1xuICAgIGNvbnN0IGZsYXRFbnRyaWVzID0gZmxhdHRlblRvRG90Tm90YXRpb24ob2JqKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBmbGF0RW50cmllcykge1xuICAgICAgZWRpdG9yLmluc2VydChrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgZWRpdG9yLmZvcm1hdCh7XG4gICAgICAgIHNlcGFyYXRvckNoYXI6IFwiPVwiLFxuICAgICAgICBzZXBhcmF0b3JMZWFkaW5nOiBcIlwiLFxuICAgICAgICBzZXBhcmF0b3JUcmFpbGluZzogXCJcIixcbiAgICAgIH0pICsgXCJcXG5cIlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
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.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pip", version: "0.103.5" };
|
|
13
13
|
installCiTask;
|
|
14
14
|
constructor(project, _options = {}) {
|
|
15
15
|
super(project);
|
package/lib/python/poetry.js
CHANGED
|
@@ -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.103.
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Poetry", version: "0.103.5" };
|
|
51
51
|
/**
|
|
52
52
|
* Task for updating the lockfile and installing project dependencies.
|
|
53
53
|
*/
|
|
@@ -253,7 +253,7 @@ exports.Poetry = Poetry;
|
|
|
253
253
|
* @see https://python-poetry.org/docs/pyproject/
|
|
254
254
|
*/
|
|
255
255
|
class PoetryPyproject extends component_1.Component {
|
|
256
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PoetryPyproject", version: "0.103.
|
|
256
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PoetryPyproject", version: "0.103.5" };
|
|
257
257
|
file;
|
|
258
258
|
constructor(scope, options) {
|
|
259
259
|
super(scope);
|
package/lib/python/projenrc.js
CHANGED
|
@@ -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.103.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Projenrc", version: "0.103.5" };
|
|
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.103.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PyprojectTomlFile", version: "0.103.5" };
|
|
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.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PytestSample", version: "0.103.5" };
|
|
11
11
|
constructor(project, options) {
|
|
12
12
|
super(project);
|
|
13
13
|
new __1.SampleDir(project, options.testdir, {
|
package/lib/python/pytest.js
CHANGED
|
@@ -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.103.
|
|
8
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pytest", version: "0.103.5" };
|
|
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.103.
|
|
26
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonProject", version: "0.103.5" };
|
|
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.103.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonSample", version: "0.103.5" };
|
|
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.103.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.RequirementsFile", version: "0.103.5" };
|
|
15
15
|
packages = new Array();
|
|
16
16
|
packageProvider;
|
|
17
17
|
constructor(project, filePath, options) {
|
package/lib/python/setuppy.js
CHANGED
|
@@ -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.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.SetupPy", version: "0.103.5" };
|
|
11
11
|
setupConfig;
|
|
12
12
|
constructor(project, options) {
|
|
13
13
|
super(project, "setup.py");
|
package/lib/python/setuptools.js
CHANGED
|
@@ -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.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Setuptools", version: "0.103.5" };
|
|
13
13
|
publishTask;
|
|
14
14
|
/**
|
|
15
15
|
* A task that uploads the package to the Test PyPI repository.
|
package/lib/python/uv-config.js
CHANGED
|
@@ -220,7 +220,7 @@ function toJson_StaticMetadata(obj) {
|
|
|
220
220
|
*/
|
|
221
221
|
class ExcludeNewerOverride {
|
|
222
222
|
value;
|
|
223
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.uvConfig.ExcludeNewerOverride", version: "0.103.
|
|
223
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.uvConfig.ExcludeNewerOverride", version: "0.103.5" };
|
|
224
224
|
static fromBoolean(value) {
|
|
225
225
|
return new ExcludeNewerOverride(value);
|
|
226
226
|
}
|
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.103.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Uv", version: "0.103.5" };
|
|
15
15
|
/**
|
|
16
16
|
* The `pyproject.toml` file
|
|
17
17
|
*/
|
package/lib/python/venv.js
CHANGED
|
@@ -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.103.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Venv", version: "0.103.5" };
|
|
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.103.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleReadme", version: "0.103.5" };
|
|
14
14
|
constructor(project, props) {
|
|
15
15
|
super(project, props?.filename ?? "README.md", {
|
|
16
16
|
contents: props?.contents ?? "# replace this",
|
package/lib/release/publisher.js
CHANGED
|
@@ -85,7 +85,7 @@ const PUBLISH_JOB_PREFIX = "release_";
|
|
|
85
85
|
* Under the hood, it uses https://github.com/cdklabs/publib
|
|
86
86
|
*/
|
|
87
87
|
class Publisher extends component_1.Component {
|
|
88
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.release.Publisher", version: "0.103.
|
|
88
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.release.Publisher", version: "0.103.5" };
|
|
89
89
|
static PUBLISH_GIT_TASK_NAME = "publish:git";
|
|
90
90
|
buildJobId;
|
|
91
91
|
artifactName;
|
|
@@ -7,7 +7,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
7
|
* and release artifact automation
|
|
8
8
|
*/
|
|
9
9
|
class ReleaseTrigger {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.release.ReleaseTrigger", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.release.ReleaseTrigger", version: "0.103.5" };
|
|
11
11
|
/**
|
|
12
12
|
* Creates a manual release trigger.
|
|
13
13
|
*
|
package/lib/release/release.js
CHANGED
|
@@ -65,7 +65,7 @@ const DEPENDENT_JOB_CONDITIONAL = `needs.${BUILD_JOBID}.outputs.${TAG_EXISTS_OUT
|
|
|
65
65
|
* By default, no branches are released. To add branches, call `addBranch()`.
|
|
66
66
|
*/
|
|
67
67
|
class Release extends component_1.Component {
|
|
68
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.release.Release", version: "0.103.
|
|
68
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.release.Release", version: "0.103.5" };
|
|
69
69
|
static ANTI_TAMPER_CMD = "git diff --ignore-space-at-eol --exit-code";
|
|
70
70
|
/**
|
|
71
71
|
* Returns the `Release` component of a project or `undefined` if the project
|
package/lib/renovatebot.js
CHANGED
|
@@ -68,7 +68,7 @@ var RenovatebotMinimumReleaseAgeBehaviour;
|
|
|
68
68
|
* Ignores the versions controlled by Projen.
|
|
69
69
|
*/
|
|
70
70
|
class Renovatebot extends component_1.Component {
|
|
71
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Renovatebot", version: "0.103.
|
|
71
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Renovatebot", version: "0.103.5" };
|
|
72
72
|
/**
|
|
73
73
|
* The file holding the renovatebot configuration
|
|
74
74
|
*/
|
package/lib/run-task.cjs
CHANGED
|
@@ -1661,7 +1661,7 @@ var require_package = __commonJS({
|
|
|
1661
1661
|
esbuild: "^0.28.2",
|
|
1662
1662
|
eslint: "^9",
|
|
1663
1663
|
"eslint-config-prettier": "^10.1.8",
|
|
1664
|
-
"eslint-import-resolver-typescript": "^
|
|
1664
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
1665
1665
|
"eslint-plugin-import": "^2.32.0",
|
|
1666
1666
|
"eslint-plugin-prettier": "^5.5.6",
|
|
1667
1667
|
jest: "^30",
|
|
@@ -1694,6 +1694,7 @@ var require_package = __commonJS({
|
|
|
1694
1694
|
"fast-json-patch": "^3.1.1",
|
|
1695
1695
|
ini: "^2.0.0",
|
|
1696
1696
|
"parse-conflict-json": "^4.0.0",
|
|
1697
|
+
"properties-file": "^5.0.6",
|
|
1697
1698
|
semver: "^7.8.5",
|
|
1698
1699
|
xmlbuilder2: "^4.0.3",
|
|
1699
1700
|
yaml: "^2.2.2",
|
|
@@ -1710,6 +1711,7 @@ var require_package = __commonJS({
|
|
|
1710
1711
|
"fast-json-patch",
|
|
1711
1712
|
"ini",
|
|
1712
1713
|
"parse-conflict-json",
|
|
1714
|
+
"properties-file",
|
|
1713
1715
|
"semver",
|
|
1714
1716
|
"xmlbuilder2",
|
|
1715
1717
|
"yaml",
|
|
@@ -1743,7 +1745,7 @@ var require_package = __commonJS({
|
|
|
1743
1745
|
fsevents: true,
|
|
1744
1746
|
"unrs-resolver": true
|
|
1745
1747
|
},
|
|
1746
|
-
version: "0.103.
|
|
1748
|
+
version: "0.103.5",
|
|
1747
1749
|
jest: {
|
|
1748
1750
|
coverageProvider: "v8",
|
|
1749
1751
|
coverageReporters: [
|
package/lib/sample-file.js
CHANGED
|
@@ -45,7 +45,7 @@ const util_1 = require("./util");
|
|
|
45
45
|
* Use this for creating example code files or other resources.
|
|
46
46
|
*/
|
|
47
47
|
class SampleFile extends component_1.Component {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleFile", version: "0.103.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleFile", version: "0.103.5" };
|
|
49
49
|
filePath;
|
|
50
50
|
options;
|
|
51
51
|
/**
|
|
@@ -96,7 +96,7 @@ exports.SampleFile = SampleFile;
|
|
|
96
96
|
* Renders the given files into the directory if the directory does not exist. Use this to create sample code files
|
|
97
97
|
*/
|
|
98
98
|
class SampleDir extends component_1.Component {
|
|
99
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleDir", version: "0.103.
|
|
99
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleDir", version: "0.103.5" };
|
|
100
100
|
dir;
|
|
101
101
|
options;
|
|
102
102
|
/**
|
package/lib/script-runner.js
CHANGED
|
@@ -10,7 +10,7 @@ const component_1 = require("./component");
|
|
|
10
10
|
* `.projenrc.ts`) and is attached to a project by whoever consumes it.
|
|
11
11
|
*/
|
|
12
12
|
class ScriptRunner extends component_1.FutureComponent {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ScriptRunner", version: "0.103.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ScriptRunner", version: "0.103.5" };
|
|
14
14
|
configFor(entrypoint) {
|
|
15
15
|
return {
|
|
16
16
|
dependencies: [],
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./sonarqube"), exports);
|
|
18
|
+
__exportStar(require("./javascript"), exports);
|
|
19
|
+
__exportStar(require("./typescript"), exports);
|
|
20
|
+
__exportStar(require("./rust"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc29uYXJxdWJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsK0NBQTZCO0FBQzdCLCtDQUE2QjtBQUM3Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zb25hcnF1YmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2phdmFzY3JpcHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzY3JpcHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3J1c3RcIjtcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { IConstruct } from "constructs";
|
|
2
|
+
import { SonarqubeProperties } from "./sonarqube";
|
|
3
|
+
import type { SonarqubePropertiesOptions } from "./sonarqube";
|
|
4
|
+
/**
|
|
5
|
+
* Options for `SonarqubeJavascriptProperties`.
|
|
6
|
+
*
|
|
7
|
+
* Extends base options with JavaScript-specific defaults.
|
|
8
|
+
*/
|
|
9
|
+
export interface SonarqubeJavascriptPropertiesOptions extends SonarqubePropertiesOptions {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A SonarQube configuration preset for JavaScript projects.
|
|
13
|
+
*
|
|
14
|
+
* Provides sensible defaults for JavaScript analysis:
|
|
15
|
+
* - `sonar.language` = `js`
|
|
16
|
+
* - `sonar.sources` = `src`
|
|
17
|
+
* - `sonar.tests` = `test`
|
|
18
|
+
* - `sonar.sourceEncoding` = `UTF-8`
|
|
19
|
+
* - `sonar.profile` = `Sonar Way`
|
|
20
|
+
* - `sonar.scm.provider` = `git`
|
|
21
|
+
* - Typical exclusions for `node_modules`, `coverage`, and test files
|
|
22
|
+
* - `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info`
|
|
23
|
+
*
|
|
24
|
+
* All defaults can be overridden via options. Nested options (e.g. `coverage`,
|
|
25
|
+
* `javascript`) are deep-merged with the defaults, so overriding one nested
|
|
26
|
+
* field does not drop the other defaults in that subtree.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* new SonarqubeJavascriptProperties(project, {
|
|
30
|
+
* projectKey: 'my-org_my-js-project',
|
|
31
|
+
* });
|
|
32
|
+
*/
|
|
33
|
+
export declare class SonarqubeJavascriptProperties extends SonarqubeProperties {
|
|
34
|
+
constructor(scope: IConstruct, options: SonarqubeJavascriptPropertiesOptions);
|
|
35
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SonarqubeJavascriptProperties = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
const sonarqube_1 = require("./sonarqube");
|
|
6
|
+
const util_1 = require("../util");
|
|
7
|
+
/**
|
|
8
|
+
* A SonarQube configuration preset for JavaScript projects.
|
|
9
|
+
*
|
|
10
|
+
* Provides sensible defaults for JavaScript analysis:
|
|
11
|
+
* - `sonar.language` = `js`
|
|
12
|
+
* - `sonar.sources` = `src`
|
|
13
|
+
* - `sonar.tests` = `test`
|
|
14
|
+
* - `sonar.sourceEncoding` = `UTF-8`
|
|
15
|
+
* - `sonar.profile` = `Sonar Way`
|
|
16
|
+
* - `sonar.scm.provider` = `git`
|
|
17
|
+
* - Typical exclusions for `node_modules`, `coverage`, and test files
|
|
18
|
+
* - `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info`
|
|
19
|
+
*
|
|
20
|
+
* All defaults can be overridden via options. Nested options (e.g. `coverage`,
|
|
21
|
+
* `javascript`) are deep-merged with the defaults, so overriding one nested
|
|
22
|
+
* field does not drop the other defaults in that subtree.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* new SonarqubeJavascriptProperties(project, {
|
|
26
|
+
* projectKey: 'my-org_my-js-project',
|
|
27
|
+
* });
|
|
28
|
+
*/
|
|
29
|
+
class SonarqubeJavascriptProperties extends sonarqube_1.SonarqubeProperties {
|
|
30
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.sonarqube.SonarqubeJavascriptProperties", version: "0.103.5" };
|
|
31
|
+
constructor(scope, options) {
|
|
32
|
+
super(scope, (0, util_1.deepMerge)([
|
|
33
|
+
{
|
|
34
|
+
language: "js",
|
|
35
|
+
sources: "src",
|
|
36
|
+
tests: "test",
|
|
37
|
+
sourceEncoding: "UTF-8",
|
|
38
|
+
profile: "Sonar Way",
|
|
39
|
+
scm: { provider: "git" },
|
|
40
|
+
exclusions: [
|
|
41
|
+
"**/node_modules/**",
|
|
42
|
+
"**/coverage/**",
|
|
43
|
+
"**/test/**",
|
|
44
|
+
"**/__tests__/**",
|
|
45
|
+
"**/*.test.ts",
|
|
46
|
+
"**/*.spec.ts",
|
|
47
|
+
],
|
|
48
|
+
coverage: { exclusions: ["**/test/**", "**/__tests__/**"] },
|
|
49
|
+
cpd: { exclusions: ["**/test/**/*.json", "**/__tests__/**/*.json"] },
|
|
50
|
+
javascript: { lcov: { reportPaths: ["coverage/lcov.info"] } },
|
|
51
|
+
},
|
|
52
|
+
options,
|
|
53
|
+
]));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.SonarqubeJavascriptProperties = SonarqubeJavascriptProperties;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zb25hcnF1YmUvamF2YXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsMkNBQWtEO0FBRWxELGtDQUFvQztBQVNwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSwrQkFBbUI7O0lBQ3BFLFlBQ0UsS0FBaUIsRUFDakIsT0FBNkM7UUFFN0MsS0FBSyxDQUNILEtBQUssRUFDTCxJQUFBLGdCQUFTLEVBQUM7WUFDUjtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixjQUFjLEVBQUUsT0FBTztnQkFDdkIsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ3hCLFVBQVUsRUFBRTtvQkFDVixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLGNBQWM7b0JBQ2QsY0FBYztpQkFDZjtnQkFDRCxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0QsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUMsRUFBRTtnQkFDcEUsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFO2FBQzlEO1lBQ0QsT0FBTztTQUNSLENBQXlDLENBQzNDLENBQUM7SUFDSixDQUFDOztBQTlCSCxzRUErQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU29uYXJxdWJlUHJvcGVydGllcyB9IGZyb20gXCIuL3NvbmFycXViZVwiO1xuaW1wb3J0IHR5cGUgeyBTb25hcnF1YmVQcm9wZXJ0aWVzT3B0aW9ucyB9IGZyb20gXCIuL3NvbmFycXViZVwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXNgLlxuICpcbiAqIEV4dGVuZHMgYmFzZSBvcHRpb25zIHdpdGggSmF2YVNjcmlwdC1zcGVjaWZpYyBkZWZhdWx0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb25hcnF1YmVKYXZhc2NyaXB0UHJvcGVydGllc09wdGlvbnMgZXh0ZW5kcyBTb25hcnF1YmVQcm9wZXJ0aWVzT3B0aW9ucyB7fVxuXG4vKipcbiAqIEEgU29uYXJRdWJlIGNvbmZpZ3VyYXRpb24gcHJlc2V0IGZvciBKYXZhU2NyaXB0IHByb2plY3RzLlxuICpcbiAqIFByb3ZpZGVzIHNlbnNpYmxlIGRlZmF1bHRzIGZvciBKYXZhU2NyaXB0IGFuYWx5c2lzOlxuICogLSBgc29uYXIubGFuZ3VhZ2VgID0gYGpzYFxuICogLSBgc29uYXIuc291cmNlc2AgPSBgc3JjYFxuICogLSBgc29uYXIudGVzdHNgID0gYHRlc3RgXG4gKiAtIGBzb25hci5zb3VyY2VFbmNvZGluZ2AgPSBgVVRGLThgXG4gKiAtIGBzb25hci5wcm9maWxlYCA9IGBTb25hciBXYXlgXG4gKiAtIGBzb25hci5zY20ucHJvdmlkZXJgID0gYGdpdGBcbiAqIC0gVHlwaWNhbCBleGNsdXNpb25zIGZvciBgbm9kZV9tb2R1bGVzYCwgYGNvdmVyYWdlYCwgYW5kIHRlc3QgZmlsZXNcbiAqIC0gYHNvbmFyLmphdmFzY3JpcHQubGNvdi5yZXBvcnRQYXRoc2AgPSBgY292ZXJhZ2UvbGNvdi5pbmZvYFxuICpcbiAqIEFsbCBkZWZhdWx0cyBjYW4gYmUgb3ZlcnJpZGRlbiB2aWEgb3B0aW9ucy4gTmVzdGVkIG9wdGlvbnMgKGUuZy4gYGNvdmVyYWdlYCxcbiAqIGBqYXZhc2NyaXB0YCkgYXJlIGRlZXAtbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHRzLCBzbyBvdmVycmlkaW5nIG9uZSBuZXN0ZWRcbiAqIGZpZWxkIGRvZXMgbm90IGRyb3AgdGhlIG90aGVyIGRlZmF1bHRzIGluIHRoYXQgc3VidHJlZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogbmV3IFNvbmFycXViZUphdmFzY3JpcHRQcm9wZXJ0aWVzKHByb2plY3QsIHtcbiAqICAgcHJvamVjdEtleTogJ215LW9yZ19teS1qcy1wcm9qZWN0JyxcbiAqIH0pO1xuICovXG5leHBvcnQgY2xhc3MgU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXMgZXh0ZW5kcyBTb25hcnF1YmVQcm9wZXJ0aWVzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IElDb25zdHJ1Y3QsXG4gICAgb3B0aW9uczogU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXNPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIHNjb3BlLFxuICAgICAgZGVlcE1lcmdlKFtcbiAgICAgICAge1xuICAgICAgICAgIGxhbmd1YWdlOiBcImpzXCIsXG4gICAgICAgICAgc291cmNlczogXCJzcmNcIixcbiAgICAgICAgICB0ZXN0czogXCJ0ZXN0XCIsXG4gICAgICAgICAgc291cmNlRW5jb2Rpbmc6IFwiVVRGLThcIixcbiAgICAgICAgICBwcm9maWxlOiBcIlNvbmFyIFdheVwiLFxuICAgICAgICAgIHNjbTogeyBwcm92aWRlcjogXCJnaXRcIiB9LFxuICAgICAgICAgIGV4Y2x1c2lvbnM6IFtcbiAgICAgICAgICAgIFwiKiovbm9kZV9tb2R1bGVzLyoqXCIsXG4gICAgICAgICAgICBcIioqL2NvdmVyYWdlLyoqXCIsXG4gICAgICAgICAgICBcIioqL3Rlc3QvKipcIixcbiAgICAgICAgICAgIFwiKiovX190ZXN0c19fLyoqXCIsXG4gICAgICAgICAgICBcIioqLyoudGVzdC50c1wiLFxuICAgICAgICAgICAgXCIqKi8qLnNwZWMudHNcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNvdmVyYWdlOiB7IGV4Y2x1c2lvbnM6IFtcIioqL3Rlc3QvKipcIiwgXCIqKi9fX3Rlc3RzX18vKipcIl0gfSxcbiAgICAgICAgICBjcGQ6IHsgZXhjbHVzaW9uczogW1wiKiovdGVzdC8qKi8qLmpzb25cIiwgXCIqKi9fX3Rlc3RzX18vKiovKi5qc29uXCJdIH0sXG4gICAgICAgICAgamF2YXNjcmlwdDogeyBsY292OiB7IHJlcG9ydFBhdGhzOiBbXCJjb3ZlcmFnZS9sY292LmluZm9cIl0gfSB9LFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgXSkgYXMgU29uYXJxdWJlSmF2YXNjcmlwdFByb3BlcnRpZXNPcHRpb25zLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|