@decohere/forge 0.0.1-dev.12 → 0.0.1-dev.120

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 (194) hide show
  1. package/README.md +141 -0
  2. package/commonjs/src/actions/build.action.js +8 -6
  3. package/commonjs/src/actions/clean.action.js +6 -8
  4. package/commonjs/src/actions/commit.action.js +4 -6
  5. package/commonjs/src/actions/copy.action.js +43 -12
  6. package/commonjs/src/actions/dependency-report.action.js +4 -6
  7. package/commonjs/src/actions/dependency-sync.action.js +3 -5
  8. package/commonjs/src/actions/docker.action.js +209 -0
  9. package/commonjs/src/actions/index.js +6 -2
  10. package/commonjs/src/actions/link.action.js +154 -0
  11. package/commonjs/src/actions/package.action.js +234 -0
  12. package/commonjs/src/actions/paths.action.js +109 -0
  13. package/commonjs/src/actions/publish.action.js +4 -6
  14. package/commonjs/src/actions/sync-lock-file.action.js +2 -4
  15. package/commonjs/src/actions/tag.action.js +6 -9
  16. package/commonjs/src/actions/typecheck.action.js +67 -0
  17. package/commonjs/src/actions/unlink.action.js +74 -0
  18. package/commonjs/src/actions/version.action.js +10 -14
  19. package/commonjs/src/actions/watch.action.js +3 -5
  20. package/commonjs/src/commands/build.command.js +4 -3
  21. package/commonjs/src/commands/dependency.command.js +1 -3
  22. package/commonjs/src/commands/docker.command.js +26 -0
  23. package/commonjs/src/commands/forge.command.js +1 -3
  24. package/commonjs/src/commands/index.js +5 -2
  25. package/commonjs/src/commands/link.command.js +90 -0
  26. package/commonjs/src/commands/package.command.js +36 -0
  27. package/commonjs/src/commands/paths.command.js +24 -0
  28. package/commonjs/src/commands/publish.command.js +1 -3
  29. package/commonjs/src/commands/tag.command.js +1 -3
  30. package/commonjs/src/commands/typecheck.command.js +24 -0
  31. package/commonjs/src/commands/version.command.js +1 -3
  32. package/commonjs/src/const.js +0 -2
  33. package/commonjs/src/create-workspace.js +42 -0
  34. package/commonjs/src/errors.js +2 -4
  35. package/commonjs/src/extensions/project.extensions.js +11 -13
  36. package/commonjs/src/factories/swc-config.factory.js +29 -9
  37. package/commonjs/src/forge.module.js +23 -22
  38. package/commonjs/src/index.js +11 -2
  39. package/commonjs/src/packaging/dependency-pinner.service.js +118 -0
  40. package/commonjs/src/packaging/deployable.js +44 -0
  41. package/commonjs/src/packaging/import-graph.service.js +137 -0
  42. package/commonjs/src/packaging/release-exports.js +90 -0
  43. package/commonjs/src/packaging/ui-assets.js +75 -0
  44. package/commonjs/src/semver/index.js +18 -0
  45. package/commonjs/src/semver/semver.js +92 -0
  46. package/commonjs/src/services/dependency-resolver.service.js +1 -3
  47. package/commonjs/src/services/file-writer.service.js +2 -11
  48. package/commonjs/src/services/incremental-watch.js +24 -0
  49. package/commonjs/src/services/output-cache.js +39 -0
  50. package/commonjs/src/services/swc-transpiler.js +85 -99
  51. package/commonjs/src/services/transpile-cache.js +44 -0
  52. package/commonjs/src/services/ts-program-host.js +4 -6
  53. package/commonjs/src/services/type-emission-program.js +24 -9
  54. package/commonjs/src/services/type-emitter.js +51 -16
  55. package/commonjs/src/types/build-target.type.js +0 -2
  56. package/commonjs/src/types/configuration.type.js +0 -2
  57. package/commonjs/src/types/dependency.types.js +0 -2
  58. package/commonjs/src/types/swc-config.type.js +0 -2
  59. package/commonjs/src/types/transform-response.model.js +3 -18
  60. package/commonjs/src/types/transformer.type.js +0 -2
  61. package/commonjs/src/types/workspace-config.type.js +0 -2
  62. package/commonjs/src/vitest/forge-build.plugin.js +28 -44
  63. package/commonjs/src/vitest/index.js +0 -2
  64. package/commonjs/src/workspace.config.js +39 -6
  65. package/es6/src/actions/build.action.js +7 -7
  66. package/es6/src/actions/clean.action.js +5 -8
  67. package/es6/src/actions/commit.action.js +3 -6
  68. package/es6/src/actions/copy.action.js +42 -12
  69. package/es6/src/actions/dependency-report.action.js +3 -7
  70. package/es6/src/actions/dependency-sync.action.js +2 -6
  71. package/es6/src/actions/docker.action.js +194 -0
  72. package/es6/src/actions/index.js +6 -2
  73. package/es6/src/actions/link.action.js +128 -0
  74. package/es6/src/actions/package.action.js +219 -0
  75. package/es6/src/actions/paths.action.js +86 -0
  76. package/es6/src/actions/publish.action.js +3 -6
  77. package/es6/src/actions/sync-lock-file.action.js +2 -4
  78. package/es6/src/actions/tag.action.js +5 -9
  79. package/es6/src/actions/typecheck.action.js +52 -0
  80. package/es6/src/actions/unlink.action.js +59 -0
  81. package/es6/src/actions/version.action.js +5 -10
  82. package/es6/src/actions/watch.action.js +2 -5
  83. package/es6/src/commands/build.command.js +4 -3
  84. package/es6/src/commands/dependency.command.js +1 -3
  85. package/es6/src/commands/docker.command.js +16 -0
  86. package/es6/src/commands/forge.command.js +1 -3
  87. package/es6/src/commands/index.js +5 -2
  88. package/es6/src/commands/link.command.js +67 -0
  89. package/es6/src/commands/package.command.js +26 -0
  90. package/es6/src/commands/paths.command.js +14 -0
  91. package/es6/src/commands/publish.command.js +1 -3
  92. package/es6/src/commands/tag.command.js +1 -3
  93. package/es6/src/commands/typecheck.command.js +14 -0
  94. package/es6/src/commands/version.command.js +1 -3
  95. package/es6/src/const.js +0 -2
  96. package/es6/src/create-workspace.js +30 -0
  97. package/es6/src/errors.js +1 -3
  98. package/es6/src/extensions/project.extensions.js +5 -7
  99. package/es6/src/factories/swc-config.factory.js +29 -9
  100. package/es6/src/forge.module.js +23 -22
  101. package/es6/src/index.js +3 -3
  102. package/es6/src/packaging/dependency-pinner.service.js +103 -0
  103. package/es6/src/packaging/deployable.js +21 -0
  104. package/es6/src/packaging/import-graph.service.js +122 -0
  105. package/es6/src/packaging/release-exports.js +80 -0
  106. package/es6/src/packaging/ui-assets.js +49 -0
  107. package/es6/src/semver/index.js +1 -0
  108. package/es6/src/semver/semver.js +71 -0
  109. package/es6/src/services/dependency-resolver.service.js +1 -3
  110. package/es6/src/services/file-writer.service.js +2 -11
  111. package/es6/src/services/incremental-watch.js +18 -0
  112. package/es6/src/services/output-cache.js +29 -0
  113. package/es6/src/services/swc-transpiler.js +85 -99
  114. package/es6/src/services/transpile-cache.js +29 -0
  115. package/es6/src/services/ts-program-host.js +4 -6
  116. package/es6/src/services/type-emission-program.js +24 -9
  117. package/es6/src/services/type-emitter.js +48 -16
  118. package/es6/src/types/build-target.type.js +0 -2
  119. package/es6/src/types/configuration.type.js +0 -2
  120. package/es6/src/types/dependency.types.js +0 -2
  121. package/es6/src/types/swc-config.type.js +0 -2
  122. package/es6/src/types/transform-response.model.js +0 -7
  123. package/es6/src/types/transformer.type.js +0 -2
  124. package/es6/src/types/workspace-config.type.js +0 -2
  125. package/es6/src/vitest/forge-build.plugin.js +27 -43
  126. package/es6/src/vitest/index.js +0 -2
  127. package/es6/src/workspace.config.js +39 -5
  128. package/package.json +6 -5
  129. package/types/src/actions/build.action.d.ts +5 -4
  130. package/types/src/actions/clean.action.d.ts +3 -3
  131. package/types/src/actions/commit.action.d.ts +3 -3
  132. package/types/src/actions/copy.action.d.ts +13 -3
  133. package/types/src/actions/dependency-report.action.d.ts +3 -3
  134. package/types/src/actions/dependency-sync.action.d.ts +3 -3
  135. package/types/src/actions/docker.action.d.ts +38 -0
  136. package/types/src/actions/index.d.ts +6 -0
  137. package/types/src/actions/link.action.d.ts +25 -0
  138. package/types/src/actions/package.action.d.ts +38 -0
  139. package/types/src/actions/paths.action.d.ts +28 -0
  140. package/types/src/actions/publish.action.d.ts +4 -4
  141. package/types/src/actions/sync-lock-file.action.d.ts +2 -2
  142. package/types/src/actions/tag.action.d.ts +3 -3
  143. package/types/src/actions/typecheck.action.d.ts +14 -0
  144. package/types/src/actions/unlink.action.d.ts +9 -0
  145. package/types/src/actions/version.action.d.ts +4 -4
  146. package/types/src/actions/watch.action.d.ts +3 -3
  147. package/types/src/commands/build.command.d.ts +3 -2
  148. package/types/src/commands/dependency.command.d.ts +2 -2
  149. package/types/src/commands/docker.command.d.ts +6 -0
  150. package/types/src/commands/forge.command.d.ts +2 -2
  151. package/types/src/commands/index.d.ts +5 -0
  152. package/types/src/commands/link.command.d.ts +29 -0
  153. package/types/src/commands/package.command.d.ts +11 -0
  154. package/types/src/commands/paths.command.d.ts +6 -0
  155. package/types/src/commands/publish.command.d.ts +1 -1
  156. package/types/src/commands/tag.command.d.ts +1 -1
  157. package/types/src/commands/typecheck.command.d.ts +6 -0
  158. package/types/src/commands/version.command.d.ts +1 -1
  159. package/types/src/create-workspace.d.ts +7 -0
  160. package/types/src/errors.d.ts +1 -1
  161. package/types/src/extensions/project.extensions.d.ts +2 -2
  162. package/types/src/factories/swc-config.factory.d.ts +3 -2
  163. package/types/src/forge.module.d.ts +16 -4
  164. package/types/src/index.d.ts +3 -1
  165. package/types/src/packaging/dependency-pinner.service.d.ts +20 -0
  166. package/types/src/packaging/deployable.d.ts +17 -0
  167. package/types/src/packaging/import-graph.service.d.ts +33 -0
  168. package/types/src/packaging/release-exports.d.ts +18 -0
  169. package/types/src/packaging/ui-assets.d.ts +21 -0
  170. package/types/src/semver/index.d.ts +1 -0
  171. package/types/src/semver/semver.d.ts +18 -0
  172. package/types/src/services/dependency-resolver.service.d.ts +1 -1
  173. package/types/src/services/file-writer.service.d.ts +1 -2
  174. package/types/src/services/incremental-watch.d.ts +13 -0
  175. package/types/src/services/output-cache.d.ts +10 -0
  176. package/types/src/services/swc-transpiler.d.ts +28 -15
  177. package/types/src/services/transpile-cache.d.ts +17 -0
  178. package/types/src/services/ts-program-host.d.ts +2 -2
  179. package/types/src/services/type-emission-program.d.ts +8 -3
  180. package/types/src/services/type-emitter.d.ts +21 -8
  181. package/types/src/types/configuration.type.d.ts +6 -1
  182. package/types/src/types/dependency.types.d.ts +1 -1
  183. package/types/src/types/swc-config.type.d.ts +7 -1
  184. package/types/src/types/transform-response.model.d.ts +2 -7
  185. package/types/src/types/transformer.type.d.ts +2 -11
  186. package/types/src/types/workspace-config.type.d.ts +3 -3
  187. package/types/src/vitest/forge-build.plugin.d.ts +0 -2
  188. package/types/src/workspace.config.d.ts +6 -0
  189. package/commonjs/src/mixins/caches-outputs.mixin.js +0 -44
  190. package/commonjs/src/mixins/incremental-transform.mixin.js +0 -36
  191. package/es6/src/mixins/caches-outputs.mixin.js +0 -34
  192. package/es6/src/mixins/incremental-transform.mixin.js +0 -26
  193. package/types/src/mixins/caches-outputs.mixin.d.ts +0 -7
  194. package/types/src/mixins/incremental-transform.mixin.d.ts +0 -13
