@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
@@ -1,4 +1,4 @@
1
- import { CommandResponse, ConfigurationOption, DecohereCommand, NoCleanOptions } from "@decohere/nexus/cli";
1
+ import { CommandResponse, ConfigurationOption, DecohereCommand, NoCleanOptions } from "@decohere/devkit/cli";
2
2
  import auto from "async/auto.js";
3
3
  export class BuildCommand extends DecohereCommand {
4
4
  constructor(name){
@@ -10,6 +10,9 @@ export class BuildCommand extends DecohereCommand {
10
10
  this.option("--watch", "Watches for changes in the source dir", false);
11
11
  this.option("--file <file>", "File to build");
12
12
  }
13
+ runsUntilStopped(options) {
14
+ return options.watch === true;
15
+ }
13
16
  run = async (actions, options)=>{
14
17
  const responses = await auto({
15
18
  clean: async ()=>await actions.clean.run(options),
@@ -30,5 +33,3 @@ export class BuildCommand extends DecohereCommand {
30
33
  return CommandResponse.success(options, responses);
31
34
  };
32
35
  }
33
-
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9idWlsZC5jb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVyZ2VPcHRpb25zIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7XG5cdENvbW1hbmRSZXNwb25zZSxcblx0Q29uZmlndXJhdGlvbk9wdGlvbixcblx0RGVjb2hlcmVDb21tYW5kLFxuXHROb0NsZWFuT3B0aW9ucyxcbn0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCBhdXRvIGZyb20gXCJhc3luYy9hdXRvLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkIH0gZnJvbSBcIi4uL2FjdGlvbnMvYnVpbGQuYWN0aW9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IENsZWFuIH0gZnJvbSBcIi4uL2FjdGlvbnMvY2xlYW4uYWN0aW9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IENvcHkgfSBmcm9tIFwiLi4vYWN0aW9ucy9jb3B5LmFjdGlvbi5qc1wiO1xuaW1wb3J0IHR5cGUgeyBXYXRjaCB9IGZyb20gXCIuLi9hY3Rpb25zL3dhdGNoLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgdHlwZSBCdWlsZEFjdGlvbnMgPSB7IGNsZWFuOiBDbGVhbjsgYnVpbGQ6IEJ1aWxkOyB3YXRjaDogV2F0Y2g7IGNvcHk6IENvcHkgfTtcbmV4cG9ydCBjbGFzcyBCdWlsZENvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQ8QnVpbGRBY3Rpb25zPiB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lPzogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSA/PyBCdWlsZENvbW1hbmQubmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIkJ1aWxkIHdvcmtzcGFjZSBwcm9qZWN0c1wiKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcImRlYnVnXCIpKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgTm9DbGVhbk9wdGlvbnModHJ1ZSkpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1uby1jb3B5XCIsIFwiV2lsbCBub3QgY29weSBmaWxlcyBsaWtlIHBhY2thZ2UuanNvbiB0byBvdXRkaXJcIiwgdHJ1ZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLXdhdGNoXCIsIFwiV2F0Y2hlcyBmb3IgY2hhbmdlcyBpbiB0aGUgc291cmNlIGRpclwiLCBmYWxzZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLWZpbGUgPGZpbGU+XCIsIFwiRmlsZSB0byBidWlsZFwiKTtcblx0fVxuXG5cdHB1YmxpYyBydW4gPSBhc3luYyAoXG5cdFx0YWN0aW9uczogQnVpbGRBY3Rpb25zLFxuXHRcdG9wdGlvbnM6IE1lcmdlT3B0aW9uczxCdWlsZEFjdGlvbnM+LFxuXHQpOiBQcm9taXNlPENvbW1hbmRSZXNwb25zZTxCdWlsZEFjdGlvbnM+PiA9PiB7XG5cdFx0Y29uc3QgcmVzcG9uc2VzID0gYXdhaXQgYXV0bzxCdWlsZEFjdGlvbnM+KHtcblx0XHRcdGNsZWFuOiBhc3luYyAoKSA9PiBhd2FpdCBhY3Rpb25zLmNsZWFuLnJ1bihvcHRpb25zKSxcblx0XHRcdGJ1aWxkOiBbXCJjbGVhblwiLCBhc3luYyAoKSA9PiBhd2FpdCBhY3Rpb25zLmJ1aWxkLnJ1bihvcHRpb25zKV0sXG5cdFx0XHRjb3B5OiBbXCJjbGVhblwiLCBhc3luYyAoKSA9PiBhd2FpdCBhY3Rpb25zLmNvcHkucnVuKG9wdGlvbnMpXSxcblx0XHRcdHdhdGNoOiBbXCJidWlsZFwiLCBcImNvcHlcIiwgYXN5bmMgKCkgPT4gYXdhaXQgYWN0aW9ucy53YXRjaC5ydW4ob3B0aW9ucyldLFxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIENvbW1hbmRSZXNwb25zZS5zdWNjZXNzKG9wdGlvbnMsIHJlc3BvbnNlcyk7XG5cdH07XG59XG4iXSwibmFtZXMiOlsiQ29tbWFuZFJlc3BvbnNlIiwiQ29uZmlndXJhdGlvbk9wdGlvbiIsIkRlY29oZXJlQ29tbWFuZCIsIk5vQ2xlYW5PcHRpb25zIiwiYXV0byIsIkJ1aWxkQ29tbWFuZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImFkZE9wdGlvbiIsIm9wdGlvbiIsInJ1biIsImFjdGlvbnMiLCJvcHRpb25zIiwicmVzcG9uc2VzIiwiY2xlYW4iLCJidWlsZCIsImNvcHkiLCJ3YXRjaCIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiJBQUNBLFNBQ0NBLGVBQWUsRUFDZkMsbUJBQW1CLEVBQ25CQyxlQUFlLEVBQ2ZDLGNBQWMsUUFDUixzQkFBc0I7QUFDN0IsT0FBT0MsVUFBVSxnQkFBZ0I7QUFPakMsT0FBTyxNQUFNQyxxQkFBcUJIO0lBQ2pDLFlBQW1CSSxJQUFhLENBQUU7UUFDakMsS0FBSyxDQUFDQSxRQUFRRCxhQUFhQyxJQUFJO1FBQy9CLElBQUksQ0FBQ0MsV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlQLG9CQUFvQjtRQUN2QyxJQUFJLENBQUNPLFNBQVMsQ0FBQyxJQUFJTCxlQUFlO1FBQ2xDLElBQUksQ0FBQ00sTUFBTSxDQUFDLGFBQWEsbURBQW1EO1FBQzVFLElBQUksQ0FBQ0EsTUFBTSxDQUFDLFdBQVcseUNBQXlDO1FBQ2hFLElBQUksQ0FBQ0EsTUFBTSxDQUFDLGlCQUFpQjtJQUM5QjtJQUVPQyxNQUFNLE9BQ1pDLFNBQ0FDO1FBRUEsTUFBTUMsWUFBWSxNQUFNVCxLQUFtQjtZQUMxQ1UsT0FBTyxVQUFZLE1BQU1ILFFBQVFHLEtBQUssQ0FBQ0osR0FBRyxDQUFDRTtZQUMzQ0csT0FBTztnQkFBQztnQkFBUyxVQUFZLE1BQU1KLFFBQVFJLEtBQUssQ0FBQ0wsR0FBRyxDQUFDRTthQUFTO1lBQzlESSxNQUFNO2dCQUFDO2dCQUFTLFVBQVksTUFBTUwsUUFBUUssSUFBSSxDQUFDTixHQUFHLENBQUNFO2FBQVM7WUFDNURLLE9BQU87Z0JBQUM7Z0JBQVM7Z0JBQVEsVUFBWSxNQUFNTixRQUFRTSxLQUFLLENBQUNQLEdBQUcsQ0FBQ0U7YUFBUztRQUN2RTtRQUVBLE9BQU9aLGdCQUFnQmtCLE9BQU8sQ0FBQ04sU0FBU0M7SUFDekMsRUFBRTtBQUNIIn0=
@@ -1,4 +1,4 @@
1
- import { CommandResponse, ConfigurationOption, DecohereCommand } from "@decohere/nexus/cli";
1
+ import { CommandResponse, ConfigurationOption, DecohereCommand } from "@decohere/devkit/cli";
2
2
  import { CommitFiles } from "../actions/commit.action.js";
3
3
  import { ReportDependencies } from "../actions/dependency-report.action.js";
4
4
  import { SyncDependencies as DependencySync } from "../actions/dependency-sync.action.js";
@@ -74,5 +74,3 @@ class ReportCommand extends DecohereCommand {
74
74
  this.option("--fail-on-drift", "Exit with an error if resolved dependencies differ from what is declared in package.json", false);
75
75
  }
76
76
  }
77
-
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9kZXBlbmRlbmN5LmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tYW5kSGFuZGxlciB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBDb21tYW5kUmVzcG9uc2UsIENvbmZpZ3VyYXRpb25PcHRpb24sIERlY29oZXJlQ29tbWFuZCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1pdEZpbGVzT3B0aW9ucyB9IGZyb20gXCIuLi9hY3Rpb25zL2NvbW1pdC5hY3Rpb24uanNcIjtcbmltcG9ydCB7IENvbW1pdEZpbGVzIH0gZnJvbSBcIi4uL2FjdGlvbnMvY29tbWl0LmFjdGlvbi5qc1wiO1xuaW1wb3J0IHsgUmVwb3J0RGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4uL2FjdGlvbnMvZGVwZW5kZW5jeS1yZXBvcnQuYWN0aW9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IERlcGVuZGVuY2llc09wdGlvbnMgfSBmcm9tIFwiLi4vYWN0aW9ucy9kZXBlbmRlbmN5LXN5bmMuYWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBTeW5jRGVwZW5kZW5jaWVzIGFzIERlcGVuZGVuY3lTeW5jIH0gZnJvbSBcIi4uL2FjdGlvbnMvZGVwZW5kZW5jeS1zeW5jLmFjdGlvbi5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTeW5jTG9ja0ZpbGVPcHRpb25zIH0gZnJvbSBcIi4uL2FjdGlvbnMvc3luYy1sb2NrLWZpbGUuYWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBTeW5jTG9ja0ZpbGUgfSBmcm9tIFwiLi4vYWN0aW9ucy9zeW5jLWxvY2stZmlsZS5hY3Rpb24uanNcIjtcbmltcG9ydCB7IFJlbGVhc2UgfSBmcm9tIFwiLi4vd29ya3NwYWNlLmNvbmZpZy5qc1wiO1xuXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZT86IHN0cmluZywgaGFuZGxlcj86IENvbW1hbmRIYW5kbGVyKSB7XG5cdFx0c3VwZXIobmFtZSA/PyBEZXBlbmRlbmN5Q29tbWFuZCk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIkFuYWx5emUgYW5kIHN5bmMgd29ya3NwYWNlIGRlcGVuZGVuY2llc1wiKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcInJlbGVhc2VcIikpO1xuXHRcdHRoaXMucmVnaXN0ZXJTdWJjb21tYW5kKFJlcG9ydENvbW1hbmQsIGhhbmRsZXIpO1xuXHRcdHRoaXMucmVnaXN0ZXJTdWJjb21tYW5kKFN5bmNDb21tYW5kLCBoYW5kbGVyKTtcblx0fVxufVxuXG50eXBlIFN5bmNBY3Rpb25zID0ge1xuXHRzeW5jRGVwZW5kZW5jaWVzOiBEZXBlbmRlbmN5U3luYztcblx0c3luY0xvY2tGaWxlOiBTeW5jTG9ja0ZpbGU7XG5cdGNvbW1pdEZpbGVzOiBDb21taXRGaWxlcztcbn07XG5cbmNsYXNzIFN5bmNDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kPFN5bmNBY3Rpb25zPiB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW0RlcGVuZGVuY3lTeW5jLCBTeW5jTG9ja0ZpbGUsIENvbW1pdEZpbGVzXTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcihTeW5jQ29tbWFuZCk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIlN5bmMgd29ya3NwYWNlIGRlcGVuZGVuY3kgbWFuaWZlc3RzXCIpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLWxvZy1kaWZmXCIsXG5cdFx0XHRcIkxvZyB3aGF0IGNoYW5nZWQgaW4gZWFjaCBwcm9qZWN0J3MgZGVwZW5kZW5jaWVzIGFmdGVyIHN5bmNpbmdcIixcblx0XHRcdGZhbHNlLFxuXHRcdCk7XG5cdFx0dGhpcy5vcHRpb24oXCItLW5vLXN5bmNcIiwgXCJTa2lwIGxvY2tmaWxlIHN5bmMgYWZ0ZXIgc3luY2luZyBkZXBlbmRlbmNpZXNcIiwgdHJ1ZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLWNvbW1pdFwiLCBcIkNvbW1pdCBzeW5jZWQgd29ya3NwYWNlIG1hbmlmZXN0IGNoYW5nZXNcIiwgZmFsc2UpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1tZXNzYWdlIDxtZXNzYWdlPlwiLCBcIkNvbW1pdCBtZXNzYWdlICh1c2VkIHdpdGggLS1jb21taXQpXCIpO1xuXHR9XG5cblx0cHVibGljIG92ZXJyaWRlIGFzeW5jIHJ1bihhY3Rpb25zOiBTeW5jQWN0aW9ucywgb3B0aW9uczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcblx0XHRjb25zdCByZXNwb25zZXM6IENvbW1hbmRSZXNwb25zZTxTeW5jQWN0aW9ucz4gPSB7fTtcblx0XHRjb25zdCBjb25maWd1cmF0aW9uID1cblx0XHRcdHR5cGVvZiBvcHRpb25zLmNvbmZpZ3VyYXRpb24gPT09IFwic3RyaW5nXCIgPyBvcHRpb25zLmNvbmZpZ3VyYXRpb24gOiBSZWxlYXNlLm5hbWU7XG5cblx0XHRjb25zdCBzeW5jRGVwZW5kZW5jeU9wdGlvbnM6IERlcGVuZGVuY2llc09wdGlvbnMgPSB7XG5cdFx0XHRjb25maWd1cmF0aW9uLFxuXHRcdFx0bG9nRGlmZjogb3B0aW9ucy5sb2dEaWZmID09PSB0cnVlLFxuXHRcdH07XG5cblx0XHRjb25zdCBzeW5jTG9ja09wdGlvbnM6IFN5bmNMb2NrRmlsZU9wdGlvbnMgPSB7XG5cdFx0XHRzeW5jOiBvcHRpb25zLnN5bmMgIT09IGZhbHNlLFxuXHRcdFx0ZHJ5UnVuOiBvcHRpb25zLmRyeVJ1biA9PT0gdHJ1ZSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgY29tbWl0T3B0aW9uczogQ29tbWl0RmlsZXNPcHRpb25zID0ge1xuXHRcdFx0Y29uZmlndXJhdGlvbixcblx0XHRcdGNvbW1pdDogb3B0aW9ucy5jb21taXQgPT09IHRydWUsXG5cdFx0XHRkcnlSdW46IG9wdGlvbnMuZHJ5UnVuID09PSB0cnVlLFxuXHRcdFx0bWVzc2FnZTogdHlwZW9mIG9wdGlvbnMubWVzc2FnZSA9PT0gXCJzdHJpbmdcIiA/IG9wdGlvbnMubWVzc2FnZSA6IHVuZGVmaW5lZCxcblx0XHR9O1xuXG5cdFx0cmVzcG9uc2VzLnN5bmNEZXBlbmRlbmNpZXMgPSBhd2FpdCBhY3Rpb25zLnN5bmNEZXBlbmRlbmNpZXMucnVuKHN5bmNEZXBlbmRlbmN5T3B0aW9ucyk7XG5cdFx0dGhpcy50aHJvd09uRXJyb3JzKHsgc3luY0RlcGVuZGVuY2llczogcmVzcG9uc2VzLnN5bmNEZXBlbmRlbmNpZXMgfSk7XG5cblx0XHRyZXNwb25zZXMuc3luY0xvY2tGaWxlID0gYXdhaXQgYWN0aW9ucy5zeW5jTG9ja0ZpbGUucnVuKHN5bmNMb2NrT3B0aW9ucyk7XG5cdFx0dGhpcy50aHJvd09uRXJyb3JzKHsgc3luY0xvY2tGaWxlOiByZXNwb25zZXMuc3luY0xvY2tGaWxlIH0pO1xuXG5cdFx0cmVzcG9uc2VzLmNvbW1pdEZpbGVzID0gYXdhaXQgYWN0aW9ucy5jb21taXRGaWxlcy5ydW4oY29tbWl0T3B0aW9ucyk7XG5cdFx0dGhpcy50aHJvd09uRXJyb3JzKHsgY29tbWl0RmlsZXM6IHJlc3BvbnNlcy5jb21taXRGaWxlcyB9KTtcblxuXHRcdHJldHVybiBDb21tYW5kUmVzcG9uc2Uuc3VjY2VzcyhvcHRpb25zLCByZXNwb25zZXMpO1xuXHR9XG59XG5cbmNsYXNzIFJlcG9ydENvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0cmV0dXJuIFtSZXBvcnREZXBlbmRlbmNpZXNdO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKFJlcG9ydENvbW1hbmQpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJSZXBvcnQgcmVzb2x2ZWQgZGVwZW5kZW5jaWVzIGZvciB3b3Jrc3BhY2UgcHJvamVjdHNcIik7XG5cdFx0dGhpcy5vcHRpb24oXCItLWZpbGUgPGZpbGU+XCIsIFwiT3B0aW9uYWwgZmlsZSBwYXRoIHRvIHdyaXRlIHRoZSByZXBvcnQgdG9cIik7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tZmFpbC1vbi1kcmlmdFwiLFxuXHRcdFx0XCJFeGl0IHdpdGggYW4gZXJyb3IgaWYgcmVzb2x2ZWQgZGVwZW5kZW5jaWVzIGRpZmZlciBmcm9tIHdoYXQgaXMgZGVjbGFyZWQgaW4gcGFja2FnZS5qc29uXCIsXG5cdFx0XHRmYWxzZSxcblx0XHQpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQ29tbWFuZFJlc3BvbnNlIiwiQ29uZmlndXJhdGlvbk9wdGlvbiIsIkRlY29oZXJlQ29tbWFuZCIsIkNvbW1pdEZpbGVzIiwiUmVwb3J0RGVwZW5kZW5jaWVzIiwiU3luY0RlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lTeW5jIiwiU3luY0xvY2tGaWxlIiwiUmVsZWFzZSIsIkRlcGVuZGVuY3lDb21tYW5kIiwibmFtZSIsImhhbmRsZXIiLCJkZXNjcmlwdGlvbiIsImFkZE9wdGlvbiIsInJlZ2lzdGVyU3ViY29tbWFuZCIsIlJlcG9ydENvbW1hbmQiLCJTeW5jQ29tbWFuZCIsImFjdGlvbnMiLCJvcHRpb24iLCJydW4iLCJvcHRpb25zIiwicmVzcG9uc2VzIiwiY29uZmlndXJhdGlvbiIsInN5bmNEZXBlbmRlbmN5T3B0aW9ucyIsImxvZ0RpZmYiLCJzeW5jTG9ja09wdGlvbnMiLCJzeW5jIiwiZHJ5UnVuIiwiY29tbWl0T3B0aW9ucyIsImNvbW1pdCIsIm1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJzeW5jRGVwZW5kZW5jaWVzIiwidGhyb3dPbkVycm9ycyIsInN5bmNMb2NrRmlsZSIsImNvbW1pdEZpbGVzIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsZUFBZSxFQUFFQyxtQkFBbUIsRUFBRUMsZUFBZSxRQUFRLHNCQUFzQjtBQUU1RixTQUFTQyxXQUFXLFFBQVEsOEJBQThCO0FBQzFELFNBQVNDLGtCQUFrQixRQUFRLHlDQUF5QztBQUU1RSxTQUFTQyxvQkFBb0JDLGNBQWMsUUFBUSx1Q0FBdUM7QUFFMUYsU0FBU0MsWUFBWSxRQUFRLHNDQUFzQztBQUNuRSxTQUFTQyxPQUFPLFFBQVEseUJBQXlCO0FBRWpELE9BQU8sTUFBTUMsMEJBQTBCUDtJQUN0QyxZQUFtQlEsSUFBYSxFQUFFQyxPQUF3QixDQUFFO1FBQzNELEtBQUssQ0FBQ0QsUUFBUUQ7UUFDZCxJQUFJLENBQUNHLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNDLFNBQVMsQ0FBQyxJQUFJWixvQkFBb0I7UUFDdkMsSUFBSSxDQUFDYSxrQkFBa0IsQ0FBQ0MsZUFBZUo7UUFDdkMsSUFBSSxDQUFDRyxrQkFBa0IsQ0FBQ0UsYUFBYUw7SUFDdEM7QUFDRDtBQVFBLE1BQU1LLG9CQUFvQmQ7SUFDekIsSUFBb0JlLFVBQVU7UUFDN0IsT0FBTztZQUFDWDtZQUFnQkM7WUFBY0o7U0FBWTtJQUNuRDtJQUVBLGFBQXFCO1FBQ3BCLEtBQUssQ0FBQ2E7UUFDTixJQUFJLENBQUNKLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNNLE1BQU0sQ0FDVixjQUNBLGlFQUNBO1FBRUQsSUFBSSxDQUFDQSxNQUFNLENBQUMsYUFBYSxpREFBaUQ7UUFDMUUsSUFBSSxDQUFDQSxNQUFNLENBQUMsWUFBWSw0Q0FBNEM7UUFDcEUsSUFBSSxDQUFDQSxNQUFNLENBQUMsdUJBQXVCO0lBQ3BDO0lBRUEsTUFBc0JDLElBQUlGLE9BQW9CLEVBQUVHLE9BQWdDLEVBQUU7UUFDakYsTUFBTUMsWUFBMEMsQ0FBQztRQUNqRCxNQUFNQyxnQkFDTCxPQUFPRixRQUFRRSxhQUFhLEtBQUssV0FBV0YsUUFBUUUsYUFBYSxHQUFHZCxRQUFRRSxJQUFJO1FBRWpGLE1BQU1hLHdCQUE2QztZQUNsREQ7WUFDQUUsU0FBU0osUUFBUUksT0FBTyxLQUFLO1FBQzlCO1FBRUEsTUFBTUMsa0JBQXVDO1lBQzVDQyxNQUFNTixRQUFRTSxJQUFJLEtBQUs7WUFDdkJDLFFBQVFQLFFBQVFPLE1BQU0sS0FBSztRQUM1QjtRQUVBLE1BQU1DLGdCQUFvQztZQUN6Q047WUFDQU8sUUFBUVQsUUFBUVMsTUFBTSxLQUFLO1lBQzNCRixRQUFRUCxRQUFRTyxNQUFNLEtBQUs7WUFDM0JHLFNBQVMsT0FBT1YsUUFBUVUsT0FBTyxLQUFLLFdBQVdWLFFBQVFVLE9BQU8sR0FBR0M7UUFDbEU7UUFFQVYsVUFBVVcsZ0JBQWdCLEdBQUcsTUFBTWYsUUFBUWUsZ0JBQWdCLENBQUNiLEdBQUcsQ0FBQ0k7UUFDaEUsSUFBSSxDQUFDVSxhQUFhLENBQUM7WUFBRUQsa0JBQWtCWCxVQUFVVyxnQkFBZ0I7UUFBQztRQUVsRVgsVUFBVWEsWUFBWSxHQUFHLE1BQU1qQixRQUFRaUIsWUFBWSxDQUFDZixHQUFHLENBQUNNO1FBQ3hELElBQUksQ0FBQ1EsYUFBYSxDQUFDO1lBQUVDLGNBQWNiLFVBQVVhLFlBQVk7UUFBQztRQUUxRGIsVUFBVWMsV0FBVyxHQUFHLE1BQU1sQixRQUFRa0IsV0FBVyxDQUFDaEIsR0FBRyxDQUFDUztRQUN0RCxJQUFJLENBQUNLLGFBQWEsQ0FBQztZQUFFRSxhQUFhZCxVQUFVYyxXQUFXO1FBQUM7UUFFeEQsT0FBT25DLGdCQUFnQm9DLE9BQU8sQ0FBQ2hCLFNBQVNDO0lBQ3pDO0FBQ0Q7QUFFQSxNQUFNTixzQkFBc0JiO0lBQzNCLElBQW9CZSxVQUFVO1FBQzdCLE9BQU87WUFBQ2I7U0FBbUI7SUFDNUI7SUFFQSxhQUFxQjtRQUNwQixLQUFLLENBQUNXO1FBQ04sSUFBSSxDQUFDSCxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDTSxNQUFNLENBQUMsaUJBQWlCO1FBQzdCLElBQUksQ0FBQ0EsTUFBTSxDQUNWLG1CQUNBLDRGQUNBO0lBRUY7QUFDRCJ9
@@ -0,0 +1,16 @@
1
+ import { ConfigurationOption, DecohereCommand, DryRunOption } from "@decohere/devkit/cli";
2
+ import { Docker } from "../actions/docker.action.js";
3
+ export class DockerCommand extends DecohereCommand {
4
+ get actions() {
5
+ return [
6
+ Docker
7
+ ];
8
+ }
9
+ constructor(name){
10
+ super(name);
11
+ this.description("Build Docker images for workspace projects");
12
+ this.addOption(new ConfigurationOption("release"));
13
+ this.addOption(new DryRunOption("Build images without pushing to a registry"));
14
+ this.option("--push", "Push built images after a successful build", false);
15
+ }
16
+ }
@@ -1,4 +1,4 @@
1
- import { DecohereCommand } from "@decohere/nexus/cli";
1
+ import { DecohereCommand } from "@decohere/devkit/cli";
2
2
  export class ForgeCommand extends DecohereCommand {
3
3
  constructor(commands, handler){
4
4
  super(ForgeCommand);
@@ -10,5 +10,3 @@ export class ForgeCommand extends DecohereCommand {
10
10
  return this.help();
11
11
  }
12
12
  }
13
-
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9mb3JnZS5jb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWN0aW9ucyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQge1xuXHR0eXBlIENvbW1hbmRIYW5kbGVyLFxuXHR0eXBlIENvbW1hbmRSZXNwb25zZSxcblx0dHlwZSBDb21tYW5kVHlwZSxcblx0RGVjb2hlcmVDb21tYW5kLFxufSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuXG5leHBvcnQgY2xhc3MgRm9yZ2VDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIGNvbnN0cnVjdG9yKGNvbW1hbmRzOiBSZWNvcmQ8c3RyaW5nLCBDb21tYW5kVHlwZT4sIGhhbmRsZXI6IENvbW1hbmRIYW5kbGVyKSB7XG5cdFx0c3VwZXIoRm9yZ2VDb21tYW5kKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiUnVuIGZvcmdlIHdvcmtzcGFjZSB3b3JrZmxvd3NcIik7XG5cdFx0dGhpcy5leGl0T3ZlcnJpZGUoKTtcblx0XHR0aGlzLnJlZ2lzdGVyU3ViY29tbWFuZChjb21tYW5kcywgaGFuZGxlcik7XG5cdH1cblxuXHRwdWJsaWMgcnVuKF9hY3Rpb25zOiBBY3Rpb25zLCBfb3B0aW9uczogbmV2ZXIpOiBQcm9taXNlPENvbW1hbmRSZXNwb25zZT4ge1xuXHRcdHJldHVybiB0aGlzLmhlbHAoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkRlY29oZXJlQ29tbWFuZCIsIkZvcmdlQ29tbWFuZCIsImNvbW1hbmRzIiwiaGFuZGxlciIsImRlc2NyaXB0aW9uIiwiZXhpdE92ZXJyaWRlIiwicmVnaXN0ZXJTdWJjb21tYW5kIiwicnVuIiwiX2FjdGlvbnMiLCJfb3B0aW9ucyIsImhlbHAiXSwibWFwcGluZ3MiOiJBQUNBLFNBSUNBLGVBQWUsUUFDVCxzQkFBc0I7QUFFN0IsT0FBTyxNQUFNQyxxQkFBcUJEO0lBQ2pDLFlBQW1CRSxRQUFxQyxFQUFFQyxPQUF1QixDQUFFO1FBQ2xGLEtBQUssQ0FBQ0Y7UUFDTixJQUFJLENBQUNHLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNDLFlBQVk7UUFDakIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQ0osVUFBVUM7SUFDbkM7SUFFT0ksSUFBSUMsUUFBaUIsRUFBRUMsUUFBZSxFQUE0QjtRQUN4RSxPQUFPLElBQUksQ0FBQ0MsSUFBSTtJQUNqQjtBQUNEIn0=
@@ -1,8 +1,11 @@
1
1
  export * from "./build.command.js";
2
2
  export * from "./dependency.command.js";
3
+ export * from "./docker.command.js";
3
4
  export * from "./forge.command.js";
5
+ export * from "./link.command.js";
6
+ export * from "./package.command.js";
7
+ export * from "./paths.command.js";
4
8
  export * from "./publish.command.js";
5
9
  export * from "./tag.command.js";
10
+ export * from "./typecheck.command.js";
6
11
  export * from "./version.command.js";
7
-
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idWlsZC5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZvcmdlLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3B1Ymxpc2guY29tbWFuZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFnLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnNpb24uY29tbWFuZC5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsMEJBQTBCO0FBQ3hDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsdUJBQXVCO0FBQ3JDLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsdUJBQXVCIn0=
@@ -0,0 +1,67 @@
1
+ import { CommandResponse, ConfigurationOption, DecohereCommand, NoCleanOptions } from "@decohere/devkit/cli";
2
+ import auto from "async/auto.js";
3
+ import { Build } from "../actions/build.action.js";
4
+ import { Clean } from "../actions/clean.action.js";
5
+ import { Copy } from "../actions/copy.action.js";
6
+ import { Link } from "../actions/link.action.js";
7
+ import { Unlink } from "../actions/unlink.action.js";
8
+ import { Watch } from "../actions/watch.action.js";
9
+ export class LinkCommand extends DecohereCommand {
10
+ get actions() {
11
+ return [
12
+ Clean,
13
+ Build,
14
+ Copy,
15
+ Link,
16
+ Watch
17
+ ];
18
+ }
19
+ constructor(name){
20
+ super(name ?? "link");
21
+ this.description("Symlink workspace build outputs into a consumer project's node_modules");
22
+ this.addOption(new ConfigurationOption("link"));
23
+ this.addOption(new NoCleanOptions(true));
24
+ this.option("--build", "Run forge build concurrently after linking", false);
25
+ this.option("--no-copy", "Will not copy files like package.json to outdir", true);
26
+ this.option("--target-dir <dir>", "Path to the consumer project root");
27
+ this.option("--watch", "Watch for changes after linking", false);
28
+ }
29
+ runsUntilStopped(options) {
30
+ return options.watch === true;
31
+ }
32
+ run = async (actions, options)=>{
33
+ const responses = await auto({
34
+ clean: async ()=>await actions.clean.run(options),
35
+ link: [
36
+ "clean",
37
+ async ()=>await actions.link.run(options)
38
+ ],
39
+ build: [
40
+ "link",
41
+ async ()=>await actions.build.run(options)
42
+ ],
43
+ copy: [
44
+ "link",
45
+ async ()=>await actions.copy.run(options)
46
+ ],
47
+ watch: [
48
+ "link",
49
+ async ()=>await actions.watch.run(options)
50
+ ]
51
+ });
52
+ return CommandResponse.success(options, responses);
53
+ };
54
+ }
55
+ export class UnlinkCommand extends DecohereCommand {
56
+ get actions() {
57
+ return [
58
+ Unlink
59
+ ];
60
+ }
61
+ constructor(name, handler){
62
+ super(name ?? "unlink");
63
+ this.description("Remove workspace symlinks from a consumer project's node_modules");
64
+ this.option("--target-dir <dir>", "Path to the consumer project root");
65
+ if (handler) this.action(handler);
66
+ }
67
+ }
@@ -0,0 +1,26 @@
1
+ import { DecohereCommand } from "@decohere/devkit/cli";
2
+ import { PackageDeployable } from "../actions/package.action.js";
3
+ export class PackageCommand extends DecohereCommand {
4
+ get actions() {
5
+ return [
6
+ PackageDeployable
7
+ ];
8
+ }
9
+ constructor(name){
10
+ super(name);
11
+ this.description("Package a deployable (a project with a Dockerfile) with the workspace libraries it imports");
12
+ this.argument("[project]", "Package name of the deployable; omit to package every project with a Dockerfile");
13
+ }
14
+ /**
15
+ * Commander passes the positional before the options; the CLI host reads only options,
16
+ * so the project name is stashed on them.
17
+ */ action(fn) {
18
+ return super.action((...args)=>{
19
+ const cmd = args.at(-1);
20
+ const opts = args.at(-2);
21
+ const project = typeof args[0] === "string" ? args[0] : undefined;
22
+ cmd.setOptionValue("project", project);
23
+ return fn(opts, cmd);
24
+ });
25
+ }
26
+ }
@@ -0,0 +1,14 @@
1
+ import { DecohereCommand } from "@decohere/devkit/cli";
2
+ import { Paths } from "../actions/paths.action.js";
3
+ export class PathsCommand extends DecohereCommand {
4
+ get actions() {
5
+ return [
6
+ Paths
7
+ ];
8
+ }
9
+ constructor(name){
10
+ super(name);
11
+ this.description("Write tsconfig.paths.json: tsconfig paths for the workspace packages and their exported subpaths");
12
+ this.option("--check", "Fail if tsconfig.paths.json is missing or out of date", false);
13
+ }
14
+ }
@@ -1,4 +1,4 @@
1
- import { ConfigurationOption, DecohereCommand, DryRunOption } from "@decohere/nexus/cli";
1
+ import { ConfigurationOption, DecohereCommand, DryRunOption } from "@decohere/devkit/cli";
2
2
  import { Publish } from "../actions/publish.action.js";
3
3
  export class PublishCommand extends DecohereCommand {
4
4
  get actions() {
@@ -18,5 +18,3 @@ export class PublishCommand extends DecohereCommand {
18
18
  this.option("--prompt-otp", "Prompt interactively for npm OTP only (use when already logged in)", false);
19
19
  }
20
20
  }
21
-
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9wdWJsaXNoLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBEcnlSdW5PcHRpb24gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgUHVibGlzaCB9IGZyb20gXCIuLi9hY3Rpb25zL3B1Ymxpc2guYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoQ29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZCB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW1B1Ymxpc2hdO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJQdWJsaXNoIHdvcmtzcGFjZSBwYWNrYWdlc1wiKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcInJlbGVhc2VcIikpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBEcnlSdW5PcHRpb24oXCJSdW4gbnBtIHB1Ymxpc2ggdXNpbmcgZHJ5LXJ1biBmbGFnXCIpKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tY2hhbm5lbCA8Y2hhbm5lbD5cIiwgXCJUaGUgcmVsZWFzZSBjaGFubmVsXCIsIFwiYmV0YVwiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tdG9rZW4gPHRva2VuPlwiLCBcIm5wbSBhY2Nlc3MgdG9rZW4gKHVzZWQgb25seSBmb3IgdGhpcyBjb21tYW5kKVwiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tb3RwIDxvdHA+XCIsIFwibnBtIG9uZS10aW1lIHBhc3N3b3JkIGZvciAyRkEtcHJvdGVjdGVkIHB1Ymxpc2hcIik7XG5cdFx0dGhpcy5vcHRpb24oXCItLXByb21wdC1hdXRoXCIsIFwiUHJvbXB0IGludGVyYWN0aXZlbHkgZm9yIG5wbSB0b2tlbiBhbmQgT1RQXCIsIGZhbHNlKTtcblx0XHR0aGlzLm9wdGlvbihcblx0XHRcdFwiLS1wcm9tcHQtb3RwXCIsXG5cdFx0XHRcIlByb21wdCBpbnRlcmFjdGl2ZWx5IGZvciBucG0gT1RQIG9ubHkgKHVzZSB3aGVuIGFscmVhZHkgbG9nZ2VkIGluKVwiLFxuXHRcdFx0ZmFsc2UsXG5cdFx0KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvbmZpZ3VyYXRpb25PcHRpb24iLCJEZWNvaGVyZUNvbW1hbmQiLCJEcnlSdW5PcHRpb24iLCJQdWJsaXNoIiwiUHVibGlzaENvbW1hbmQiLCJhY3Rpb25zIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiYWRkT3B0aW9uIiwib3B0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsRUFBRUMsZUFBZSxFQUFFQyxZQUFZLFFBQVEsc0JBQXNCO0FBQ3pGLFNBQVNDLE9BQU8sUUFBUSwrQkFBK0I7QUFFdkQsT0FBTyxNQUFNQyx1QkFBdUJIO0lBQ25DLElBQW9CSSxVQUFVO1FBQzdCLE9BQU87WUFBQ0Y7U0FBUTtJQUNqQjtJQUVBLFlBQW1CRyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlSLG9CQUFvQjtRQUN2QyxJQUFJLENBQUNRLFNBQVMsQ0FBQyxJQUFJTixhQUFhO1FBQ2hDLElBQUksQ0FBQ08sTUFBTSxDQUFDLHVCQUF1Qix1QkFBdUI7UUFDMUQsSUFBSSxDQUFDQSxNQUFNLENBQUMsbUJBQW1CO1FBQy9CLElBQUksQ0FBQ0EsTUFBTSxDQUFDLGVBQWU7UUFDM0IsSUFBSSxDQUFDQSxNQUFNLENBQUMsaUJBQWlCLDhDQUE4QztRQUMzRSxJQUFJLENBQUNBLE1BQU0sQ0FDVixnQkFDQSxzRUFDQTtJQUVGO0FBQ0QifQ==
@@ -1,4 +1,4 @@
1
- import { DecohereCommand, DryRunOption } from "@decohere/nexus/cli";
1
+ import { DecohereCommand, DryRunOption } from "@decohere/devkit/cli";
2
2
  import { Tag } from "../actions/tag.action.js";
3
3
  export class TagCommand extends DecohereCommand {
4
4
  get actions() {
@@ -14,5 +14,3 @@ export class TagCommand extends DecohereCommand {
14
14
  this.addOption(new DryRunOption("Print the tag without creating it"));
15
15
  }
16
16
  }
17
-
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy90YWcuY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNvaGVyZUNvbW1hbmQsIERyeVJ1bk9wdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUYWcgfSBmcm9tIFwiLi4vYWN0aW9ucy90YWcuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBUYWdDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbVGFnXTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQ3JlYXRlIGFuZCBvcHRpb25hbGx5IHB1c2ggYSBnaXQgdGFnIGZvciB0aGUgd29ya3NwYWNlIHZlcnNpb25cIik7XG5cdFx0dGhpcy5vcHRpb24oXCItLXByZWZpeCA8cHJlZml4PlwiLCBcIlRhZyBwcmVmaXhcIiwgXCJ2XCIpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1wdXNoXCIsIFwiUHVzaCB0aGUgdGFnIGFuZCBjdXJyZW50IGJyYW5jaCB0byBvcmlnaW4gYWZ0ZXIgdGFnZ2luZ1wiLCBmYWxzZSk7XG5cdFx0dGhpcy5hZGRPcHRpb24obmV3IERyeVJ1bk9wdGlvbihcIlByaW50IHRoZSB0YWcgd2l0aG91dCBjcmVhdGluZyBpdFwiKSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJEZWNvaGVyZUNvbW1hbmQiLCJEcnlSdW5PcHRpb24iLCJUYWciLCJUYWdDb21tYW5kIiwiYWN0aW9ucyIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbiIsImFkZE9wdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsZUFBZSxFQUFFQyxZQUFZLFFBQVEsc0JBQXNCO0FBQ3BFLFNBQVNDLEdBQUcsUUFBUSwyQkFBMkI7QUFFL0MsT0FBTyxNQUFNQyxtQkFBbUJIO0lBQy9CLElBQW9CSSxVQUFVO1FBQzdCLE9BQU87WUFBQ0Y7U0FBSTtJQUNiO0lBRUEsWUFBbUJHLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxNQUFNLENBQUMscUJBQXFCLGNBQWM7UUFDL0MsSUFBSSxDQUFDQSxNQUFNLENBQUMsVUFBVSwyREFBMkQ7UUFDakYsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSVAsYUFBYTtJQUNqQztBQUNEIn0=
@@ -0,0 +1,14 @@
1
+ import { ConfigurationOption, DecohereCommand } from "@decohere/devkit/cli";
2
+ import { TypeCheck } from "../actions/typecheck.action.js";
3
+ export class TypeCheckCommand extends DecohereCommand {
4
+ get actions() {
5
+ return [
6
+ TypeCheck
7
+ ];
8
+ }
9
+ constructor(name){
10
+ super(name);
11
+ this.description("Type-check workspace projects without emitting files");
12
+ this.addOption(new ConfigurationOption("debug"));
13
+ }
14
+ }
@@ -1,4 +1,4 @@
1
- import { ConfigurationOption, DecohereCommand, DryRunOption } from "@decohere/nexus/cli";
1
+ import { ConfigurationOption, DecohereCommand, DryRunOption } from "@decohere/devkit/cli";
2
2
  import { SyncLockFile } from "../actions/sync-lock-file.action.js";
3
3
  import { DefaultChannel, DefaultReleaseType, Version } from "../actions/version.action.js";
4
4
  export class VersionCommand extends DecohereCommand {
@@ -22,5 +22,3 @@ export class VersionCommand extends DecohereCommand {
22
22
  this.option("--from-changesets", "Read pending .changeset entries to determine the highest bump type (major > minor > patch)", false);
23
23
  }
24
24
  }
25
-
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy92ZXJzaW9uLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBEcnlSdW5PcHRpb24gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgU3luY0xvY2tGaWxlIH0gZnJvbSBcIi4uL2FjdGlvbnMvc3luYy1sb2NrLWZpbGUuYWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2hhbm5lbCwgRGVmYXVsdFJlbGVhc2VUeXBlLCBWZXJzaW9uIH0gZnJvbSBcIi4uL2FjdGlvbnMvdmVyc2lvbi5hY3Rpb24uanNcIjtcblxudHlwZSBWZXJzaW9uQWN0aW9ucyA9IHsgdmVyc2lvbjogVmVyc2lvbjsgc3luY0xvY2tGaWxlOiBTeW5jTG9ja0ZpbGUgfTtcblxuZXhwb3J0IGNsYXNzIFZlcnNpb25Db21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kPFZlcnNpb25BY3Rpb25zPiB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW1ZlcnNpb24sIFN5bmNMb2NrRmlsZV07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIkJ1bXAgd29ya3NwYWNlIHBhY2thZ2UgdmVyc2lvbnNcIik7XG5cdFx0dGhpcy5hZGRPcHRpb24obmV3IENvbmZpZ3VyYXRpb25PcHRpb24oXCJyZWxlYXNlXCIpKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgRHJ5UnVuT3B0aW9uKFwiUnVuIG5wbSBwdWJsaXNoIHVzaW5nIGRyeS1ydW4gZmxhZ1wiKSk7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tcmVsZWFzZS10eXBlIDxyZWxlYXNlVHlwZT5cIixcblx0XHRcdFwiVGhlIHNlbXZlciByZWxlYXNlIHR5cGU6IG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZXJlbGVhc2VcIixcblx0XHRcdERlZmF1bHRSZWxlYXNlVHlwZSxcblx0XHQpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLWNoYW5uZWwgPGNoYW5uZWw+XCIsXG5cdFx0XHRcIlRoZSByZWxlYXNlIGNoYW5uZWwgKHByZWlkIGZvciBwcmVyZWxlYXNlcywgZGlzdC10YWcgZm9yIHB1Ymxpc2gpXCIsXG5cdFx0XHREZWZhdWx0Q2hhbm5lbCxcblx0XHQpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLXZlcnNpb24gPHZlcnNpb24+XCIsXG5cdFx0XHRcIkV4cGxpY2l0IGJhc2UgdmVyc2lvbiB0byBpbmNyZW1lbnQgKG92ZXJyaWRlcyBnaXQgdGFnIGRpc2NvdmVyeSlcIixcblx0XHQpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1uby1zeW5jXCIsIFwiU2tpcCBsb2NrZmlsZSBzeW5jIGFmdGVyIHZlcnNpb25pbmdcIiwgdHJ1ZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLWNvbW1pdFwiLCBcIkNvbW1pdCB2ZXJzaW9uZWQgcGFja2FnZS5qc29uIGZpbGVzIGFmdGVyIGJ1bXBpbmdcIiwgZmFsc2UpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1tZXNzYWdlIDxtZXNzYWdlPlwiLCBcIkNvbW1pdCBtZXNzYWdlICh1c2VkIHdpdGggLS1jb21taXQpXCIpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLWZyb20tY2hhbmdlc2V0c1wiLFxuXHRcdFx0XCJSZWFkIHBlbmRpbmcgLmNoYW5nZXNldCBlbnRyaWVzIHRvIGRldGVybWluZSB0aGUgaGlnaGVzdCBidW1wIHR5cGUgKG1ham9yID4gbWlub3IgPiBwYXRjaClcIixcblx0XHRcdGZhbHNlLFxuXHRcdCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJDb25maWd1cmF0aW9uT3B0aW9uIiwiRGVjb2hlcmVDb21tYW5kIiwiRHJ5UnVuT3B0aW9uIiwiU3luY0xvY2tGaWxlIiwiRGVmYXVsdENoYW5uZWwiLCJEZWZhdWx0UmVsZWFzZVR5cGUiLCJWZXJzaW9uIiwiVmVyc2lvbkNvbW1hbmQiLCJhY3Rpb25zIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiYWRkT3B0aW9uIiwib3B0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsRUFBRUMsZUFBZSxFQUFFQyxZQUFZLFFBQVEsc0JBQXNCO0FBQ3pGLFNBQVNDLFlBQVksUUFBUSxzQ0FBc0M7QUFDbkUsU0FBU0MsY0FBYyxFQUFFQyxrQkFBa0IsRUFBRUMsT0FBTyxRQUFRLCtCQUErQjtBQUkzRixPQUFPLE1BQU1DLHVCQUF1Qk47SUFDbkMsSUFBb0JPLFVBQVU7UUFDN0IsT0FBTztZQUFDRjtZQUFTSDtTQUFhO0lBQy9CO0lBRUEsWUFBbUJNLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSVgsb0JBQW9CO1FBQ3ZDLElBQUksQ0FBQ1csU0FBUyxDQUFDLElBQUlULGFBQWE7UUFDaEMsSUFBSSxDQUFDVSxNQUFNLENBQ1YsZ0NBQ0EsNERBQ0FQO1FBRUQsSUFBSSxDQUFDTyxNQUFNLENBQ1YsdUJBQ0EscUVBQ0FSO1FBRUQsSUFBSSxDQUFDUSxNQUFNLENBQ1YsdUJBQ0E7UUFFRCxJQUFJLENBQUNBLE1BQU0sQ0FBQyxhQUFhLHVDQUF1QztRQUNoRSxJQUFJLENBQUNBLE1BQU0sQ0FBQyxZQUFZLHFEQUFxRDtRQUM3RSxJQUFJLENBQUNBLE1BQU0sQ0FBQyx1QkFBdUI7UUFDbkMsSUFBSSxDQUFDQSxNQUFNLENBQ1YscUJBQ0EsOEZBQ0E7SUFFRjtBQUNEIn0=
package/es6/src/const.js CHANGED
@@ -56,5 +56,3 @@ export const BUILT_IN_MODULES = [
56
56
  "worker_threads",
57
57
  "zlib"
58
58
  ];
59
-
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb25zdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1dDX0NPTkZJRyA9IFwiLnN3Y3JjXCI7XG5leHBvcnQgY29uc3QgTk9ERV9NT0RVTEVTID0gXCJub2RlX21vZHVsZXNcIjtcbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9NT0RVTEVTID0gW1xuXHRcImFzc2VydFwiLFxuXHRcImFzc2VydC9zdHJpY3RcIixcblx0XCJhc3luY19ob29rc1wiLFxuXHRcImJ1ZmZlclwiLFxuXHRcImNoaWxkX3Byb2Nlc3NcIixcblx0XCJjbHVzdGVyXCIsXG5cdFwiY29uc29sZVwiLFxuXHRcImNvbnN0YW50c1wiLFxuXHRcImNyeXB0b1wiLFxuXHRcImRncmFtXCIsXG5cdFwiZGlhZ25vc3RpY3NfY2hhbm5lbFwiLFxuXHRcImRuc1wiLFxuXHRcImRucy9wcm9taXNlc1wiLFxuXHRcImRvbWFpblwiLFxuXHRcImV2ZW50c1wiLFxuXHRcImZzXCIsXG5cdFwiZnMvcHJvbWlzZXNcIixcblx0XCJodHRwXCIsXG5cdFwiaHR0cDJcIixcblx0XCJodHRwc1wiLFxuXHRcImluc3BlY3RvclwiLFxuXHRcImluc3BlY3Rvci9wcm9taXNlc1wiLFxuXHRcIm1vZHVsZVwiLFxuXHRcIm5ldFwiLFxuXHRcIm9zXCIsXG5cdFwicGF0aFwiLFxuXHRcInBhdGgvcG9zaXhcIixcblx0XCJwYXRoL3dpbjMyXCIsXG5cdFwicGVyZl9ob29rc1wiLFxuXHRcInByb2Nlc3NcIixcblx0XCJwdW55Y29kZVwiLFxuXHRcInF1ZXJ5c3RyaW5nXCIsXG5cdFwicmVhZGxpbmVcIixcblx0XCJyZWFkbGluZS9wcm9taXNlc1wiLFxuXHRcInJlcGxcIixcblx0XCJzdHJlYW1cIixcblx0XCJzdHJlYW0vY29uc3VtZXJzXCIsXG5cdFwic3RyZWFtL3Byb21pc2VzXCIsXG5cdFwic3RyZWFtL3dlYlwiLFxuXHRcInN0cmluZ19kZWNvZGVyXCIsXG5cdFwic3lzXCIsXG5cdFwidGltZXJzXCIsXG5cdFwidGltZXJzL3Byb21pc2VzXCIsXG5cdFwidGxzXCIsXG5cdFwidHJhY2VfZXZlbnRzXCIsXG5cdFwidHR5XCIsXG5cdFwidXJsXCIsXG5cdFwidXRpbFwiLFxuXHRcInV0aWwvdHlwZXNcIixcblx0XCJ2OFwiLFxuXHRcInZtXCIsXG5cdFwid2FzaVwiLFxuXHRcIndvcmtlcl90aHJlYWRzXCIsXG5cdFwiemxpYlwiLFxuXTtcbiJdLCJuYW1lcyI6WyJTV0NfQ09ORklHIiwiTk9ERV9NT0RVTEVTIiwiQlVJTFRfSU5fTU9EVUxFUyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSxhQUFhLFNBQVM7QUFDbkMsT0FBTyxNQUFNQyxlQUFlLGVBQWU7QUFDM0MsT0FBTyxNQUFNQyxtQkFBbUI7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0EsQ0FBQyJ9
@@ -0,0 +1,30 @@
1
+ import path from "node:path";
2
+ import { findWorkspaceRoot, UserConfigFactory, WORKSPACE_CONFIG, WorkspaceFactory } from "@decohere/workspace";
3
+ import { DefaultConfigurations, WorkspaceDefaults } from "./workspace.config.js";
4
+ /**
5
+ * The workspace every Decohere tool sees (forge, the flux CLI and `flux.run`): forge's
6
+ * defaults, the user's `.decohere.js`, and a root found by searching upward from cwd.
7
+ */ export async function createWorkspace(options = {}) {
8
+ const rootDir = options.rootDir ?? defaultRootDir();
9
+ const configFile = options.configFile ?? (rootDir === WorkspaceDefaults.rootDir ? undefined : path.join(rootDir, WORKSPACE_CONFIG));
10
+ // `projects` is dropped too: forge's defaults set it to undefined, which would override the
11
+ // user's per-project settings (docker, ui) in the merge.
12
+ const { configurations: _, projects: __, ...forgeDefaults } = WorkspaceDefaults;
13
+ const userConfig = await UserConfigFactory.getUserConfig(configFile);
14
+ // Only apply forge default configurations when user config doesn't provide any.
15
+ // This ensures user-defined configurations take priority while still providing
16
+ // sensible defaults (debug + release) when no config file is present.
17
+ const configurations = userConfig.configurations?.length ? undefined : DefaultConfigurations;
18
+ return WorkspaceFactory.create({
19
+ ...forgeDefaults,
20
+ ...configurations ? {
21
+ configurations
22
+ } : {},
23
+ configFile,
24
+ rootDir
25
+ });
26
+ }
27
+ /** `./` when cwd is the root (keeps paths relative as before), else the root above it. */ function defaultRootDir() {
28
+ const root = findWorkspaceRoot(process.cwd());
29
+ return root === process.cwd() ? WorkspaceDefaults.rootDir ?? "./" : root;
30
+ }
package/es6/src/errors.js CHANGED
@@ -1,4 +1,4 @@
1
- export { WorkspaceConfigurationError } from "@decohere/mesh";
1
+ export { WorkspaceConfigurationError } from "@decohere/workspace";
2
2
  export class ForgeError extends Error {
3
3
  }
4
4
  export function formatUnknownError(reason) {
@@ -14,5 +14,3 @@ export function formatUnknownError(reason) {
14
14
  return "Unknown error";
15
15
  }
16
16
  }
17
-
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9lcnJvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5leHBvcnQgY2xhc3MgRm9yZ2VFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVbmtub3duRXJyb3IocmVhc29uOiB1bmtub3duKTogc3RyaW5nIHtcblx0aWYgKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0cmV0dXJuIHJlYXNvbi5tZXNzYWdlO1xuXHR9XG5cblx0aWYgKHR5cGVvZiByZWFzb24gPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm4gcmVhc29uO1xuXHR9XG5cblx0dHJ5IHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVhc29uKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIFwiVW5rbm93biBlcnJvclwiO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIiwiRm9yZ2VFcnJvciIsIkVycm9yIiwiZm9ybWF0VW5rbm93bkVycm9yIiwicmVhc29uIiwibWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLDJCQUEyQixRQUFRLGlCQUFpQjtBQUM3RCxPQUFPLE1BQU1DLG1CQUFtQkM7QUFBTztBQUV2QyxPQUFPLFNBQVNDLG1CQUFtQkMsTUFBZTtJQUNqRCxJQUFJQSxrQkFBa0JGLE9BQU87UUFDNUIsT0FBT0UsT0FBT0MsT0FBTztJQUN0QjtJQUVBLElBQUksT0FBT0QsV0FBVyxVQUFVO1FBQy9CLE9BQU9BO0lBQ1I7SUFFQSxJQUFJO1FBQ0gsT0FBT0UsS0FBS0MsU0FBUyxDQUFDSDtJQUN2QixFQUFFLE9BQU07UUFDUCxPQUFPO0lBQ1I7QUFDRCJ9
@@ -9,10 +9,10 @@ function _ts_metadata(k, v) {
9
9
  }
10
10
  import fs from "node:fs";
11
11
  import path from "node:path";
12
- import { Project } from "@decohere/mesh";
13
- import { memoize } from "@decohere/nexus/caching";
14
- import { extension } from "@decohere/nexus/extensibility";
15
- import { io } from "@decohere/nexus/io";
12
+ import { Project } from "@decohere/workspace";
13
+ import { memoize } from "@decohere/core/caching";
14
+ import { extension } from "@decohere/core/extensibility";
15
+ import { io } from "@decohere/core/io";
16
16
  import { SWC_CONFIG } from "../const.js";
17
17
  import { SwcConfig } from "../types/swc-config.type.js";
18
18
  export class ProjectExtensions {
@@ -37,7 +37,7 @@ export class ProjectExtensions {
37
37
  }
38
38
  static swcConfigPaths(project) {
39
39
  return [
40
- path.join(project.projectDirectory, SWC_CONFIG),
40
+ path.join(project.projectRoot, SWC_CONFIG),
41
41
  path.join(project.rootDir, SWC_CONFIG)
42
42
  ];
43
43
  }
@@ -75,5 +75,3 @@ _ts_decorate([
75
75
  ]),
76
76
  _ts_metadata("design:returntype", typeof SwcConfig === "undefined" ? Object : SwcConfig)
77
77
  ], ProjectExtensions, "getSwcConfigSync", null);
78
-
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9leHRlbnNpb25zL3Byb2plY3QuZXh0ZW5zaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IGV4dGVuc2lvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBTV0NfQ09ORklHIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGUuanNcIjtcbmltcG9ydCB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvbWVzaFwiIHtcblx0aW50ZXJmYWNlIFByb2plY3Qge1xuXHRcdGdldEZvcmdlQ29uZmlndXJhdGlvbigpOiBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0Z2V0U3djQ29uZmlnKCk6IFByb21pc2U8U3djQ29uZmlnPjtcblx0XHRnZXRTd2NDb25maWdTeW5jKCk6IFN3Y0NvbmZpZztcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUHJvamVjdEV4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKFByb2plY3QpXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKHByb2plY3Q6IFByb2plY3QpOiBGb3JnZUNvbmZpZ3VyYXRpb24ge1xuXHRcdHJldHVybiBwcm9qZWN0LmNvbmZpZ3VyYXRpb24gYXMgRm9yZ2VDb25maWd1cmF0aW9uO1xuXHR9XG5cblx0QGV4dGVuc2lvbihQcm9qZWN0KVxuXHRAbWVtb2l6ZSgpXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0U3djQ29uZmlnKHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFN3Y0NvbmZpZz4ge1xuXHRcdGZvciAoY29uc3QgY29uZmlnUGF0aCBvZiBQcm9qZWN0RXh0ZW5zaW9ucy5zd2NDb25maWdQYXRocyhwcm9qZWN0KSkge1xuXHRcdFx0aWYgKGF3YWl0IGlvLmZpbGVFeGlzdHMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoYXdhaXQgaW8ucmVhZEpzb25GaWxlKGNvbmZpZ1BhdGgpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoKTtcblx0fVxuXG5cdEBleHRlbnNpb24oUHJvamVjdClcblx0QG1lbW9pemUoKVxuXHRwdWJsaWMgc3RhdGljIGdldFN3Y0NvbmZpZ1N5bmMocHJvamVjdDogUHJvamVjdCk6IFN3Y0NvbmZpZyB7XG5cdFx0Zm9yIChjb25zdCBjb25maWdQYXRoIG9mIFByb2plY3RFeHRlbnNpb25zLnN3Y0NvbmZpZ1BhdGhzKHByb2plY3QpKSB7XG5cdFx0XHRpZiAoUHJvamVjdEV4dGVuc2lvbnMuZmlsZUV4aXN0c1N5bmMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY29uZmlnUGF0aCwgXCJ1dGY4XCIpKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBuZXcgU3djQ29uZmlnKCk7XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBzd2NDb25maWdQYXRocyhwcm9qZWN0OiBQcm9qZWN0KTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHRwYXRoLmpvaW4ocHJvamVjdC5wcm9qZWN0RGlyZWN0b3J5LCBTV0NfQ09ORklHKSxcblx0XHRcdHBhdGguam9pbihwcm9qZWN0LnJvb3REaXIsIFNXQ19DT05GSUcpLFxuXHRcdF07XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBmaWxlRXhpc3RzU3luYyhmaWxlUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0dHJ5IHtcblx0XHRcdHJldHVybiBmcy5zdGF0U3luYyhmaWxlUGF0aCkuaXNGaWxlKCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOlsiZnMiLCJwYXRoIiwiUHJvamVjdCIsIm1lbW9pemUiLCJleHRlbnNpb24iLCJpbyIsIlNXQ19DT05GSUciLCJTd2NDb25maWciLCJQcm9qZWN0RXh0ZW5zaW9ucyIsImdldEZvcmdlQ29uZmlndXJhdGlvbiIsInByb2plY3QiLCJjb25maWd1cmF0aW9uIiwiZ2V0U3djQ29uZmlnIiwiY29uZmlnUGF0aCIsInN3Y0NvbmZpZ1BhdGhzIiwiZmlsZUV4aXN0cyIsInJlYWRKc29uRmlsZSIsImdldFN3Y0NvbmZpZ1N5bmMiLCJmaWxlRXhpc3RzU3luYyIsIkpTT04iLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsImpvaW4iLCJwcm9qZWN0RGlyZWN0b3J5Iiwicm9vdERpciIsImZpbGVQYXRoIiwic3RhdFN5bmMiLCJpc0ZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFFBQVEsVUFBVTtBQUN6QixPQUFPQyxVQUFVLFlBQVk7QUFDN0IsU0FBU0MsT0FBTyxRQUFRLGlCQUFpQjtBQUN6QyxTQUFTQyxPQUFPLFFBQVEsMEJBQTBCO0FBQ2xELFNBQVNDLFNBQVMsUUFBUSxnQ0FBZ0M7QUFDMUQsU0FBU0MsRUFBRSxRQUFRLHFCQUFxQjtBQUN4QyxTQUFTQyxVQUFVLFFBQVEsY0FBYztBQUV6QyxTQUFTQyxTQUFTLFFBQVEsOEJBQThCO0FBVXhELE9BQU8sTUFBTUM7SUFDWixPQUNjQyxzQkFBc0JDLE9BQWdCLEVBQXNCO1FBQ3pFLE9BQU9BLFFBQVFDLGFBQWE7SUFDN0I7SUFFQSxhQUVvQkMsYUFBYUYsT0FBZ0IsRUFBc0I7UUFDdEUsS0FBSyxNQUFNRyxjQUFjTCxrQkFBa0JNLGNBQWMsQ0FBQ0osU0FBVTtZQUNuRSxJQUFJLE1BQU1MLEdBQUdVLFVBQVUsQ0FBQ0YsYUFBYTtnQkFDcEMsT0FBTyxJQUFJTixVQUFVLE1BQU1GLEdBQUdXLFlBQVksQ0FBQ0g7WUFDNUM7UUFDRDtRQUNBLE9BQU8sSUFBSU47SUFDWjtJQUVBLE9BRWNVLGlCQUFpQlAsT0FBZ0IsRUFBYTtRQUMzRCxLQUFLLE1BQU1HLGNBQWNMLGtCQUFrQk0sY0FBYyxDQUFDSixTQUFVO1lBQ25FLElBQUlGLGtCQUFrQlUsY0FBYyxDQUFDTCxhQUFhO2dCQUNqRCxPQUFPLElBQUlOLFVBQVVZLEtBQUtDLEtBQUssQ0FBQ3BCLEdBQUdxQixZQUFZLENBQUNSLFlBQVk7WUFDN0Q7UUFDRDtRQUNBLE9BQU8sSUFBSU47SUFDWjtJQUVBLE9BQWVPLGVBQWVKLE9BQWdCLEVBQVk7UUFDekQsT0FBTztZQUNOVCxLQUFLcUIsSUFBSSxDQUFDWixRQUFRYSxnQkFBZ0IsRUFBRWpCO1lBQ3BDTCxLQUFLcUIsSUFBSSxDQUFDWixRQUFRYyxPQUFPLEVBQUVsQjtTQUMzQjtJQUNGO0lBRUEsT0FBZVksZUFBZU8sUUFBZ0IsRUFBVztRQUN4RCxJQUFJO1lBQ0gsT0FBT3pCLEdBQUcwQixRQUFRLENBQUNELFVBQVVFLE1BQU07UUFDcEMsRUFBRSxPQUFNO1lBQ1AsT0FBTztRQUNSO0lBQ0Q7QUFDRCJ9
@@ -5,8 +5,9 @@ function _ts_decorate(decorators, target, key, desc) {
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  }
7
7
  import path from "node:path";
8
- import { Trace } from "@decohere/nexus/diagnostics";
9
- import { merge } from "@decohere/nexus/objects";
8
+ import { packageAliases } from "@decohere/workspace";
9
+ import { Trace } from "@decohere/devkit/diagnostics";
10
+ import { merge } from "@decohere/core/objects";
10
11
  import { ForgeError } from "../errors.js";
11
12
  const defaultOptions = {
12
13
  jsc: {
@@ -32,10 +33,15 @@ export class SwcConfigFactory {
32
33
  * Creates a base config for a project+target combination, without a filename.
33
34
  * Call once per (project, target) and then use createFileConfig() per file.
34
35
  */ createBaseConfig(buildTarget, configOptions) {
35
- const { userConfig, tsConfig, aliasPaths } = configOptions;
36
+ const { userConfig, tsConfig, aliasPaths, sourceMaps, workspace, projects } = configOptions;
36
37
  const { compilerOptions } = tsConfig ?? {};
37
- const paths = aliasPaths ? compilerOptions?.paths : undefined;
38
- const baseUrl = SwcConfigFactory.getBaseUrl(tsConfig) ?? (paths != null ? path.resolve(".") : undefined);
38
+ const aliases = aliasPaths ? workspace != null ? workspace.getPackageAliases(projects?.[0]?.configuration.name ?? "debug") : projects != null && projects.length > 0 ? packageAliases.build(projects, {
39
+ baseUrl: SwcConfigFactory.getBaseUrl(tsConfig) ?? path.resolve(projects[0].rootDir),
40
+ tsconfigPaths: compilerOptions?.paths
41
+ }) : undefined : undefined;
42
+ const tsconfigOnlyPaths = aliasPaths && aliases == null ? compilerOptions?.paths : undefined;
43
+ const paths = SwcConfigFactory.nonemptyPaths(aliases?.paths ?? tsconfigOnlyPaths);
44
+ const baseUrl = aliases?.baseUrl ?? SwcConfigFactory.getBaseUrl(tsConfig) ?? (workspace != null ? path.resolve(workspace.rootDir) : undefined) ?? (paths != null ? path.resolve(".") : undefined);
39
45
  const options = {
40
46
  jsc: {
41
47
  baseUrl,
@@ -43,20 +49,36 @@ export class SwcConfigFactory {
43
49
  },
44
50
  module: {
45
51
  type: buildTarget
46
- }
52
+ },
53
+ ...sourceMaps === false ? {
54
+ sourceMaps: false
55
+ } : {}
47
56
  };
48
57
  return merge.withOptions({
49
58
  mergeArrays: false
50
59
  }, defaultOptions, options, userConfig ?? {});
51
60
  }
52
- /** Stamps a per-file filename onto a pre-built base config. */ createFileConfig(file, baseConfig) {
61
+ /** Stamps a per-file filename onto a pre-built base config; `.tsx` also turns on JSX (#518). */ createFileConfig(file, baseConfig) {
62
+ const tsx = file.fullPath.endsWith(".tsx");
63
+ const jsc = tsx && baseConfig.jsc?.parser?.syntax === "typescript" ? {
64
+ ...baseConfig.jsc,
65
+ parser: {
66
+ ...baseConfig.jsc.parser,
67
+ tsx: true
68
+ }
69
+ } : baseConfig.jsc;
53
70
  const config = {
54
71
  ...baseConfig,
72
+ jsc,
55
73
  filename: file.fullPath
56
74
  };
57
75
  this.validate(config);
58
76
  return config;
59
77
  }
78
+ static nonemptyPaths(paths) {
79
+ if (paths == null || Object.keys(paths).length === 0) return undefined;
80
+ return paths;
81
+ }
60
82
  /**
61
83
  * Validates SWC options against known causes of Rust/NAPI process crashes.
62
84
  * Throws a ForgeError with a descriptive message instead of letting the
@@ -79,5 +101,3 @@ export class SwcConfigFactory {
79
101
  SwcConfigFactory = _ts_decorate([
80
102
  Trace
81
103
  ], SwcConfigFactory);
82
-
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHMgPyBjb21waWxlck9wdGlvbnM/LnBhdGhzIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJhc2VVcmwgPVxuXHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyAocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiVHJhY2UiLCJtZXJnZSIsIkZvcmdlRXJyb3IiLCJkZWZhdWx0T3B0aW9ucyIsImpzYyIsInBhcnNlciIsInN5bnRheCIsImRlY29yYXRvcnMiLCJ0YXJnZXQiLCJ0cmFuc2Zvcm0iLCJkZWNvcmF0b3JNZXRhZGF0YSIsImV4cGVyaW1lbnRhbCIsImtlZXBJbXBvcnRBdHRyaWJ1dGVzIiwibW9kdWxlIiwicmVzb2x2ZUZ1bGx5Iiwic291cmNlTWFwcyIsIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsImNvbXBpbGVyT3B0aW9ucyIsInBhdGhzIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJyZXNvbHZlIiwib3B0aW9ucyIsInR5cGUiLCJ3aXRoT3B0aW9ucyIsIm1lcmdlQXJyYXlzIiwiY3JlYXRlRmlsZUNvbmZpZyIsImZpbGUiLCJiYXNlQ29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJmdWxsUGF0aCIsInZhbGlkYXRlIiwiaXNBYnNvbHV0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLEtBQUssUUFBUSw4QkFBOEI7QUFFcEQsU0FBU0MsS0FBSyxRQUFRLDBCQUEwQjtBQUVoRCxTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUkxQyxNQUFNQyxpQkFBaUI7SUFDdEJDLEtBQUs7UUFDSkMsUUFBUTtZQUNQQyxRQUFRO1lBQ1JDLFlBQVk7UUFDYjtRQUNBQyxRQUFRO1FBQ1JDLFdBQVc7WUFDVkMsbUJBQW1CO1FBQ3BCO1FBQ0FDLGNBQWM7WUFBRUMsc0JBQXNCO1FBQUs7SUFDNUM7SUFDQUMsUUFBUTtRQUNQQyxjQUFjO0lBQ2Y7SUFDQUMsWUFBWTtBQUNiO0FBR0EsT0FBTyxNQUFNQztJQUNaOzs7RUFHQyxHQUNELEFBQU9DLGlCQUNOQyxXQUE0QixFQUM1QkMsYUFBK0IsRUFDckI7UUFDVixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUUsR0FBR0g7UUFDN0MsTUFBTSxFQUFFSSxlQUFlLEVBQUUsR0FBR0YsWUFBWSxDQUFDO1FBQ3pDLE1BQU1HLFFBQVFGLGFBQWFDLGlCQUFpQkMsUUFBUUM7UUFDcEQsTUFBTUMsVUFDTFYsaUJBQWlCVyxVQUFVLENBQUNOLGFBQWNHLENBQUFBLFNBQVMsT0FBT3pCLEtBQUs2QixPQUFPLENBQUMsT0FBT0gsU0FBUTtRQUV2RixNQUFNSSxVQUFtQjtZQUN4QnpCLEtBQUs7Z0JBQ0pzQjtnQkFDQUY7WUFDRDtZQUNBWCxRQUFRO2dCQUNQaUIsTUFBTVo7WUFDUDtRQUNEO1FBRUEsT0FBT2pCLE1BQU04QixXQUFXLENBQ3ZCO1lBQUVDLGFBQWE7UUFBTSxHQUNyQjdCLGdCQUNBMEIsU0FDQVQsY0FBYyxDQUFDO0lBRWpCO0lBRUEsNkRBQTZELEdBQzdELEFBQU9hLGlCQUFpQkMsSUFBWSxFQUFFQyxVQUFtQixFQUFXO1FBQ25FLE1BQU1DLFNBQVM7WUFBRSxHQUFHRCxVQUFVO1lBQUVFLFVBQVVILEtBQUtJLFFBQVE7UUFBQztRQUN4RCxJQUFJLENBQUNDLFFBQVEsQ0FBQ0g7UUFDZCxPQUFPQTtJQUNSO0lBRUE7Ozs7Ozs7RUFPQyxHQUNELEFBQU9HLFNBQVNWLE9BQWdCLEVBQVE7UUFDdkMsTUFBTUgsVUFBVUcsUUFBUXpCLEdBQUcsRUFBRXNCO1FBQzdCLElBQUlBLFdBQVcsUUFBUSxDQUFDM0IsS0FBS3lDLFVBQVUsQ0FBQ2QsVUFBVTtZQUNqRCxNQUFNLElBQUl4QixXQUNULENBQUMsaUZBQWlGLEVBQUV3QixRQUFRLG9DQUFvQyxDQUFDO1FBRW5JO0lBQ0Q7SUFFQSxpRkFBaUYsR0FDakYsT0FBZUMsV0FBV04sUUFBOEIsRUFBc0I7UUFDN0UsTUFBTUssVUFBVUwsVUFBVUUsaUJBQWlCRztRQUMzQyxJQUFJQSxXQUFXLE1BQU0sT0FBT0Q7UUFDNUIsT0FBTzFCLEtBQUs2QixPQUFPLENBQUNGO0lBQ3JCO0FBQ0QifQ==
@@ -1,19 +1,22 @@
1
- import { UserConfigFactory, WorkspaceFactory } from "@decohere/mesh";
2
- import { ModuleManifest } from "@decohere/nexus/cli";
1
+ import { ModuleManifest } from "@decohere/devkit/cli";
3
2
  import * as Actions from "./actions/index.js";
4
3
  import * as Commands from "./commands/index.js";
4
+ import { createWorkspace } from "./create-workspace.js";
5
+ import { DependencyPinner } from "./packaging/dependency-pinner.service.js";
6
+ import { ImportGraph } from "./packaging/import-graph.service.js";
5
7
  import { DependencyResolver } from "./services/dependency-resolver.service.js";
6
8
  import { FileWriterService } from "./services/file-writer.service.js";
7
9
  import { SwcTranspiler } from "./services/swc-transpiler.js";
8
10
  import { TypeEmitter } from "./services/type-emitter.js";
9
11
  import { TransformerKey } from "./types/transformer.type.js";
10
- import { DefaultConfigurations, WorkspaceDefaults } from "./workspace.config.js";
11
12
  export class ForgeModule extends ModuleManifest {
12
13
  id = "forge";
13
14
  command = Commands.ForgeCommand;
14
15
  actions = {
15
16
  clean: Actions.Clean,
16
17
  copy: Actions.Copy,
18
+ docker: Actions.Docker,
19
+ package: Actions.PackageDeployable,
17
20
  build: Actions.Build,
18
21
  watch: Actions.Watch,
19
22
  publish: Actions.Publish,
@@ -22,37 +25,35 @@ export class ForgeModule extends ModuleManifest {
22
25
  reportDependencies: Actions.ReportDependencies,
23
26
  version: Actions.Version,
24
27
  tag: Actions.Tag,
25
- commitFiles: Actions.CommitFiles
28
+ paths: Actions.Paths,
29
+ typecheck: Actions.TypeCheck,
30
+ commitFiles: Actions.CommitFiles,
31
+ link: Actions.Link,
32
+ unlink: Actions.Unlink
26
33
  };
27
34
  commands = {
28
35
  build: Commands.BuildCommand,
29
36
  publish: Commands.PublishCommand,
30
37
  dependencies: Commands.DependencyCommand,
38
+ docker: Commands.DockerCommand,
39
+ package: Commands.PackageCommand,
31
40
  version: Commands.VersionCommand,
32
- tag: Commands.TagCommand
41
+ tag: Commands.TagCommand,
42
+ paths: Commands.PathsCommand,
43
+ typecheck: Commands.TypeCheckCommand,
44
+ link: Commands.LinkCommand,
45
+ unlink: Commands.UnlinkCommand
33
46
  };
34
47
  registerServices(builder) {
48
+ builder.registerSingleton(TypeEmitter);
35
49
  builder.registerSingleton(TransformerKey, SwcTranspiler);
36
50
  builder.registerSingleton(TransformerKey, TypeEmitter);
37
51
  builder.registerSingleton(DependencyResolver);
52
+ builder.registerSingleton(ImportGraph);
53
+ builder.registerSingleton(DependencyPinner);
38
54
  builder.registerSingleton(FileWriterService);
39
55
  }
40
- async createWorkspace(options) {
41
- const { configurations: _, ...forgeDefaults } = WorkspaceDefaults;
42
- const userConfig = await UserConfigFactory.getUserConfig(options.configFile);
43
- // Only apply forge default configurations when user config doesn't provide any.
44
- // This ensures user-defined configurations take priority while still providing
45
- // sensible defaults (debug + release) when no config file is present.
46
- const configurations = userConfig.configurations?.length ? undefined : DefaultConfigurations;
47
- return WorkspaceFactory.create({
48
- ...forgeDefaults,
49
- ...configurations ? {
50
- configurations
51
- } : {},
52
- configFile: options.configFile,
53
- rootDir: options.rootDir ?? WorkspaceDefaults.rootDir
54
- });
56
+ createWorkspace(options) {
57
+ return createWorkspace(options);
55
58
  }
56
59
  }
57
-
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mb3JnZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckNvbmZpZ0ZhY3RvcnksIFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0ICogYXMgQWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgKiBhcyBDb21tYW5kcyBmcm9tIFwiLi9jb21tYW5kcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4vc2VydmljZXMvZGVwZW5kZW5jeS1yZXNvbHZlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgVHlwZUVtaXR0ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyS2V5IH0gZnJvbSBcIi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ3VyYXRpb25zLCBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcmdlTW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZvcmdlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ29tbWFuZHMuRm9yZ2VDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHtcblx0XHRjbGVhbjogQWN0aW9ucy5DbGVhbixcblx0XHRjb3B5OiBBY3Rpb25zLkNvcHksXG5cdFx0YnVpbGQ6IEFjdGlvbnMuQnVpbGQsXG5cdFx0d2F0Y2g6IEFjdGlvbnMuV2F0Y2gsXG5cdFx0cHVibGlzaDogQWN0aW9ucy5QdWJsaXNoLFxuXHRcdHN5bmNEZXBlbmRlbmNpZXM6IEFjdGlvbnMuU3luY0RlcGVuZGVuY2llcyxcblx0XHRzeW5jTG9ja0ZpbGU6IEFjdGlvbnMuU3luY0xvY2tGaWxlLFxuXHRcdHJlcG9ydERlcGVuZGVuY2llczogQWN0aW9ucy5SZXBvcnREZXBlbmRlbmNpZXMsXG5cdFx0dmVyc2lvbjogQWN0aW9ucy5WZXJzaW9uLFxuXHRcdHRhZzogQWN0aW9ucy5UYWcsXG5cdFx0Y29tbWl0RmlsZXM6IEFjdGlvbnMuQ29tbWl0RmlsZXMsXG5cdH07XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kcyA9IHtcblx0XHRidWlsZDogQ29tbWFuZHMuQnVpbGRDb21tYW5kLFxuXHRcdHB1Ymxpc2g6IENvbW1hbmRzLlB1Ymxpc2hDb21tYW5kLFxuXHRcdGRlcGVuZGVuY2llczogQ29tbWFuZHMuRGVwZW5kZW5jeUNvbW1hbmQsXG5cdFx0dmVyc2lvbjogQ29tbWFuZHMuVmVyc2lvbkNvbW1hbmQsXG5cdFx0dGFnOiBDb21tYW5kcy5UYWdDb21tYW5kLFxuXHR9O1xuXG5cdHB1YmxpYyByZWdpc3RlclNlcnZpY2VzKGJ1aWxkZXI6IENvbnRhaW5lckJ1aWxkZXIpIHtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKFRyYW5zZm9ybWVyS2V5LCBTd2NUcmFuc3BpbGVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKFRyYW5zZm9ybWVyS2V5LCBUeXBlRW1pdHRlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihEZXBlbmRlbmN5UmVzb2x2ZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oRmlsZVdyaXRlclNlcnZpY2UpO1xuXHR9XG5cblx0cHVibGljIG92ZXJyaWRlIGFzeW5jIGNyZWF0ZVdvcmtzcGFjZShvcHRpb25zOiBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucykge1xuXHRcdGNvbnN0IHsgY29uZmlndXJhdGlvbnM6IF8sIC4uLmZvcmdlRGVmYXVsdHMgfSA9IFdvcmtzcGFjZURlZmF1bHRzO1xuXHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBVc2VyQ29uZmlnRmFjdG9yeS5nZXRVc2VyQ29uZmlnKG9wdGlvbnMuY29uZmlnRmlsZSk7XG5cdFx0Ly8gT25seSBhcHBseSBmb3JnZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIHdoZW4gdXNlciBjb25maWcgZG9lc24ndCBwcm92aWRlIGFueS5cblx0XHQvLyBUaGlzIGVuc3VyZXMgdXNlci1kZWZpbmVkIGNvbmZpZ3VyYXRpb25zIHRha2UgcHJpb3JpdHkgd2hpbGUgc3RpbGwgcHJvdmlkaW5nXG5cdFx0Ly8gc2Vuc2libGUgZGVmYXVsdHMgKGRlYnVnICsgcmVsZWFzZSkgd2hlbiBubyBjb25maWcgZmlsZSBpcyBwcmVzZW50LlxuXHRcdGNvbnN0IGNvbmZpZ3VyYXRpb25zID0gdXNlckNvbmZpZy5jb25maWd1cmF0aW9ucz8ubGVuZ3RoXG5cdFx0XHQ/IHVuZGVmaW5lZFxuXHRcdFx0OiBEZWZhdWx0Q29uZmlndXJhdGlvbnM7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLmZvcmdlRGVmYXVsdHMsXG5cdFx0XHQuLi4oY29uZmlndXJhdGlvbnMgPyB7IGNvbmZpZ3VyYXRpb25zIH0gOiB7fSksXG5cdFx0XHRjb25maWdGaWxlOiBvcHRpb25zLmNvbmZpZ0ZpbGUsXG5cdFx0XHRyb290RGlyOiBvcHRpb25zLnJvb3REaXIgPz8gV29ya3NwYWNlRGVmYXVsdHMucm9vdERpcixcblx0XHR9KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlVzZXJDb25maWdGYWN0b3J5IiwiV29ya3NwYWNlRmFjdG9yeSIsIk1vZHVsZU1hbmlmZXN0IiwiQWN0aW9ucyIsIkNvbW1hbmRzIiwiRGVwZW5kZW5jeVJlc29sdmVyIiwiRmlsZVdyaXRlclNlcnZpY2UiLCJTd2NUcmFuc3BpbGVyIiwiVHlwZUVtaXR0ZXIiLCJUcmFuc2Zvcm1lcktleSIsIkRlZmF1bHRDb25maWd1cmF0aW9ucyIsIldvcmtzcGFjZURlZmF1bHRzIiwiRm9yZ2VNb2R1bGUiLCJpZCIsImNvbW1hbmQiLCJGb3JnZUNvbW1hbmQiLCJhY3Rpb25zIiwiY2xlYW4iLCJDbGVhbiIsImNvcHkiLCJDb3B5IiwiYnVpbGQiLCJCdWlsZCIsIndhdGNoIiwiV2F0Y2giLCJwdWJsaXNoIiwiUHVibGlzaCIsInN5bmNEZXBlbmRlbmNpZXMiLCJTeW5jRGVwZW5kZW5jaWVzIiwic3luY0xvY2tGaWxlIiwiU3luY0xvY2tGaWxlIiwicmVwb3J0RGVwZW5kZW5jaWVzIiwiUmVwb3J0RGVwZW5kZW5jaWVzIiwidmVyc2lvbiIsIlZlcnNpb24iLCJ0YWciLCJUYWciLCJjb21taXRGaWxlcyIsIkNvbW1pdEZpbGVzIiwiY29tbWFuZHMiLCJCdWlsZENvbW1hbmQiLCJQdWJsaXNoQ29tbWFuZCIsImRlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lDb21tYW5kIiwiVmVyc2lvbkNvbW1hbmQiLCJUYWdDb21tYW5kIiwicmVnaXN0ZXJTZXJ2aWNlcyIsImJ1aWxkZXIiLCJyZWdpc3RlclNpbmdsZXRvbiIsImNyZWF0ZVdvcmtzcGFjZSIsIm9wdGlvbnMiLCJjb25maWd1cmF0aW9ucyIsIl8iLCJmb3JnZURlZmF1bHRzIiwidXNlckNvbmZpZyIsImdldFVzZXJDb25maWciLCJjb25maWdGaWxlIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiY3JlYXRlIiwicm9vdERpciJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLEVBQUVDLGdCQUFnQixRQUFRLGlCQUFpQjtBQUVyRSxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBRXJELFlBQVlDLGFBQWEscUJBQXFCO0FBQzlDLFlBQVlDLGNBQWMsc0JBQXNCO0FBQ2hELFNBQVNDLGtCQUFrQixRQUFRLDRDQUE0QztBQUMvRSxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBb0M7QUFDdEUsU0FBU0MsYUFBYSxRQUFRLCtCQUErQjtBQUM3RCxTQUFTQyxXQUFXLFFBQVEsNkJBQTZCO0FBQ3pELFNBQVNDLGNBQWMsUUFBUSw4QkFBOEI7QUFDN0QsU0FBU0MscUJBQXFCLEVBQUVDLGlCQUFpQixRQUFRLHdCQUF3QjtBQUVqRixPQUFPLE1BQU1DLG9CQUFvQlY7SUFDaEJXLEtBQUssUUFBUTtJQUNiQyxVQUFVVixTQUFTVyxZQUFZLENBQUM7SUFDaENDLFVBQVU7UUFDekJDLE9BQU9kLFFBQVFlLEtBQUs7UUFDcEJDLE1BQU1oQixRQUFRaUIsSUFBSTtRQUNsQkMsT0FBT2xCLFFBQVFtQixLQUFLO1FBQ3BCQyxPQUFPcEIsUUFBUXFCLEtBQUs7UUFDcEJDLFNBQVN0QixRQUFRdUIsT0FBTztRQUN4QkMsa0JBQWtCeEIsUUFBUXlCLGdCQUFnQjtRQUMxQ0MsY0FBYzFCLFFBQVEyQixZQUFZO1FBQ2xDQyxvQkFBb0I1QixRQUFRNkIsa0JBQWtCO1FBQzlDQyxTQUFTOUIsUUFBUStCLE9BQU87UUFDeEJDLEtBQUtoQyxRQUFRaUMsR0FBRztRQUNoQkMsYUFBYWxDLFFBQVFtQyxXQUFXO0lBQ2pDLEVBQUU7SUFDY0MsV0FBVztRQUMxQmxCLE9BQU9qQixTQUFTb0MsWUFBWTtRQUM1QmYsU0FBU3JCLFNBQVNxQyxjQUFjO1FBQ2hDQyxjQUFjdEMsU0FBU3VDLGlCQUFpQjtRQUN4Q1YsU0FBUzdCLFNBQVN3QyxjQUFjO1FBQ2hDVCxLQUFLL0IsU0FBU3lDLFVBQVU7SUFDekIsRUFBRTtJQUVLQyxpQkFBaUJDLE9BQXlCLEVBQUU7UUFDbERBLFFBQVFDLGlCQUFpQixDQUFDdkMsZ0JBQWdCRjtRQUMxQ3dDLFFBQVFDLGlCQUFpQixDQUFDdkMsZ0JBQWdCRDtRQUMxQ3VDLFFBQVFDLGlCQUFpQixDQUFDM0M7UUFDMUIwQyxRQUFRQyxpQkFBaUIsQ0FBQzFDO0lBQzNCO0lBRUEsTUFBc0IyQyxnQkFBZ0JDLE9BQWdDLEVBQUU7UUFDdkUsTUFBTSxFQUFFQyxnQkFBZ0JDLENBQUMsRUFBRSxHQUFHQyxlQUFlLEdBQUcxQztRQUNoRCxNQUFNMkMsYUFBYSxNQUFNdEQsa0JBQWtCdUQsYUFBYSxDQUFDTCxRQUFRTSxVQUFVO1FBQzNFLGdGQUFnRjtRQUNoRiwrRUFBK0U7UUFDL0Usc0VBQXNFO1FBQ3RFLE1BQU1MLGlCQUFpQkcsV0FBV0gsY0FBYyxFQUFFTSxTQUMvQ0MsWUFDQWhEO1FBQ0gsT0FBT1QsaUJBQWlCMEQsTUFBTSxDQUFDO1lBQzlCLEdBQUdOLGFBQWE7WUFDaEIsR0FBSUYsaUJBQWlCO2dCQUFFQTtZQUFlLElBQUksQ0FBQyxDQUFDO1lBQzVDSyxZQUFZTixRQUFRTSxVQUFVO1lBQzlCSSxTQUFTVixRQUFRVSxPQUFPLElBQUlqRCxrQkFBa0JpRCxPQUFPO1FBQ3REO0lBQ0Q7QUFDRCJ9
package/es6/src/index.js CHANGED
@@ -1,7 +1,7 @@
1
+ export { createWorkspace } from "./create-workspace.js";
1
2
  export { ForgeError } from "./errors.js";
2
3
  export { ForgeModule } from "./forge.module.js";
3
4
  export { SwcTranspiler } from "./services/swc-transpiler.js";
5
+ export { transpileCache } from "./services/transpile-cache.js";
4
6
  export { BuildTargets } from "./types/build-target.type.js";
5
- export { Debug as DebugConfiguration, DefaultConfigurations, Release as ReleaseConfiguration, WorkspaceDefaults } from "./workspace.config.js";
6
-
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5leHBvcnQgeyBGb3JnZU1vZHVsZSB9IGZyb20gXCIuL2ZvcmdlLm1vZHVsZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBUcmFuc3BpbGVPcHRpb25zIH0gZnJvbSBcIi4vc2VydmljZXMvc3djLXRyYW5zcGlsZXIuanNcIjtcbmV4cG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuZXhwb3J0IHR5cGUgeyBCdWlsZFRhcmdldCwgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmV4cG9ydCB7IEJ1aWxkVGFyZ2V0cyB9IGZyb20gXCIuL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBXb3Jrc3BhY2VPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMvd29ya3NwYWNlLWNvbmZpZy50eXBlLmpzXCI7XG5leHBvcnQge1xuXHREZWJ1ZyBhcyBEZWJ1Z0NvbmZpZ3VyYXRpb24sXG5cdERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0UmVsZWFzZSBhcyBSZWxlYXNlQ29uZmlndXJhdGlvbixcblx0V29ya3NwYWNlRGVmYXVsdHMsXG59IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcbiJdLCJuYW1lcyI6WyJGb3JnZUVycm9yIiwiRm9yZ2VNb2R1bGUiLCJTd2NUcmFuc3BpbGVyIiwiQnVpbGRUYXJnZXRzIiwiRGVidWciLCJEZWJ1Z0NvbmZpZ3VyYXRpb24iLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJSZWxlYXNlIiwiUmVsZWFzZUNvbmZpZ3VyYXRpb24iLCJXb3Jrc3BhY2VEZWZhdWx0cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGNBQWM7QUFDekMsU0FBU0MsV0FBVyxRQUFRLG9CQUFvQjtBQUVoRCxTQUFTQyxhQUFhLFFBQVEsK0JBQStCO0FBRTdELFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFHNUQsU0FDQ0MsU0FBU0Msa0JBQWtCLEVBQzNCQyxxQkFBcUIsRUFDckJDLFdBQVdDLG9CQUFvQixFQUMvQkMsaUJBQWlCLFFBQ1gsd0JBQXdCIn0=
7
+ export { Debug as DebugConfiguration, DefaultConfigurations, Link as LinkConfiguration, Release as ReleaseConfiguration, WorkspaceDefaults } from "./workspace.config.js";