@codedrifters/configulator 0.0.85 → 0.0.87

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 (57) hide show
  1. package/lib/index.d.mts +1311 -0
  2. package/lib/index.d.ts +1311 -10
  3. package/lib/index.js +1508 -26
  4. package/lib/index.js.map +1 -0
  5. package/lib/index.mjs +1497 -0
  6. package/lib/index.mjs.map +1 -0
  7. package/package.json +11 -8
  8. package/lib/aws/aws-deployment-config.d.ts +0 -78
  9. package/lib/aws/aws-deployment-config.js +0 -134
  10. package/lib/aws/aws-deployment-target.d.ts +0 -183
  11. package/lib/aws/aws-deployment-target.js +0 -163
  12. package/lib/aws/aws-types.d.ts +0 -63
  13. package/lib/aws/aws-types.js +0 -9
  14. package/lib/aws/index.d.ts +0 -2
  15. package/lib/aws/index.js +0 -19
  16. package/lib/git/git-types.d.ts +0 -18
  17. package/lib/git/git-types.js +0 -9
  18. package/lib/git/index.d.ts +0 -1
  19. package/lib/git/index.js +0 -18
  20. package/lib/jsii/index.d.ts +0 -1
  21. package/lib/jsii/index.js +0 -18
  22. package/lib/jsii/jsii-faker.d.ts +0 -47
  23. package/lib/jsii/jsii-faker.js +0 -103
  24. package/lib/pnpm/index.d.ts +0 -1
  25. package/lib/pnpm/index.js +0 -18
  26. package/lib/pnpm/pnpm-workspace.d.ts +0 -244
  27. package/lib/pnpm/pnpm-workspace.js +0 -176
  28. package/lib/projects/index.d.ts +0 -2
  29. package/lib/projects/index.js +0 -19
  30. package/lib/projects/monorepo-project.d.ts +0 -82
  31. package/lib/projects/monorepo-project.js +0 -277
  32. package/lib/projects/typescript-project.d.ts +0 -20
  33. package/lib/projects/typescript-project.js +0 -181
  34. package/lib/tasks/index.d.ts +0 -1
  35. package/lib/tasks/index.js +0 -18
  36. package/lib/tasks/reset-task.d.ts +0 -51
  37. package/lib/tasks/reset-task.js +0 -149
  38. package/lib/turbo/index.d.ts +0 -2
  39. package/lib/turbo/index.js +0 -19
  40. package/lib/turbo/turbo-repo-task.d.ts +0 -36
  41. package/lib/turbo/turbo-repo-task.js +0 -43
  42. package/lib/turbo/turbo-repo.d.ts +0 -375
  43. package/lib/turbo/turbo-repo.js +0 -299
  44. package/lib/typescript/index.d.ts +0 -1
  45. package/lib/typescript/index.js +0 -18
  46. package/lib/typescript/typescript-config.d.ts +0 -13
  47. package/lib/typescript/typescript-config.js +0 -40
  48. package/lib/versions.d.ts +0 -34
  49. package/lib/versions.js +0 -38
  50. package/lib/vscode/index.d.ts +0 -1
  51. package/lib/vscode/index.js +0 -18
  52. package/lib/vscode/vscode.d.ts +0 -10
  53. package/lib/vscode/vscode.js +0 -38
  54. package/lib/workflows/aws-deploy-workflow.d.ts +0 -86
  55. package/lib/workflows/aws-deploy-workflow.js +0 -313
  56. package/lib/workflows/index.d.ts +0 -1
  57. package/lib/workflows/index.js +0 -18