@@ -12,6 +12,9 @@ _export(exports, {
12
12
  get DEFAULT_TYPE_EMITTER_OPTIONS () {
13
13
  return DEFAULT_TYPE_EMITTER_OPTIONS;
14
14
  },
15
+ get REQUIRED_TYPE_CHECK_OPTIONS () {
16
+ return REQUIRED_TYPE_CHECK_OPTIONS;
17
+ },
15
18
  get REQUIRED_TYPE_EMITTER_OPTIONS () {
16
19
  return REQUIRED_TYPE_EMITTER_OPTIONS;
17
20
  },
@@ -19,13 +22,12 @@ _export(exports, {
19
22
  return TypeEmitter;
20
23
  }
21
24
  });
22
- const _caching = require("@decohere/nexus/caching");
23
- const _diagnostics = require("@decohere/nexus/diagnostics");
24
- const _extensibility = require("@decohere/nexus/extensibility");
25
- const _io = require("@decohere/nexus/io");
25
+ const _caching = require("@decohere/core/caching");
26
+ const _diagnostics = require("@decohere/devkit/diagnostics");
27
+ const _io = require("@decohere/devkit/io");
26
28
  require("../extensions/project.extensions.js");
27
- const _cachesoutputsmixin = require("../mixins/caches-outputs.mixin.js");
28
- const _incrementaltransformmixin = require("../mixins/incremental-transform.mixin.js");
29
+ const _incrementalwatch = require("./incremental-watch.js");
30
+ const _outputcache = require("./output-cache.js");
29
31
  const _tsprogramhost = require("./ts-program-host.js");
30
32
  const _typeemissionprogram = require("./type-emission-program.js");
31
33
  const _buildtargettype = require("../types/build-target.type.js");
@@ -49,12 +51,23 @@ const REQUIRED_TYPE_EMITTER_OPTIONS = {
49
51
  emitDeclarationOnly: true,
50
52
  declaration: true
51
53
  };
52
- class TypeEmitter extends (0, _extensibility.mixwith)(_cachesoutputsmixin.CachesOutputs, _incrementaltransformmixin.IncrementalTransform) {
54
+ const REQUIRED_TYPE_CHECK_OPTIONS = {
55
+ noEmit: true
56
+ };
57
+ class TypeEmitter {
53
58
  buildTargets = [
54
59
  _buildtargettype.BuildTargets.types
55
60
  ];
56
61
  /** Prepared programs from init(), consumed once by the next transformProject() call. */ #programs;
57
62
  #host = new _tsprogramhost.TsProgramHost();
63
+ #outputs = new _outputcache.OutputCache();
64
+ #incremental = new _incrementalwatch.IncrementalWatch();
65
+ get incrementalTransform$() {
66
+ return this.#incremental.results$;
67
+ }
68
+ watch(workspace) {
69
+ this.#incremental.watch(workspace, (evt)=>this.onIncrementalFileEvent(evt));
70
+ }
58
71
  /**
59
72
  * Phase 1: fetch files, create TypeScript programs sequentially.
60
73
  * Called before transformProject() so that the heavy createProgram work
@@ -73,14 +86,37 @@ class TypeEmitter extends (0, _extensibility.mixwith)(_cachesoutputsmixin.Caches
73
86
  return [];
74
87
  }
75
88
  const responses = (await Promise.all(programs.map((program)=>program.emit(filter, onOutput)))).flat();
76
- this.cacheOutputs(responses);
89
+ this.#outputs.record(responses);
77
90
  return responses;
78
91
  }
79
- async preparePrograms(projectArrayLike) {
92
+ /**
93
+ * Type-check projects without emitting files. Includes every workspace project, not
94
+ * only those with a `types` build target (debug is es6-only).
95
+ */ async checkProject(projectArrayLike) {
96
+ const programs = await this.preparePrograms(projectArrayLike, {
97
+ includeAllProjects: true,
98
+ requiredCompilerOptions: REQUIRED_TYPE_CHECK_OPTIONS
99
+ });
100
+ const diagnostics = [];
101
+ const formattedParts = [];
102
+ for (const program of programs){
103
+ const programDiagnostics = program.check();
104
+ if (programDiagnostics.length === 0) {
105
+ continue;
106
+ }
107
+ diagnostics.push(...programDiagnostics);
108
+ formattedParts.push(program.formatDiagnostics(programDiagnostics));
109
+ }
110
+ return {
111
+ diagnostics,
112
+ formatted: formattedParts.join("")
113
+ };
114
+ }
115
+ async preparePrograms(projectArrayLike, options = {}) {
80
116
  const allProjects = Array.isArray(projectArrayLike) ? projectArrayLike : [
81
117
  projectArrayLike
82
118
  ];
83
- const projects = allProjects.filter((proj)=>proj.getForgeConfiguration().targets.includes(_buildtargettype.BuildTargets.types));
119
+ const projects = options.includeAllProjects ? allProjects : allProjects.filter((proj)=>proj.getForgeConfiguration().targets.includes(_buildtargettype.BuildTargets.types));
84
120
  if (projects.length === 0) {
85
121
  return [];
86
122
  }
@@ -96,20 +132,21 @@ class TypeEmitter extends (0, _extensibility.mixwith)(_cachesoutputsmixin.Caches
96
132
  // files are compiled together, matching v1's single-program approach which
97
133
  // avoids re-parsing lib/node_modules .d.ts files per project.
98
134
  const groups = Map.groupBy(projectData, ({ tsconfig })=>this.#host.hostKey(tsconfig.compilerOptions));
135
+ const requiredCompilerOptions = options.requiredCompilerOptions ?? REQUIRED_TYPE_EMITTER_OPTIONS;
99
136
  return [
100
137
  ...groups.values()
101
- ].map((group)=>new _typeemissionprogram.TypeEmissionProgram(group, this.#host));
138
+ ].map((group)=>new _typeemissionprogram.TypeEmissionProgram(group, this.#host, requiredCompilerOptions));
102
139
  }
103
140
  async onIncrementalFileEvent(evt) {
104
141
  const { file, project } = evt;
105
- if (evt.eventName === _io.io.WatchEvents.unlink) {
106
- this.deleteCachedOutputs(file.fullPath);
142
+ if (evt.eventName === _io.WatchEvents.unlink) {
143
+ this.#outputs.delete(file.fullPath);
107
144
  return [];
108
145
  }
109
146
  if (!project.isSourceFile(file)) {
110
147
  return [];
111
148
  }
112
- if (evt.eventName === _io.io.WatchEvents.add) {
149
+ if (evt.eventName === _io.WatchEvents.add) {
113
150
  this.#programs?.forEach((p)=>{
114
151
  p.addFile(file, project);
115
152
  });
@@ -137,5 +174,3 @@ _ts_decorate([
137
174
  TypeEmitter = _ts_decorate([
138
175
  _diagnostics.Trace
139
176
  ], TypeEmitter);
140
-
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBQcm9qZWN0RmlsZUV2ZW50IH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBpbnZhbGlkYXRlQ2FjaGUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHsgbWl4d2l0aCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBpbyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgXCIuLi9leHRlbnNpb25zL3Byb2plY3QuZXh0ZW5zaW9ucy5qc1wiO1xuaW1wb3J0IHsgQ2FjaGVzT3V0cHV0cyB9IGZyb20gXCIuLi9taXhpbnMvY2FjaGVzLW91dHB1dHMubWl4aW4uanNcIjtcbmltcG9ydCB7IEluY3JlbWVudGFsVHJhbnNmb3JtIH0gZnJvbSBcIi4uL21peGlucy9pbmNyZW1lbnRhbC10cmFuc2Zvcm0ubWl4aW4uanNcIjtcbmltcG9ydCB7IFRzUHJvZ3JhbUhvc3QgfSBmcm9tIFwiLi4vc2VydmljZXMvdHMtcHJvZ3JhbS1ob3N0LmpzXCI7XG5pbXBvcnQge1xuXHRUeXBlRW1pc3Npb25Qcm9ncmFtLFxuXHR0eXBlIFR5cGVQcm9ncmFtUHJvamVjdCxcbn0gZnJvbSBcIi4uL3NlcnZpY2VzL3R5cGUtZW1pc3Npb24tcHJvZ3JhbS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBCdWlsZFRhcmdldCwgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbi8qKlxuICogQ29tcGlsZXIgb3B0aW9uIGRlZmF1bHRzIGFwcGxpZWQgYmVmb3JlIHRoZSB1c2VyJ3MgdHNjb25maWcg4oCUIHRoZSB1c2VyJ3MgdmFsdWVzIG92ZXJyaWRlIHRoZXNlLlxuICpcbiAqIGxpYjogRVMyMDIyIOKAlCBhdm9pZHMgbG9hZGluZyBsaWIuZG9tLmQudHMgKDEuOCBNQikgd2hpY2ggVFMgaW5jbHVkZXMgYnkgZGVmYXVsdFxuICogd2hlbiBubyBgbGliYCBpcyBzZXQuIEJhY2tlbmQgcGFja2FnZXMgaGF2ZSBubyB1c2UgZm9yIGJyb3dzZXIgQVBJcy5cbiAqXG4gKiB0eXBlczogW10g4oCUIGRpc2FibGVzIGFtYmllbnQgQHR5cGVzIGF1dG8tZGlzY292ZXJ5LiBXaXRob3V0IHRoaXMsIFRTIHNjYW5zXG4gKiBldmVyeSBAdHlwZXMvKiBwYWNrYWdlIGluIHRoZSBub2RlX21vZHVsZXMgaGllcmFyY2h5OyBpbiBhIG1vbm9yZXBvIHRoYXQgY2FuXG4gKiBwdWxsIGluIGRvemVucyBvZiB1bnJlbGF0ZWQgcGFja2FnZXMuIEV4cGxpY2l0bHkgaW1wb3J0ZWQgdHlwZXMgc3RpbGwgcmVzb2x2ZVxuICogbm9ybWFsbHk7IG9ubHkgYW1iaWVudCBnbG9iYWxzIChlLmcuIEJ1ZmZlciwgcHJvY2VzcykgYXJlIHN1cHByZXNzZWQg4oCUIGFkZFxuICogYHR5cGVzOiBbXCJub2RlXCJdYCB0byBhIHByb2plY3QncyB0c2NvbmZpZyB0byByZXN0b3JlIHRoZW0uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RZUEVfRU1JVFRFUl9PUFRJT05TOiBSZWFkb25seTx0cy5Db21waWxlck9wdGlvbnM+ID0ge1xuXHRsaWI6IFtcImxpYi5lczIwMjIuZC50c1wiXSxcblx0dHlwZXM6IFtdLFxuXHRza2lwTGliQ2hlY2s6IHRydWUsXG59O1xuXG4vKipcbiAqIENvbXBpbGVyIG9wdGlvbnMgdGhhdCBUeXBlRW1pdHRlciBhbHdheXMgZW5mb3JjZXMgcmVnYXJkbGVzcyBvZiB3aGF0IHRoZSB1c2VyJ3NcbiAqIHRzY29uZmlnIHNwZWNpZmllcy4gQXBwbGllZCBhZnRlciB0aGUgdXNlciBzcHJlYWQgc28gdGhleSBjYW5ub3QgYmUgb3ZlcnJpZGRlbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFUVVJUkVEX1RZUEVfRU1JVFRFUl9PUFRJT05TOiBSZWFkb25seTx0cy5Db21waWxlck9wdGlvbnM+ID0ge1xuXHRlbWl0RGVjbGFyYXRpb25Pbmx5OiB0cnVlLFxuXHRkZWNsYXJhdGlvbjogdHJ1ZSxcbn07XG5cbkBUcmFjZVxuZXhwb3J0IGNsYXNzIFR5cGVFbWl0dGVyXG5cdGV4dGVuZHMgbWl4d2l0aChDYWNoZXNPdXRwdXRzLCBJbmNyZW1lbnRhbFRyYW5zZm9ybSlcblx0aW1wbGVtZW50cyBUcmFuc2Zvcm1lclxue1xuXHRwdWJsaWMgYnVpbGRUYXJnZXRzOiBCdWlsZFRhcmdldFtdID0gW0J1aWxkVGFyZ2V0cy50eXBlc107XG5cdC8qKiBQcmVwYXJlZCBwcm9ncmFtcyBmcm9tIGluaXQoKSwgY29uc3VtZWQgb25jZSBieSB0aGUgbmV4dCB0cmFuc2Zvcm1Qcm9qZWN0KCkgY2FsbC4gKi9cblx0I3Byb2dyYW1zOiBUeXBlRW1pc3Npb25Qcm9ncmFtW10gfCB1bmRlZmluZWQ7XG5cdCNob3N0ID0gbmV3IFRzUHJvZ3JhbUhvc3QoKTtcblxuXHQvKipcblx0ICogUGhhc2UgMTogZmV0Y2ggZmlsZXMsIGNyZWF0ZSBUeXBlU2NyaXB0IHByb2dyYW1zIHNlcXVlbnRpYWxseS5cblx0ICogQ2FsbGVkIGJlZm9yZSB0cmFuc2Zvcm1Qcm9qZWN0KCkgc28gdGhhdCB0aGUgaGVhdnkgY3JlYXRlUHJvZ3JhbSB3b3JrXG5cdCAqIGNvbXBsZXRlcyBiZWZvcmUgb3RoZXIgdHJhbnNmb3JtZXJzIChTV0MvUmF5b24pIHN0YXJ0IHJ1bm5pbmcgaW4gcGFyYWxsZWwuXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgaW5pdChcblx0XHRwcm9qZWN0QXJyYXlMaWtlOiBQcm9qZWN0W10gfCBQcm9qZWN0LFxuXHRcdF9maWx0ZXI/OiAocHJvamVjdDogUHJvamVjdCkgPT4gUHJvbWlzZTxGaWxlRXhbXT4sXG5cdCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLiNwcm9ncmFtcyA9PSBudWxsKSB7XG5cdFx0XHR0aGlzLiNwcm9ncmFtcyA9IGF3YWl0IHRoaXMucHJlcGFyZVByb2dyYW1zKHByb2plY3RBcnJheUxpa2UpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBhc3luYyB0cmFuc2Zvcm1Qcm9qZWN0KFxuXHRcdHByb2plY3RBcnJheUxpa2U6IFByb2plY3RbXSB8IFByb2plY3QsXG5cdFx0ZmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Ly8gQ29uc3VtZSBwcmVwYXJlZCBzdGF0ZSBmcm9tIGluaXQoKSBpZiBhdmFpbGFibGU7IG90aGVyd2lzZSBkbyBmdWxsIHNldHVwXG5cdFx0Ly8gKGUuZy4gd2F0Y2gtbW9kZSBzaW5nbGUtZmlsZSByZWJ1aWxkcyB0aGF0IHNraXAgdGhlIGluaXQgcGhhc2UpLlxuXHRcdGNvbnN0IHByb2dyYW1zID0gdGhpcy4jcHJvZ3JhbXMgPz8gKGF3YWl0IHRoaXMucHJlcGFyZVByb2dyYW1zKHByb2plY3RBcnJheUxpa2UpKTtcblx0XHR0aGlzLiNwcm9ncmFtcyA9IHByb2dyYW1zO1xuXG5cdFx0aWYgKHByb2dyYW1zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblxuXHRcdGNvbnN0IHJlc3BvbnNlcyA9IChcblx0XHRcdGF3YWl0IFByb21pc2UuYWxsKHByb2dyYW1zLm1hcCgocHJvZ3JhbSkgPT4gcHJvZ3JhbS5lbWl0KGZpbHRlciwgb25PdXRwdXQpKSlcblx0XHQpLmZsYXQoKTtcblx0XHR0aGlzLmNhY2hlT3V0cHV0cyhyZXNwb25zZXMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHByZXBhcmVQcm9ncmFtcyhcblx0XHRwcm9qZWN0QXJyYXlMaWtlOiBQcm9qZWN0W10gfCBQcm9qZWN0LFxuXHQpOiBQcm9taXNlPFR5cGVFbWlzc2lvblByb2dyYW1bXT4ge1xuXHRcdGNvbnN0IGFsbFByb2plY3RzID0gQXJyYXkuaXNBcnJheShwcm9qZWN0QXJyYXlMaWtlKVxuXHRcdFx0PyBwcm9qZWN0QXJyYXlMaWtlXG5cdFx0XHQ6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCBwcm9qZWN0cyA9IGFsbFByb2plY3RzLmZpbHRlcigocHJvaikgPT5cblx0XHRcdHByb2ouZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCkudGFyZ2V0cy5pbmNsdWRlcyhCdWlsZFRhcmdldHMudHlwZXMpLFxuXHRcdCk7XG5cdFx0aWYgKHByb2plY3RzLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblxuXHRcdC8vIFByZS1mZXRjaCBhbGwgZmlsZXMgYW5kIHRzY29uZmlncyBpbiBwYXJhbGxlbCBhY3Jvc3MgYWxsIHByb2plY3RzXG5cdFx0Y29uc3QgcHJvamVjdERhdGE6IFR5cGVQcm9ncmFtUHJvamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHRwcm9qZWN0cy5tYXAoYXN5bmMgKHByb2opID0+ICh7XG5cdFx0XHRcdHByb2plY3Q6IHByb2osXG5cdFx0XHRcdGZpbGVzOiBhd2FpdCBwcm9qLmdldEFsbEZpbGVzKCksXG5cdFx0XHRcdHRzY29uZmlnOiBhd2FpdCBwcm9qLmdldFRzQ29uZmlnKCksXG5cdFx0XHR9KSksXG5cdFx0KTtcblxuXHRcdC8vIEdyb3VwIHByb2plY3RzIGJ5IHRoZSByZXNvbHZlZCBjb21waWxlciBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBjb21waWxlclxuXHRcdC8vIGhvc3QgKGxpYiBsb2FkaW5nLCBtb2R1bGUgcmVzb2x1dGlvbiwgcGF0aCBhbGlhc2VzKS4gUHJvamVjdHMgc2hhcmluZyB0aGVcblx0XHQvLyBzYW1lIHJlc29sdmVkIHZhbHVlcyBnZXQgb25lIHNoYXJlZCBob3N0IEFORCBvbmUgc2hhcmVkIHByb2dyYW0g4oCUIGFsbCB0aGVpclxuXHRcdC8vIGZpbGVzIGFyZSBjb21waWxlZCB0b2dldGhlciwgbWF0Y2hpbmcgdjEncyBzaW5nbGUtcHJvZ3JhbSBhcHByb2FjaCB3aGljaFxuXHRcdC8vIGF2b2lkcyByZS1wYXJzaW5nIGxpYi9ub2RlX21vZHVsZXMgLmQudHMgZmlsZXMgcGVyIHByb2plY3QuXG5cdFx0Y29uc3QgZ3JvdXBzID0gTWFwLmdyb3VwQnkocHJvamVjdERhdGEsICh7IHRzY29uZmlnIH0pID0+XG5cdFx0XHR0aGlzLiNob3N0Lmhvc3RLZXkodHNjb25maWcuY29tcGlsZXJPcHRpb25zKSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIFsuLi5ncm91cHMudmFsdWVzKCldLm1hcCgoZ3JvdXApID0+IG5ldyBUeXBlRW1pc3Npb25Qcm9ncmFtKGdyb3VwLCB0aGlzLiNob3N0KSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYXN5bmMgb25JbmNyZW1lbnRhbEZpbGVFdmVudChldnQ6IFByb2plY3RGaWxlRXZlbnQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+IHtcblx0XHRjb25zdCB7IGZpbGUsIHByb2plY3QgfSA9IGV2dDtcblx0XHRpZiAoZXZ0LmV2ZW50TmFtZSA9PT0gaW8uV2F0Y2hFdmVudHMudW5saW5rKSB7XG5cdFx0XHR0aGlzLmRlbGV0ZUNhY2hlZE91dHB1dHMoZmlsZS5mdWxsUGF0aCk7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdGlmICghcHJvamVjdC5pc1NvdXJjZUZpbGUoZmlsZSkpIHtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdFx0aWYgKGV2dC5ldmVudE5hbWUgPT09IGlvLldhdGNoRXZlbnRzLmFkZCkge1xuXHRcdFx0dGhpcy4jcHJvZ3JhbXM/LmZvckVhY2goKHApID0+IHtcblx0XHRcdFx0cC5hZGRGaWxlKGZpbGUsIHByb2plY3QpO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuaW52YWxpZGF0ZVJlYWRGaWxlQ2FjaGUoZmlsZS5mdWxsUGF0aCk7XG5cdFx0XHR0aGlzLiNob3N0LmludmFsaWRhdGVTb3VyY2VGaWxlKGZpbGUuZnVsbFBhdGgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1Qcm9qZWN0KHByb2plY3QsICgpID0+IFByb21pc2UucmVzb2x2ZShbZmlsZV0pKTtcblx0fVxuXG5cdEBpbnZhbGlkYXRlQ2FjaGUoVHNQcm9ncmFtSG9zdC5wcm90b3R5cGUucmVhZEZpbGVGcm9tRGlzaywge1xuXHRcdG5hbWU6IFwiRklMRV9DT05URU5UXCIsXG5cdFx0a2V5Rm46ICguLi5hcmdzKSA9PiBhcmdzWzBdIGFzIHN0cmluZyxcblx0fSlcblx0cHJpdmF0ZSBpbnZhbGlkYXRlUmVhZEZpbGVDYWNoZShfcGF0aDogc3RyaW5nKTogdm9pZCB7fVxufVxuIl0sIm5hbWVzIjpbIkRFRkFVTFRfVFlQRV9FTUlUVEVSX09QVElPTlMiLCJSRVFVSVJFRF9UWVBFX0VNSVRURVJfT1BUSU9OUyIsIlR5cGVFbWl0dGVyIiwibGliIiwidHlwZXMiLCJza2lwTGliQ2hlY2siLCJlbWl0RGVjbGFyYXRpb25Pbmx5IiwiZGVjbGFyYXRpb24iLCJtaXh3aXRoIiwiQ2FjaGVzT3V0cHV0cyIsIkluY3JlbWVudGFsVHJhbnNmb3JtIiwiYnVpbGRUYXJnZXRzIiwiQnVpbGRUYXJnZXRzIiwiVHNQcm9ncmFtSG9zdCIsImluaXQiLCJwcm9qZWN0QXJyYXlMaWtlIiwiX2ZpbHRlciIsInByZXBhcmVQcm9ncmFtcyIsInRyYW5zZm9ybVByb2plY3QiLCJmaWx0ZXIiLCJvbk91dHB1dCIsInByb2dyYW1zIiwibGVuZ3RoIiwicmVzcG9uc2VzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInByb2dyYW0iLCJlbWl0IiwiZmxhdCIsImNhY2hlT3V0cHV0cyIsImFsbFByb2plY3RzIiwiQXJyYXkiLCJpc0FycmF5IiwicHJvamVjdHMiLCJwcm9qIiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwidGFyZ2V0cyIsImluY2x1ZGVzIiwicHJvamVjdERhdGEiLCJwcm9qZWN0IiwiZmlsZXMiLCJnZXRBbGxGaWxlcyIsInRzY29uZmlnIiwiZ2V0VHNDb25maWciLCJncm91cHMiLCJNYXAiLCJncm91cEJ5IiwiaG9zdEtleSIsImNvbXBpbGVyT3B0aW9ucyIsInZhbHVlcyIsImdyb3VwIiwiVHlwZUVtaXNzaW9uUHJvZ3JhbSIsIm9uSW5jcmVtZW50YWxGaWxlRXZlbnQiLCJldnQiLCJmaWxlIiwiZXZlbnROYW1lIiwiaW8iLCJXYXRjaEV2ZW50cyIsInVubGluayIsImRlbGV0ZUNhY2hlZE91dHB1dHMiLCJmdWxsUGF0aCIsImlzU291cmNlRmlsZSIsImFkZCIsImZvckVhY2giLCJwIiwiYWRkRmlsZSIsImludmFsaWRhdGVSZWFkRmlsZUNhY2hlIiwiaW52YWxpZGF0ZVNvdXJjZUZpbGUiLCJyZXNvbHZlIiwiX3BhdGgiLCJwcm90b3R5cGUiLCJyZWFkRmlsZUZyb21EaXNrIiwibmFtZSIsImtleUZuIiwiYXJncyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUErQmFBO2VBQUFBOztRQVVBQztlQUFBQTs7UUFNQUM7ZUFBQUE7Ozt5QkE5Q21COzZCQUNWOytCQUNFO29CQUVMO1FBRVo7b0NBQ3VCOzJDQUNPOytCQUNQO3FDQUl2QjtpQ0FDd0M7Ozs7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
@@ -13,5 +13,3 @@ const BuildTargets = {
13
13
  es6: "es6",
14
14
  types: "types"
15
15
  };
16
-
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy9idWlsZC10YXJnZXQudHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQnVpbGRUYXJnZXRzID0ge1xuXHRjb21tb25qczogXCJjb21tb25qc1wiLFxuXHRlczY6IFwiZXM2XCIsXG5cdHR5cGVzOiBcInR5cGVzXCIsXG59IHNhdGlzZmllcyBSZWNvcmQ8QnVpbGRUYXJnZXQsIEJ1aWxkVGFyZ2V0PjtcblxuZXhwb3J0IHR5cGUgQnVpbGRUYXJnZXQgPSBcImVzNlwiIHwgXCJjb21tb25qc1wiIHwgXCJ0eXBlc1wiO1xuXG5leHBvcnQgdHlwZSBUcmFuc3BpbGVUYXJnZXQgPSBFeGNsdWRlPEJ1aWxkVGFyZ2V0LCBcInR5cGVzXCI+O1xuIl0sIm5hbWVzIjpbIkJ1aWxkVGFyZ2V0cyIsImNvbW1vbmpzIiwiZXM2IiwidHlwZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLGVBQWU7SUFDM0JDLFVBQVU7SUFDVkMsS0FBSztJQUNMQyxPQUFPO0FBQ1IifQ==
@@ -2,5 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
-
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -2,5 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
-
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -13,5 +13,3 @@ class SwcConfig {
13
13
  Object.assign(this, data);
14
14
  }
15
15
  }
16
-
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy9zd2MtY29uZmlnLnR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuXG5leHBvcnQgdHlwZSBTd2NDb25maWdPcHRpb25zID0ge1xuXHRhbGlhc1BhdGhzPzogYm9vbGVhbjtcblx0dHNDb25maWc/OiBUc2NvbmZpZztcblx0dXNlckNvbmZpZz86IFN3Y0NvbmZpZztcbn07XG5cbmV4cG9ydCBjbGFzcyBTd2NDb25maWcge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogUGFydGlhbDxTd2NDb25maWc+ID0ge30pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiU3djQ29uZmlnIiwiZGF0YSIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O0FBQU4sTUFBTUE7SUFDWixZQUFtQkMsT0FBMkIsQ0FBQyxDQUFDLENBQUU7UUFDakRDLE9BQU9DLE1BQU0sQ0FBQyxJQUFJLEVBQUVGO0lBQ3JCO0FBQ0QifQ==
@@ -2,25 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get TransformOutcomes () {
13
- return TransformOutcomes;
14
- },
15
- get TransformResponse () {
5
+ Object.defineProperty(exports, "TransformResponse", {
6
+ enumerable: true,
7
+ get: function() {
16
8
  return TransformResponse;
17
9
  }
18
10
  });
19
- const TransformOutcomes = {
20
- success: "success",
21
- failure: "failure",
22
- skipped: "skipped"
23
- };
24
11
  class TransformResponse {
25
12
  static Success(data) {
26
13
  return new TransformResponse({
@@ -61,5 +48,3 @@ class TransformResponse {
61
48
  outputDir;
62
49
  outputPath;
63
50
  }
64
-
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy90cmFuc2Zvcm0tcmVzcG9uc2UubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkVGFyZ2V0IH0gZnJvbSBcIi4vYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtT3V0Y29tZSA9IFwic3VjY2Vzc1wiIHwgXCJmYWlsdXJlXCIgfCBcInNraXBwZWRcIjtcbmV4cG9ydCBjb25zdCBUcmFuc2Zvcm1PdXRjb21lcyA9IHtcblx0c3VjY2VzczogXCJzdWNjZXNzXCIsXG5cdGZhaWx1cmU6IFwiZmFpbHVyZVwiLFxuXHRza2lwcGVkOiBcInNraXBwZWRcIixcbn0gc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIFRyYW5zZm9ybU91dGNvbWU+O1xuXG50eXBlIFRyYW5zZm9ybVJlc3BvbnNlQmFzZSA9IHtcblx0ZmlsZTogRmlsZTtcblx0Y29uZmlnOiB1bmtub3duO1xuXHRwcm9qZWN0PzogUHJvamVjdDtcblx0LyoqIEFic29sdXRlIGRpcmVjdG9yeSB0aGF0IHdpbGwgY29udGFpbiB0aGUgb3V0cHV0IGZpbGUuIFByZS1jb21wdXRlZCBieSB0aGUgdHJhbnNmb3JtZXIuICovXG5cdG91dHB1dERpcj86IHN0cmluZztcblx0LyoqIEFic29sdXRlIHBhdGggb2YgdGhlIG91dHB1dCBmaWxlIChvdXRwdXREaXIgKyBmaWxlTmFtZSkuIFByZS1jb21wdXRlZCBieSB0aGUgdHJhbnNmb3JtZXIuICovXG5cdG91dHB1dFBhdGg/OiBzdHJpbmc7XG59O1xuXG50eXBlIFRyYW5zZm9ybVN1Y2Nlc3MgPSBUcmFuc2Zvcm1SZXNwb25zZUJhc2UgJiB7XG5cdG91dGNvbWU6IFwic3VjY2Vzc1wiO1xuXHRjb2RlOiBzdHJpbmc7XG5cdHNvdXJjZUNvbnRlbnQ/OiBzdHJpbmc7XG5cdG1lc3NhZ2VzPzogc3RyaW5nW107XG5cdHRhcmdldDogQnVpbGRUYXJnZXQ7XG5cdGZpbGVOYW1lOiBzdHJpbmc7XG59O1xuXG50eXBlIFRyYW5zZm9ybUZhaWx1cmUgPSBUcmFuc2Zvcm1SZXNwb25zZUJhc2UgJiB7XG5cdG91dGNvbWU6IFwiZmFpbHVyZVwiO1xuXHRtZXNzYWdlcz86IHN0cmluZ1tdO1xuXHR0YXJnZXQ/OiBCdWlsZFRhcmdldDtcblx0ZmlsZU5hbWU/OiBzdHJpbmc7XG59O1xuXG50eXBlIFRyYW5zZm9ybVNraXBwZWQgPSBUcmFuc2Zvcm1SZXNwb25zZUJhc2UgJiB7XG5cdG91dGNvbWU6IFwic2tpcHBlZFwiO1xuXHRtZXNzYWdlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xufTtcblxudHlwZSBUcmFuc2Zvcm1SZXNwb25zZURhdGE8VCBleHRlbmRzIFRyYW5zZm9ybU91dGNvbWUgPSBUcmFuc2Zvcm1PdXRjb21lPiA9IFQgZXh0ZW5kcyBcInN1Y2Nlc3NcIlxuXHQ/IFRyYW5zZm9ybVN1Y2Nlc3Ncblx0OiBUIGV4dGVuZHMgXCJza2lwcGVkXCJcblx0XHQ/IFRyYW5zZm9ybVNraXBwZWRcblx0XHQ6IFRyYW5zZm9ybUZhaWx1cmU7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2Zvcm1SZXNwb25zZSB7XG5cdHB1YmxpYyBzdGF0aWMgU3VjY2VzcyhkYXRhOiBPbWl0PFRyYW5zZm9ybVJlc3BvbnNlRGF0YTxcInN1Y2Nlc3NcIj4sIFwib3V0Y29tZVwiPikge1xuXHRcdHJldHVybiBuZXcgVHJhbnNmb3JtUmVzcG9uc2UoeyAuLi5kYXRhLCBvdXRjb21lOiBcInN1Y2Nlc3NcIiBhcyBjb25zdCB9KTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgRXJyb3IoZGF0YTogT21pdDxUcmFuc2Zvcm1SZXNwb25zZURhdGE8XCJmYWlsdXJlXCI+LCBcIm91dGNvbWVcIj4pIHtcblx0XHRyZXR1cm4gbmV3IFRyYW5zZm9ybVJlc3BvbnNlKHsgLi4uZGF0YSwgb3V0Y29tZTogXCJmYWlsdXJlXCIgYXMgY29uc3QgfSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIFNraXBwZWQoZGF0YTogT21pdDxUcmFuc2Zvcm1SZXNwb25zZURhdGE8XCJza2lwcGVkXCI+LCBcIm91dGNvbWVcIj4pIHtcblx0XHRyZXR1cm4gbmV3IFRyYW5zZm9ybVJlc3BvbnNlKHsgLi4uZGF0YSwgb3V0Y29tZTogXCJza2lwcGVkXCIgYXMgY29uc3QgfSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZyb20oZGF0YTogVHJhbnNmb3JtUmVzcG9uc2VEYXRhKTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdHJldHVybiBuZXcgVHJhbnNmb3JtUmVzcG9uc2UoeyAuLi5kYXRhIH0gYXMgVHJhbnNmb3JtUmVzcG9uc2VEYXRhKTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhPzogUGFydGlhbDxUcmFuc2Zvcm1SZXNwb25zZURhdGE+KSB7XG5cdFx0T2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcblx0fVxuXG5cdC8vIFByb3BlcnRpZXMgYXJlIHBvcHVsYXRlZCB2aWEgT2JqZWN0LmFzc2lnbiBpbiB0aGUgY29uc3RydWN0b3IuXG5cdHB1YmxpYyByZWFkb25seSBmaWxlITogRmlsZTtcblx0cHVibGljIHJlYWRvbmx5IG91dGNvbWUhOiBUcmFuc2Zvcm1PdXRjb21lO1xuXHRwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0PzogQnVpbGRUYXJnZXQ7XG5cdHB1YmxpYyByZWFkb25seSBjb2RlITogc3RyaW5nO1xuXHRwdWJsaWMgcmVhZG9ubHkgc291cmNlQ29udGVudD86IHN0cmluZztcblx0cHVibGljIHJlYWRvbmx5IGZpbGVOYW1lPzogc3RyaW5nO1xuXHRwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZXM/OiBzdHJpbmdbXTtcblx0cHVibGljIHJlYWRvbmx5IGNvbmZpZzogdW5rbm93bjtcblx0cHVibGljIHJlYWRvbmx5IHByb2plY3Q/OiBQcm9qZWN0O1xuXHRwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RGlyPzogc3RyaW5nO1xuXHRwdWJsaWMgcmVhZG9ubHkgb3V0cHV0UGF0aD86IHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJUcmFuc2Zvcm1PdXRjb21lcyIsIlRyYW5zZm9ybVJlc3BvbnNlIiwic3VjY2VzcyIsImZhaWx1cmUiLCJza2lwcGVkIiwiU3VjY2VzcyIsImRhdGEiLCJvdXRjb21lIiwiRXJyb3IiLCJTa2lwcGVkIiwiZnJvbSIsIk9iamVjdCIsImFzc2lnbiIsImZpbGUiLCJ0YXJnZXQiLCJjb2RlIiwic291cmNlQ29udGVudCIsImZpbGVOYW1lIiwibWVzc2FnZXMiLCJjb25maWciLCJwcm9qZWN0Iiwib3V0cHV0RGlyIiwib3V0cHV0UGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBMkNBQztlQUFBQTs7O0FBM0NOLE1BQU1ELG9CQUFvQjtJQUNoQ0UsU0FBUztJQUNUQyxTQUFTO0lBQ1RDLFNBQVM7QUFDVjtBQXVDTyxNQUFNSDtJQUNaLE9BQWNJLFFBQVFDLElBQXVELEVBQUU7UUFDOUUsT0FBTyxJQUFJTCxrQkFBa0I7WUFBRSxHQUFHSyxJQUFJO1lBQUVDLFNBQVM7UUFBbUI7SUFDckU7SUFFQSxPQUFjQyxNQUFNRixJQUF1RCxFQUFFO1FBQzVFLE9BQU8sSUFBSUwsa0JBQWtCO1lBQUUsR0FBR0ssSUFBSTtZQUFFQyxTQUFTO1FBQW1CO0lBQ3JFO0lBRUEsT0FBY0UsUUFBUUgsSUFBdUQsRUFBRTtRQUM5RSxPQUFPLElBQUlMLGtCQUFrQjtZQUFFLEdBQUdLLElBQUk7WUFBRUMsU0FBUztRQUFtQjtJQUNyRTtJQUVBLE9BQWNHLEtBQUtKLElBQTJCLEVBQXFCO1FBQ2xFLE9BQU8sSUFBSUwsa0JBQWtCO1lBQUUsR0FBR0ssSUFBSTtRQUFDO0lBQ3hDO0lBRUEsWUFBbUJBLElBQXFDLENBQUU7UUFDekRLLE9BQU9DLE1BQU0sQ0FBQyxJQUFJLEVBQUVOO0lBQ3JCO0lBRUEsaUVBQWlFO0lBQ2pETyxLQUFZO0lBQ1pOLFFBQTJCO0lBQzNCTyxPQUFxQjtJQUNyQkMsS0FBYztJQUNkQyxjQUF1QjtJQUN2QkMsU0FBa0I7SUFDbEJDLFNBQW9CO0lBQ3BCQyxPQUFnQjtJQUNoQkMsUUFBa0I7SUFDbEJDLFVBQW1CO0lBQ25CQyxXQUFvQjtBQUNyQyJ9
@@ -9,5 +9,3 @@ Object.defineProperty(exports, "TransformerKey", {
9
9
  }
10
10
  });
11
11
  const TransformerKey = Symbol("TransformerKey");
12
-
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy90cmFuc2Zvcm1lci50eXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4vdHJhbnNmb3JtLXJlc3BvbnNlLm1vZGVsLmpzXCI7XG5cbmV4cG9ydCB0eXBlIEZpbGVFdmVudCA9XG5cdHwgeyB0eXBlOiBcImNoYW5nZWRcIiB8IFwiYWRkZWRcIjsgZmlsZTogRmlsZUV4OyBwcm9qZWN0PzogUHJvamVjdCB9XG5cdHwgeyB0eXBlOiBcImRlbGV0ZWRcIjsgZmlsZTogRmlsZUV4OyBwcm9qZWN0OiBQcm9qZWN0IH07XG5cbmV4cG9ydCBjb25zdCBUcmFuc2Zvcm1lcktleSA9IFN5bWJvbChcIlRyYW5zZm9ybWVyS2V5XCIpO1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1lciB7XG5cdHJlYWRvbmx5IGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXTtcblxuXHQvKipcblx0ICogT3B0aW9uYWwgcHJlLWJ1aWxkIHBoYXNlIHRoYXQgcnVucyBzZXF1ZW50aWFsbHkgYmVmb3JlIGFsbCB0cmFuc2Zvcm1lcnMnXG5cdCAqIHtAbGluayB0cmFuc2Zvcm1Qcm9qZWN0fSBjYWxscy4gVXNlIGZvciBleHBlbnNpdmUgQ1BVLWJvdW5kIHNldHVwIChlLmcuXG5cdCAqIFR5cGVTY3JpcHQgY3JlYXRlUHJvZ3JhbSkgdGhhdCBtdXN0IG5vdCBjb21wZXRlIHdpdGggb3RoZXIgdHJhbnNmb3JtZXJzJ1xuXHQgKiBwYXJhbGxlbCB3b3JrbG9hZHMuXG5cdCAqL1xuXHRpbml0Pyhcblx0XHRwcm9qZWN0czogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHQpOiBQcm9taXNlPHZvaWQ+O1xuXG5cdHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdHM6IFByb2plY3QgfCBQcm9qZWN0W10sXG5cdFx0ZmlsZUZpbHRlcj86IChwcm9qZWN0OiBQcm9qZWN0KSA9PiBQcm9taXNlPEZpbGVFeFtdPixcblx0XHRvbk91dHB1dD86IChyZXNwb25zZTogVHJhbnNmb3JtUmVzcG9uc2UpID0+IHZvaWQsXG5cdCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT47XG5cblx0LyoqXG5cdCAqIElmIGltcGxlbWVudGVkLCBzaWduYWxzIHRoaXMgdHJhbnNmb3JtZXIgc3VwcG9ydHMgaW5jcmVtZW50YWwgKHdhdGNoKSBtb2RlLlxuXHQgKiB7QGxpbmsgQnVpbGRBY3Rpb259IGNhbGxzIHRoaXMgYWZ0ZXIgdGhlIGluaXRpYWwgYnVpbGQsIHBhc3NpbmcgdGhlIHdvcmtzcGFjZVxuXHQgKiBzbyB0aGUgdHJhbnNmb3JtZXIgY2FuIHNlbGYtc3Vic2NyaWJlIHRvIGZpbGUgY2hhbmdlIGV2ZW50cy5cblx0ICovXG5cdHdhdGNoPyh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEVtaXRzIGluY3JlbWVudGFsIHRyYW5zZm9ybSByZXN1bHRzIGFmdGVyIGVhY2ggZmlsZS1jaGFuZ2UgY3ljbGUuXG5cdCAqIFByZXNlbnQgd2hlbiB7QGxpbmsgd2F0Y2h9IGlzIGltcGxlbWVudGVkLlxuXHQgKi9cblx0aW5jcmVtZW50YWxUcmFuc2Zvcm0kPzogT2JzZXJ2YWJsZTxUcmFuc2Zvcm1SZXNwb25zZVtdPjtcbn1cbiJdLCJuYW1lcyI6WyJUcmFuc2Zvcm1lcktleSIsIlN5bWJvbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFVYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsaUJBQWlCQyxPQUFPIn0=
@@ -2,5 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
-
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "forgeBuild", {
10
10
  });
11
11
  const _nodefs = require("node:fs");
12
12
  const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
- const _mesh = require("@decohere/mesh");
14
- const _io = require("@decohere/nexus/io");
13
+ const _workspace = require("@decohere/workspace");
14
+ const _io = require("@decohere/core/io");
15
15
  const _scribe = require("@decohere/scribe");
16
16
  const _swctranspiler = require("../services/swc-transpiler.js");
17
17
  const _buildtargettype = require("../types/build-target.type.js");
@@ -24,11 +24,6 @@ function _interop_require_default(obj) {
24
24
  // Above fatal (60) so all standard levels are nooped when logLevel is "silent"
25
25
  const SILENT_LEVEL = 999;
26
26
  const PLUGIN_NAME = "forge-vitest-source";
27
- const TS_EXTENSIONS = [
28
- ".ts",
29
- ".tsx",
30
- ".mts"
31
- ];
32
27
  function forgeBuild(options) {
33
28
  const buildConfig = options?.buildConfig ?? "debug";
34
29
  const workspaceRoot = options?.workspaceRoot ?? process.cwd();
@@ -43,23 +38,32 @@ function forgeBuild(options) {
43
38
  }
44
39
  });
45
40
  const logger = loggerFactory(PLUGIN_NAME);
46
- const skipBuild = options?.skipBuild ?? false;
47
41
  const transpiler = new _swctranspiler.SwcTranspiler();
48
- const warmedProjects = new Set();
42
+ /**
43
+ * SWC options per project (tsconfig, `.swcrc`, path aliases), built once: rebuilding them for
44
+ * every file was most of the plugin's per-file cost, as it was in flux (#513, #517).
45
+ */ const baseConfigs = new Map();
49
46
  const transformCache = new Map();
50
47
  let workspace = null;
51
48
  const initWorkspace = async ()=>{
52
49
  if (workspace !== null) return;
53
50
  logger.debug(`Loading Forge workspace (buildConfig: ${buildConfig}, workspaceRoot: ${workspaceRoot})`);
54
- workspace = await _mesh.WorkspaceFactory.create({
51
+ workspace = await _workspace.WorkspaceFactory.create({
55
52
  ..._workspaceconfig.WorkspaceDefaults,
56
53
  rootDir: workspaceRoot
57
54
  });
58
55
  };
59
- const preWarmProject = (project)=>{
60
- if (warmedProjects.has(project.projectDirectory)) return;
61
- warmedProjects.add(project.projectDirectory);
62
- void transpiler.transformProject(project).then(()=>logger.debug(`Pre-warm complete for ${project.name}`)).catch((err)=>logger.error(`Pre-warm error for ${project.name}: ${err.message}`));
56
+ const baseConfigFor = (project)=>{
57
+ const cached = baseConfigs.get(project);
58
+ if (cached != null) return cached;
59
+ const config = transpiler.createBaseConfig(_buildtargettype.BuildTargets.es6, {
60
+ aliasPaths: true,
61
+ tsConfig: project?.getTsConfigSync(),
62
+ userConfig: project?.getSwcConfigSync(),
63
+ workspace: workspace ?? undefined
64
+ });
65
+ baseConfigs.set(project, config);
66
+ return config;
63
67
  };
64
68
  return {
65
69
  name: PLUGIN_NAME,
@@ -68,50 +72,32 @@ function forgeBuild(options) {
68
72
  logger.debug("Plugin loaded");
69
73
  },
70
74
  resolveId (source, importer) {
71
- if (importer != null && source.endsWith(".js") && source.startsWith(".")) {
72
- const importerDirectory = _nodepath.default.dirname(importer);
73
- const withoutExtension = source.slice(0, -3);
74
- const candidates = TS_EXTENSIONS.map((ext)=>_nodepath.default.resolve(importerDirectory, `${withoutExtension}${ext}`));
75
- return candidates.find((c)=>(0, _nodefs.existsSync)(c)) ?? null;
75
+ // `./a.js` is `a.ts` or `a.tsx`, `./a.mjs` is `a.mts`, `./a.cjs` is `a.cts` (#518).
76
+ if (importer != null && /\.[mc]?jsx?$/.test(source) && source.startsWith(".")) {
77
+ const written = _nodepath.default.resolve(_nodepath.default.dirname(importer), source);
78
+ return _workspace.sourceExtensions.candidates(written).find((c)=>(0, _nodefs.existsSync)(c)) ?? null;
76
79
  }
77
80
  return null;
78
81
  },
79
82
  watchChange (id) {
80
- const file = new _io.FileEx({
81
- fullPath: id
82
- });
83
83
  transformCache.delete(id);
84
- transpiler.invalidateContentCache(file);
85
84
  },
86
85
  async transform (code, id) {
87
86
  if (id.includes("node_modules") || !/[.](ts|tsx|mts|cts)$/.test(id)) {
88
87
  return null;
89
88
  }
90
- await initWorkspace();
91
- const project = await workspace?.findProject(id, buildConfig);
92
- if (project != null && !skipBuild) {
93
- preWarmProject(project);
94
- }
95
89
  const cached = transformCache.get(id);
96
90
  if (cached !== undefined && cached.content === code) {
97
91
  return cached.result;
98
92
  }
99
- const file = new _io.FileEx({
93
+ await initWorkspace();
94
+ const project = await workspace?.findProject(id, buildConfig);
95
+ // The code Vite passes, not a read of the file: no content cache can serve an older
96
+ // version, and there is no pre-warm compiling files ahead from disk (#517).
97
+ const response = await transpiler.transformCode(code, new _io.FileEx({
100
98
  fullPath: id,
101
99
  content: code
102
- });
103
- if (cached !== undefined) {
104
- // Content changed for a previously-seen file — invalidate the transpiler's
105
- // FILE_CONTENT cache so the fresh content from Vite is used.
106
- // The VS Code Vitest extension disables Vite's chokidar watcher
107
- // (server.watch: null) and drives re-runs via vitest.watcher.onFileChange(),
108
- // bypassing watchChange entirely — so we cannot rely on watchChange alone.
109
- transpiler.invalidateContentCache(file);
110
- }
111
- const [response] = await transpiler.transformFile(file, _buildtargettype.BuildTargets.es6, {
112
- aliasPaths: true,
113
- tsConfig: project ? await project.getTsConfig() : undefined
114
- });
100
+ }), _buildtargettype.BuildTargets.es6, baseConfigFor(project));
115
101
  if (!response || response.outcome !== "success") return null;
116
102
  const result = {
117
103
  code: response.code,
@@ -125,5 +111,3 @@ function forgeBuild(options) {
125
111
  }
126
112
  };
127
113
  }
128
-
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHR9KTtcblx0XHRcdGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2Uub3V0Y29tZSAhPT0gXCJzdWNjZXNzXCIpIHJldHVybiBudWxsO1xuXG5cdFx0XHRjb25zdCByZXN1bHQgPSB7IGNvZGU6IHJlc3BvbnNlLmNvZGUsIG1hcDogbnVsbCB9O1xuXHRcdFx0dHJhbnNmb3JtQ2FjaGUuc2V0KGlkLCB7IGNvbnRlbnQ6IGNvZGUsIHJlc3VsdCB9KTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSxcblx0fTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JnZUJ1aWxkIiwiU0lMRU5UX0xFVkVMIiwiUExVR0lOX05BTUUiLCJUU19FWFRFTlNJT05TIiwib3B0aW9ucyIsImJ1aWxkQ29uZmlnIiwid29ya3NwYWNlUm9vdCIsInByb2Nlc3MiLCJjd2QiLCJsb2dMZXZlbCIsImxvZ2dlckZhY3RvcnkiLCJzY3JpYmUiLCJjb25maWd1cmUiLCJhZGFwdGVyIiwiQ29uc29sZUFkYXB0ZXIiLCJjdXN0b21MZXZlbHMiLCJzaWxlbnQiLCJsb2dnZXIiLCJza2lwQnVpbGQiLCJ0cmFuc3BpbGVyIiwiU3djVHJhbnNwaWxlciIsIndhcm1lZFByb2plY3RzIiwiU2V0IiwidHJhbnNmb3JtQ2FjaGUiLCJNYXAiLCJ3b3Jrc3BhY2UiLCJpbml0V29ya3NwYWNlIiwiZGVidWciLCJXb3Jrc3BhY2VGYWN0b3J5IiwiY3JlYXRlIiwiV29ya3NwYWNlRGVmYXVsdHMiLCJyb290RGlyIiwicHJlV2FybVByb2plY3QiLCJwcm9qZWN0IiwiaGFzIiwicHJvamVjdERpcmVjdG9yeSIsImFkZCIsInRyYW5zZm9ybVByb2plY3QiLCJ0aGVuIiwibmFtZSIsImNhdGNoIiwiZXJyIiwiZXJyb3IiLCJtZXNzYWdlIiwiZW5mb3JjZSIsImNvbmZpZ1Jlc29sdmVkIiwicmVzb2x2ZUlkIiwic291cmNlIiwiaW1wb3J0ZXIiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJpbXBvcnRlckRpcmVjdG9yeSIsInBhdGgiLCJkaXJuYW1lIiwid2l0aG91dEV4dGVuc2lvbiIsInNsaWNlIiwiY2FuZGlkYXRlcyIsIm1hcCIsImV4dCIsInJlc29sdmUiLCJmaW5kIiwiYyIsImV4aXN0c1N5bmMiLCJ3YXRjaENoYW5nZSIsImlkIiwiZmlsZSIsIkZpbGVFeCIsImZ1bGxQYXRoIiwiZGVsZXRlIiwiaW52YWxpZGF0ZUNvbnRlbnRDYWNoZSIsInRyYW5zZm9ybSIsImNvZGUiLCJpbmNsdWRlcyIsInRlc3QiLCJmaW5kUHJvamVjdCIsImNhY2hlZCIsImdldCIsInVuZGVmaW5lZCIsImNvbnRlbnQiLCJyZXN1bHQiLCJyZXNwb25zZSIsInRyYW5zZm9ybUZpbGUiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsIm91dGNvbWUiLCJzZXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0JnQkE7OztlQUFBQTs7O3dCQXhCVztpRUFDVjtzQkFFZ0I7b0JBQ1Y7d0JBQ2dCOytCQUNUO2lDQUNEO2lDQUNLOzs7Ozs7QUFFbEMsK0VBQStFO0FBQy9FLE1BQU1DLGVBQWU7QUFFckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxnQkFBZ0I7SUFBQztJQUFPO0lBQVE7Q0FBTztBQVV0QyxTQUFTSCxXQUFXSSxPQUEyQjtJQUNyRCxNQUFNQyxjQUFjRCxTQUFTQyxlQUFlO0lBQzVDLE1BQU1DLGdCQUFnQkYsU0FBU0UsaUJBQWlCQyxRQUFRQyxHQUFHO0lBQzNELE1BQU1DLFdBQVdMLFNBQVNLLFlBQVk7SUFDdEMsTUFBTUMsZ0JBQWdCQyxjQUFNLENBQUNDLFNBQVMsQ0FBQztRQUN0Q0MsU0FBUyxJQUFJQyxzQkFBYztRQUMzQlYsU0FBUztZQUFFSztZQUFVTSxjQUFjO2dCQUFFQyxRQUFRZjtZQUFhO1FBQUU7SUFDN0Q7SUFDQSxNQUFNZ0IsU0FBU1AsY0FBY1I7SUFFN0IsTUFBTWdCLFlBQVlkLFNBQVNjLGFBQWE7SUFFeEMsTUFBTUMsYUFBYSxJQUFJQyw0QkFBYTtJQUNwQyxNQUFNQyxpQkFBaUIsSUFBSUM7SUFDM0IsTUFBTUMsaUJBQWlCLElBQUlDO0lBSzNCLElBQUlDLFlBQThCO0lBRWxDLE1BQU1DLGdCQUFnQjtRQUNyQixJQUFJRCxjQUFjLE1BQU07UUFDeEJSLE9BQU9VLEtBQUssQ0FDWCxDQUFDLHNDQUFzQyxFQUFFdEIsWUFBWSxpQkFBaUIsRUFBRUMsY0FBYyxDQUFDLENBQUM7UUFFekZtQixZQUFZLE1BQU1HLHNCQUFnQixDQUFDQyxNQUFNLENBQUM7WUFDekMsR0FBR0Msa0NBQWlCO1lBQ3BCQyxTQUFTekI7UUFDVjtJQUNEO0lBRUEsTUFBTTBCLGlCQUFpQixDQUFDQztRQUN2QixJQUFJWixlQUFlYSxHQUFHLENBQUNELFFBQVFFLGdCQUFnQixHQUFHO1FBQ2xEZCxlQUFlZSxHQUFHLENBQUNILFFBQVFFLGdCQUFnQjtRQUMzQyxLQUFLaEIsV0FDSGtCLGdCQUFnQixDQUFDSixTQUNqQkssSUFBSSxDQUFDLElBQU1yQixPQUFPVSxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsRUFBRU0sUUFBUU0sSUFBSSxFQUFFLEdBQy9EQyxLQUFLLENBQUMsQ0FBQ0MsTUFDUHhCLE9BQU95QixLQUFLLENBQUMsQ0FBQyxtQkFBbUIsRUFBRVQsUUFBUU0sSUFBSSxDQUFDLEVBQUUsRUFBRUUsSUFBSUUsT0FBTyxFQUFFO0lBRXBFO0lBRUEsT0FBTztRQUNOSixNQUFNckM7UUFDTjBDLFNBQVM7UUFDVEM7WUFDQzVCLE9BQU9VLEtBQUssQ0FBQztRQUNkO1FBQ0FtQixXQUFVQyxNQUFjLEVBQUVDLFFBQTRCO1lBQ3JELElBQUlBLFlBQVksUUFBUUQsT0FBT0UsUUFBUSxDQUFDLFVBQVVGLE9BQU9HLFVBQVUsQ0FBQyxNQUFNO2dCQUN6RSxNQUFNQyxvQkFBb0JDLGlCQUFJLENBQUNDLE9BQU8sQ0FBQ0w7Z0JBQ3ZDLE1BQU1NLG1CQUFtQlAsT0FBT1EsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDMUMsTUFBTUMsYUFBYXJELGNBQWNzRCxHQUFHLENBQUMsQ0FBQ0MsTUFDckNOLGlCQUFJLENBQUNPLE9BQU8sQ0FBQ1IsbUJBQW1CLEdBQUdHLG1CQUFtQkksS0FBSztnQkFHNUQsT0FBT0YsV0FBV0ksSUFBSSxDQUFDLENBQUNDLElBQU1DLElBQUFBLGtCQUFVLEVBQUNELE9BQU87WUFDakQ7WUFFQSxPQUFPO1FBQ1I7UUFDQUUsYUFBWUMsRUFBVTtZQUNyQixNQUFNQyxPQUFPLElBQUlDLFVBQU0sQ0FBQztnQkFBRUMsVUFBVUg7WUFBRztZQUN2Q3pDLGVBQWU2QyxNQUFNLENBQUNKO1lBQ3RCN0MsV0FBV2tELHNCQUFzQixDQUFDSjtRQUNuQztRQUNBLE1BQU1LLFdBQ0xDLElBQVksRUFDWlAsRUFBVTtZQUVWLElBQUlBLEdBQUdRLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUJDLElBQUksQ0FBQ1QsS0FBSztnQkFDcEUsT0FBTztZQUNSO1lBRUEsTUFBTXRDO1lBQ04sTUFBTU8sVUFBVSxNQUFNUixXQUFXaUQsWUFBWVYsSUFBSTNEO1lBRWpELElBQUk0QixXQUFXLFFBQVEsQ0FBQ2YsV0FBVztnQkFDbENjLGVBQWVDO1lBQ2hCO1lBRUEsTUFBTTBDLFNBQVNwRCxlQUFlcUQsR0FBRyxDQUFDWjtZQUNsQyxJQUFJVyxXQUFXRSxhQUFhRixPQUFPRyxPQUFPLEtBQUtQLE1BQU07Z0JBQ3BELE9BQU9JLE9BQU9JLE1BQU07WUFDckI7WUFFQSxNQUFNZCxPQUFPLElBQUlDLFVBQU0sQ0FBQztnQkFBRUMsVUFBVUg7Z0JBQUljLFNBQVNQO1lBQUs7WUFDdEQsSUFBSUksV0FBV0UsV0FBVztnQkFDekIsMkVBQTJFO2dCQUMzRSw2REFBNkQ7Z0JBQzdELGdFQUFnRTtnQkFDaEUsNkVBQTZFO2dCQUM3RSwyRUFBMkU7Z0JBQzNFMUQsV0FBV2tELHNCQUFzQixDQUFDSjtZQUNuQztZQUNBLE1BQU0sQ0FBQ2UsU0FBUyxHQUFHLE1BQU03RCxXQUFXOEQsYUFBYSxDQUFDaEIsTUFBTWlCLDZCQUFZLENBQUNDLEdBQUcsRUFBRTtnQkFDekVDLFlBQVk7Z0JBQ1pDLFVBQVVwRCxVQUFVLE1BQU1BLFFBQVFxRCxXQUFXLEtBQUtUO1lBQ25EO1lBQ0EsSUFBSSxDQUFDRyxZQUFZQSxTQUFTTyxPQUFPLEtBQUssV0FBVyxPQUFPO1lBRXhELE1BQU1SLFNBQVM7Z0JBQUVSLE1BQU1TLFNBQVNULElBQUk7Z0JBQUVkLEtBQUs7WUFBSztZQUNoRGxDLGVBQWVpRSxHQUFHLENBQUN4QixJQUFJO2dCQUFFYyxTQUFTUDtnQkFBTVE7WUFBTztZQUMvQyxPQUFPQTtRQUNSO0lBQ0Q7QUFDRCJ9
@@ -9,5 +9,3 @@ Object.defineProperty(exports, "forgeBuild", {
9
9
  }
10
10
  });
11
11
  const _forgebuildplugin = require("./forge-build.plugin.js");
12
-
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBGb3JnZUJ1aWxkT3B0aW9ucyB9IGZyb20gXCIuL2ZvcmdlLWJ1aWxkLnBsdWdpbi5qc1wiO1xuZXhwb3J0IHsgZm9yZ2VCdWlsZCB9IGZyb20gXCIuL2ZvcmdlLWJ1aWxkLnBsdWdpbi5qc1wiO1xuIl0sIm5hbWVzIjpbImZvcmdlQnVpbGQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQ1NBOzs7ZUFBQUEsNEJBQVU7OztrQ0FBUSJ9
@@ -15,6 +15,9 @@ _export(exports, {
15
15
  get DefaultConfigurations () {
16
16
  return DefaultConfigurations;
17
17
  },
18
+ get Link () {
19
+ return Link;
20
+ },
18
21
  get Release () {
19
22
  return Release;
20
23
  },
@@ -22,14 +25,23 @@ _export(exports, {
22
25
  return WorkspaceDefaults;
23
26
  }
24
27
  });
25
- const _mesh = require("@decohere/mesh");
28
+ const _workspace = require("@decohere/workspace");
26
29
  const _buildtargettype = require("./types/build-target.type.js");
27
30
  const Debug = {
28
31
  name: "debug",
29
32
  targets: [
30
33
  _buildtargettype.BuildTargets.es6
31
34
  ],
32
- aliasPaths: true
35
+ aliasPaths: true,
36
+ // Fixtures are runtime inputs (often raw .ts / configs), not library sources.
37
+ ignore: [
38
+ "**/__fixtures__/**"
39
+ ],
40
+ copyFiles: [
41
+ "**/__fixtures__/**",
42
+ "**/.decohere.js",
43
+ "**/.decohere.*.js"
44
+ ]
33
45
  };
34
46
  const Release = {
35
47
  name: "release",
@@ -39,25 +51,46 @@ const Release = {
39
51
  _buildtargettype.BuildTargets.es6,
40
52
  _buildtargettype.BuildTargets.types
41
53
  ],
54
+ // Published output: no inline maps (they carry full source and build-machine paths).
55
+ sourceMaps: false,
56
+ // Tests and benchmarks are not shipped: they import dev-only packages (vitest, @swc/core).
42
57
  ignore: [
43
58
  "**/*.spec.ts",
44
59
  "**/*.test.ts",
60
+ "**/*.bench.ts",
45
61
  "tests/**",
46
- "e2e/**"
62
+ "e2e/**",
63
+ "bench/**"
64
+ ],
65
+ // Sit next to emitted JS under es6/commonjs/types (import.meta.url).
66
+ // Do not put package.json here — that stays on workspace copyFiles (root only).
67
+ copyFiles: [
68
+ "**/webapi/devcontainer/templates/**",
69
+ "**/webapi/devcontainer/codebase-rag-mcp.ts"
70
+ ]
71
+ };
72
+ const Link = {
73
+ name: "link",
74
+ pack: true,
75
+ targets: [
76
+ _buildtargettype.BuildTargets.es6,
77
+ _buildtargettype.BuildTargets.types
47
78
  ]
48
79
  };
49
80
  const DefaultConfigurations = [
50
81
  Debug,
82
+ Link,
51
83
  Release
52
84
  ];
53
85
  const WorkspaceDefaults = {
54
- ..._mesh.WorkspaceDefaults,
86
+ ..._workspace.WorkspaceDefaults,
87
+ // Root-only files npm ships with the package. Globs that match nothing are fine.
55
88
  copyFiles: [
56
89
  "package.json",
90
+ "README.md",
91
+ "LICENSE*",
57
92
  "**/*.mjs"
58
93
  ],
59
94
  configurations: DefaultConfigurations,
60
95
  projects: undefined
61
96
  };
62
-
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UuY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZURlZmF1bHRzIGFzIEJhc2VEZWZhdWx0cyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgRm9yZ2VDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtzcGFjZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy93b3Jrc3BhY2UtY29uZmlnLnR5cGUuanNcIjtcblxuZXhwb3J0IGNvbnN0IERlYnVnOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwiZGVidWdcIixcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5lczZdLFxuXHRhbGlhc1BhdGhzOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IFJlbGVhc2U6IEZvcmdlQ29uZmlndXJhdGlvbiA9IHtcblx0bmFtZTogXCJyZWxlYXNlXCIsXG5cdHBhY2s6IHRydWUsXG5cdHRhcmdldHM6IFtCdWlsZFRhcmdldHMuY29tbW9uanMsIEJ1aWxkVGFyZ2V0cy5lczYsIEJ1aWxkVGFyZ2V0cy50eXBlc10sXG5cdGlnbm9yZTogW1wiKiovKi5zcGVjLnRzXCIsIFwiKiovKi50ZXN0LnRzXCIsIFwidGVzdHMvKipcIiwgXCJlMmUvKipcIl0sXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbmZpZ3VyYXRpb25zID0gW0RlYnVnLCBSZWxlYXNlXTtcblxuZXhwb3J0IGNvbnN0IFdvcmtzcGFjZURlZmF1bHRzOiBXb3Jrc3BhY2VPcHRpb25zID0ge1xuXHQuLi5CYXNlRGVmYXVsdHMsXG5cdGNvcHlGaWxlczogW1wicGFja2FnZS5qc29uXCIsIFwiKiovKi5tanNcIl0sXG5cdGNvbmZpZ3VyYXRpb25zOiBEZWZhdWx0Q29uZmlndXJhdGlvbnMsXG5cdHByb2plY3RzOiB1bmRlZmluZWQsXG59O1xuIl0sIm5hbWVzIjpbIkRlYnVnIiwiRGVmYXVsdENvbmZpZ3VyYXRpb25zIiwiUmVsZWFzZSIsIldvcmtzcGFjZURlZmF1bHRzIiwibmFtZSIsInRhcmdldHMiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwicGFjayIsImNvbW1vbmpzIiwidHlwZXMiLCJpZ25vcmUiLCJCYXNlRGVmYXVsdHMiLCJjb3B5RmlsZXMiLCJjb25maWd1cmF0aW9ucyIsInByb2plY3RzIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUthQTtlQUFBQTs7UUFhQUM7ZUFBQUE7O1FBUEFDO2VBQUFBOztRQVNBQztlQUFBQTs7O3NCQXBCcUM7aUNBQ3JCO0FBSXRCLE1BQU1ILFFBQTRCO0lBQ3hDSSxNQUFNO0lBQ05DLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ0MsR0FBRztLQUFDO0lBQzNCQyxZQUFZO0FBQ2I7QUFFTyxNQUFNTixVQUE4QjtJQUMxQ0UsTUFBTTtJQUNOSyxNQUFNO0lBQ05KLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ0ksUUFBUTtRQUFFSiw2QkFBWSxDQUFDQyxHQUFHO1FBQUVELDZCQUFZLENBQUNLLEtBQUs7S0FBQztJQUN0RUMsUUFBUTtRQUFDO1FBQWdCO1FBQWdCO1FBQVk7S0FBUztBQUMvRDtBQUVPLE1BQU1YLHdCQUF3QjtJQUFDRDtJQUFPRTtDQUFRO0FBRTlDLE1BQU1DLG9CQUFzQztJQUNsRCxHQUFHVSx1QkFBWTtJQUNmQyxXQUFXO1FBQUM7UUFBZ0I7S0FBVztJQUN2Q0MsZ0JBQWdCZDtJQUNoQmUsVUFBVUM7QUFDWCJ9
@@ -13,13 +13,11 @@ function _ts_param(paramIndex, decorator) {
13
13
  };
14
14
  }
15
15
  import { inject, injectable } from "@decohere/crucible/decorators";
16
- // biome-ignore lint/style/useImportType: <DI>
17
- import { Workspace } from "@decohere/mesh";
18
- import { ActionResponse } from "@decohere/nexus/cli";
19
- import { Trace } from "@decohere/nexus/diagnostics";
16
+ import { Workspace } from "@decohere/workspace";
17
+ import { ActionResponse } from "@decohere/devkit/cli";
18
+ import { Trace } from "@decohere/devkit/diagnostics";
20
19
  import { scribe } from "@decohere/scribe";
21
20
  import { ForgeError } from "../errors.js";
22
- // biome-ignore lint/style/useImportType: <DI>
23
21
  import { FileWriterService } from "../services/file-writer.service.js";
24
22
  import { TransformerKey } from "../types/transformer.type.js";
25
23
  export class Build {
@@ -36,6 +34,10 @@ export class Build {
36
34
  }
37
35
  }
38
36
  run = async (options)=>{
37
+ if (options.build === false) {
38
+ this.#logger.info("Skipping build");
39
+ return ActionResponse.Skipped(Build.name);
40
+ }
39
41
  const { configuration: buildConfig } = options;
40
42
  const projects = this.workspace.getProjects(buildConfig);
41
43
  void this.fileWriter.warmup([
@@ -100,5 +102,3 @@ Build = _ts_decorate([
100
102
  typeof FileWriterService === "undefined" ? Object : FileWriterService
101
103
  ])
102
104
  ], Build);
103
-
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2J1aWxkLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9maWxlLXdyaXRlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2Zvcm1lciwgVHJhbnNmb3JtZXJLZXkgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuXG5leHBvcnQgdHlwZSBCdWlsZE9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0ZmlsZTogc3RyaW5nO1xufTtcblxuQFRyYWNlXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnVpbGQgaW1wbGVtZW50cyBBY3Rpb248QnVpbGRPcHRpb25zPiB7XG5cdCNsb2dnZXIgPSBzY3JpYmUubG9nZ2VyKEJ1aWxkLm5hbWUpO1xuXHRwdWJsaWMgY29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0XHRAaW5qZWN0KFRyYW5zZm9ybWVyS2V5KSBwcml2YXRlIHJlYWRvbmx5IHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJbXSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGZpbGVXcml0ZXI6IEZpbGVXcml0ZXJTZXJ2aWNlLFxuXHQpIHtcblx0XHRpZiAoIXRyYW5zZm9ybWVycyB8fCB0cmFuc2Zvcm1lcnMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcIkF0IGxlYXN0IG9uZSB0cmFuc2Zvcm1lciBpcyByZXF1aXJlZFwiKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgcnVuID0gYXN5bmMgKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U8VHJhbnNmb3JtUmVzcG9uc2U+PiA9PiB7XG5cdFx0Y29uc3QgeyBjb25maWd1cmF0aW9uOiBidWlsZENvbmZpZyB9ID0gb3B0aW9ucztcblx0XHRjb25zdCBwcm9qZWN0cyA9IHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKGJ1aWxkQ29uZmlnKTtcblx0XHR2b2lkIHRoaXMuZmlsZVdyaXRlci53YXJtdXAoWy4uLnByb2plY3RzXSk7XG5cdFx0Y29uc3QgdHJhbnNmb3JtUmVzdWx0cyA9IGF3YWl0IHRoaXMuYnVpbGQocHJvamVjdHMpO1xuXG5cdFx0Y29uc3QgZXJyb3JzID0gdHJhbnNmb3JtUmVzdWx0cy5maWx0ZXIoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5vdXRjb21lID09PSBcImZhaWx1cmVcIik7XG5cdFx0aWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlcyA9IHRyYW5zZm9ybVJlc3VsdHMubWFwKChyZXNwb25zZXMpID0+IHJlc3BvbnNlcy5tZXNzYWdlcykuam9pbihcIlxcblwiKTtcblx0XHRcdHRocm93IG5ldyBGb3JnZUVycm9yKGBFcnJvciBidWlsZGluZzogJHttZXNzYWdlc31gKTtcblx0XHR9XG5cblx0XHRmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRoaXMudHJhbnNmb3JtZXJzKSB7XG5cdFx0XHRpZiAodHJhbnNmb3JtZXIud2F0Y2ggJiYgdHJhbnNmb3JtZXIuaW5jcmVtZW50YWxUcmFuc2Zvcm0kKSB7XG5cdFx0XHRcdHRyYW5zZm9ybWVyLndhdGNoKHRoaXMud29ya3NwYWNlKTtcblx0XHRcdFx0dHJhbnNmb3JtZXIuaW5jcmVtZW50YWxUcmFuc2Zvcm0kLnN1YnNjcmliZSgocmVzcG9uc2VzKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5maWxlV3JpdGVyLmVucXVldWVPdXRwdXRzKHJlc3BvbnNlcyk7XG5cdFx0XHRcdFx0dm9pZCB0aGlzLndyaXRlT3V0cHV0KCk7XG5cdFx0XHRcdFx0Y29uc3Qgc3VjY2VlZGVkID0gcmVzcG9uc2VzLnNvbWUoKHIpID0+IHIub3V0Y29tZSA9PT0gXCJzdWNjZXNzXCIpO1xuXHRcdFx0XHRcdGlmIChzdWNjZWVkZWQpIHtcblx0XHRcdFx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKGBUcmFuc3BpbGVkICR7cmVzcG9uc2VzWzBdLmZpbGUuZnVsbFBhdGh9YCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU3VjY2VzcyhCdWlsZC5uYW1lLCB0cmFuc2Zvcm1SZXN1bHRzKTtcblx0fTtcblxuXHRwdWJsaWMgYXN5bmMgYnVpbGQoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogcmVhZG9ubHkgUHJvamVjdFtdIHwgUHJvamVjdCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHM6IFByb2plY3RbXSA9IEFycmF5LmlzQXJyYXkocHJvamVjdEFycmF5TGlrZSlcblx0XHRcdD8gcHJvamVjdEFycmF5TGlrZVxuXHRcdFx0OiBbcHJvamVjdEFycmF5TGlrZV07XG5cdFx0Zm9yIChjb25zdCBwcm9qZWN0IG9mIHByb2plY3RzKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgQnVpbGRpbmcgJHtwcm9qZWN0Lm5hbWV9YCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybWVycyhwcm9qZWN0cyk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHJ1blRyYW5zZm9ybWVycyhcblx0XHRwcm9qZWN0czogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHQpIHtcblx0XHQvLyBQaGFzZSAxOiBzZXF1ZW50aWFsIGluaXQg4oCUIHJ1bnMgZXhwZW5zaXZlIHNldHVwIChlLmcuIFR5cGVTY3JpcHQgY3JlYXRlUHJvZ3JhbSlcblx0XHQvLyBiZWZvcmUgYW55IHRyYW5zZm9ybWVyJ3MgcGFyYWxsZWwgd29ya2xvYWQgKGUuZy4gU1dDL1JheW9uKSBzdGFydHMuXG5cdFx0Zm9yIChjb25zdCB0cmFuc2Zvcm1lciBvZiB0aGlzLnRyYW5zZm9ybWVycykge1xuXHRcdFx0YXdhaXQgdHJhbnNmb3JtZXIuaW5pdD8uKHByb2plY3RzLCBmaWxlRmlsdGVyKTtcblx0XHR9XG5cdFx0Ly8gUGhhc2UgMjogcGFyYWxsZWwgdHJhbnNmb3JtIOKAlCBhbGwgdHJhbnNmb3JtZXJzIHJ1biBjb25jdXJyZW50bHkgbm93IHRoYXRcblx0XHQvLyBDUFUtaGVhdnkgaW5pdCBpcyBjb21wbGV0ZS5cblx0XHRjb25zdCBhbGxSZXNwb25zZXMgPSAoXG5cdFx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0dGhpcy50cmFuc2Zvcm1lcnMubWFwKCh0KSA9PlxuXHRcdFx0XHRcdHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0cywgZmlsZUZpbHRlciwgKHJlc3BvbnNlKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmZpbGVXcml0ZXIuZW5xdWV1ZU91dHB1dChyZXNwb25zZSk7XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCksXG5cdFx0XHQpXG5cdFx0KS5mbGF0KCk7XG5cdFx0YXdhaXQgdGhpcy53cml0ZU91dHB1dCgpO1xuXHRcdHJldHVybiBhbGxSZXNwb25zZXM7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHdyaXRlT3V0cHV0KCkge1xuXHRcdGF3YWl0IHRoaXMuZmlsZVdyaXRlci5mbHVzaCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiaW5qZWN0IiwiaW5qZWN0YWJsZSIsIldvcmtzcGFjZSIsIkFjdGlvblJlc3BvbnNlIiwiVHJhY2UiLCJzY3JpYmUiLCJGb3JnZUVycm9yIiwiRmlsZVdyaXRlclNlcnZpY2UiLCJUcmFuc2Zvcm1lcktleSIsIkJ1aWxkIiwibG9nZ2VyIiwibmFtZSIsIndvcmtzcGFjZSIsInRyYW5zZm9ybWVycyIsImZpbGVXcml0ZXIiLCJsZW5ndGgiLCJydW4iLCJvcHRpb25zIiwiY29uZmlndXJhdGlvbiIsImJ1aWxkQ29uZmlnIiwicHJvamVjdHMiLCJnZXRQcm9qZWN0cyIsIndhcm11cCIsInRyYW5zZm9ybVJlc3VsdHMiLCJidWlsZCIsImVycm9ycyIsImZpbHRlciIsInJlc3BvbnNlIiwib3V0Y29tZSIsIm1lc3NhZ2VzIiwibWFwIiwicmVzcG9uc2VzIiwiam9pbiIsInRyYW5zZm9ybWVyIiwid2F0Y2giLCJpbmNyZW1lbnRhbFRyYW5zZm9ybSQiLCJzdWJzY3JpYmUiLCJlbnF1ZXVlT3V0cHV0cyIsIndyaXRlT3V0cHV0Iiwic3VjY2VlZGVkIiwic29tZSIsInIiLCJpbmZvIiwiZmlsZSIsImZ1bGxQYXRoIiwiU3VjY2VzcyIsInByb2plY3RBcnJheUxpa2UiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9qZWN0IiwicnVuVHJhbnNmb3JtZXJzIiwiZmlsZUZpbHRlciIsImluaXQiLCJhbGxSZXNwb25zZXMiLCJQcm9taXNlIiwiYWxsIiwidCIsInRyYW5zZm9ybVByb2plY3QiLCJlbnF1ZXVlT3V0cHV0IiwiZmxhdCIsImZsdXNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQU0sRUFBRUMsVUFBVSxRQUFRLGdDQUFnQztBQUVuRSw4Q0FBOEM7QUFDOUMsU0FBU0MsU0FBUyxRQUFRLGlCQUFpQjtBQUUzQyxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBQ3JELFNBQVNDLEtBQUssUUFBUSw4QkFBOEI7QUFFcEQsU0FBU0MsTUFBTSxRQUFRLG1CQUFtQjtBQUMxQyxTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUMxQyw4Q0FBOEM7QUFDOUMsU0FBU0MsaUJBQWlCLFFBQVEscUNBQXFDO0FBRXZFLFNBQTJCQyxjQUFjLFFBQVEsK0JBQStCO0FBU2hGLE9BQU8sTUFBTUM7Ozs7SUFDWixDQUFBLE1BQU8sR0FBR0osT0FBT0ssTUFBTSxDQUFDRCxNQUFNRSxJQUFJLEVBQUU7SUFDcEMsWUFDQyxBQUFpQkMsU0FBb0IsRUFDckMsQUFBeUNDLFlBQTJCLEVBQ3BFLEFBQWlCQyxVQUE2QixDQUM3QzthQUhnQkYsWUFBQUE7YUFDd0JDLGVBQUFBO2FBQ3hCQyxhQUFBQTtRQUVqQixJQUFJLENBQUNELGdCQUFnQkEsYUFBYUUsTUFBTSxLQUFLLEdBQUc7WUFDL0MsTUFBTSxJQUFJVCxXQUFXO1FBQ3RCO0lBQ0Q7SUFFT1UsTUFBTSxPQUFPQztRQUNuQixNQUFNLEVBQUVDLGVBQWVDLFdBQVcsRUFBRSxHQUFHRjtRQUN2QyxNQUFNRyxXQUFXLElBQUksQ0FBQ1IsU0FBUyxDQUFDUyxXQUFXLENB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
@@ -8,10 +8,9 @@ function _ts_metadata(k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  }
10
10
  import { injectable } from "@decohere/crucible/decorators";
11
- // biome-ignore lint/style/useImportType: <DI>
12
- import { Workspace } from "@decohere/mesh";
13
- import { ActionResponse } from "@decohere/nexus/cli";
14
- import { io } from "@decohere/nexus/io";
11
+ import { Workspace } from "@decohere/workspace";
12
+ import { ActionResponse } from "@decohere/devkit/cli";
13
+ import { io } from "@decohere/core/io";
15
14
  import { scribe } from "@decohere/scribe";
16
15
  export class Clean {
17
16
  workspace;
@@ -24,8 +23,8 @@ export class Clean {
24
23
  this.#logger.info("Skipping clean");
25
24
  return ActionResponse.Skipped(Clean.name);
26
25
  }
27
- await Promise.all(this.workspace.getProjects(options.configuration).map(async (proj)=>{
28
- const outDir = proj.getRootOut();
26
+ const outDirs = this.workspace.getProjects(options.configuration).map((proj)=>proj.getRootOut()).filter((dir, i, arr)=>arr.indexOf(dir) === i); // dedupe
27
+ await Promise.all(outDirs.map(async (outDir)=>{
29
28
  await io.removeDir(outDir, {
30
29
  force: true,
31
30
  recursive: true
@@ -42,5 +41,3 @@ Clean = _ts_decorate([
42
41
  typeof Workspace === "undefined" ? Object : Workspace
43
42
  ])
44
43
  ], Clean);
45
-
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NsZWFuLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcblxuZXhwb3J0IHR5cGUgQ2xlYW5PcHRpb25zID0ge1xuXHRjbGVhbjogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsZWFuIGltcGxlbWVudHMgQWN0aW9uPENsZWFuT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDbGVhbi5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDbGVhbk9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiA9PiB7XG5cdFx0aWYgKCFvcHRpb25zLmNsZWFuKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIlNraXBwaW5nIGNsZWFuXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ2xlYW4ubmFtZSk7XG5cdFx0fVxuXG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0aGlzLndvcmtzcGFjZS5nZXRQcm9qZWN0cyhvcHRpb25zLmNvbmZpZ3VyYXRpb24pLm1hcChhc3luYyAocHJvaikgPT4ge1xuXHRcdFx0XHRjb25zdCBvdXREaXIgPSBwcm9qLmdldFJvb3RPdXQoKTtcblx0XHRcdFx0YXdhaXQgaW8ucmVtb3ZlRGlyKG91dERpciwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENsZWFuZWQgJHtvdXREaXJ9YCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ2xlYW4ubmFtZSk7XG5cdH07XG59XG4iXSwibmFtZXMiOlsiaW5qZWN0YWJsZSIsIldvcmtzcGFjZSIsIkFjdGlvblJlc3BvbnNlIiwiaW8iLCJzY3JpYmUiLCJDbGVhbiIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJydW4iLCJvcHRpb25zIiwiY2xlYW4iLCJpbmZvIiwiU2tpcHBlZCIsIlByb21pc2UiLCJhbGwiLCJnZXRQcm9qZWN0cyIsImNvbmZpZ3VyYXRpb24iLCJtYXAiLCJwcm9qIiwib3V0RGlyIiwiZ2V0Um9vdE91dCIsInJlbW92ZURpciIsImZvcmNlIiwicmVjdXJzaXZlIiwidHJhY2UiLCJTdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELDhDQUE4QztBQUM5QyxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBRTNDLFNBQVNDLGNBQWMsUUFBUSxzQkFBc0I7QUFDckQsU0FBU0MsRUFBRSxRQUFRLHFCQUFxQjtBQUN4QyxTQUFTQyxNQUFNLFFBQVEsbUJBQW1CO0FBUTFDLE9BQU8sTUFBTUM7O0lBQ1osQ0FBQSxNQUFPLEdBQUdELE9BQU9FLE1BQU0sQ0FBQ0QsTUFBTUUsSUFBSSxFQUFFO0lBQ3BDLFlBQW1CLEFBQWlCQyxTQUFvQixDQUFFO2FBQXRCQSxZQUFBQTtJQUF1QjtJQUVwREMsTUFBTSxPQUFPQztRQUNuQixJQUFJLENBQUNBLFFBQVFDLEtBQUssRUFBRTtZQUNuQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLElBQUksQ0FBQztZQUNsQixPQUFPVixlQUFlVyxPQUFPLENBQUNSLE1BQU1FLElBQUk7UUFDekM7UUFFQSxNQUFNTyxRQUFRQyxHQUFHLENBQ2hCLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxXQUFXLENBQUNOLFFBQVFPLGFBQWEsRUFBRUMsR0FBRyxDQUFDLE9BQU9DO1lBQzVELE1BQU1DLFNBQVNELEtBQUtFLFVBQVU7WUFDOUIsTUFBTWxCLEdBQUdtQixTQUFTLENBQUNGLFFBQVE7Z0JBQUVHLE9BQU87Z0JBQU1DLFdBQVc7WUFBSztZQUMxRCxJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRUwsUUFBUTtRQUN2QztRQUdELE9BQU9sQixlQUFld0IsT0FBTyxDQUFDckIsTUFBTUUsSUFBSTtJQUN6QyxFQUFFO0FBQ0gifQ==
@@ -9,10 +9,9 @@ function _ts_metadata(k, v) {
9
9
  }
10
10
  import path from "node:path";
11
11
  import { injectable } from "@decohere/crucible/decorators";
12
- // biome-ignore lint/style/useImportType: <DI>
13
- import { Workspace } from "@decohere/mesh";
14
- import { ActionResponse } from "@decohere/nexus/cli";
15
- import { Git } from "@decohere/nexus/interop";
12
+ import { Workspace } from "@decohere/workspace";
13
+ import { ActionResponse } from "@decohere/devkit/cli";
14
+ import { Git } from "@decohere/devkit/interop";
16
15
  import { scribe } from "@decohere/scribe";
17
16
  import { formatUnknownError } from "../errors.js";
18
17
  import { Release } from "../workspace.config.js";
@@ -69,5 +68,3 @@ CommitFiles = _ts_decorate([
69
68
  typeof Workspace === "undefined" ? Object : Workspace
70
69
  ])
71
70
  ], CommitFiles);
72
-
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvbW1pdC5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBHaXQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2ludGVyb3BcIjtcbmltcG9ydCB7IHNjcmliZSB9IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgeyBmb3JtYXRVbmtub3duRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgeyBSZWxlYXNlIH0gZnJvbSBcIi4uL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IHR5cGUgQ29tbWl0RmlsZXNPcHRpb25zID0ge1xuXHRjb25maWd1cmF0aW9uPzogc3RyaW5nO1xuXHRjb21taXQ/OiBib29sZWFuO1xuXHRtZXNzYWdlPzogc3RyaW5nO1xuXHRmaWxlcz86IHN0cmluZ1tdO1xuXHRkcnlSdW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgS25vd25Mb2NrRmlsZXMgPSBbXCJwbnBtLWxvY2sueWFtbFwiXTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbW1pdEZpbGVzIGltcGxlbWVudHMgQWN0aW9uPENvbW1pdEZpbGVzT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDb21taXRGaWxlcy5uYW1lKTtcblx0I2dpdCA9IG5ldyBHaXQoKTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSkge31cblxuXHRwdWJsaWMgYXN5bmMgcnVuKG9wdGlvbnM6IENvbW1pdEZpbGVzT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRpZiAoIW9wdGlvbnMuY29tbWl0KSB7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU2tpcHBlZChDb21taXRGaWxlcy5uYW1lKTtcblx0XHR9XG5cblx0XHRpZiAob3B0aW9ucy5kcnlSdW4pIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKFwiW2RyeS1ydW5dIFNraXBwaW5nIGNvbW1pdFwiKTtcblx0XHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5Ta2lwcGVkKENvbW1pdEZpbGVzLm5hbWUpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpbGVzID0gb3B0aW9ucy5maWxlcyA/PyB0aGlzLmdldERlZmF1bHRGaWxlcyhvcHRpb25zLmNvbmZpZ3VyYXRpb24gPz8gUmVsZWFzZS5uYW1lKTtcblx0XHRpZiAoZmlsZXMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIk5vIGZpbGVzIHByb3ZpZGVkIGZvciBjb21taXQsIHNraXBwaW5nXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ29tbWl0RmlsZXMubmFtZSk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWVzc2FnZSA9IG9wdGlvbnMubWVzc2FnZSA/PyBcImNob3JlOiBzeW5jIHdvcmtzcGFjZSBwYWNrYWdlIG1hbmlmZXN0cyBbc2tpcCBjaV1cIjtcblx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgQ29tbWl0dGluZyBzeW5jZWQgbWFuaWZlc3RzOiAke21lc3NhZ2V9YCk7XG5cblx0XHR0cnkge1xuXHRcdFx0YXdhaXQgdGhpcy4jZ2l0LmNvbW1pdChtZXNzYWdlLCB7IGZpbGVzIH0pO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ29tbWl0RmlsZXMubmFtZSk7XG5cdFx0fSBjYXRjaCAocmVhc29uKSB7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuRXJyb3IoXG5cdFx0XHRcdENvbW1pdEZpbGVzLm5hbWUsXG5cdFx0XHRcdGBGYWlsZWQgY29tbWl0dGluZyBmaWxlczogJHtmb3JtYXRVbmtub3duRXJyb3IocmVhc29uKX1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGdldERlZmF1bHRGaWxlcyhjb25maWd1cmF0aW9uOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKTtcblx0XHRjb25zdCBtYW5pZmVzdEZpbGVzID0gW1xuXHRcdFx0cGF0aC5yZWxhdGl2ZShjd2QsIHBhdGgucmVzb2x2ZSh0aGlzLndvcmtzcGFjZS5wYWNrYWdlSnNvblBhdGgpKSxcblx0XHRcdC4uLnRoaXMud29ya3NwYWNlXG5cdFx0XHRcdC5nZXRQcm9qZWN0cyhjb25maWd1cmF0aW9uKVxuXHRcdFx0XHQubWFwKChwcm9qZWN0KSA9PiBwYXRoLnJlbGF0aXZlKGN3ZCwgcGF0aC5yZXNvbHZlKHByb2plY3QucGFja2FnZUpzb25QYXRoKSkpLFxuXHRcdF07XG5cblx0XHRyZXR1cm4gWy4uLm1hbmlmZXN0RmlsZXMsIC4uLktub3duTG9ja0ZpbGVzXTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJHaXQiLCJzY3JpYmUiLCJmb3JtYXRVbmtub3duRXJyb3IiLCJSZWxlYXNlIiwiS25vd25Mb2NrRmlsZXMiLCJDb21taXRGaWxlcyIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJydW4iLCJvcHRpb25zIiwiY29tbWl0IiwiU2tpcHBlZCIsImRyeVJ1biIsImluZm8iLCJmaWxlcyIsImdldERlZmF1bHRGaWxlcyIsImNvbmZpZ3VyYXRpb24iLCJsZW5ndGgiLCJtZXNzYWdlIiwiU3VjY2VzcyIsInJlYXNvbiIsIkVycm9yIiwiY3dkIiwicHJvY2VzcyIsIm1hbmlmZXN0RmlsZXMiLCJyZWxhdGl2ZSIsInJlc29sdmUiLCJwYWNrYWdlSnNvblBhdGgiLCJnZXRQcm9qZWN0cyIsIm1hcCIsInByb2plY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFVBQVUsWUFBWTtBQUM3QixTQUFTQyxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELDhDQUE4QztBQUM5QyxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBRTNDLFNBQVNDLGNBQWMsUUFBUSxzQkFBc0I7QUFDckQsU0FBU0MsR0FBRyxRQUFRLDBCQUEwQjtBQUM5QyxTQUFTQyxNQUFNLFFBQVEsbUJBQW1CO0FBQzFDLFNBQVNDLGtCQUFrQixRQUFRLGVBQWU7QUFDbEQsU0FBU0MsT0FBTyxRQUFRLHlCQUF5QjtBQVVqRCxNQUFNQyxpQkFBaUI7SUFBQztDQUFpQjtBQUd6QyxPQUFPLE1BQU1DOztJQUNaLENBQUEsTUFBTyxHQUFHSixPQUFPSyxNQUFNLENBQUNELFlBQVlFLElBQUksRUFBRTtJQUMxQyxDQUFBLEdBQUksR0FBRyxJQUFJUCxNQUFNO0lBRWpCLFlBQW1CLEFBQWlCUSxTQUFvQixDQUFFO2FBQXRCQSxZQUFBQTtJQUF1QjtJQUUzRCxNQUFhQyxJQUFJQyxPQUEyQixFQUEyQjtRQUN0RSxJQUFJLENBQUNBLFFBQVFDLE1BQU0sRUFBRTtZQUNwQixPQUFPWixlQUFlYSxPQUFPLENBQUNQLFlBQVlFLElBQUk7UUFDL0M7UUFFQSxJQUFJRyxRQUFRRyxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxJQUFJLENBQUM7WUFDbEIsT0FBT2YsZUFBZWEsT0FBTyxDQUFDUCxZQUFZRSxJQUFJO1FBQy9DO1FBRUEsTUFBTVEsUUFBUUwsUUFBUUssS0FBSyxJQUFJLElBQUksQ0FBQ0MsZUFBZSxDQUFDTixRQUFRTyxhQUFhLElBQUlkLFFBQVFJLElBQUk7UUFDekYsSUFBSVEsTUFBTUcsTUFBTSxLQUFLLEdBQUc7WUFDdkIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDSixJQUFJLENBQUM7WUFDbEIsT0FBT2YsZUFBZWEsT0FBTyxDQUFDUCxZQUFZRSxJQUFJO1FBQy9DO1FBRUEsTUFBTVksVUFBVVQsUUFBUVMsT0FBTyxJQUFJO1FBQ25DLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0wsSUFBSSxDQUFDLENBQUMsNkJBQTZCLEVBQUVLLFNBQVM7UUFFM0QsSUFBSTtZQUNILE1BQU0sSUFBSSxDQUFDLENBQUEsR0FBSSxDQUFDUixNQUFNLENBQUNRLFNBQVM7Z0JBQUVKO1lBQU07WUFDeEMsT0FBT2hCLGVBQWVxQixPQUFPLENBQUNmLFlBQVlFLElBQUk7UUFDL0MsRUFBRSxPQUFPYyxRQUFRO1lBQ2hCLE9BQU90QixlQUFldUIsS0FBSyxDQUMxQmpCLFlBQVlFLElBQUksRUFDaEIsQ0FBQyx5QkFBeUIsRUFBRUwsbUJBQW1CbUIsU0FBUztRQUUxRDtJQUNEO0lBRVFMLGdCQUFnQkMsYUFBcUIsRUFBWTtRQUN4RCxNQUFNTSxNQUFNQyxRQUFRRCxHQUFHO1FBQ3ZCLE1BQU1FLGdCQUFnQjtZQUNyQjdCLEtBQUs4QixRQUFRLENBQUNILEtBQUszQixLQUFLK0IsT0FBTyxDQUFDLElBQUksQ0FBQ25CLFNBQVMsQ0FBQ29CLGVBQWU7ZUFDM0QsSUFBSSxDQUFDcEIsU0FBUyxDQUNmcUIsV0FBVyxDQUFDWixlQUNaYSxHQUFHLENBQUMsQ0FBQ0MsVUFBWW5DLEtBQUs4QixRQUFRLENBQUNILEtBQUszQixLQUFLK0IsT0FBTyxDQUFDSSxRQUFRSCxlQUFlO1NBQzFFO1FBRUQsT0FBTztlQUFJSDtlQUFrQnJCO1NBQWU7SUFDN0M7QUFDRCJ9