@@ -1,51 +0,0 @@
1
- import { Component, Project } from "projen";
2
- /*******************************************************************************
3
- *
4
- * Reset Task Component
5
- *
6
- * Adds a "reset" task that deletes all build artifacts produced by the build
7
- * process. This includes node_modules, lib, dist, coverage, test-reports,
8
- * .turbo, and tsconfig.tsbuildinfo.
9
- *
10
- ******************************************************************************/
11
- export interface ResetTaskOptions {
12
- /**
13
- * Custom output directory to delete (overrides tsconfig artifactsDirectory detection).
14
- *
15
- * @default - detected from typescript project.artifactsDirectory or "lib"
16
- */
17
- readonly artifactsDirectory?: string;
18
- /**
19
- * Array of glob patterns for paths to remove.
20
- * If empty, the artifactsDirectory will be added automatically.
21
- *
22
- * @default []
23
- */
24
- readonly pathsToRemove?: string[];
25
- /**
26
- * Name of the task to create.
27
- *
28
- * @default "reset"
29
- */
30
- readonly taskName?: string;
31
- }
32
- export declare class ResetTask extends Component {
33
- readonly project: Project;
34
- /**
35
- * Static method to discover reset task in a project.
36
- */
37
- static of(project: Project): ResetTask | undefined;
38
- /**
39
- * The output directory to delete (from tsconfig or custom).
40
- */
41
- readonly artifactsDirectory: string;
42
- /**
43
- * The final array of paths that will be removed by the reset task.
44
- */
45
- readonly pathsToRemove: string[];
46
- /**
47
- * The name of the task that was created.
48
- */
49
- readonly taskName: string;
50
- constructor(project: Project, options?: ResetTaskOptions);
51
- }
@@ -1,149 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResetTask = void 0;
4
- const projen_1 = require("projen");
5
- const typescript_project_1 = require("../projects/typescript-project");
6
- const turbo_repo_1 = require("../turbo/turbo-repo");
7
- const turbo_repo_task_1 = require("../turbo/turbo-repo-task");
8
- class ResetTask extends projen_1.Component {
9
- /**
10
- * Static method to discover reset task in a project.
11
- */
12
- static of(project) {
13
- const isDefined = (c) => c instanceof ResetTask;
14
- return project.components.find(isDefined);
15
- }
16
- constructor(project, options = {}) {
17
- super(project);
18
- this.project = project;
19
- /**
20
- * Determine the output directory.
21
- * 1. Use custom artifactsDirectory if provided
22
- * 2. Use the artifacts directory if project is TypeScriptProject
23
- * 3. Default to "lib"
24
- */
25
- this.artifactsDirectory = options.artifactsDirectory
26
- ? options.artifactsDirectory
27
- : project instanceof typescript_project_1.TypeScriptProject
28
- ? project.artifactsDirectory
29
- : "lib";
30
- /**
31
- * Build the paths array to remove.
32
- * If pathsToRemove is empty, add artifactsDirectory.
33
- * If pathsToRemove is not empty, use it as-is (artifactsDirectory is not automatically added).
34
- * Remove duplicate entries from the array.
35
- */
36
- const pathsToRemove = options.pathsToRemove ?? [];
37
- const finalPaths = pathsToRemove.length === 0 ? [this.artifactsDirectory] : pathsToRemove;
38
- /**
39
- * Remove duplicate paths from the array.
40
- */
41
- this.pathsToRemove = Array.from(new Set(finalPaths));
42
- /**
43
- * Determine the task name.
44
- */
45
- this.taskName = options.taskName ?? "reset";
46
- /**
47
- * Create the reset task.
48
- */
49
- const resetTask = this.project.tasks.addTask(this.taskName, {
50
- description: "Delete build artifacts specified by pathsToRemove option, or artifactsDirectory if pathsToRemove is empty",
51
- });
52
- /**
53
- * Delete build artifacts with existence checks.
54
- * Using shell conditionals to only delete if paths exist.
55
- * Using -e to check existence (works for both files and directories).
56
- */
57
- this.pathsToRemove.forEach((path) => {
58
- resetTask.exec(`[ -e "${path}" ] && rm -rf ${path} || true`);
59
- });
60
- /**
61
- * Turbo tasks are added after all components are created.
62
- * This assumes turbo is built first so that it's available to be
63
- * referenced. This could introduce problems in future but works for now.
64
- */
65
- /**
66
- * Check if turborepo is active.
67
- */
68
- const rootHasTurbo = turbo_repo_1.TurboRepo.of(this.project.root) !== undefined;
69
- const isSubproject = this.project !== this.project.root;
70
- const isRootProject = this.project === this.project.root;
71
- /**
72
- * If turborepo is active for the subproject, add turbo tasks.
73
- */
74
- if (isSubproject && rootHasTurbo) {
75
- /**
76
- * Get TurboRepo instance for this subproject.
77
- * It should exist by now since preSynthesize runs after all components are created.
78
- */
79
- const turbo = turbo_repo_1.TurboRepo.of(this.project);
80
- if (turbo && !turbo.isRootProject) {
81
- /**
82
- * Create turbo:reset task (or turbo:${taskName}).
83
- */
84
- const turboResetTask = new turbo_repo_task_1.TurboRepoTask(this.project, {
85
- name: `turbo:${this.taskName}`,
86
- cache: false,
87
- });
88
- turbo.tasks.push(turboResetTask);
89
- /**
90
- * Create a turbo task with the same name as the reset task.
91
- */
92
- const turboTaskWithSameName = new turbo_repo_task_1.TurboRepoTask(this.project, {
93
- name: this.taskName,
94
- cache: false,
95
- });
96
- turbo.tasks.push(turboTaskWithSameName);
97
- /**
98
- * turboResetTask depends on turboTaskWithSameName so that the reset task
99
- * can be run across all suprojects using turbo:reset as the entry point.
100
- */
101
- turboResetTask.dependsOn.push(turboTaskWithSameName.name);
102
- }
103
- }
104
- /**
105
- * If reset-task is in the root project, add a turbo task that will trigger
106
- * all the subtasks using dependsOn of "^turbo:reset".
107
- */
108
- if (isRootProject && rootHasTurbo) {
109
- const turbo = turbo_repo_1.TurboRepo.of(this.project);
110
- if (turbo && turbo.isRootProject) {
111
- /**
112
- * Create turbo:reset task (or turbo:${taskName}) in the root project.
113
- * The ^ prefix means "run this task in all dependencies first".
114
- */
115
- const rootTurboResetTask = new turbo_repo_task_1.TurboRepoTask(this.project, {
116
- name: `turbo:${this.taskName}`,
117
- dependsOn: [`^turbo:${this.taskName}`],
118
- cache: false,
119
- });
120
- turbo.tasks.push(rootTurboResetTask);
121
- /**
122
- * Create a turbo task with the same name as the reset task.
123
- */
124
- const turboTaskWithSameName = new turbo_repo_task_1.TurboRepoTask(this.project, {
125
- name: this.taskName,
126
- cache: false,
127
- });
128
- turbo.tasks.push(turboTaskWithSameName);
129
- /**
130
- * rootTurboResetTask depends on turboTaskWithSameName so that the reset task
131
- * can be run across all suprojects using turbo:reset as the entry point.
132
- */
133
- rootTurboResetTask.dependsOn.push(turboTaskWithSameName.name);
134
- /**
135
- * Create reset:all task - a projen task that calls the turbo task.
136
- * This is similar to build:all in turbo-repo.ts.
137
- */
138
- const resetAllTask = this.project.tasks.addTask(`${this.taskName}:all`, {
139
- description: `Reset all build artifacts across the monorepo by running turbo:${this.taskName} in all subprojects.`,
140
- });
141
- resetAllTask.exec("turbo telemetry disable");
142
- resetAllTask.exec(`turbo turbo:${this.taskName} --summarize --concurrency=10`);
143
- resetAllTask.exec(`pnpm ${this.taskName}`);
144
- }
145
- }
146
- }
147
- }
148
- exports.ResetTask = ResetTask;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtdGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9yZXNldC10YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUE0QztBQUM1Qyx1RUFBbUU7QUFDbkUsb0RBQWdEO0FBQ2hELDhEQUF5RDtBQW9DekQsTUFBYSxTQUFVLFNBQVEsa0JBQVM7SUFDdEM7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQy9CLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUFrQixFQUFFLENBQUMsQ0FBQyxZQUFZLFNBQVMsQ0FBQztRQUMzRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFpQkQsWUFDa0IsT0FBZ0IsRUFDaEMsVUFBNEIsRUFBRTtRQUU5QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFIQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBS2hDOzs7OztXQUtHO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0I7WUFDbEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0I7WUFDNUIsQ0FBQyxDQUFDLE9BQU8sWUFBWSxzQ0FBaUI7Z0JBQ3BDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCO2dCQUM1QixDQUFDLENBQUMsS0FBSyxDQUFDO1FBRVo7Ozs7O1dBS0c7UUFDSCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFVBQVUsR0FDZCxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBRXpFOztXQUVHO1FBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxD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QUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7b0JBQ25CLEtBQUssRUFBRSxLQUFLO2lCQUNiLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUV4Qzs7O21CQUdHO2dCQUNILGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTlEOzs7bUJBR0c7Z0JBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM3QyxHQUFHLElBQUksQ0FBQyxRQUFRLE1BQU0sRUFDdEI7b0JBQ0UsV0FBVyxFQUFFLGtFQUFrRSxJQUFJLENBQUMsUUFBUSxzQkFBc0I7aUJBQ25ILENBQ0YsQ0FBQztnQkFDRixZQUFZLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQzdDLFlBQVksQ0FBQyxJQUFJLENBQ2YsZUFBZSxJQUFJLENBQUMsUUFBUSwrQkFBK0IsQ0FDNUQsQ0FBQztnQkFDRixZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFuTEQsOEJBbUxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBQcm9qZWN0IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgVHlwZVNjcmlwdFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdHMvdHlwZXNjcmlwdC1wcm9qZWN0XCI7XG5pbXBvcnQgeyBUdXJib1JlcG8gfSBmcm9tIFwiLi4vdHVyYm8vdHVyYm8tcmVwb1wiO1xuaW1wb3J0IHsgVHVyYm9SZXBvVGFzayB9IGZyb20gXCIuLi90dXJiby90dXJiby1yZXBvLXRhc2tcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqXG4gKiBSZXNldCBUYXNrIENvbXBvbmVudFxuICpcbiAqIEFkZHMgYSBcInJlc2V0XCIgdGFzayB0aGF0IGRlbGV0ZXMgYWxsIGJ1aWxkIGFydGlmYWN0cyBwcm9kdWNlZCBieSB0aGUgYnVpbGRcbiAqIHByb2Nlc3MuIFRoaXMgaW5jbHVkZXMgbm9kZV9tb2R1bGVzLCBsaWIsIGRpc3QsIGNvdmVyYWdlLCB0ZXN0LXJlcG9ydHMsXG4gKiAudHVyYm8sIGFuZCB0c2NvbmZpZy50c2J1aWxkaW5mby5cbiAqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0VGFza09wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIG91dHB1dCBkaXJlY3RvcnkgdG8gZGVsZXRlIChvdmVycmlkZXMgdHNjb25maWcgYXJ0aWZhY3RzRGlyZWN0b3J5IGRldGVjdGlvbikuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGV0ZWN0ZWQgZnJvbSB0eXBlc2NyaXB0IHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5IG9yIFwibGliXCJcbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogQXJyYXkgb2YgZ2xvYiBwYXR0ZXJucyBmb3IgcGF0aHMgdG8gcmVtb3ZlLlxuICAgKiBJZiBlbXB0eSwgdGhlIGFydGlmYWN0c0RpcmVjdG9yeSB3aWxsIGJlIGFkZGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwYXRoc1RvUmVtb3ZlPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRhc2sgdG8gY3JlYXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInJlc2V0XCJcbiAgICovXG4gIHJlYWRvbmx5IHRhc2tOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzZXRUYXNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFN0YXRpYyBtZXRob2QgdG8gZGlzY292ZXIgcmVzZXQgdGFzayBpbiBhIHByb2plY3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBSZXNldFRhc2sgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzRGVmaW5lZCA9IChjOiBDb21wb25lbnQpOiBjIGlzIFJlc2V0VGFzayA9PiBjIGluc3RhbmNlb2YgUmVzZXRUYXNrO1xuICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc0RlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgZGlyZWN0b3J5IHRvIGRlbGV0ZSAoZnJvbSB0c2NvbmZpZyBvciBjdXN0b20pLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmluYWwgYXJyYXkgb2YgcGF0aHMgdGhhdCB3aWxsIGJlIHJlbW92ZWQgYnkgdGhlIHJlc2V0IHRhc2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGF0aHNUb1JlbW92ZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0YXNrIHRoYXQgd2FzIGNyZWF0ZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFza05hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogUHJvamVjdCxcbiAgICBvcHRpb25zOiBSZXNldFRhc2tPcHRpb25zID0ge30sXG4gICkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIHRoZSBvdXRwdXQgZGlyZWN0b3J5LlxuICAgICAqIDEuIFVzZSBjdXN0b20gYXJ0aWZhY3RzRGlyZWN0b3J5IGlmIHByb3ZpZGVkXG4gICAgICogMi4gVXNlIHRoZSBhcnRpZmFjdHMgZGlyZWN0b3J5IGlmIHByb2plY3QgaXMgVHlwZVNjcmlwdFByb2plY3RcbiAgICAgKiAzLiBEZWZhdWx0IHRvIFwibGliXCJcbiAgICAgKi9cbiAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSA9IG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5XG4gICAgICA/IG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5XG4gICAgICA6IHByb2plY3QgaW5zdGFuY2VvZiBUeXBlU2NyaXB0UHJvamVjdFxuICAgICAgICA/IHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5XG4gICAgICAgIDogXCJsaWJcIjtcblxuICAgIC8qKlxuICAgICAqIEJ1aWxkIHRoZSBwYXRocyBhcnJheSB0byByZW1vdmUuXG4gICAgICogSWYgcGF0aHNUb1JlbW92ZSBpcyBlbXB0eSwgYWRkIGFydGlmYWN0c0RpcmVjdG9yeS5cbiAgICAgKiBJZiBwYXRoc1RvUmVtb3ZlIGlzIG5vdCBlbXB0eSwgdXNlIGl0IGFzLWlzIChhcnRpZmFjdHNEaXJlY3RvcnkgaXMgbm90IGF1dG9tYXRpY2FsbHkgYWRkZWQpLlxuICAgICAqIFJlbW92ZSBkdXBsaWNhdGUgZW50cmllcyBmcm9tIHRoZSBhcnJheS5cbiAgICAgKi9cbiAgICBjb25zdCBwYXRoc1RvUmVtb3ZlID0gb3B0aW9ucy5wYXRoc1RvUmVtb3ZlID8/IFtdO1xuICAgIGNvbnN0IGZpbmFsUGF0aHMgPVxuICAgICAgcGF0aHNUb1JlbW92ZS5sZW5ndGggPT09IDAgPyBbdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnldIDogcGF0aHNUb1JlbW92ZTtcblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkdXBsaWNhdGUgcGF0aHMgZnJvbSB0aGUgYXJyYXkuXG4gICAgICovXG4gICAgdGhpcy5wYXRoc1RvUmVtb3ZlID0gQXJyYXkuZnJvbShuZXcgU2V0KGZpbmFsUGF0aHMpKTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSB0aGUgdGFzayBuYW1lLlxuICAgICAqL1xuICAgIHRoaXMudGFza05hbWUgPSBvcHRpb25zLnRhc2tOYW1lID8/IFwicmVzZXRcIjtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSB0aGUgcmVzZXQgdGFzay5cbiAgICAgKi9cbiAgICBjb25zdCByZXNldFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MuYWRkVGFzayh0aGlzLnRhc2tOYW1lLCB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJEZWxldGUgYnVpbGQgYXJ0aWZhY3RzIHNwZWNpZmllZCBieSBwYXRoc1RvUmVtb3ZlIG9wdGlvbiwgb3IgYXJ0aWZhY3RzRGlyZWN0b3J5IGlmIHBhdGhzVG9SZW1vdmUgaXMgZW1wdHlcIixcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIERlbGV0ZSBidWlsZCBhcnRpZmFjdHMgd2l0aCBleGlzdGVuY2UgY2hlY2tzLlxuICAgICAqIFVzaW5nIHNoZWxsIGNvbmRpdGlvbmFscyB0byBvbmx5IGRlbGV0ZSBpZiBwYXRocyBleGlzdC5cbiAgICAgKiBVc2luZyAtZSB0byBjaGVjayBleGlzdGVuY2UgKHdvcmtzIGZvciBib3RoIGZpbGVzIGFuZCBkaXJlY3RvcmllcykuXG4gICAgICovXG4gICAgdGhpcy5wYXRoc1RvUmVtb3ZlLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIHJlc2V0VGFzay5leGVjKGBbIC1lIFwiJHtwYXRofVwiIF0gJiYgcm0gLXJmICR7cGF0aH0gfHwgdHJ1ZWApO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVHVyYm8gdGFza3MgYXJlIGFkZGVkIGFmdGVyIGFsbCBjb21wb25lbnRzIGFyZSBjcmVhdGVkLlxuICAgICAqIFRoaXMgYXNzdW1lcyB0dXJibyBpcyBidWlsdCBmaXJzdCBzbyB0aGF0IGl0J3MgYXZhaWxhYmxlIHRvIGJlXG4gICAgICogcmVmZXJlbmNlZC4gVGhpcyBjb3VsZCBpbnRyb2R1Y2UgcHJvYmxlbXMgaW4gZnV0dXJlIGJ1dCB3b3JrcyBmb3Igbm93LlxuICAgICAqL1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdHVyYm9yZXBvIGlzIGFjdGl2ZS5cbiAgICAgKi9cbiAgICBjb25zdCByb290SGFzVHVyYm8gPSBUdXJib1JlcG8ub2YodGhpcy5wcm9qZWN0LnJvb3QpICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgaXNTdWJwcm9qZWN0ID0gdGhpcy5wcm9qZWN0ICE9PSB0aGlzLnByb2plY3Qucm9vdDtcbiAgICBjb25zdCBpc1Jvb3RQcm9qZWN0ID0gdGhpcy5wcm9qZWN0ID09PSB0aGlzLnByb2plY3Qucm9vdDtcblxuICAgIC8qKlxuICAgICAqIElmIHR1cmJvcmVwbyBpcyBhY3RpdmUgZm9yIHRoZSBzdWJwcm9qZWN0LCBhZGQgdHVyYm8gdGFza3MuXG4gICAgICovXG4gICAgaWYgKGlzU3VicHJvamVjdCAmJiByb290SGFzVHVyYm8pIHtcbiAgICAgIC8qKlxuICAgICAgICogR2V0IFR1cmJvUmVwbyBpbnN0YW5jZSBmb3IgdGhpcyBzdWJwcm9qZWN0LlxuICAgICAgICogSXQgc2hvdWxkIGV4aXN0IGJ5IG5vdyBzaW5jZSBwcmVTeW50aGVzaXplIHJ1bnMgYWZ0ZXIgYWxsIGNvbXBvbmVudHMgYXJlIGNyZWF0ZWQuXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IHR1cmJvID0gVHVyYm9SZXBvLm9mKHRoaXMucHJvamVjdCk7XG4gICAgICBpZiAodHVyYm8gJiYgIXR1cmJvLmlzUm9vdFByb2plY3QpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZSB0dXJibzpyZXNldCB0YXNrIChvciB0dXJibzoke3Rhc2tOYW1lfSkuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCB0dXJib1Jlc2V0VGFzayA9IG5ldyBUdXJib1JlcG9UYXNrKHRoaXMucHJvamVjdCwge1xuICAgICAgICAgIG5hbWU6IGB0dXJibzoke3RoaXMudGFza05hbWV9YCxcbiAgICAgICAgICBjYWNoZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0dXJiby50YXNrcy5wdXNoKHR1cmJvUmVzZXRUYXNrKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQ3JlYXRlIGEgdHVyYm8gdGFzayB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHJlc2V0IHRhc2suXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCB0dXJib1Rhc2tXaXRoU2FtZU5hbWUgPSBuZXcgVHVyYm9SZXBvVGFzayh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgICBuYW1lOiB0aGlzLnRhc2tOYW1lLFxuICAgICAgICAgIGNhY2hlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHR1cmJvLnRhc2tzLnB1c2godHVyYm9UYXNrV2l0aFNhbWVOYW1lKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogdHVyYm9SZXNldFRhc2sgZGVwZW5kcyBvbiB0dXJib1Rhc2tXaXRoU2FtZU5hbWUgc28gdGhhdCB0aGUgcmVzZXQgdGFza1xuICAgICAgICAgKiBjYW4gYmUgcnVuIGFjcm9zcyBhbGwgc3Vwcm9qZWN0cyB1c2luZyB0dXJibzpyZXNldCBhcyB0aGUgZW50cnkgcG9pbnQuXG4gICAgICAgICAqL1xuICAgICAgICB0dXJib1Jlc2V0VGFzay5kZXBlbmRzT24ucHVzaCh0dXJib1Rhc2tXaXRoU2FtZU5hbWUubmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgcmVzZXQtdGFzayBpcyBpbiB0aGUgcm9vdCBwcm9qZWN0LCBhZGQgYSB0dXJibyB0YXNrIHRoYXQgd2lsbCB0cmlnZ2VyXG4gICAgICogYWxsIHRoZSBzdWJ0YXNrcyB1c2luZyBkZXBlbmRzT24gb2YgXCJedHVyYm86cmVzZXRcIi5cbiAgICAgKi9cbiAgICBpZiAoaXNSb290UHJvamVjdCAmJiByb290SGFzVHVyYm8pIHtcbiAgICAgIGNvbnN0IHR1cmJvID0gVHVyYm9SZXBvLm9mKHRoaXMucHJvamVjdCk7XG4gICAgICBpZiAodHVyYm8gJiYgdHVyYm8uaXNSb290UHJvamVjdCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogQ3JlYXRlIHR1cmJvOnJlc2V0IHRhc2sgKG9yIHR1cmJvOiR7dGFza05hbWV9KSBpbiB0aGUgcm9vdCBwcm9qZWN0LlxuICAgICAgICAgKiBUaGUgXiBwcmVmaXggbWVhbnMgXCJydW4gdGhpcyB0YXNrIGluIGFsbCBkZXBlbmRlbmNpZXMgZmlyc3RcIi5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHJvb3RUdXJib1Jlc2V0VGFzayA9IG5ldyBUdXJib1JlcG9UYXNrKHRoaXMucHJvamVjdCwge1xuICAgICAgICAgIG5hbWU6IGB0dXJibzoke3RoaXMudGFza05hbWV9YCxcbiAgICAgICAgICBkZXBlbmRzT246IFtgXnR1cmJvOiR7dGhpcy50YXNrTmFtZX1gXSxcbiAgICAgICAgICBjYWNoZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0dXJiby50YXNrcy5wdXNoKHJvb3RUdXJib1Jlc2V0VGFzayk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZSBhIHR1cmJvIHRhc2sgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSByZXNldCB0YXNrLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgdHVyYm9UYXNrV2l0aFNhbWVOYW1lID0gbmV3IFR1cmJvUmVwb1Rhc2sodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgICAgbmFtZTogdGhpcy50YXNrTmFtZSxcbiAgICAgICAgICBjYWNoZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0dXJiby50YXNrcy5wdXNoKHR1cmJvVGFza1dpdGhTYW1lTmFtZSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIHJvb3RUdXJib1Jlc2V0VGFzayBkZXBlbmRzIG9uIHR1cmJvVGFza1dpdGhTYW1lTmFtZSBzbyB0aGF0IHRoZSByZXNldCB0YXNrXG4gICAgICAgICAqIGNhbiBiZSBydW4gYWNyb3NzIGFsbCBzdXByb2plY3RzIHVzaW5nIHR1cmJvOnJlc2V0IGFzIHRoZSBlbnRyeSBwb2ludC5cbiAgICAgICAgICovXG4gICAgICAgIHJvb3RUdXJib1Jlc2V0VGFzay5kZXBlbmRzT24ucHVzaCh0dXJib1Rhc2tXaXRoU2FtZU5hbWUubmFtZSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZSByZXNldDphbGwgdGFzayAtIGEgcHJvamVuIHRhc2sgdGhhdCBjYWxscyB0aGUgdHVyYm8gdGFzay5cbiAgICAgICAgICogVGhpcyBpcyBzaW1pbGFyIHRvIGJ1aWxkOmFsbCBpbiB0dXJiby1yZXBvLnRzLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgcmVzZXRBbGxUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLmFkZFRhc2soXG4gICAgICAgICAgYCR7dGhpcy50YXNrTmFtZX06YWxsYCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYFJlc2V0IGFsbCBidWlsZCBhcnRpZmFjdHMgYWNyb3NzIHRoZSBtb25vcmVwbyBieSBydW5uaW5nIHR1cmJvOiR7dGhpcy50YXNrTmFtZX0gaW4gYWxsIHN1YnByb2plY3RzLmAsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzZXRBbGxUYXNrLmV4ZWMoXCJ0dXJibyB0ZWxlbWV0cnkgZGlzYWJsZVwiKTtcbiAgICAgICAgcmVzZXRBbGxUYXNrLmV4ZWMoXG4gICAgICAgICAgYHR1cmJvIHR1cmJvOiR7dGhpcy50YXNrTmFtZX0gLS1zdW1tYXJpemUgLS1jb25jdXJyZW5jeT0xMGAsXG4gICAgICAgICk7XG4gICAgICAgIHJlc2V0QWxsVGFzay5leGVjKGBwbnBtICR7dGhpcy50YXNrTmFtZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from "./turbo-repo-task";
2
- export * from "./turbo-repo";
@@ -1,19 +0,0 @@
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("./turbo-repo-task"), exports);
18
- __exportStar(require("./turbo-repo"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHVyYm8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFrQztBQUNsQywrQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi90dXJiby1yZXBvLXRhc2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R1cmJvLXJlcG9cIjtcbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { Component, Project } from "projen/lib";
2
- /**
3
- * Each of the below options corresponds to a task property found here:
4
- * * https://turborepo.com/docs/reference/configuration#defining-tasks
5
- */
6
- export interface TurboRepoTaskOptions {
7
- readonly name: string;
8
- readonly dependsOn?: Array<string>;
9
- readonly env?: Array<string>;
10
- readonly passThroughEnv?: Array<string>;
11
- readonly outputs?: Array<string>;
12
- readonly cache?: boolean;
13
- readonly inputs?: Array<string>;
14
- readonly outputLogs?: "full" | "hash-only" | "new-only" | "errors-only" | "none";
15
- readonly persistent?: boolean;
16
- readonly interactive?: boolean;
17
- }
18
- export declare class TurboRepoTask extends Component {
19
- readonly project: Project;
20
- readonly name: string;
21
- dependsOn: Array<string>;
22
- readonly env: Array<string>;
23
- readonly passThroughEnv: Array<string>;
24
- outputs: Array<string>;
25
- cache: boolean;
26
- inputs: Array<string>;
27
- readonly outputLogs: "full" | "hash-only" | "new-only" | "errors-only" | "none";
28
- readonly persistent: boolean;
29
- readonly interactive: boolean;
30
- /**
31
- * Include this task in turbo.json output?
32
- */
33
- isActive: boolean;
34
- constructor(project: Project, options: TurboRepoTaskOptions);
35
- taskConfig(): Record<string, any>;
36
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TurboRepoTask = void 0;
4
- const lib_1 = require("projen/lib");
5
- class TurboRepoTask extends lib_1.Component {
6
- constructor(project, options) {
7
- super(project);
8
- this.project = project;
9
- this.name = options.name;
10
- this.dependsOn = options.dependsOn ?? [];
11
- this.env = options.env ?? [];
12
- this.passThroughEnv = options.passThroughEnv ?? [];
13
- this.outputs = options.outputs ?? [];
14
- this.cache = options.cache ?? true;
15
- this.inputs = [
16
- ...(options.inputs ?? []),
17
- // rerun if projen config changes
18
- ".projen/**",
19
- // ignore mac files
20
- "!.DS_Store",
21
- "!**/.DS_Store",
22
- ];
23
- this.outputLogs = options.outputLogs ?? "new-only";
24
- this.persistent = options.persistent ?? false;
25
- this.interactive = options.interactive ?? false;
26
- this.isActive = true;
27
- }
28
- taskConfig() {
29
- return {
30
- dependsOn: this.dependsOn,
31
- env: this.env,
32
- passThroughEnv: this.passThroughEnv,
33
- outputs: this.outputs,
34
- cache: this.cache,
35
- inputs: this.inputs,
36
- outputLogs: this.outputLogs,
37
- persistent: this.persistent,
38
- interactive: this.interactive,
39
- };
40
- }
41
- }
42
- exports.TurboRepoTask = TurboRepoTask;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVyYm8tcmVwby10YXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R1cmJvL3R1cmJvLXJlcG8tdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvQ0FBZ0Q7QUF3QmhELE1BQWEsYUFBYyxTQUFRLGVBQVM7SUFzQjFDLFlBQ2tCLE9BQWdCLEVBQ2hDLE9BQTZCO1FBRTdCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFLaEMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ3pCLGlDQUFpQztZQUNqQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixlQUFlO1NBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE3REQsc0NBNkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWJcIjtcblxuLyoqXG4gKiBFYWNoIG9mIHRoZSBiZWxvdyBvcHRpb25zIGNvcnJlc3BvbmRzIHRvIGEgdGFzayBwcm9wZXJ0eSBmb3VuZCBoZXJlOlxuICogICogaHR0cHM6Ly90dXJib3JlcG8uY29tL2RvY3MvcmVmZXJlbmNlL2NvbmZpZ3VyYXRpb24jZGVmaW5pbmctdGFza3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdXJib1JlcG9UYXNrT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogQXJyYXk8c3RyaW5nPjtcbiAgcmVhZG9ubHkgZW52PzogQXJyYXk8c3RyaW5nPjtcbiAgcmVhZG9ubHkgcGFzc1Rocm91Z2hFbnY/OiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSBvdXRwdXRzPzogQXJyYXk8c3RyaW5nPjtcbiAgcmVhZG9ubHkgY2FjaGU/OiBib29sZWFuO1xuICByZWFkb25seSBpbnB1dHM/OiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSBvdXRwdXRMb2dzPzpcbiAgICB8IFwiZnVsbFwiXG4gICAgfCBcImhhc2gtb25seVwiXG4gICAgfCBcIm5ldy1vbmx5XCJcbiAgICB8IFwiZXJyb3JzLW9ubHlcIlxuICAgIHwgXCJub25lXCI7XG4gIHJlYWRvbmx5IHBlcnNpc3RlbnQ/OiBib29sZWFuO1xuICByZWFkb25seSBpbnRlcmFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBUdXJib1JlcG9UYXNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIGRlcGVuZHNPbjogQXJyYXk8c3RyaW5nPjtcbiAgcHVibGljIHJlYWRvbmx5IGVudjogQXJyYXk8c3RyaW5nPjtcbiAgcHVibGljIHJlYWRvbmx5IHBhc3NUaHJvdWdoRW52OiBBcnJheTxzdHJpbmc+O1xuICBwdWJsaWMgb3V0cHV0czogQXJyYXk8c3RyaW5nPjtcbiAgcHVibGljIGNhY2hlOiBib29sZWFuO1xuICBwdWJsaWMgaW5wdXRzOiBBcnJheTxzdHJpbmc+O1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0TG9nczpcbiAgICB8IFwiZnVsbFwiXG4gICAgfCBcImhhc2gtb25seVwiXG4gICAgfCBcIm5ldy1vbmx5XCJcbiAgICB8IFwiZXJyb3JzLW9ubHlcIlxuICAgIHwgXCJub25lXCI7XG4gIHB1YmxpYyByZWFkb25seSBwZXJzaXN0ZW50OiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJhY3RpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgdGhpcyB0YXNrIGluIHR1cmJvLmpzb24gb3V0cHV0P1xuICAgKi9cbiAgcHVibGljIGlzQWN0aXZlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIG9wdGlvbnM6IFR1cmJvUmVwb1Rhc2tPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMubmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICB0aGlzLmRlcGVuZHNPbiA9IG9wdGlvbnMuZGVwZW5kc09uID8/IFtdO1xuICAgIHRoaXMuZW52ID0gb3B0aW9ucy5lbnYgPz8gW107XG4gICAgdGhpcy5wYXNzVGhyb3VnaEVudiA9IG9wdGlvbnMucGFzc1Rocm91Z2hFbnYgPz8gW107XG4gICAgdGhpcy5vdXRwdXRzID0gb3B0aW9ucy5vdXRwdXRzID8/IFtdO1xuICAgIHRoaXMuY2FjaGUgPSBvcHRpb25zLmNhY2hlID8/IHRydWU7XG4gICAgdGhpcy5pbnB1dHMgPSBbXG4gICAgICAuLi4ob3B0aW9ucy5pbnB1dHMgPz8gW10pLFxuICAgICAgLy8gcmVydW4gaWYgcHJvamVuIGNvbmZpZyBjaGFuZ2VzXG4gICAgICBcIi5wcm9qZW4vKipcIixcbiAgICAgIC8vIGlnbm9yZSBtYWMgZmlsZXNcbiAgICAgIFwiIS5EU19TdG9yZVwiLFxuICAgICAgXCIhKiovLkRTX1N0b3JlXCIsXG4gICAgXTtcbiAgICB0aGlzLm91dHB1dExvZ3MgPSBvcHRpb25zLm91dHB1dExvZ3MgPz8gXCJuZXctb25seVwiO1xuICAgIHRoaXMucGVyc2lzdGVudCA9IG9wdGlvbnMucGVyc2lzdGVudCA/PyBmYWxzZTtcbiAgICB0aGlzLmludGVyYWN0aXZlID0gb3B0aW9ucy5pbnRlcmFjdGl2ZSA/PyBmYWxzZTtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyB0YXNrQ29uZmlnKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgIHBhc3NUaHJvdWdoRW52OiB0aGlzLnBhc3NUaHJvdWdoRW52LFxuICAgICAgb3V0cHV0czogdGhpcy5vdXRwdXRzLFxuICAgICAgY2FjaGU6IHRoaXMuY2FjaGUsXG4gICAgICBpbnB1dHM6IHRoaXMuaW5wdXRzLFxuICAgICAgb3V0cHV0TG9nczogdGhpcy5vdXRwdXRMb2dzLFxuICAgICAgcGVyc2lzdGVudDogdGhpcy5wZXJzaXN0ZW50LFxuICAgICAgaW50ZXJhY3RpdmU6IHRoaXMuaW50ZXJhY3RpdmUsXG4gICAgfTtcbiAgfVxufVxuIl19