@decohere/forge 0.0.1-dev.9 → 0.0.1-dev.91

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 (74) hide show
  1. package/commonjs/src/actions/build.action.js +9 -1
  2. package/commonjs/src/actions/clean.action.js +3 -3
  3. package/commonjs/src/actions/copy.action.js +38 -6
  4. package/commonjs/src/actions/docker.action.js +198 -0
  5. package/commonjs/src/actions/index.js +5 -1
  6. package/commonjs/src/actions/link.action.js +156 -0
  7. package/commonjs/src/actions/tag.action.js +3 -4
  8. package/commonjs/src/actions/typecheck.action.js +69 -0
  9. package/commonjs/src/actions/unlink.action.js +76 -0
  10. package/commonjs/src/actions/watch.action.js +2 -1
  11. package/commonjs/src/commands/docker.command.js +28 -0
  12. package/commonjs/src/commands/index.js +4 -1
  13. package/commonjs/src/commands/link.command.js +89 -0
  14. package/commonjs/src/commands/typecheck.command.js +26 -0
  15. package/commonjs/src/factories/swc-config.factory.js +14 -4
  16. package/commonjs/src/forge.module.js +12 -3
  17. package/commonjs/src/index.js +4 -1
  18. package/commonjs/src/mixins/caches-outputs.mixin.js +8 -6
  19. package/commonjs/src/services/swc-transpiler.js +27 -7
  20. package/commonjs/src/services/ts-program-host.js +3 -3
  21. package/commonjs/src/services/type-emission-program.js +24 -7
  22. package/commonjs/src/services/type-emitter.js +34 -4
  23. package/commonjs/src/types/swc-config.type.js +1 -1
  24. package/commonjs/src/types/transform-response.model.js +2 -1
  25. package/commonjs/src/vitest/forge-build.plugin.js +3 -2
  26. package/commonjs/src/workspace.config.js +29 -2
  27. package/es6/src/actions/build.action.js +9 -1
  28. package/es6/src/actions/clean.action.js +3 -3
  29. package/es6/src/actions/copy.action.js +38 -6
  30. package/es6/src/actions/docker.action.js +184 -0
  31. package/es6/src/actions/index.js +5 -1
  32. package/es6/src/actions/link.action.js +131 -0
  33. package/es6/src/actions/tag.action.js +3 -4
  34. package/es6/src/actions/typecheck.action.js +56 -0
  35. package/es6/src/actions/unlink.action.js +61 -0
  36. package/es6/src/actions/watch.action.js +2 -1
  37. package/es6/src/commands/docker.command.js +18 -0
  38. package/es6/src/commands/index.js +4 -1
  39. package/es6/src/commands/link.command.js +66 -0
  40. package/es6/src/commands/typecheck.command.js +16 -0
  41. package/es6/src/factories/swc-config.factory.js +14 -4
  42. package/es6/src/forge.module.js +12 -3
  43. package/es6/src/index.js +2 -2
  44. package/es6/src/mixins/caches-outputs.mixin.js +8 -6
  45. package/es6/src/services/swc-transpiler.js +27 -7
  46. package/es6/src/services/ts-program-host.js +3 -3
  47. package/es6/src/services/type-emission-program.js +24 -7
  48. package/es6/src/services/type-emitter.js +31 -4
  49. package/es6/src/types/swc-config.type.js +1 -1
  50. package/es6/src/types/transform-response.model.js +2 -1
  51. package/es6/src/vitest/forge-build.plugin.js +3 -2
  52. package/es6/src/workspace.config.js +30 -2
  53. package/package.json +5 -5
  54. package/types/src/actions/build.action.d.ts +1 -0
  55. package/types/src/actions/copy.action.d.ts +10 -0
  56. package/types/src/actions/docker.action.d.ts +33 -0
  57. package/types/src/actions/index.d.ts +4 -0
  58. package/types/src/actions/link.action.d.ts +25 -0
  59. package/types/src/actions/typecheck.action.d.ts +14 -0
  60. package/types/src/actions/unlink.action.d.ts +9 -0
  61. package/types/src/commands/docker.command.d.ts +6 -0
  62. package/types/src/commands/index.d.ts +3 -0
  63. package/types/src/commands/link.command.d.ts +28 -0
  64. package/types/src/commands/typecheck.command.d.ts +6 -0
  65. package/types/src/factories/swc-config.factory.d.ts +1 -0
  66. package/types/src/forge.module.d.ts +8 -0
  67. package/types/src/index.d.ts +1 -1
  68. package/types/src/services/swc-transpiler.d.ts +5 -2
  69. package/types/src/services/ts-program-host.d.ts +1 -1
  70. package/types/src/services/type-emission-program.d.ts +6 -1
  71. package/types/src/services/type-emitter.d.ts +14 -0
  72. package/types/src/types/swc-config.type.d.ts +5 -1
  73. package/types/src/types/transform-response.model.d.ts +2 -0
  74. package/types/src/workspace.config.d.ts +6 -0
@@ -110,7 +110,8 @@ function forgeBuild(options) {
110
110
  }
111
111
  const [response] = await transpiler.transformFile(file, _buildtargettype.BuildTargets.es6, {
112
112
  aliasPaths: true,
113
- tsConfig: project ? await project.getTsConfig() : undefined
113
+ tsConfig: project ? await project.getTsConfig() : undefined,
114
+ workspace: workspace ?? undefined
114
115
  });
115
116
  if (!response || response.outcome !== "success") return null;
116
117
  const result = {
@@ -126,4 +127,4 @@ function forgeBuild(options) {
126
127
  };
127
128
  }
128
129
 
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHR9KTtcblx0XHRcdGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2Uub3V0Y29tZSAhPT0gXCJzdWNjZXNzXCIpIHJldHVybiBudWxsO1xuXG5cdFx0XHRjb25zdCByZXN1bHQgPSB7IGNvZGU6IHJlc3BvbnNlLmNvZGUsIG1hcDogbnVsbCB9O1xuXHRcdFx0dHJhbnNmb3JtQ2FjaGUuc2V0KGlkLCB7IGNvbnRlbnQ6IGNvZGUsIHJlc3VsdCB9KTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSxcblx0fTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JnZUJ1aWxkIiwiU0lMRU5UX0xFVkVMIiwiUExVR0lOX05BTUUiLCJUU19FWFRFTlNJT05TIiwib3B0aW9ucyIsImJ1aWxkQ29uZmlnIiwid29ya3NwYWNlUm9vdCIsInByb2Nlc3MiLCJjd2QiLCJsb2dMZXZlbCIsImxvZ2dlckZhY3RvcnkiLCJzY3JpYmUiLCJjb25maWd1cmUiLCJhZGFwdGVyIiwiQ29uc29sZUFkYXB0ZXIiLCJjdXN0b21MZXZlbHMiLCJzaWxlbnQiLCJsb2dnZXIiLCJza2lwQnVpbGQiLCJ0cmFuc3BpbGVyIiwiU3djVHJhbnNwaWxlciIsIndhcm1lZFByb2plY3RzIiwiU2V0IiwidHJhbnNmb3JtQ2FjaGUiLCJNYXAiLCJ3b3Jrc3BhY2UiLCJpbml0V29ya3NwYWNlIiwiZGVidWciLCJXb3Jrc3BhY2VGYWN0b3J5IiwiY3JlYXRlIiwiV29ya3NwYWNlRGVmYXVsdHMiLCJyb290RGlyIiwicHJlV2FybVByb2plY3QiLCJwcm9qZWN0IiwiaGFzIiwicHJvamVjdERpcmVjdG9yeSIsImFkZCIsInRyYW5zZm9ybVByb2plY3QiLCJ0aGVuIiwibmFtZSIsImNhdGNoIiwiZXJyIiwiZXJyb3IiLCJtZXNzYWdlIiwiZW5mb3JjZSIsImNvbmZpZ1Jlc29sdmVkIiwicmVzb2x2ZUlkIiwic291cmNlIiwiaW1wb3J0ZXIiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJpbXBvcnRlckRpcmVjdG9yeSIsInBhdGgiLCJkaXJuYW1lIiwid2l0aG91dEV4dGVuc2lvbiIsInNsaWNlIiwiY2FuZGlkYXRlcyIsIm1hcCIsImV4dCIsInJlc29sdmUiLCJmaW5kIiwiYyIsImV4aXN0c1N5bmMiLCJ3YXRjaENoYW5nZSIsImlkIiwiZmlsZSIsIkZpbGVFeCIsImZ1bGxQYXRoIiwiZGVsZXRlIiwiaW52YWxpZGF0ZUNvbnRlbnRDYWNoZSIsInRyYW5zZm9ybSIsImNvZGUiLCJpbmNsdWRlcyIsInRlc3QiLCJmaW5kUHJvamVjdCIsImNhY2hlZCIsImdldCIsInVuZGVmaW5lZCIsImNvbnRlbnQiLCJyZXN1bHQiLCJyZXNwb25zZSIsInRyYW5zZm9ybUZpbGUiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsIm91dGNvbWUiLCJzZXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0JnQkE7OztlQUFBQTs7O3dCQXhCVztpRUFDVjtzQkFFZ0I7b0JBQ1Y7d0JBQ2dCOytCQUNUO2lDQUNEO2lDQUNLOzs7Ozs7QUFFbEMsK0VBQStFO0FBQy9FLE1BQU1DLGVBQWU7QUFFckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxnQkFBZ0I7SUFBQztJQUFPO0lBQVE7Q0FBTztBQVV0QyxTQUFTSCxXQUFXSSxPQUEyQjtJQUNyRCxNQUFNQyxjQUFjRCxTQUFTQyxlQUFlO0lBQzVDLE1BQU1DLGdCQUFnQkYsU0FBU0UsaUJBQWlCQyxRQUFRQyxHQUFHO0lBQzNELE1BQU1DLFdBQVdMLFNBQVNLLFlBQVk7SUFD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
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHRcdHdvcmtzcGFjZTogd29ya3NwYWNlID8/IHVuZGVmaW5lZCxcblx0XHRcdH0pO1xuXHRcdFx0aWYgKCFyZXNwb25zZSB8fCByZXNwb25zZS5vdXRjb21lICE9PSBcInN1Y2Nlc3NcIikgcmV0dXJuIG51bGw7XG5cblx0XHRcdGNvbnN0IHJlc3VsdCA9IHsgY29kZTogcmVzcG9uc2UuY29kZSwgbWFwOiBudWxsIH07XG5cdFx0XHR0cmFuc2Zvcm1DYWNoZS5zZXQoaWQsIHsgY29udGVudDogY29kZSwgcmVzdWx0IH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHR9O1xufVxuIl0sIm5hbWVzIjpbImZvcmdlQnVpbGQiLCJTSUxFTlRfTEVWRUwiLCJQTFVHSU5fTkFNRSIsIlRTX0VYVEVOU0lPTlMiLCJvcHRpb25zIiwiYnVpbGRDb25maWciLCJ3b3Jrc3BhY2VSb290IiwicHJvY2VzcyIsImN3ZCIsImxvZ0xldmVsIiwibG9nZ2VyRmFjdG9yeSIsInNjcmliZSIsImNvbmZpZ3VyZSIsImFkYXB0ZXIiLCJDb25zb2xlQWRhcHRlciIsImN1c3RvbUxldmVscyIsInNpbGVudCIsImxvZ2dlciIsInNraXBCdWlsZCIsInRyYW5zcGlsZXIiLCJTd2NUcmFuc3BpbGVyIiwid2FybWVkUHJvamVjdHMiLCJTZXQiLCJ0cmFuc2Zvcm1DYWNoZSIsIk1hcCIsIndvcmtzcGFjZSIsImluaXRXb3Jrc3BhY2UiLCJkZWJ1ZyIsIldvcmtzcGFjZUZhY3RvcnkiLCJjcmVhdGUiLCJXb3Jrc3BhY2VEZWZhdWx0cyIsInJvb3REaXIiLCJwcmVXYXJtUHJvamVjdCIsInByb2plY3QiLCJoYXMiLCJwcm9qZWN0RGlyZWN0b3J5IiwiYWRkIiwidHJhbnNmb3JtUHJvamVjdCIsInRoZW4iLCJuYW1lIiwiY2F0Y2giLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJlbmZvcmNlIiwiY29uZmlnUmVzb2x2ZWQiLCJyZXNvbHZlSWQiLCJzb3VyY2UiLCJpbXBvcnRlciIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsImltcG9ydGVyRGlyZWN0b3J5IiwicGF0aCIsImRpcm5hbWUiLCJ3aXRob3V0RXh0ZW5zaW9uIiwic2xpY2UiLCJjYW5kaWRhdGVzIiwibWFwIiwiZXh0IiwicmVzb2x2ZSIsImZpbmQiLCJjIiwiZXhpc3RzU3luYyIsIndhdGNoQ2hhbmdlIiwiaWQiLCJmaWxlIiwiRmlsZUV4IiwiZnVsbFBhdGgiLCJkZWxldGUiLCJpbnZhbGlkYXRlQ29udGVudENhY2hlIiwidHJhbnNmb3JtIiwiY29kZSIsImluY2x1ZGVzIiwidGVzdCIsImZpbmRQcm9qZWN0IiwiY2FjaGVkIiwiZ2V0IiwidW5kZWZpbmVkIiwiY29udGVudCIsInJlc3VsdCIsInJlc3BvbnNlIiwidHJhbnNmb3JtRmlsZSIsIkJ1aWxkVGFyZ2V0cyIsImVzNiIsImFsaWFzUGF0aHMiLCJ0c0NvbmZpZyIsImdldFRzQ29uZmlnIiwib3V0Y29tZSIsInNldCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3QmdCQTs7O2VBQUFBOzs7d0JBeEJXO2lFQUNWO3NCQUVnQjtvQkFDVjt3QkFDZ0I7K0JBQ1Q7aUNBQ0Q7aUNBQ0s7Ozs7OztBQUVsQywrRUFBK0U7QUFDL0UsTUFBTUMsZUFBZTtBQUVyQixNQUFNQyxjQUFjO0FBQ3BCLE1BQU1DLGdCQUFnQjtJQUFDO0lBQU87SUFBUTtDQUFPO0FBVXRDLFNBQVNILFdBQVdJLE9BQTJCO0lBQ3JELE1BQU1DLGNBQWNELFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsZ0JBQWdCRixTQUFTRSxpQkFBaUJD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
@@ -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
  },
@@ -29,7 +32,16 @@ const 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",
@@ -44,10 +56,25 @@ const Release = {
44
56
  "**/*.test.ts",
45
57
  "tests/**",
46
58
  "e2e/**"
59
+ ],
60
+ // Sit next to emitted JS under es6/commonjs/types (import.meta.url).
61
+ // Do not put package.json here — that stays on workspace copyFiles (root only).
62
+ copyFiles: [
63
+ "**/webapi/devcontainer/templates/**",
64
+ "**/webapi/devcontainer/codebase-rag-mcp.ts"
65
+ ]
66
+ };
67
+ const Link = {
68
+ name: "link",
69
+ pack: true,
70
+ targets: [
71
+ _buildtargettype.BuildTargets.es6,
72
+ _buildtargettype.BuildTargets.types
47
73
  ]
48
74
  };
49
75
  const DefaultConfigurations = [
50
76
  Debug,
77
+ Link,
51
78
  Release
52
79
  ];
53
80
  const WorkspaceDefaults = {
@@ -60,4 +87,4 @@ const WorkspaceDefaults = {
60
87
  projects: undefined
61
88
  };
62
89
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UuY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZURlZmF1bHRzIGFzIEJhc2VEZWZhdWx0cyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgRm9yZ2VDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtzcGFjZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy93b3Jrc3BhY2UtY29uZmlnLnR5cGUuanNcIjtcblxuZXhwb3J0IGNvbnN0IERlYnVnOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwiZGVidWdcIixcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5lczZdLFxuXHRhbGlhc1BhdGhzOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IFJlbGVhc2U6IEZvcmdlQ29uZmlndXJhdGlvbiA9IHtcblx0bmFtZTogXCJyZWxlYXNlXCIsXG5cdHBhY2s6IHRydWUsXG5cdHRhcmdldHM6IFtCdWlsZFRhcmdldHMuY29tbW9uanMsIEJ1aWxkVGFyZ2V0cy5lczYsIEJ1aWxkVGFyZ2V0cy50eXBlc10sXG5cdGlnbm9yZTogW1wiKiovKi5zcGVjLnRzXCIsIFwiKiovKi50ZXN0LnRzXCIsIFwidGVzdHMvKipcIiwgXCJlMmUvKipcIl0sXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbmZpZ3VyYXRpb25zID0gW0RlYnVnLCBSZWxlYXNlXTtcblxuZXhwb3J0IGNvbnN0IFdvcmtzcGFjZURlZmF1bHRzOiBXb3Jrc3BhY2VPcHRpb25zID0ge1xuXHQuLi5CYXNlRGVmYXVsdHMsXG5cdGNvcHlGaWxlczogW1wicGFja2FnZS5qc29uXCIsIFwiKiovKi5tanNcIl0sXG5cdGNvbmZpZ3VyYXRpb25zOiBEZWZhdWx0Q29uZmlndXJhdGlvbnMsXG5cdHByb2plY3RzOiB1bmRlZmluZWQsXG59O1xuIl0sIm5hbWVzIjpbIkRlYnVnIiwiRGVmYXVsdENvbmZpZ3VyYXRpb25zIiwiUmVsZWFzZSIsIldvcmtzcGFjZURlZmF1bHRzIiwibmFtZSIsInRhcmdldHMiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwicGFjayIsImNvbW1vbmpzIiwidHlwZXMiLCJpZ25vcmUiLCJCYXNlRGVmYXVsdHMiLCJjb3B5RmlsZXMiLCJjb25maWd1cmF0aW9ucyIsInByb2plY3RzIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUthQTtlQUFBQTs7UUFhQUM7ZUFBQUE7O1FBUEFDO2VBQUFBOztRQVNBQztlQUFBQTs7O3NCQXBCcUM7aUNBQ3JCO0FBSXRCLE1BQU1ILFFBQTRCO0lBQ3hDSSxNQUFNO0lBQ05DLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ0MsR0FBRztLQUFDO0lBQzNCQyxZQUFZO0FBQ2I7QUFFTyxNQUFNTixVQUE4QjtJQUMxQ0UsTUFBTTtJQUNOSyxNQUFNO0lBQ05KLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ0ksUUFBUTtRQUFFSiw2QkFBWSxDQUFDQyxHQUFHO1FBQUVELDZCQUFZLENBQUNLLEtBQUs7S0FBQztJQUN0RUMsUUFBUTtRQUFDO1FBQWdCO1FBQWdCO1FBQVk7S0FBUztBQUMvRDtBQUVPLE1BQU1YLHdCQUF3QjtJQUFDRDtJQUFPRTtDQUFRO0FBRTlDLE1BQU1DLG9CQUFzQztJQUNsRCxHQUFHVSx1QkFBWTtJQUNmQyxXQUFXO1FBQUM7UUFBZ0I7S0FBVztJQUN2Q0MsZ0JBQWdCZDtJQUNoQmUsVUFBVUM7QUFDWCJ9
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UuY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZURlZmF1bHRzIGFzIEJhc2VEZWZhdWx0cyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgRm9yZ2VDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtzcGFjZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy93b3Jrc3BhY2UtY29uZmlnLnR5cGUuanNcIjtcblxuZXhwb3J0IGNvbnN0IERlYnVnOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwiZGVidWdcIixcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5lczZdLFxuXHRhbGlhc1BhdGhzOiB0cnVlLFxuXHQvLyBGaXh0dXJlcyBhcmUgcnVudGltZSBpbnB1dHMgKG9mdGVuIHJhdyAudHMgLyBjb25maWdzKSwgbm90IGxpYnJhcnkgc291cmNlcy5cblx0aWdub3JlOiBbXCIqKi9fX2ZpeHR1cmVzX18vKipcIl0sXG5cdGNvcHlGaWxlczogW1wiKiovX19maXh0dXJlc19fLyoqXCIsIFwiKiovLmRlY29oZXJlLmpzXCIsIFwiKiovLmRlY29oZXJlLiouanNcIl0sXG59O1xuXG5leHBvcnQgY29uc3QgUmVsZWFzZTogRm9yZ2VDb25maWd1cmF0aW9uID0ge1xuXHRuYW1lOiBcInJlbGVhc2VcIixcblx0cGFjazogdHJ1ZSxcblx0dGFyZ2V0czogW0J1aWxkVGFyZ2V0cy5jb21tb25qcywgQnVpbGRUYXJnZXRzLmVzNiwgQnVpbGRUYXJnZXRzLnR5cGVzXSxcblx0aWdub3JlOiBbXCIqKi8qLnNwZWMudHNcIiwgXCIqKi8qLnRlc3QudHNcIiwgXCJ0ZXN0cy8qKlwiLCBcImUyZS8qKlwiXSxcblx0Ly8gU2l0IG5leHQgdG8gZW1pdHRlZCBKUyB1bmRlciBlczYvY29tbW9uanMvdHlwZXMgKGltcG9ydC5tZXRhLnVybCkuXG5cdC8vIERvIG5vdCBwdXQgcGFja2FnZS5qc29uIGhlcmUg4oCUIHRoYXQgc3RheXMgb24gd29ya3NwYWNlIGNvcHlGaWxlcyAocm9vdCBvbmx5KS5cblx0Y29weUZpbGVzOiBbXG5cdFx0XCIqKi93ZWJhcGkvZGV2Y29udGFpbmVyL3RlbXBsYXRlcy8qKlwiLFxuXHRcdFwiKiovd2ViYXBpL2RldmNvbnRhaW5lci9jb2RlYmFzZS1yYWctbWNwLnRzXCIsXG5cdF0sXG59O1xuXG4vKipcbiAqIExpbmsgY29uZmlndXJhdGlvbjogdW5wYWNrZWQgSlMgKyBjby1sb2NhdGVkIHR5cGUgZGVjbGFyYXRpb25zLlxuICogSW50ZW5kZWQgZm9yIGBmb3JnZSBsaW5rYCDigJQgc3ltbGlua2VkIGludG8gYSBjb25zdW1lcidzIG5vZGVfbW9kdWxlcyBzbyB0aGF0XG4gKiBib3RoIHJ1bnRpbWUgcmVzb2x1dGlvbiBhbmQgVHlwZVNjcmlwdCBmaW5kIHRoZSBzYW1lIG91dHB1dCBkaXJlY3RvcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBMaW5rOiBGb3JnZUNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hbWU6IFwibGlua1wiLFxuXHRwYWNrOiB0cnVlLFxuXHR0YXJnZXRzOiBbQnVpbGRUYXJnZXRzLmVzNiwgQnVpbGRUYXJnZXRzLnR5cGVzXSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29uZmlndXJhdGlvbnMgPSBbRGVidWcsIExpbmssIFJlbGVhc2VdO1xuXG5leHBvcnQgY29uc3QgV29ya3NwYWNlRGVmYXVsdHM6IFdvcmtzcGFjZU9wdGlvbnMgPSB7XG5cdC4uLkJhc2VEZWZhdWx0cyxcblx0Y29weUZpbGVzOiBbXCJwYWNrYWdlLmpzb25cIiwgXCIqKi8qLm1qc1wiXSxcblx0Y29uZmlndXJhdGlvbnM6IERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0cHJvamVjdHM6IHVuZGVmaW5lZCxcbn07XG4iXSwibmFtZXMiOlsiRGVidWciLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJMaW5rIiwiUmVsZWFzZSIsIldvcmtzcGFjZURlZmF1bHRzIiwibmFtZSIsInRhcmdldHMiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwiaWdub3JlIiwiY29weUZpbGVzIiwicGFjayIsImNvbW1vbmpzIiwidHlwZXMiLCJCYXNlRGVmYXVsdHMiLCJjb25maWd1cmF0aW9ucyIsInByb2plY3RzIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUthQTtlQUFBQTs7UUFpQ0FDO2VBQUFBOztRQU5BQztlQUFBQTs7UUFsQkFDO2VBQUFBOztRQTBCQUM7ZUFBQUE7OztzQkF4Q3FDO2lDQUNyQjtBQUl0QixNQUFNSixRQUE0QjtJQUN4Q0ssTUFBTTtJQUNOQyxTQUFTO1FBQUNDLDZCQUFZLENBQUNDLEdBQUc7S0FBQztJQUMzQkMsWUFBWTtJQUNaLDhFQUE4RTtJQUM5RUMsUUFBUTtRQUFDO0tBQXFCO0lBQzlCQyxXQUFXO1FBQUM7UUFBc0I7UUFBbUI7S0FBb0I7QUFDMUU7QUFFTyxNQUFNUixVQUE4QjtJQUMxQ0UsTUFBTTtJQUNOTyxNQUFNO0lBQ05OLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ00sUUFBUTtRQUFFTiw2QkFBWSxDQUFDQyxHQUFHO1FBQUVELDZCQUFZLENBQUNPLEtBQUs7S0FBQztJQUN0RUosUUFBUTtRQUFDO1FBQWdCO1FBQWdCO1FBQVk7S0FBUztJQUM5RCxxRUFBcUU7SUFDckUsZ0ZBQWdGO0lBQ2hGQyxXQUFXO1FBQ1Y7UUFDQTtLQUNBO0FBQ0Y7QUFPTyxNQUFNVCxPQUEyQjtJQUN2Q0csTUFBTTtJQUNOTyxNQUFNO0lBQ05OLFNBQVM7UUFBQ0MsNkJBQVksQ0FBQ0MsR0FBRztRQUFFRCw2QkFBWSxDQUFDTyxLQUFLO0tBQUM7QUFDaEQ7QUFFTyxNQUFNYix3QkFBd0I7SUFBQ0Q7SUFBT0U7SUFBTUM7Q0FBUTtBQUVwRCxNQUFNQyxvQkFBc0M7SUFDbEQsR0FBR1csdUJBQVk7SUFDZkosV0FBVztRQUFDO1FBQWdCO0tBQVc7SUFDdkNLLGdCQUFnQmY7SUFDaEJnQixVQUFVQztBQUNYIn0=
@@ -36,6 +36,10 @@ export class Build {
36
36
  }
37
37
  }
38
38
  run = async (options)=>{
39
+ if (options.build === false) {
40
+ this.#logger.info("Skipping build");
41
+ return ActionResponse.Skipped(Build.name);
42
+ }
39
43
  const { configuration: buildConfig } = options;
40
44
  const projects = this.workspace.getProjects(buildConfig);
41
45
  void this.fileWriter.warmup([
@@ -53,6 +57,10 @@ export class Build {
53
57
  transformer.incrementalTransform$.subscribe((responses)=>{
54
58
  this.fileWriter.enqueueOutputs(responses);
55
59
  void this.writeOutput();
60
+ const succeeded = responses.some((r)=>r.outcome === "success");
61
+ if (succeeded) {
62
+ this.#logger.info(`Transpiled ${responses[0].file.fullPath}`);
63
+ }
56
64
  });
57
65
  }
58
66
  }
@@ -97,4 +105,4 @@ Build = _ts_decorate([
97
105
  ])
98
106
  ], Build);
99
107
 
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2J1aWxkLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9maWxlLXdyaXRlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2Zvcm1lciwgVHJhbnNmb3JtZXJLZXkgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuXG5leHBvcnQgdHlwZSBCdWlsZE9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0ZmlsZTogc3RyaW5nO1xufTtcblxuQFRyYWNlXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnVpbGQgaW1wbGVtZW50cyBBY3Rpb248QnVpbGRPcHRpb25zPiB7XG5cdCNsb2dnZXIgPSBzY3JpYmUubG9nZ2VyKEJ1aWxkLm5hbWUpO1xuXHRwdWJsaWMgY29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0XHRAaW5qZWN0KFRyYW5zZm9ybWVyS2V5KSBwcml2YXRlIHJlYWRvbmx5IHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJbXSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGZpbGVXcml0ZXI6IEZpbGVXcml0ZXJTZXJ2aWNlLFxuXHQpIHtcblx0XHRpZiAoIXRyYW5zZm9ybWVycyB8fCB0cmFuc2Zvcm1lcnMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcIkF0IGxlYXN0IG9uZSB0cmFuc2Zvcm1lciBpcyByZXF1aXJlZFwiKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgcnVuID0gYXN5bmMgKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U8VHJhbnNmb3JtUmVzcG9uc2U+PiA9PiB7XG5cdFx0Y29uc3QgeyBjb25maWd1cmF0aW9uOiBidWlsZENvbmZpZyB9ID0gb3B0aW9ucztcblx0XHRjb25zdCBwcm9qZWN0cyA9IHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKGJ1aWxkQ29uZmlnKTtcblx0XHR2b2lkIHRoaXMuZmlsZVdyaXRlci53YXJtdXAoWy4uLnByb2plY3RzXSk7XG5cdFx0Y29uc3QgdHJhbnNmb3JtUmVzdWx0cyA9IGF3YWl0IHRoaXMuYnVpbGQocHJvamVjdHMpO1xuXG5cdFx0Y29uc3QgZXJyb3JzID0gdHJhbnNmb3JtUmVzdWx0cy5maWx0ZXIoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5vdXRjb21lID09PSBcImZhaWx1cmVcIik7XG5cdFx0aWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlcyA9IHRyYW5zZm9ybVJlc3VsdHMubWFwKChyZXNwb25zZXMpID0+IHJlc3BvbnNlcy5tZXNzYWdlcykuam9pbihcIlxcblwiKTtcblx0XHRcdHRocm93IG5ldyBGb3JnZUVycm9yKGBFcnJvciBidWlsZGluZzogJHttZXNzYWdlc31gKTtcblx0XHR9XG5cblx0XHRmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRoaXMudHJhbnNmb3JtZXJzKSB7XG5cdFx0XHRpZiAodHJhbnNmb3JtZXIud2F0Y2ggJiYgdHJhbnNmb3JtZXIuaW5jcmVtZW50YWxUcmFuc2Zvcm0kKSB7XG5cdFx0XHRcdHRyYW5zZm9ybWVyLndhdGNoKHRoaXMud29ya3NwYWNlKTtcblx0XHRcdFx0dHJhbnNmb3JtZXIuaW5jcmVtZW50YWxUcmFuc2Zvcm0kLnN1YnNjcmliZSgocmVzcG9uc2VzKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5maWxlV3JpdGVyLmVucXVldWVPdXRwdXRzKHJlc3BvbnNlcyk7XG5cdFx0XHRcdFx0dm9pZCB0aGlzLndyaXRlT3V0cHV0KCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKEJ1aWxkLm5hbWUsIHRyYW5zZm9ybVJlc3VsdHMpO1xuXHR9O1xuXG5cdHB1YmxpYyBhc3luYyBidWlsZChcblx0XHRwcm9qZWN0QXJyYXlMaWtlOiByZWFkb25seSBQcm9qZWN0W10gfCBQcm9qZWN0LFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+IHtcblx0XHRjb25zdCBwcm9qZWN0czogUHJvamVjdFtdID0gQXJyYXkuaXNBcnJheShwcm9qZWN0QXJyYXlMaWtlKVxuXHRcdFx0PyBwcm9qZWN0QXJyYXlMaWtlXG5cdFx0XHQ6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRmb3IgKGNvbnN0IHByb2plY3Qgb2YgcHJvamVjdHMpIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKGBCdWlsZGluZyAke3Byb2plY3QubmFtZX1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMucnVuVHJhbnNmb3JtZXJzKHByb2plY3RzKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuVHJhbnNmb3JtZXJzKFxuXHRcdHByb2plY3RzOiBQcm9qZWN0IHwgUHJvamVjdFtdLFxuXHRcdGZpbGVGaWx0ZXI/OiAocHJvamVjdDogUHJvamVjdCkgPT4gUHJvbWlzZTxGaWxlRXhbXT4sXG5cdCkge1xuXHRcdC8vIFBoYXNlIDE6IHNlcXVlbnRpYWwgaW5pdCDigJQgcnVucyBleHBlbnNpdmUgc2V0dXAgKGUuZy4gVHlwZVNjcmlwdCBjcmVhdGVQcm9ncmFtKVxuXHRcdC8vIGJlZm9yZSBhbnkgdHJhbnNmb3JtZXIncyBwYXJhbGxlbCB3b3JrbG9hZCAoZS5nLiBTV0MvUmF5b24pIHN0YXJ0cy5cblx0XHRmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRoaXMudHJhbnNmb3JtZXJzKSB7XG5cdFx0XHRhd2FpdCB0cmFuc2Zvcm1lci5pbml0Py4ocHJvamVjdHMsIGZpbGVGaWx0ZXIpO1xuXHRcdH1cblx0XHQvLyBQaGFzZSAyOiBwYXJhbGxlbCB0cmFuc2Zvcm0g4oCUIGFsbCB0cmFuc2Zvcm1lcnMgcnVuIGNvbmN1cnJlbnRseSBub3cgdGhhdFxuXHRcdC8vIENQVS1oZWF2eSBpbml0IGlzIGNvbXBsZXRlLlxuXHRcdGNvbnN0IGFsbFJlc3BvbnNlcyA9IChcblx0XHRcdGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0XHR0aGlzLnRyYW5zZm9ybWVycy5tYXAoKHQpID0+XG5cdFx0XHRcdFx0dC50cmFuc2Zvcm1Qcm9qZWN0KHByb2plY3RzLCBmaWxlRmlsdGVyLCAocmVzcG9uc2UpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuZmlsZVdyaXRlci5lbnF1ZXVlT3V0cHV0KHJlc3BvbnNlKTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KSxcblx0XHRcdClcblx0XHQpLmZsYXQoKTtcblx0XHRhd2FpdCB0aGlzLndyaXRlT3V0cHV0KCk7XG5cdFx0cmV0dXJuIGFsbFJlc3BvbnNlcztcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgd3JpdGVPdXRwdXQoKSB7XG5cdFx0YXdhaXQgdGhpcy5maWxlV3JpdGVyLmZsdXNoKCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJpbmplY3QiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJUcmFjZSIsInNjcmliZSIsIkZvcmdlRXJyb3IiLCJGaWxlV3JpdGVyU2VydmljZSIsIlRyYW5zZm9ybWVyS2V5IiwiQnVpbGQiLCJsb2dnZXIiLCJuYW1lIiwid29ya3NwYWNlIiwidHJhbnNmb3JtZXJzIiwiZmlsZVdyaXRlciIsImxlbmd0aCIsInJ1biIsIm9wdGlvbnMiLCJjb25maWd1cmF0aW9uIiwiYnVpbGRDb25maWciLCJwcm9qZWN0cyIsImdldFByb2plY3RzIiwid2FybXVwIiwidHJhbnNmb3JtUmVzdWx0cyIsImJ1aWxkIiwiZXJyb3JzIiwiZmlsdGVyIiwicmVzcG9uc2UiLCJvdXRjb21lIiwibWVzc2FnZXMiLCJtYXAiLCJyZXNwb25zZXMiLCJqb2luIiwidHJhbnNmb3JtZXIiLCJ3YXRjaCIsImluY3JlbWVudGFsVHJhbnNmb3JtJCIsInN1YnNjcmliZSIsImVucXVldWVPdXRwdXRzIiwid3JpdGVPdXRwdXQiLCJTdWNjZXNzIiwicHJvamVjdEFycmF5TGlrZSIsIkFycmF5IiwiaXNBcnJheSIsInByb2plY3QiLCJpbmZvIiwicnVuVHJhbnNmb3JtZXJzIiwiZmlsZUZpbHRlciIsImluaXQiLCJhbGxSZXNwb25zZXMiLCJQcm9taXNlIiwiYWxsIiwidCIsInRyYW5zZm9ybVByb2plY3QiLCJlbnF1ZXVlT3V0cHV0IiwiZmxhdCIsImZs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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2J1aWxkLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9maWxlLXdyaXRlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2Zvcm1lciwgVHJhbnNmb3JtZXJLZXkgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuXG5leHBvcnQgdHlwZSBCdWlsZE9wdGlvbnMgPSB7XG5cdGJ1aWxkPzogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xuXHRmaWxlOiBzdHJpbmc7XG59O1xuXG5AVHJhY2VcbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCdWlsZCBpbXBsZW1lbnRzIEFjdGlvbjxCdWlsZE9wdGlvbnM+IHtcblx0I2xvZ2dlciA9IHNjcmliZS5sb2dnZXIoQnVpbGQubmFtZSk7XG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IHdvcmtzcGFjZTogV29ya3NwYWNlLFxuXHRcdEBpbmplY3QoVHJhbnNmb3JtZXJLZXkpIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNmb3JtZXJzOiBUcmFuc2Zvcm1lcltdLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZmlsZVdyaXRlcjogRmlsZVdyaXRlclNlcnZpY2UsXG5cdCkge1xuXHRcdGlmICghdHJhbnNmb3JtZXJzIHx8IHRyYW5zZm9ybWVycy5sZW5ndGggPT09IDApIHtcblx0XHRcdHRocm93IG5ldyBGb3JnZUVycm9yKFwiQXQgbGVhc3Qgb25lIHRyYW5zZm9ybWVyIGlzIHJlcXVpcmVkXCIpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBydW4gPSBhc3luYyAob3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZTxUcmFuc2Zvcm1SZXNwb25zZT4+ID0+IHtcblx0XHRpZiAob3B0aW9ucy5idWlsZCA9PT0gZmFsc2UpIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKFwiU2tpcHBpbmcgYnVpbGRcIik7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU2tpcHBlZChCdWlsZC5uYW1lKSBhcyBBY3Rpb25SZXNwb25zZTxUcmFuc2Zvcm1SZXNwb25zZT47XG5cdFx0fVxuXHRcdGNvbnN0IHsgY29uZmlndXJhdGlvbjogYnVpbGRDb25maWcgfSA9IG9wdGlvbnM7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSB0aGlzLndvcmtzcGFjZS5nZXRQcm9qZWN0cyhidWlsZENvbmZpZyk7XG5cdFx0dm9pZCB0aGlzLmZpbGVXcml0ZXIud2FybXVwKFsuLi5wcm9qZWN0c10pO1xuXHRcdGNvbnN0IHRyYW5zZm9ybVJlc3VsdHMgPSBhd2FpdCB0aGlzLmJ1aWxkKHByb2plY3RzKTtcblxuXHRcdGNvbnN0IGVycm9ycyA9IHRyYW5zZm9ybVJlc3VsdHMuZmlsdGVyKChyZXNwb25zZSkgPT4gcmVzcG9uc2Uub3V0Y29tZSA9PT0gXCJmYWlsdXJlXCIpO1xuXHRcdGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZXMgPSB0cmFuc2Zvcm1SZXN1bHRzLm1hcCgocmVzcG9uc2VzKSA9PiByZXNwb25zZXMubWVzc2FnZXMpLmpvaW4oXCJcXG5cIik7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihgRXJyb3IgYnVpbGRpbmc6ICR7bWVzc2FnZXN9YCk7XG5cdFx0fVxuXG5cdFx0Zm9yIChjb25zdCB0cmFuc2Zvcm1lciBvZiB0aGlzLnRyYW5zZm9ybWVycykge1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVyLndhdGNoICYmIHRyYW5zZm9ybWVyLmluY3JlbWVudGFsVHJhbnNmb3JtJCkge1xuXHRcdFx0XHR0cmFuc2Zvcm1lci53YXRjaCh0aGlzLndvcmtzcGFjZSk7XG5cdFx0XHRcdHRyYW5zZm9ybWVyLmluY3JlbWVudGFsVHJhbnNmb3JtJC5zdWJzY3JpYmUoKHJlc3BvbnNlcykgPT4ge1xuXHRcdFx0XHRcdHRoaXMuZmlsZVdyaXRlci5lbnF1ZXVlT3V0cHV0cyhyZXNwb25zZXMpO1xuXHRcdFx0XHRcdHZvaWQgdGhpcy53cml0ZU91dHB1dCgpO1xuXHRcdFx0XHRcdGNvbnN0IHN1Y2NlZWRlZCA9IHJlc3BvbnNlcy5zb21lKChyKSA9PiByLm91dGNvbWUgPT09IFwic3VjY2Vzc1wiKTtcblx0XHRcdFx0XHRpZiAoc3VjY2VlZGVkKSB7XG5cdFx0XHRcdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgVHJhbnNwaWxlZCAke3Jlc3BvbnNlc1swXS5maWxlLmZ1bGxQYXRofWApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQnVpbGQubmFtZSwgdHJhbnNmb3JtUmVzdWx0cyk7XG5cdH07XG5cblx0cHVibGljIGFzeW5jIGJ1aWxkKFxuXHRcdHByb2plY3RBcnJheUxpa2U6IHJlYWRvbmx5IFByb2plY3RbXSB8IFByb2plY3QsXG5cdCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdGNvbnN0IHByb2plY3RzOiBQcm9qZWN0W10gPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpXG5cdFx0XHQ/IHByb2plY3RBcnJheUxpa2Vcblx0XHRcdDogW3Byb2plY3RBcnJheUxpa2VdO1xuXHRcdGZvciAoY29uc3QgcHJvamVjdCBvZiBwcm9qZWN0cykge1xuXHRcdFx0dGhpcy4jbG9nZ2VyLmluZm8oYEJ1aWxkaW5nICR7cHJvamVjdC5uYW1lfWApO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5ydW5UcmFuc2Zvcm1lcnMocHJvamVjdHMpO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBydW5UcmFuc2Zvcm1lcnMoXG5cdFx0cHJvamVjdHM6IFByb2plY3QgfCBQcm9qZWN0W10sXG5cdFx0ZmlsZUZpbHRlcj86IChwcm9qZWN0OiBQcm9qZWN0KSA9PiBQcm9taXNlPEZpbGVFeFtdPixcblx0KSB7XG5cdFx0Ly8gUGhhc2UgMTogc2VxdWVudGlhbCBpbml0IOKAlCBydW5zIGV4cGVuc2l2ZSBzZXR1cCAoZS5nLiBUeXBlU2NyaXB0IGNyZWF0ZVByb2dyYW0pXG5cdFx0Ly8gYmVmb3JlIGFueSB0cmFuc2Zvcm1lcidzIHBhcmFsbGVsIHdvcmtsb2FkIChlLmcuIFNXQy9SYXlvbikgc3RhcnRzLlxuXHRcdGZvciAoY29uc3QgdHJhbnNmb3JtZXIgb2YgdGhpcy50cmFuc2Zvcm1lcnMpIHtcblx0XHRcdGF3YWl0IHRyYW5zZm9ybWVyLmluaXQ/Lihwcm9qZWN0cywgZmlsZUZpbHRlcik7XG5cdFx0fVxuXHRcdC8vIFBoYXNlIDI6IHBhcmFsbGVsIHRyYW5zZm9ybSDigJQgYWxsIHRyYW5zZm9ybWVycyBydW4gY29uY3VycmVudGx5IG5vdyB0aGF0XG5cdFx0Ly8gQ1BVLWhlYXZ5IGluaXQgaXMgY29tcGxldGUuXG5cdFx0Y29uc3QgYWxsUmVzcG9uc2VzID0gKFxuXHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHRcdHRoaXMudHJhbnNmb3JtZXJzLm1hcCgodCkgPT5cblx0XHRcdFx0XHR0LnRyYW5zZm9ybVByb2plY3QocHJvamVjdHMsIGZpbGVGaWx0ZXIsIChyZXNwb25zZSkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5maWxlV3JpdGVyLmVucXVldWVPdXRwdXQocmVzcG9uc2UpO1xuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHQpLFxuXHRcdFx0KVxuXHRcdCkuZmxhdCgpO1xuXHRcdGF3YWl0IHRoaXMud3JpdGVPdXRwdXQoKTtcblx0XHRyZXR1cm4gYWxsUmVzcG9uc2VzO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyB3cml0ZU91dHB1dCgpIHtcblx0XHRhd2FpdCB0aGlzLmZpbGVXcml0ZXIuZmx1c2goKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbImluamVjdCIsImluamVjdGFibGUiLCJXb3Jrc3BhY2UiLCJBY3Rpb25SZXNwb25zZSIsIlRyYWNlIiwic2NyaWJlIiwiRm9yZ2VFcnJvciIsIkZpbGVXcml0ZXJTZXJ2aWNlIiwiVHJhbnNmb3JtZXJLZXkiLCJCdWlsZCIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJ0cmFuc2Zvcm1lcnMiLCJmaWxlV3JpdGVyIiwibGVuZ3RoIiwicnVuIiwib3B0aW9ucyIsImJ1aWxkIiwiaW5mbyIsIlNraXBwZWQiLCJjb25maWd1cmF0aW9uIiwiYnVpbGRDb25maWciLCJwcm9qZWN0cyIsImdldFByb2plY3RzIiwid2FybXVwIiwidHJhbnNmb3JtUmVzdWx0cyIsImVycm9ycyIsImZpbHRlciIsInJlc3BvbnNlIiwib3V0Y29tZSIsIm1lc3NhZ2VzIiwibWFwIiwicmVzcG9uc2VzIiwiam9pbiIsInRyYW5zZm9ybWVyIiwid2F0Y2giLCJpbmNyZW1lbnRhbFRyYW5zZm9ybSQiLCJzdWJzY3JpYmUiLCJlbnF1ZXVlT3V0cHV0cyIsIndyaXRlT3V0cHV0Iiwic3VjY2VlZGVkIiwic29tZSIsInIiLCJmaWxlIiwiZnVsbFBhdGgiLCJTdWNjZXNzIiwicHJvamVjdEFycmF5TGlrZSIsIkFycmF5IiwiaXNBcnJheSIsInByb2plY3QiLCJydW5UcmFuc2Zvcm1lcnMiLCJmaWxlRmlsdGVyIiwiaW5pdCIsImFsbFJlc3BvbnNlcyIsIlByb21pc2UiLCJhbGwiLCJ0IiwidHJhbnNmb3JtUHJvamVjdCIsImVucXVldWVPdXRwdXQiLCJmbGF0IiwiZmx1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsTUFBTSxFQUFFQyxVQUFVLFFBQVEsZ0NBQWdDO0FBRW5FLDhDQUE4QztBQUM5QyxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBRTNDLFNBQVNDLGNBQWMsUUFBUSxzQkFBc0I7QUFDckQsU0FBU0MsS0FBSyxRQUFRLDhCQUE4QjtBQUVwRCxTQUFTQyxNQUFNLFFBQVEsbUJBQW1CO0FBQzFDLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBQzFDLDhDQUE4QztBQUM5QyxTQUFTQyxpQkFBaUIsUUFBUSxxQ0FBcUM7QUFFdkUsU0FBMkJDLGNBQWMsUUFBUSwrQkFBK0I7QUFVaEYsT0FBTyxNQUFNQzs7OztJQUNaLENBQUEsTUFBTyxHQUFHSixPQUFPSyxNQUFNLENBQUNELE1BQU1FLElBQUksRUFBRTtJQUNwQyxZQUNDLEFBQWlCQyxTQUFvQixFQUNyQyxBQUF5Q0MsWUFBMkIsRUFDcEUsQUFBaUJDLFVBQTZCLENBQzdDO2FBSGdCRixZQUFBQTth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
@@ -24,8 +24,8 @@ export class Clean {
24
24
  this.#logger.info("Skipping clean");
25
25
  return ActionResponse.Skipped(Clean.name);
26
26
  }
27
- await Promise.all(this.workspace.getProjects(options.configuration).map(async (proj)=>{
28
- const outDir = proj.getRootOut();
27
+ const outDirs = this.workspace.getProjects(options.configuration).map((proj)=>proj.getRootOut()).filter((dir, i, arr)=>arr.indexOf(dir) === i); // dedupe
28
+ await Promise.all(outDirs.map(async (outDir)=>{
29
29
  await io.removeDir(outDir, {
30
30
  force: true,
31
31
  recursive: true
@@ -43,4 +43,4 @@ Clean = _ts_decorate([
43
43
  ])
44
44
  ], Clean);
45
45
 
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NsZWFuLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcblxuZXhwb3J0IHR5cGUgQ2xlYW5PcHRpb25zID0ge1xuXHRjbGVhbjogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsZWFuIGltcGxlbWVudHMgQWN0aW9uPENsZWFuT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDbGVhbi5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDbGVhbk9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiA9PiB7XG5cdFx0aWYgKCFvcHRpb25zLmNsZWFuKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIlNraXBwaW5nIGNsZWFuXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ2xlYW4ubmFtZSk7XG5cdFx0fVxuXG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0aGlzLndvcmtzcGFjZS5nZXRQcm9qZWN0cyhvcHRpb25zLmNvbmZpZ3VyYXRpb24pLm1hcChhc3luYyAocHJvaikgPT4ge1xuXHRcdFx0XHRjb25zdCBvdXREaXIgPSBwcm9qLmdldFJvb3RPdXQoKTtcblx0XHRcdFx0YXdhaXQgaW8ucmVtb3ZlRGlyKG91dERpciwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENsZWFuZWQgJHtvdXREaXJ9YCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ2xlYW4ubmFtZSk7XG5cdH07XG59XG4iXSwibmFtZXMiOlsiaW5qZWN0YWJsZSIsIldvcmtzcGFjZSIsIkFjdGlvblJlc3BvbnNlIiwiaW8iLCJzY3JpYmUiLCJDbGVhbiIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJydW4iLCJvcHRpb25zIiwiY2xlYW4iLCJpbmZvIiwiU2tpcHBlZCIsIlByb21pc2UiLCJhbGwiLCJnZXRQcm9qZWN0cyIsImNvbmZpZ3VyYXRpb24iLCJtYXAiLCJwcm9qIiwib3V0RGlyIiwiZ2V0Um9vdE91dCIsInJlbW92ZURpciIsImZvcmNlIiwicmVjdXJzaXZlIiwidHJhY2UiLCJTdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELDhDQUE4QztBQUM5QyxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBRTNDLFNBQVNDLGNBQWMsUUFBUSxzQkFBc0I7QUFDckQsU0FBU0MsRUFBRSxRQUFRLHFCQUFxQjtBQUN4QyxTQUFTQyxNQUFNLFFBQVEsbUJBQW1CO0FBUTFDLE9BQU8sTUFBTUM7O0lBQ1osQ0FBQSxNQUFPLEdBQUdELE9BQU9FLE1BQU0sQ0FBQ0QsTUFBTUUsSUFBSSxFQUFFO0lBQ3BDLFlBQW1CLEFBQWlCQyxTQUFvQixDQUFFO2FBQXRCQSxZQUFBQTtJQUF1QjtJQUVwREMsTUFBTSxPQUFPQztRQUNuQixJQUFJLENBQUNBLFFBQVFDLEtBQUssRUFBRTtZQUNuQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLElBQUksQ0FBQztZQUNsQixPQUFPVixlQUFlVyxPQUFPLENBQUNSLE1BQU1FLElBQUk7UUFDekM7UUFFQSxNQUFNTyxRQUFRQyxHQUFHLENBQ2hCLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxXQUFXLENBQUNOLFFBQVFPLGFBQWEsRUFBRUMsR0FBRyxDQUFDLE9BQU9DO1lBQzVELE1BQU1DLFNBQVNELEtBQUtFLFVBQVU7WUFDOUIsTUFBTWxCLEdBQUdtQixTQUFTLENBQUNGLFFBQVE7Z0JBQUVHLE9BQU87Z0JBQU1DLFdBQVc7WUFBSztZQUMxRCxJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRUwsUUFBUTtRQUN2QztRQUdELE9BQU9sQixlQUFld0IsT0FBTyxDQUFDckIsTUFBTUUsSUFBSTtJQUN6QyxFQUFFO0FBQ0gifQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NsZWFuLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcblxuZXhwb3J0IHR5cGUgQ2xlYW5PcHRpb25zID0ge1xuXHRjbGVhbjogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsZWFuIGltcGxlbWVudHMgQWN0aW9uPENsZWFuT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDbGVhbi5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDbGVhbk9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiA9PiB7XG5cdFx0aWYgKCFvcHRpb25zLmNsZWFuKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIlNraXBwaW5nIGNsZWFuXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ2xlYW4ubmFtZSk7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgb3V0RGlycyA9IHRoaXMud29ya3NwYWNlXG5cdFx0XHQuZ2V0UHJvamVjdHMob3B0aW9ucy5jb25maWd1cmF0aW9uKVxuXHRcdFx0Lm1hcCgocHJvaikgPT4gcHJvai5nZXRSb290T3V0KCkpXG5cdFx0XHQuZmlsdGVyKChkaXIsIGksIGFycikgPT4gYXJyLmluZGV4T2YoZGlyKSA9PT0gaSk7IC8vIGRlZHVwZVxuXG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHRvdXREaXJzLm1hcChhc3luYyAob3V0RGlyKSA9PiB7XG5cdFx0XHRcdGF3YWl0IGlvLnJlbW92ZURpcihvdXREaXIsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblx0XHRcdFx0dGhpcy4jbG9nZ2VyLnRyYWNlKGBDbGVhbmVkICR7b3V0RGlyfWApO1xuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKENsZWFuLm5hbWUpO1xuXHR9O1xufVxuIl0sIm5hbWVzIjpbImluamVjdGFibGUiLCJXb3Jrc3BhY2UiLCJBY3Rpb25SZXNwb25zZSIsImlvIiwic2NyaWJlIiwiQ2xlYW4iLCJsb2dnZXIiLCJuYW1lIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsImNsZWFuIiwiaW5mbyIsIlNraXBwZWQiLCJvdXREaXJzIiwiZ2V0UHJvamVjdHMiLCJjb25maWd1cmF0aW9uIiwibWFwIiwicHJvaiIsImdldFJvb3RPdXQiLCJmaWx0ZXIiLCJkaXIiLCJpIiwiYXJyIiwiaW5kZXhPZiIsIlByb21pc2UiLCJhbGwiLCJvdXREaXIiLCJyZW1vdmVEaXIiLCJmb3JjZSIsInJlY3Vyc2l2ZSIsInRyYWNlIiwiU3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsU0FBU0EsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCw4Q0FBOEM7QUFDOUMsU0FBU0MsU0FBUyxRQUFRLGlCQUFpQjtBQUUzQyxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBQ3JELFNBQVNDLEVBQUUsUUFBUSxxQkFBcUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLG1CQUFtQjtBQVExQyxPQUFPLE1BQU1DOztJQUNaLENBQUEsTUFBTyxHQUFHRCxPQUFPRSxNQUFNLENBQUNELE1BQU1FLElBQUksRUFBRTtJQUNwQyxZQUFtQixBQUFpQkMsU0FBb0IsQ0FBRTthQUF0QkEsWUFBQUE7SUFBdUI7SUFFcERDLE1BQU0sT0FBT0M7UUFDbkIsSUFBSSxDQUFDQSxRQUFRQyxLQUFLLEVBQUU7WUFDbkIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxJQUFJLENBQUM7WUFDbEIsT0FBT1YsZUFBZVcsT0FBTyxDQUFDUixNQUFNRSxJQUFJO1FBQ3pDO1FBRUEsTUFBTU8sVUFBVSxJQUFJLENBQUNOLFNBQVMsQ0FDNUJPLFdBQVcsQ0FBQ0wsUUFBUU0sYUFBYSxFQUNqQ0MsR0FBRyxDQUFDLENBQUNDLE9BQVNBLEtBQUtDLFVBQVUsSUFDN0JDLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQyxHQUFHQyxNQUFRQSxJQUFJQyxPQUFPLENBQUNILFNBQVNDLElBQUksU0FBUztRQUU1RCxNQUFNRyxRQUFRQyxHQUFHLENBQ2hCWixRQUFRRyxHQUFHLENBQUMsT0FBT1U7WUFDbEIsTUFBTXhCLEdBQUd5QixTQUFTLENBQUNELFFBQVE7Z0JBQUVFLE9BQU87Z0JBQU1DLFdBQVc7WUFBSztZQUMxRCxJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRUosUUFBUTtRQUN2QztRQUdELE9BQU96QixlQUFlOEIsT0FBTyxDQUFDM0IsTUFBTUUsSUFBSTtJQUN6QyxFQUFFO0FBQ0gifQ==
@@ -29,15 +29,47 @@ export class Copy {
29
29
  return ActionResponse.Skipped(Copy.name);
30
30
  }
31
31
  await Promise.all(this.workspace.getProjects(options.configuration).map(async (proj)=>{
32
- const outDir = proj.getOutDir();
33
- const pattern = proj.copyFiles;
34
- const files = await io.findFiles(pattern, {
35
- cwd: proj.projectDirectory
32
+ const cwd = proj.projectDirectory;
33
+ const root = proj.getOutDir();
34
+ // Workspace + configuration copyFiles → package root (historic behaviour).
35
+ const rootFiles = await io.findFiles(proj.copyFiles, {
36
+ cwd
36
37
  });
37
- await Promise.all(files.map((file)=>this.copyFileToOut(file, outDir)));
38
+ await Promise.all(rootFiles.map((file)=>this.copyFileToOut(file, root)));
39
+ // Configuration-only globs → each pack target outDir (next to emitted JS).
40
+ await this.copyColocatedPackAssets(proj, cwd);
38
41
  }));
39
42
  return ActionResponse.Success(Copy.name);
40
43
  };
44
+ /**
45
+ * Packed builds emit JS under `<out>/<target>/` (e.g. `es6/`). Assets listed on
46
+ * the *configuration* `copyFiles` (not the workspace defaults) are also copied
47
+ * into each target so `import.meta.url` resolves them beside that JS.
48
+ *
49
+ * Workspace `copyFiles` (e.g. `package.json`) stay root-only — nesting a
50
+ * package manifest under `es6/` makes `npm install --install-links` drop the
51
+ * parent's `es6/` tree when packing `file:` deps.
52
+ */ async copyColocatedPackAssets(proj, cwd) {
53
+ const colocatedPatterns = proj.configuration.copyFiles ?? [];
54
+ if (colocatedPatterns.length === 0) {
55
+ return;
56
+ }
57
+ const config = proj.configuration;
58
+ if (!config.pack) {
59
+ return;
60
+ }
61
+ const targets = config.targets ?? [];
62
+ if (targets.length === 0) {
63
+ return;
64
+ }
65
+ const files = await io.findFiles(colocatedPatterns, {
66
+ cwd
67
+ });
68
+ const targetDirs = [
69
+ ...new Set(targets.map((target)=>proj.getOutDir(target)))
70
+ ];
71
+ await Promise.all(targetDirs.flatMap((outDir)=>files.map((file)=>this.copyFileToOut(file, outDir))));
72
+ }
41
73
  async copyFileToOut(file, outDir) {
42
74
  const dest = path.join(outDir, file.relativePath);
43
75
  await io.copyFile(file.fullPath, dest, {
@@ -66,4 +98,4 @@ Copy = _ts_decorate([
66
98
  ])
67
99
  ], Copy);
68
100
 
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvcHkuYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUltcG9ydFR5cGU6IDxEST5cbmltcG9ydCB7IFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgQWN0aW9uUmVzcG9uc2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgdHlwZSBGaWxlRXgsIGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgcmV0cnkgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL3N5c3RlbVwiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcblxuY29uc3QgQ09QWV9SRVRSWV9BVFRFTVBUUyA9IDM7XG5jb25zdCBDT1BZX1JFVFJZX0RFTEFZX01TID0gMjU7XG5cbmV4cG9ydCB0eXBlIENvcHlPcHRpb25zID0ge1xuXHRjb3B5OiBib29sZWFuO1xuXHRjb25maWd1cmF0aW9uOiBzdHJpbmc7XG59O1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29weSBpbXBsZW1lbnRzIEFjdGlvbjxDb3B5T3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDb3B5Lm5hbWUpO1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSkge31cblxuXHRwdWJsaWMgcnVuID0gYXN5bmMgKG9wdGlvbnM6IENvcHlPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZT4gPT4ge1xuXHRcdGlmICghb3B0aW9ucy5jb3B5KSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIlNraXBwaW5nIGNvcHlcIik7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU2tpcHBlZChDb3B5Lm5hbWUpO1xuXHRcdH1cblxuXHRcdGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0dGhpcy53b3Jrc3BhY2UuZ2V0UHJvamVjdHMob3B0aW9ucy5jb25maWd1cmF0aW9uKS5tYXAoYXN5bmMgKHByb2opID0+IHtcblx0XHRcdFx0Y29uc3Qgb3V0RGlyID0gcHJvai5nZXRPdXREaXIoKTtcblx0XHRcdFx0Y29uc3QgcGF0dGVybiA9IHByb2ouY29weUZpbGVzO1xuXHRcdFx0XHRjb25zdCBmaWxlcyA9IGF3YWl0IGlvLmZpbmRGaWxlcyhwYXR0ZXJuLCB7IGN3ZDogcHJvai5wcm9qZWN0RGlyZWN0b3J5IH0pO1xuXHRcdFx0XHRhd2FpdCBQcm9taXNlLmFsbChmaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMuY29weUZpbGVUb091dChmaWxlLCBvdXREaXIpKSk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ29weS5uYW1lKTtcblx0fTtcblxuXHRAcmV0cnkoeyBhdHRlbXB0czogQ09QWV9SRVRSWV9BVFRFTVBUUywgZGVsYXlNczogQ09QWV9SRVRSWV9ERUxBWV9NUyB9KVxuXHRwcml2YXRlIGFzeW5jIGNvcHlGaWxlVG9PdXQoZmlsZTogRmlsZUV4LCBvdXREaXI6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlc3QgPSBwYXRoLmpvaW4ob3V0RGlyLCBmaWxlLnJlbGF0aXZlUGF0aCk7XG5cdFx0YXdhaXQgaW8uY29weUZpbGUoZmlsZS5mdWxsUGF0aCwgZGVzdCwgeyBta2RpcjogdHJ1ZSB9KTtcblx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENvcGllZCAke2ZpbGUuZnVsbFBhdGh9IC0+ICR7ZGVzdH1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJpbyIsInJldHJ5Iiwic2NyaWJlIiwiQ09QWV9SRVRSWV9BVFRFTVBUUyIsIkNPUFlfUkVUUllfREVMQVlfTVMiLCJDb3B5IiwibG9nZ2VyIiwibmFtZSIsIndvcmtzcGFjZSIsInJ1biIsIm9wdGlvbnMiLCJjb3B5IiwiaW5mbyIsIlNraXBwZWQiLCJQcm9taXNlIiwiYWxsIiwiZ2V0UHJvamVjdHMiLCJjb25maWd1cmF0aW9uIiwibWFwIiwicHJvaiIsIm91dERpciIsImdldE91dERpciIsInBhdHRlcm4iLCJjb3B5RmlsZXMiLCJmaWxlcyIsImZpbmRGaWxlcyIsImN3ZCIsInByb2plY3REaXJlY3RvcnkiLCJmaWxlIiwiY29weUZpbGVUb091dCIsIlN1Y2Nlc3MiLCJkZXN0Iiwiam9pbiIsInJlbGF0aXZlUGF0aCIsImNvcHlGaWxlIiwiZnVsbFBhdGgiLCJta2RpciIsInRyYWNlIiwiYXR0ZW1wdHMiLCJkZWxheU1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPQSxVQUFVLFlBQVk7QUFDN0IsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCw4Q0FBOEM7QUFDOUMsU0FBU0MsU0FBUyxRQUFRLGlCQUFpQjtBQUUzQyxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBQ3JELFNBQXNCQyxFQUFFLFFBQVEscUJBQXFCO0FBQ3JELFNBQVNDLEtBQUssUUFBUSx5QkFBeUI7QUFDL0MsU0FBU0MsTUFBTSxRQUFRLG1CQUFtQjtBQUUxQyxNQUFNQyxzQkFBc0I7QUFDNUIsTUFBTUMsc0JBQXNCO0FBUTVCLE9BQU8sTUFBTUM7O0lBQ1osQ0FBQSxNQUFPLEdBQUdILE9BQU9JLE1BQU0sQ0FBQ0QsS0FBS0UsSUFBSSxFQUFFO0lBQ25DLFlBQW1CLEFBQWlCQyxTQUFvQixDQUFFO2FBQXRCQSxZQUFBQTtJQUF1QjtJQUVwREMsTUFBTSxPQUFPQztRQUNuQixJQUFJLENBQUNBLFFBQVFDLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLElBQUksQ0FBQztZQUNsQixPQUFPYixlQUFlYyxPQUFPLENBQUNSLEtBQUtFLElBQUk7UUFDeEM7UUFFQSxNQUFNTyxRQUFRQyxHQUFHLENBQ2hCLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxXQUFXLENBQUNOLFFBQVFPLGFBQWEsRUFBRUMsR0FBRyxDQUFDLE9BQU9DO1lBQzVELE1BQU1DLFNBQVNELEtBQUtFLFNBQVM7WUFDN0IsTUFBTUMsVUFBVUgsS0FBS0ksU0FBUztZQUM5QixNQUFNQyxRQUFRLE1BQU14QixHQUFHeUIsU0FBUyxDQUFDSCxTQUFTO2dCQUFFSSxLQUFLUCxLQUFLUSxnQkFBZ0I7WUFBQztZQUN2RSxNQUFNYixRQUFRQyxHQUFHLENBQUNTLE1BQU1OLEdBQUcsQ0FBQyxDQUFDVSxPQUFTLElBQUksQ0FBQ0MsYUFBYSxDQUFDRCxNQUFNUjtRQUNoRTtRQUdELE9BQU9yQixlQUFlK0IsT0FBTyxDQUFDekIsS0FBS0UsSUFBSTtJQUN4QyxFQUFFO0lBRUYsTUFDY3NCLGNBQWNELElBQVksRUFBRVIsTUFBYyxFQUFFO1FBQ3pELE1BQU1XLE9BQU9uQyxLQUFLb0MsSUFBSSxDQUFDWixRQUFRUSxLQUFLSyxZQUFZO1FBQ2hELE1BQU1qQyxHQUFHa0MsUUFBUSxDQUFDTixLQUFLTyxRQUFRLEVBQUVKLE1BQU07WUFBRUssT0FBTztRQUFLO1FBQ3JELElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0MsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFVCxLQUFLTyxRQUFRLENBQUMsSUFBSSxFQUFFSixNQUFNO0lBQ3hEO0FBQ0Q7OztRQU5VTyxVQUFVbkM7UUFBcUJvQyxTQUFTbkMifQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvcHkuYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUltcG9ydFR5cGU6IDxEST5cbmltcG9ydCB7IHR5cGUgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyB0eXBlIEZpbGVFeCwgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyByZXRyeSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvc3lzdGVtXCI7XG5pbXBvcnQgeyBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHR5cGUgeyBGb3JnZUNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlLmpzXCI7XG5cbmNvbnN0IENPUFlfUkVUUllfQVRURU1QVFMgPSAzO1xuY29uc3QgQ09QWV9SRVRSWV9ERUxBWV9NUyA9IDI1O1xuXG5leHBvcnQgdHlwZSBDb3B5T3B0aW9ucyA9IHtcblx0Y29weTogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvcHkgaW1wbGVtZW50cyBBY3Rpb248Q29weU9wdGlvbnM+IHtcblx0I2xvZ2dlciA9IHNjcmliZS5sb2dnZXIoQ29weS5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDb3B5T3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+ID0+IHtcblx0XHRpZiAoIW9wdGlvbnMuY29weSkge1xuXHRcdFx0dGhpcy4jbG9nZ2VyLmluZm8oXCJTa2lwcGluZyBjb3B5XCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ29weS5uYW1lKTtcblx0XHR9XG5cblx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKG9wdGlvbnMuY29uZmlndXJhdGlvbikubWFwKGFzeW5jIChwcm9qKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGN3ZCA9IHByb2oucHJvamVjdERpcmVjdG9yeTtcblx0XHRcdFx0Y29uc3Qgcm9vdCA9IHByb2ouZ2V0T3V0RGlyKCk7XG5cblx0XHRcdFx0Ly8gV29ya3NwYWNlICsgY29uZmlndXJhdGlvbiBjb3B5RmlsZXMg4oaSIHBhY2thZ2Ugcm9vdCAoaGlzdG9yaWMgYmVoYXZpb3VyKS5cblx0XHRcdFx0Y29uc3Qgcm9vdEZpbGVzID0gYXdhaXQgaW8uZmluZEZpbGVzKHByb2ouY29weUZpbGVzLCB7IGN3ZCB9KTtcblx0XHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwocm9vdEZpbGVzLm1hcCgoZmlsZSkgPT4gdGhpcy5jb3B5RmlsZVRvT3V0KGZpbGUsIHJvb3QpKSk7XG5cblx0XHRcdFx0Ly8gQ29uZmlndXJhdGlvbi1vbmx5IGdsb2JzIOKGkiBlYWNoIHBhY2sgdGFyZ2V0IG91dERpciAobmV4dCB0byBlbWl0dGVkIEpTKS5cblx0XHRcdFx0YXdhaXQgdGhpcy5jb3B5Q29sb2NhdGVkUGFja0Fzc2V0cyhwcm9qLCBjd2QpO1xuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKENvcHkubmFtZSk7XG5cdH07XG5cblx0LyoqXG5cdCAqIFBhY2tlZCBidWlsZHMgZW1pdCBKUyB1bmRlciBgPG91dD4vPHRhcmdldD4vYCAoZS5nLiBgZXM2L2ApLiBBc3NldHMgbGlzdGVkIG9uXG5cdCAqIHRoZSAqY29uZmlndXJhdGlvbiogYGNvcHlGaWxlc2AgKG5vdCB0aGUgd29ya3NwYWNlIGRlZmF1bHRzKSBhcmUgYWxzbyBjb3BpZWRcblx0ICogaW50byBlYWNoIHRhcmdldCBzbyBgaW1wb3J0Lm1ldGEudXJsYCByZXNvbHZlcyB0aGVtIGJlc2lkZSB0aGF0IEpTLlxuXHQgKlxuXHQgKiBXb3Jrc3BhY2UgYGNvcHlGaWxlc2AgKGUuZy4gYHBhY2thZ2UuanNvbmApIHN0YXkgcm9vdC1vbmx5IOKAlCBuZXN0aW5nIGFcblx0ICogcGFja2FnZSBtYW5pZmVzdCB1bmRlciBgZXM2L2AgbWFrZXMgYG5wbSBpbnN0YWxsIC0taW5zdGFsbC1saW5rc2AgZHJvcCB0aGVcblx0ICogcGFyZW50J3MgYGVzNi9gIHRyZWUgd2hlbiBwYWNraW5nIGBmaWxlOmAgZGVwcy5cblx0ICovXG5cdHByaXZhdGUgYXN5bmMgY29weUNvbG9jYXRlZFBhY2tBc3NldHMocHJvajogUHJvamVjdCwgY3dkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBjb2xvY2F0ZWRQYXR0ZXJucyA9IHByb2ouY29uZmlndXJhdGlvbi5jb3B5RmlsZXMgPz8gW107XG5cdFx0aWYgKGNvbG9jYXRlZFBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNvbmZpZyA9IHByb2ouY29uZmlndXJhdGlvbiBhcyBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0aWYgKCFjb25maWcucGFjaykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHRhcmdldHMgPSBjb25maWcudGFyZ2V0cyA/PyBbXTtcblx0XHRpZiAodGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBmaWxlcyA9IGF3YWl0IGlvLmZpbmRGaWxlcyhjb2xvY2F0ZWRQYXR0ZXJucywgeyBjd2QgfSk7XG5cdFx0Y29uc3QgdGFyZ2V0RGlycyA9IFsuLi5uZXcgU2V0KHRhcmdldHMubWFwKCh0YXJnZXQpID0+IHByb2ouZ2V0T3V0RGlyKHRhcmdldCkpKV07XG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0YXJnZXREaXJzLmZsYXRNYXAoKG91dERpcikgPT4gZmlsZXMubWFwKChmaWxlKSA9PiB0aGlzLmNvcHlGaWxlVG9PdXQoZmlsZSwgb3V0RGlyKSkpLFxuXHRcdCk7XG5cdH1cblxuXHRAcmV0cnkoeyBhdHRlbXB0czogQ09QWV9SRVRSWV9BVFRFTVBUUywgZGVsYXlNczogQ09QWV9SRVRSWV9ERUxBWV9NUyB9KVxuXHRwcml2YXRlIGFzeW5jIGNvcHlGaWxlVG9PdXQoZmlsZTogRmlsZUV4LCBvdXREaXI6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlc3QgPSBwYXRoLmpvaW4ob3V0RGlyLCBmaWxlLnJlbGF0aXZlUGF0aCk7XG5cdFx0YXdhaXQgaW8uY29weUZpbGUoZmlsZS5mdWxsUGF0aCwgZGVzdCwgeyBta2RpcjogdHJ1ZSB9KTtcblx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENvcGllZCAke2ZpbGUuZnVsbFBhdGh9IC0+ICR7ZGVzdH1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJpbyIsInJldHJ5Iiwic2NyaWJlIiwiQ09QWV9SRVRSWV9BVFRFTVBUUyIsIkNPUFlfUkVUUllfREVMQVlfTVMiLCJDb3B5IiwibG9nZ2VyIiwibmFtZSIsIndvcmtzcGFjZSIsInJ1biIsIm9wdGlvbnMiLCJjb3B5IiwiaW5mbyIsIlNraXBwZWQiLCJQcm9taXNlIiwiYWxsIiwiZ2V0UHJvamVjdHMiLCJjb25maWd1cmF0aW9uIiwibWFwIiwicHJvaiIsImN3ZCIsInByb2plY3REaXJlY3RvcnkiLCJyb290IiwiZ2V0T3V0RGlyIiwicm9vdEZpbGVzIiwiZmluZEZpbGVzIiwiY29weUZpbGVzIiwiZmlsZSIsImNvcHlGaWxlVG9PdXQiLCJjb3B5Q29sb2NhdGVkUGFja0Fzc2V0cyIsIlN1Y2Nlc3MiLCJjb2xvY2F0ZWRQYXR0ZXJucyIsImxlbmd0aCIsImNvbmZpZyIsInBhY2siLCJ0YXJnZXRzIiwiZmlsZXMiLCJ0YXJnZXREaXJzIiwiU2V0IiwidGFyZ2V0IiwiZmxhdE1hcCIsIm91dERpciIsImRlc3QiLCJqb2luIiwicmVsYXRpdmVQYXRoIiwiY29weUZpbGUiLCJmdWxsUGF0aCIsIm1rZGlyIiwidHJhY2UiLCJhdHRlbXB0cyIsImRlbGF5TXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFVBQVUsWUFBWTtBQUM3QixTQUFTQyxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELDhDQUE4QztBQUM5QyxTQUF1QkMsU0FBUyxRQUFRLGlCQUFpQjtBQUV6RCxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBQ3JELFNBQXNCQyxFQUFFLFFBQVEscUJBQXFCO0FBQ3JELFNBQVNDLEtBQUssUUFBUSx5QkFBeUI7QUFDL0MsU0FBU0MsTUFBTSxRQUFRLG1CQUFtQjtBQUcxQyxNQUFNQyxzQkFBc0I7QUFDNUIsTUFBTUMsc0JBQXNCO0FBUTVCLE9BQU8sTUFBTUM7O0lBQ1osQ0FBQSxNQUFPLEdBQUdILE9BQU9JLE1BQU0sQ0FBQ0QsS0FBS0UsSUFBSSxFQUFFO0lBQ25DLFlBQW1CLEFBQWlCQyxTQUFvQixDQUFFO2FBQXRCQSxZQUFBQTtJQUF1QjtJQUVwREMsTUFBTSxPQUFPQztRQUNuQixJQUFJLENBQUNBLFFBQVFDLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLElBQUksQ0FBQztZQUNsQixPQUFPYixlQUFlYyxPQUFPLENBQUNSLEtBQUtFLElBQUk7UUFDeEM7UUFFQSxNQUFNTyxRQUFRQyxHQUFHLENBQ2hCLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxXQUFXLENBQUNOLFFBQVFPLGFBQWEsRUFBRUMsR0FBRyxDQUFDLE9BQU9DO1lBQzVELE1BQU1DLE1BQU1ELEtBQUtFLGdCQUFnQjtZQUNqQyxNQUFNQyxPQUFPSCxLQUFLSSxTQUFTO1lBRTNCLDJFQUEyRTtZQUMzRSxNQUFNQyxZQUFZLE1BQU14QixHQUFHeUIsU0FBUyxDQUFDTixLQUFLTyxTQUFTLEVBQUU7Z0JBQUVOO1lBQUk7WUFDM0QsTUFBTU4sUUFBUUMsR0FBRyxDQUFDUyxVQUFVTixHQUFHLENBQUMsQ0FBQ1MsT0FBUyxJQUFJLENBQUNDLGFBQWEsQ0FBQ0QsTUFBTUw7WUFFbkUsMkVBQTJFO1lBQzNFLE1BQU0sSUFBSSxDQUFDTyx1QkFBdUIsQ0FBQ1YsTUFBTUM7UUFDMUM7UUFHRCxPQUFPckIsZUFBZStCLE9BQU8sQ0FBQ3pCLEtBQUtFLElBQUk7SUFDeEMsRUFBRTtJQUVGOzs7Ozs7OztFQVFDLEdBQ0QsTUFBY3NCLHdCQUF3QlYsSUFBYSxFQUFFQyxHQUFXLEVBQWlCO1FBQ2hGLE1BQU1XLG9CQUFvQlosS0FBS0YsYUFBYSxDQUFDUyxTQUFTLElBQUksRUFBRTtRQUM1RCxJQUFJSyxrQkFBa0JDLE1BQU0sS0FBSyxHQUFHO1lBQ25DO1FBQ0Q7UUFFQSxNQUFNQyxTQUFTZCxLQUFLRixhQUFhO1FBQ2pDLElBQUksQ0FBQ2dCLE9BQU9DLElBQUksRUFBRTtZQUNqQjtRQUNEO1FBRUEsTUFBTUMsVUFBVUYsT0FBT0UsT0FBTyxJQUFJLEVBQUU7UUFDcEMsSUFBSUEsUUFBUUgsTUFBTSxLQUFLLEdBQUc7WUFDekI7UUFDRDtRQUVBLE1BQU1JLFFBQVEsTUFBTXBDLEdBQUd5QixTQUFTLENBQUNNLG1CQUFtQjtZQUFFWDtRQUFJO1FBQzFELE1BQU1pQixhQUFhO2VBQUksSUFBSUMsSUFBSUgsUUFBUWpCLEdBQUcsQ0FBQyxDQUFDcUIsU0FBV3BCLEtBQUtJLFNBQVMsQ0FBQ2dCO1NBQVU7UUFDaEYsTUFBTXpCLFFBQVFDLEdBQUcsQ0FDaEJzQixXQUFXRyxPQUFPLENBQUMsQ0FBQ0MsU0FBV0wsTUFBTWxCLEdBQUcsQ0FBQyxDQUFDUyxPQUFTLElBQUksQ0FBQ0MsYUFBYSxDQUFDRCxNQUFNYztJQUU5RTtJQUVBLE1BQ2NiLGNBQWNELElBQVksRUFBRWMsTUFBYyxFQUFFO1FBQ3pELE1BQU1DLE9BQU85QyxLQUFLK0MsSUFBSSxDQUFDRixRQUFRZCxLQUFLaUIsWUFBWTtRQUNoRCxNQUFNNUMsR0FBRzZDLFFBQVEsQ0FBQ2xCLEtBQUttQixRQUFRLEVBQUVKLE1BQU07WUFBRUssT0FBTztRQUFLO1FBQ3JELElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0MsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFckIsS0FBS21CLFFBQVEsQ0FBQyxJQUFJLEVBQUVKLE1BQU07SUFDeEQ7QUFDRDs7O1FBTlVPLFVBQVU5QztRQUFxQitDLFNBQVM5QyJ9
@@ -0,0 +1,184 @@
1
+ function _ts_decorate(decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ }
7
+ function _ts_metadata(k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ }
10
+ import path from "node:path";
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 { Docker as DockerInterop } from "@decohere/nexus/interop";
16
+ import { io } from "@decohere/nexus/io";
17
+ import { scribe } from "@decohere/scribe";
18
+ import { ForgeError, formatUnknownError } from "../errors.js";
19
+ export class Docker {
20
+ workspace;
21
+ #logger = scribe.logger(Docker.name);
22
+ docker = new DockerInterop();
23
+ #defaultRegistry = process.env.FORGE_DOCKER_REGISTRY?.trim() || "ghcr.io";
24
+ constructor(workspace){
25
+ this.workspace = workspace;
26
+ }
27
+ async run(options) {
28
+ const projects = await this.getDockerProjects(this.workspace.getProjects(options.configuration));
29
+ if (projects.length === 0) {
30
+ this.#logger.info("No projects found with a Dockerfile — nothing to dockerize");
31
+ return ActionResponse.Success(Docker.name, []);
32
+ }
33
+ const workspacePackageJson = await this.workspace.getPackageJson();
34
+ const version = await this.workspace.getVersion();
35
+ const responses = await Promise.all(projects.map(async (project)=>await this.buildProject(project, workspacePackageJson, version, options)));
36
+ const failed = responses.filter((response)=>!response.succeeded);
37
+ if (failed.length > 0) {
38
+ return ActionResponse.Error(Docker.name, responses);
39
+ }
40
+ return ActionResponse.Success(Docker.name, responses);
41
+ }
42
+ async getDockerProjects(projects) {
43
+ const result = [];
44
+ for (const project of projects){
45
+ const dockerfile = project.dockerConfig?.dockerfile ?? "Dockerfile";
46
+ const dockerfilePath = path.join(project.projectRoot, dockerfile);
47
+ if (!await io.fileExists(dockerfilePath)) {
48
+ this.#logger.info(`Skipping ${project.name}: missing ${dockerfile}`);
49
+ continue;
50
+ }
51
+ result.push(project);
52
+ }
53
+ return result;
54
+ }
55
+ async buildProject(project, workspacePackageJson, version, options) {
56
+ const dockerConfig = project.dockerConfig ?? {};
57
+ const envBuildArgs = this.parseJsonEnv("FORGE_DOCKER_BUILD_ARGS_JSON", {});
58
+ const envSecrets = this.parseJsonEnv("FORGE_DOCKER_SECRETS_JSON", {});
59
+ const envTags = this.parseJsonEnv("FORGE_DOCKER_EXTRA_TAGS_JSON", []);
60
+ const image = dockerConfig.image ?? this.defaultImageName(project.name, workspacePackageJson);
61
+ const dockerfile = dockerConfig.dockerfile ?? "Dockerfile";
62
+ const extraTags = this.extraTagsForImage(image, [
63
+ ...dockerConfig.tags ?? [],
64
+ ...envTags
65
+ ]);
66
+ const tags = [
67
+ `${image}:${version}`,
68
+ ...extraTags
69
+ ];
70
+ const buildArgs = this.interpolateBuildArgs({
71
+ ...dockerConfig.buildArgs ?? {},
72
+ ...envBuildArgs
73
+ }, version);
74
+ const secrets = {
75
+ ...dockerConfig.secrets ?? {},
76
+ ...envSecrets
77
+ };
78
+ this.#logger.info(`${options.dryRun ? "[dry-run] " : ""}Building ${project.name}`);
79
+ try {
80
+ await this.docker.build(project.projectRoot, {
81
+ cwd: project.projectRoot,
82
+ dockerfile: path.join(project.projectRoot, dockerfile),
83
+ tags,
84
+ buildArgs,
85
+ secrets
86
+ });
87
+ const shouldPush = options.push || dockerConfig.push;
88
+ if (shouldPush && !options.dryRun) {
89
+ for (const tag of tags){
90
+ await this.docker.push(tag, {
91
+ cwd: project.projectRoot
92
+ });
93
+ }
94
+ } else if (shouldPush && options.dryRun) {
95
+ this.#logger.info(`[dry-run] Skipping push for ${project.name}`);
96
+ }
97
+ return {
98
+ projectName: project.name,
99
+ image,
100
+ tags,
101
+ succeeded: true,
102
+ message: options.dryRun ? `Built ${image} (not pushed)` : `Built ${image}`
103
+ };
104
+ } catch (reason) {
105
+ const message = formatUnknownError(reason);
106
+ return {
107
+ projectName: project.name,
108
+ image,
109
+ tags,
110
+ succeeded: false,
111
+ message,
112
+ error: `${project.name}: ${message}`
113
+ };
114
+ }
115
+ }
116
+ interpolateBuildArgs(buildArgs, version) {
117
+ const result = {};
118
+ const versionPlaceholder = "$" + "{version}";
119
+ for (const [key, value] of Object.entries(buildArgs ?? {})){
120
+ result[key] = value.split(versionPlaceholder).join(version);
121
+ }
122
+ return result;
123
+ }
124
+ /**
125
+ * Keep FORGE_DOCKER_EXTRA_TAGS_JSON scoped to this image so multi-image
126
+ * publishes do not stamp create:latest onto the app Dev Container (and vice versa).
127
+ */ extraTagsForImage(image, tags) {
128
+ const prefix = `${image}:`;
129
+ const seen = new Set();
130
+ const result = [];
131
+ for (const tag of tags){
132
+ if (tag === image || tag.startsWith(prefix)) {
133
+ if (!seen.has(tag)) {
134
+ seen.add(tag);
135
+ result.push(tag);
136
+ }
137
+ }
138
+ }
139
+ return result;
140
+ }
141
+ defaultImageName(projectName, workspacePackageJson) {
142
+ const repositoryPath = process.env.FORGE_DOCKER_NAMESPACE?.trim() || workspacePackageJson.getRepositoryFullName() || this.normalizeDockerRepository(projectName);
143
+ const projectSlug = this.normalizeProjectSlug(projectName);
144
+ if (repositoryPath.includes("/") && projectSlug !== "") {
145
+ return `${this.#defaultRegistry}/${repositoryPath}/${projectSlug}`;
146
+ }
147
+ return `${this.#defaultRegistry}/${repositoryPath}`;
148
+ }
149
+ normalizeDockerRepository(name) {
150
+ const repository = name.replace(/^@/, "").split("/").map((segment)=>segment.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "")).filter(Boolean).join("/");
151
+ if (repository === "") {
152
+ throw new ForgeError(`Could not derive a Docker repository from project name "${name}"`);
153
+ }
154
+ return repository;
155
+ }
156
+ normalizeProjectSlug(name) {
157
+ const unscoped = name.includes("/") ? name.split("/").at(-1) ?? name : name;
158
+ const slug = unscoped.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
159
+ if (slug === "") {
160
+ throw new ForgeError(`Could not derive a Docker project slug from project name "${name}"`);
161
+ }
162
+ return slug;
163
+ }
164
+ parseJsonEnv(name, fallback) {
165
+ const value = process.env[name];
166
+ if (value == null || value.trim() === "") {
167
+ return fallback;
168
+ }
169
+ try {
170
+ return JSON.parse(value);
171
+ } catch (reason) {
172
+ throw new ForgeError(`Invalid JSON in ${name}: ${formatUnknownError(reason)}`);
173
+ }
174
+ }
175
+ }
176
+ Docker = _ts_decorate([
177
+ injectable(),
178
+ _ts_metadata("design:type", Function),
179
+ _ts_metadata("design:paramtypes", [
180
+ typeof Workspace === "undefined" ? Object : Workspace
181
+ ])
182
+ ], Docker);
183
+
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2RvY2tlci5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBQYWNrYWdlSnNvbiwgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiwgUmVzdWx0U3RhdHVzIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IERvY2tlciBhcyBEb2NrZXJJbnRlcm9wIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pbnRlcm9wXCI7XG5pbXBvcnQgeyBpbyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IHNjcmliZSB9IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgeyBGb3JnZUVycm9yLCBmb3JtYXRVbmtub3duRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIERvY2tlck9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0ZHJ5UnVuPzogYm9vbGVhbjtcblx0cHVzaD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEb2NrZXJSZXNwb25zZSA9IFJlc3VsdFN0YXR1cyAmIHtcblx0cHJvamVjdE5hbWU6IHN0cmluZztcblx0aW1hZ2U6IHN0cmluZztcblx0dGFnczogc3RyaW5nW107XG5cdG1lc3NhZ2U6IHN0cmluZztcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb2NrZXIgaW1wbGVtZW50cyBBY3Rpb248RG9ja2VyT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihEb2NrZXIubmFtZSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyID0gbmV3IERvY2tlckludGVyb3AoKTtcblx0cmVhZG9ubHkgI2RlZmF1bHRSZWdpc3RyeSA9IHByb2Nlc3MuZW52LkZPUkdFX0RPQ0tFUl9SRUdJU1RSWT8udHJpbSgpIHx8IFwiZ2hjci5pb1wiO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHdvcmtzcGFjZTogV29ya3NwYWNlKSB7fVxuXG5cdHB1YmxpYyBhc3luYyBydW4ob3B0aW9uczogRG9ja2VyT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U8RG9ja2VyUmVzcG9uc2U+PiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBhd2FpdCB0aGlzLmdldERvY2tlclByb2plY3RzKFxuXHRcdFx0dGhpcy53b3Jrc3BhY2UuZ2V0UHJvamVjdHMob3B0aW9ucy5jb25maWd1cmF0aW9uKSxcblx0XHQpO1xuXHRcdGlmIChwcm9qZWN0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKFwiTm8gcHJvamVjdHMgZm91bmQgd2l0aCBhIERvY2tlcmZpbGUg4oCUIG5vdGhpbmcgdG8gZG9ja2VyaXplXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoRG9ja2VyLm5hbWUsIFtdKTtcblx0XHR9XG5cblx0XHRjb25zdCB3b3Jrc3BhY2VQYWNrYWdlSnNvbiA9IGF3YWl0IHRoaXMud29ya3NwYWNlLmdldFBhY2thZ2VKc29uKCk7XG5cdFx0Y29uc3QgdmVyc2lvbiA9IGF3YWl0IHRoaXMud29ya3NwYWNlLmdldFZlcnNpb24oKTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChcblx0XHRcdFx0YXN5bmMgKHByb2plY3QpID0+XG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5idWlsZFByb2plY3QocHJvamVjdCwgd29ya3NwYWNlUGFja2FnZUpzb24sIHZlcnNpb24sIG9wdGlvbnMpLFxuXHRcdFx0KSxcblx0XHQpO1xuXHRcdGNvbnN0IGZhaWxlZCA9IHJlc3BvbnNlcy5maWx0ZXIoKHJlc3BvbnNlKSA9PiAhcmVzcG9uc2Uuc3VjY2VlZGVkKTtcblx0XHRpZiAoZmFpbGVkLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5FcnJvcihEb2NrZXIubmFtZSwgcmVzcG9uc2VzKTtcblx0XHR9XG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoRG9ja2VyLm5hbWUsIHJlc3BvbnNlcyk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGdldERvY2tlclByb2plY3RzKHByb2plY3RzOiByZWFkb25seSBQcm9qZWN0W10pIHtcblx0XHRjb25zdCByZXN1bHQ6IFByb2plY3RbXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgcHJvamVjdCBvZiBwcm9qZWN0cykge1xuXHRcdFx0Y29uc3QgZG9ja2VyZmlsZSA9IHByb2plY3QuZG9ja2VyQ29uZmlnPy5kb2NrZXJmaWxlID8/IFwiRG9ja2VyZmlsZVwiO1xuXHRcdFx0Y29uc3QgZG9ja2VyZmlsZVBhdGggPSBwYXRoLmpvaW4ocHJvamVjdC5wcm9qZWN0Um9vdCwgZG9ja2VyZmlsZSk7XG5cdFx0XHRpZiAoIShhd2FpdCBpby5maWxlRXhpc3RzKGRvY2tlcmZpbGVQYXRoKSkpIHtcblx0XHRcdFx0dGhpcy4jbG9nZ2VyLmluZm8oYFNraXBwaW5nICR7cHJvamVjdC5uYW1lfTogbWlzc2luZyAke2RvY2tlcmZpbGV9YCk7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXN1bHQucHVzaChwcm9qZWN0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgYnVpbGRQcm9qZWN0KFxuXHRcdHByb2plY3Q6IFByb2plY3QsXG5cdFx0d29ya3NwYWNlUGFja2FnZUpzb246IFBhY2thZ2VKc29uLFxuXHRcdHZlcnNpb246IHN0cmluZyxcblx0XHRvcHRpb25zOiBEb2NrZXJPcHRpb25zLFxuXHQpOiBQcm9taXNlPERvY2tlclJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgZG9ja2VyQ29uZmlnID0gcHJvamVjdC5kb2NrZXJDb25maWcgPz8ge307XG5cdFx0Y29uc3QgZW52QnVpbGRBcmdzID0gdGhpcy5wYXJzZUpzb25FbnY8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG5cdFx0XHRcIkZPUkdFX0RPQ0tFUl9CVUlMRF9BUkdTX0pTT05cIixcblx0XHRcdHt9LFxuXHRcdCk7XG5cdFx0Y29uc3QgZW52U2VjcmV0cyA9IHRoaXMucGFyc2VKc29uRW52PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuXHRcdFx0XCJGT1JHRV9ET0NLRVJfU0VDUkVUU19KU09OXCIsXG5cdFx0XHR7fSxcblx0XHQpO1xuXHRcdGNvbnN0IGVudlRhZ3MgPSB0aGlzLnBhcnNlSnNvbkVudjxzdHJpbmdbXT4oXCJGT1JHRV9ET0NLRVJfRVhUUkFfVEFHU19KU09OXCIsIFtdKTtcblxuXHRcdGNvbnN0IGltYWdlID1cblx0XHRcdGRvY2tlckNvbmZpZy5pbWFnZSA/PyB0aGlzLmRlZmF1bHRJbWFnZU5hbWUocHJvamVjdC5uYW1lLCB3b3Jrc3BhY2VQYWNrYWdlSnNvbik7XG5cdFx0Y29uc3QgZG9ja2VyZmlsZSA9IGRvY2tlckNvbmZpZy5kb2NrZXJmaWxlID8/IFwiRG9ja2VyZmlsZVwiO1xuXHRcdGNvbnN0IGV4dHJhVGFncyA9IHRoaXMuZXh0cmFUYWdzRm9ySW1hZ2UoaW1hZ2UsIFtcblx0XHRcdC4uLihkb2NrZXJDb25maWcudGFncyA/PyBbXSksXG5cdFx0XHQuLi5lbnZUYWdzLFxuXHRcdF0pO1xuXHRcdGNvbnN0IHRhZ3MgPSBbYCR7aW1hZ2V9OiR7dmVyc2lvbn1gLCAuLi5leHRyYVRhZ3NdO1xuXHRcdGNvbnN0IGJ1aWxkQXJncyA9IHRoaXMuaW50ZXJwb2xhdGVCdWlsZEFyZ3MoXG5cdFx0XHR7IC4uLihkb2NrZXJDb25maWcuYnVpbGRBcmdzID8/IHt9KSwgLi4uZW52QnVpbGRBcmdzIH0sXG5cdFx0XHR2ZXJzaW9uLFxuXHRcdCk7XG5cdFx0Y29uc3Qgc2VjcmV0cyA9IHsgLi4uKGRvY2tlckNvbmZpZy5zZWNyZXRzID8/IHt9KSwgLi4uZW52U2VjcmV0cyB9O1xuXG5cdFx0dGhpcy4jbG9nZ2VyLmluZm8oYCR7b3B0aW9ucy5kcnlSdW4gPyBcIltkcnktcnVuXSBcIiA6IFwiXCJ9QnVpbGRpbmcgJHtwcm9qZWN0Lm5hbWV9YCk7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IHRoaXMuZG9ja2VyLmJ1aWxkKHByb2plY3QucHJvamVjdFJvb3QsIHtcblx0XHRcdFx0Y3dkOiBwcm9qZWN0LnByb2plY3RSb290LFxuXHRcdFx0XHRkb2NrZXJmaWxlOiBwYXRoLmpvaW4ocHJvamVjdC5wcm9qZWN0Um9vdCwgZG9ja2VyZmlsZSksXG5cdFx0XHRcdHRhZ3MsXG5cdFx0XHRcdGJ1aWxkQXJncyxcblx0XHRcdFx0c2VjcmV0cyxcblx0XHRcdH0pO1xuXG5cdFx0XHRjb25zdCBzaG91bGRQdXNoID0gb3B0aW9ucy5wdXNoIHx8IGRvY2tlckNvbmZpZy5wdXNoO1xuXHRcdFx0aWYgKHNob3VsZFB1c2ggJiYgIW9wdGlvbnMuZHJ5UnVuKSB7XG5cdFx0XHRcdGZvciAoY29uc3QgdGFnIG9mIHRhZ3MpIHtcblx0XHRcdFx0XHRhd2FpdCB0aGlzLmRvY2tlci5wdXNoKHRhZywgeyBjd2Q6IHByb2plY3QucHJvamVjdFJvb3QgfSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSBpZiAoc2hvdWxkUHVzaCAmJiBvcHRpb25zLmRyeVJ1bikge1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgW2RyeS1ydW5dIFNraXBwaW5nIHB1c2ggZm9yICR7cHJvamVjdC5uYW1lfWApO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuXHRcdFx0XHRpbWFnZSxcblx0XHRcdFx0dGFncyxcblx0XHRcdFx0c3VjY2VlZGVkOiB0cnVlLFxuXHRcdFx0XHRtZXNzYWdlOiBvcHRpb25zLmRyeVJ1biA/IGBCdWlsdCAke2ltYWdlfSAobm90IHB1c2hlZClgIDogYEJ1aWx0ICR7aW1hZ2V9YCxcblx0XHRcdH07XG5cdFx0fSBjYXRjaCAocmVhc29uKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gZm9ybWF0VW5rbm93bkVycm9yKHJlYXNvbik7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuXHRcdFx0XHRpbWFnZSxcblx0XHRcdFx0dGFncyxcblx0XHRcdFx0c3VjY2VlZGVkOiBmYWxzZSxcblx0XHRcdFx0bWVzc2FnZSxcblx0XHRcdFx0ZXJyb3I6IGAke3Byb2plY3QubmFtZX06ICR7bWVzc2FnZX1gLFxuXHRcdFx0fTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGludGVycG9sYXRlQnVpbGRBcmdzKFxuXHRcdGJ1aWxkQXJnczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCxcblx0XHR2ZXJzaW9uOiBzdHJpbmcsXG5cdCkge1xuXHRcdGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXHRcdGNvbnN0IHZlcnNpb25QbGFjZWhvbGRlciA9IFwiJFwiICsgXCJ7dmVyc2lvbn1cIjtcblx0XHRmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhidWlsZEFyZ3MgPz8ge30pKSB7XG5cdFx0XHRyZXN1bHRba2V5XSA9IHZhbHVlLnNwbGl0KHZlcnNpb25QbGFjZWhvbGRlcikuam9pbih2ZXJzaW9uKTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdC8qKlxuXHQgKiBLZWVwIEZPUkdFX0RPQ0tFUl9FWFRSQV9UQUdTX0pTT04gc2NvcGVkIHRvIHRoaXMgaW1hZ2Ugc28gbXVsdGktaW1hZ2Vcblx0ICogcHVibGlzaGVzIGRvIG5vdCBzdGFtcCBjcmVhdGU6bGF0ZXN0IG9udG8gdGhlIGFwcCBEZXYgQ29udGFpbmVyIChhbmQgdmljZSB2ZXJzYSkuXG5cdCAqL1xuXHRwcml2YXRlIGV4dHJhVGFnc0ZvckltYWdlKGltYWdlOiBzdHJpbmcsIHRhZ3M6IHJlYWRvbmx5IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IHByZWZpeCA9IGAke2ltYWdlfTpgO1xuXHRcdGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0XHRjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XG5cdFx0Zm9yIChjb25zdCB0YWcgb2YgdGFncykge1xuXHRcdFx0aWYgKHRhZyA9PT0gaW1hZ2UgfHwgdGFnLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuXHRcdFx0XHRpZiAoIXNlZW4uaGFzKHRhZykpIHtcblx0XHRcdFx0XHRzZWVuLmFkZCh0YWcpO1xuXHRcdFx0XHRcdHJlc3VsdC5wdXNoKHRhZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdHByaXZhdGUgZGVmYXVsdEltYWdlTmFtZShwcm9qZWN0TmFtZTogc3RyaW5nLCB3b3Jrc3BhY2VQYWNrYWdlSnNvbjogUGFja2FnZUpzb24pIHtcblx0XHRjb25zdCByZXBvc2l0b3J5UGF0aCA9XG5cdFx0XHRwcm9jZXNzLmVudi5GT1JHRV9ET0NLRVJfTkFNRVNQQUNFPy50cmltKCkgfHxcblx0XHRcdHdvcmtzcGFjZVBhY2thZ2VKc29uLmdldFJlcG9zaXRvcnlGdWxsTmFtZSgpIHx8XG5cdFx0XHR0aGlzLm5vcm1hbGl6ZURvY2tlclJlcG9zaXRvcnkocHJvamVjdE5hbWUpO1xuXHRcdGNvbnN0IHByb2plY3RTbHVnID0gdGhpcy5ub3JtYWxpemVQcm9qZWN0U2x1Zyhwcm9qZWN0TmFtZSk7XG5cdFx0aWYgKHJlcG9zaXRvcnlQYXRoLmluY2x1ZGVzKFwiL1wiKSAmJiBwcm9qZWN0U2x1ZyAhPT0gXCJcIikge1xuXHRcdFx0cmV0dXJuIGAke3RoaXMuI2RlZmF1bHRSZWdpc3RyeX0vJHtyZXBvc2l0b3J5UGF0aH0vJHtwcm9qZWN0U2x1Z31gO1xuXHRcdH1cblx0XHRyZXR1cm4gYCR7dGhpcy4jZGVmYXVsdFJlZ2lzdHJ5fS8ke3JlcG9zaXRvcnlQYXRofWA7XG5cdH1cblxuXHRwcml2YXRlIG5vcm1hbGl6ZURvY2tlclJlcG9zaXRvcnkobmFtZTogc3RyaW5nKSB7XG5cdFx0Y29uc3QgcmVwb3NpdG9yeSA9IG5hbWVcblx0XHRcdC5yZXBsYWNlKC9eQC8sIFwiXCIpXG5cdFx0XHQuc3BsaXQoXCIvXCIpXG5cdFx0XHQubWFwKChzZWdtZW50KSA9PlxuXHRcdFx0XHRzZWdtZW50XG5cdFx0XHRcdFx0LnRvTG93ZXJDYXNlKClcblx0XHRcdFx0XHQucmVwbGFjZSgvW15hLXowLTldKy9nLCBcIi1cIilcblx0XHRcdFx0XHQucmVwbGFjZSgvXi0rfC0rJC9nLCBcIlwiKSxcblx0XHRcdClcblx0XHRcdC5maWx0ZXIoQm9vbGVhbilcblx0XHRcdC5qb2luKFwiL1wiKTtcblxuXHRcdGlmIChyZXBvc2l0b3J5ID09PSBcIlwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihgQ291bGQgbm90IGRlcml2ZSBhIERvY2tlciByZXBvc2l0b3J5IGZyb20gcHJvamVjdCBuYW1lIFwiJHtuYW1lfVwiYCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlcG9zaXRvcnk7XG5cdH1cblxuXHRwcml2YXRlIG5vcm1hbGl6ZVByb2plY3RTbHVnKG5hbWU6IHN0cmluZykge1xuXHRcdGNvbnN0IHVuc2NvcGVkID0gbmFtZS5pbmNsdWRlcyhcIi9cIikgPyAobmFtZS5zcGxpdChcIi9cIikuYXQoLTEpID8/IG5hbWUpIDogbmFtZTtcblx0XHRjb25zdCBzbHVnID0gdW5zY29wZWRcblx0XHRcdC50b0xvd2VyQ2FzZSgpXG5cdFx0XHQucmVwbGFjZSgvW15hLXowLTldKy9nLCBcIi1cIilcblx0XHRcdC5yZXBsYWNlKC9eLSt8LSskL2csIFwiXCIpO1xuXHRcdGlmIChzbHVnID09PSBcIlwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YENvdWxkIG5vdCBkZXJpdmUgYSBEb2NrZXIgcHJvamVjdCBzbHVnIGZyb20gcHJvamVjdCBuYW1lIFwiJHtuYW1lfVwiYCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiBzbHVnO1xuXHR9XG5cblx0cHJpdmF0ZSBwYXJzZUpzb25FbnY8VD4obmFtZTogc3RyaW5nLCBmYWxsYmFjazogVCk6IFQge1xuXHRcdGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV07XG5cdFx0aWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUudHJpbSgpID09PSBcIlwiKSB7XG5cdFx0XHRyZXR1cm4gZmFsbGJhY2s7XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdHJldHVybiBKU09OLnBhcnNlKHZhbHVlKSBhcyBUO1xuXHRcdH0gY2F0Y2ggKHJlYXNvbikge1xuXHRcdFx0dGhyb3cgbmV3IEZvcmdlRXJyb3IoYEludmFsaWQgSlNPTiBpbiAke25hbWV9OiAke2Zvcm1hdFVua25vd25FcnJvcihyZWFzb24pfWApO1xuXHRcdH1cblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJEb2NrZXIiLCJEb2NrZXJJbnRlcm9wIiwiaW8iLCJzY3JpYmUiLCJGb3JnZUVycm9yIiwiZm9ybWF0VW5rbm93bkVycm9yIiwibG9nZ2VyIiwibmFtZSIsImRvY2tlciIsInByb2Nlc3MiLCJlbnYiLCJGT1JHRV9ET0NLRVJfUkVHSVNUUlkiLCJ0cmltIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsInByb2plY3RzIiwiZ2V0RG9ja2VyUHJvamVjdHMiLCJnZXRQcm9qZWN0cyIsImNvbmZpZ3VyYXRpb24iLCJsZW5ndGgiLCJpbmZvIiwiU3VjY2VzcyIsIndvcmtzcGFjZVBhY2thZ2VKc29uIiwiZ2V0UGFja2FnZUpzb24iLCJ2ZXJzaW9uIiwiZ2V0VmVyc2lvbiIsInJlc3BvbnNlcyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJwcm9qZWN0IiwiYnVpbGRQcm9qZWN0IiwiZmFpbGVkIiwiZmlsdGVyIiwicmVzcG9uc2UiLCJzdWNjZWVkZWQiLCJFcnJvciIsInJlc3VsdCIsImRvY2tlcmZpbGUiLCJkb2NrZXJDb25maWciLCJkb2NrZXJmaWxlUGF0aCIsImpvaW4iLCJwcm9qZWN0Um9vdCIsImZpbGVFeGlzdHMiLCJwdXNoIiwiZW52QnVpbGRBcmdzIiwicGFyc2VKc29uRW52IiwiZW52U2VjcmV0cyIsImVudlRhZ3MiLCJpbWFnZSIsImRlZmF1bHRJbWFnZU5hbWUiLCJleHRyYVRhZ3MiLCJleHRyYVRhZ3NGb3JJbWFnZSIsInRhZ3MiLCJidWlsZEFyZ3MiLCJpbnRlcnBvbGF0ZUJ1aWxkQXJncyIsInNlY3JldHMiLCJkcnlSdW4iLCJidWlsZCIsImN3ZCIsInNob3VsZFB1c2giLCJ0YWciLCJwcm9qZWN0TmFtZSIsIm1lc3NhZ2UiLCJyZWFzb24iLCJlcnJvciIsInZlcnNpb25QbGFjZWhvbGRlciIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsInNwbGl0IiwicHJlZml4Iiwic2VlbiIsIlNldCIsInN0YXJ0c1dpdGgiLCJoYXMiLCJhZGQiLCJyZXBvc2l0b3J5UGF0aCIsIkZPUkdFX0RPQ0tFUl9OQU1FU1BBQ0UiLCJnZXRSZXBvc2l0b3J5RnVsbE5hbWUiLCJub3JtYWxpemVEb2NrZXJSZXBvc2l0b3J5IiwicHJvamVjdFNsdWciLCJub3JtYWxpemVQcm9qZWN0U2x1ZyIsImluY2x1ZGVzIiwicmVwb3NpdG9yeSIsInJlcGxhY2UiLCJzZWdtZW50IiwidG9Mb3dlckNhc2UiLCJCb29sZWFuIiwidW5zY29wZWQiLCJhdCIsInNsdWciLCJmYWxsYmFjayIsIkpTT04iLCJwYXJzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBQzdCLFNBQVNDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFFM0QsOENBQThDO0FBQzlDLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFFM0MsU0FBU0MsY0FBYyxRQUFRLHNCQUFzQjtBQUNyRCxTQUFTQyxVQUFVQyxhQUFhLFFBQVEsMEJBQTBCO0FBQ2xFLFNBQVNDLEVBQUUsUUFBUSxxQkFBcUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLG1CQUFtQjtBQUMxQyxTQUFTQyxVQUFVLEVBQUVDLGtCQUFrQixRQUFRLGVBQWU7QUFnQjlELE9BQU8sTUFBTUw7O0lBQ1osQ0FBQSxNQUFPLEdBQUdHLE9BQU9HLE1BQU0sQ0FBQ04sT0FBT08sSUFBSSxFQUFFO0lBQ3BCQyxTQUFTLElBQUlQLGdCQUFnQjtJQUNyQyxDQUFBLGVBQWdCLEdBQUdRLFFBQVFDLEdBQUcsQ0FBQ0MscUJBQXFCLEVBQUVDLFVBQVUsVUFBVTtJQUVuRixZQUFtQixBQUFpQkMsU0FBb0IsQ0FBRTthQUF0QkEsWUFBQUE7SUFBdUI7SUFFM0QsTUFBYUMsSUFBSUMsT0FBc0IsRUFBMkM7UUFDakYsTUFBTUMsV0FBVyxNQUFNLElBQUksQ0FBQ0MsaUJBQWlCLENBQzVDLElBQUksQ0FBQ0osU0FBUyxDQUFDSyxXQUFXLENBQUNILFFBQVFJLGFBQWE7UUFFakQsSUFBSUgsU0FBU0ksTUFBTSxLQUFLLEdBQUc7WUFDMUIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxJQUFJLENBQUM7WUFDbEIsT0FBT3RCLGVBQWV1QixPQUFPLENBQUN0QixPQUFPTyxJQUFJLEVBQUUsRUFBRTtRQUM5QztRQUVBLE1BQU1nQix1QkFBdUIsTUFBTSxJQUFJLENBQUNWLFNBQVMsQ0FBQ1csY0FBYztRQUNoRSxNQUFNQyxVQUFVLE1BQU0sSUFBSSxDQUFDWixT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
@@ -4,10 +4,14 @@ export * from "./commit.action.js";
4
4
  export * from "./copy.action.js";
5
5
  export * from "./dependency-report.action.js";
6
6
  export * from "./dependency-sync.action.js";
7
+ export * from "./docker.action.js";
8
+ export * from "./link.action.js";
7
9
  export * from "./publish.action.js";
8
10
  export * from "./sync-lock-file.action.js";
9
11
  export * from "./tag.action.js";
12
+ export * from "./typecheck.action.js";
13
+ export * from "./unlink.action.js";
10
14
  export * from "./version.action.js";
11
15
  export * from "./watch.action.js";
12
16
 
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2J1aWxkLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xlYW4uYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21taXQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3B5LmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVwZW5kZW5jeS1yZXBvcnQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LXN5bmMuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wdWJsaXNoLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3luYy1sb2NrLWZpbGUuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWcuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJzaW9uLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2F0Y2guYWN0aW9uLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxnQ0FBZ0M7QUFDOUMsY0FBYyw4QkFBOEI7QUFDNUMsY0FBYyxzQkFBc0I7QUFDcEMsY0FBYyw2QkFBNkI7QUFDM0MsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxzQkFBc0I7QUFDcEMsY0FBYyxvQkFBb0IifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2J1aWxkLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xlYW4uYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21taXQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3B5LmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVwZW5kZW5jeS1yZXBvcnQuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBlbmRlbmN5LXN5bmMuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kb2NrZXIuYWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saW5rLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVibGlzaC5hY3Rpb24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N5bmMtbG9jay1maWxlLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFnLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZWNoZWNrLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdW5saW5rLmFjdGlvbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvbi5hY3Rpb24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dhdGNoLmFjdGlvbi5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CO0FBQ2xDLGNBQWMsb0JBQW9CO0FBQ2xDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsZ0NBQWdDO0FBQzlDLGNBQWMsOEJBQThCO0FBQzVDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsNkJBQTZCO0FBQzNDLGNBQWMsa0JBQWtCO0FBQ2hDLGNBQWMsd0JBQXdCO0FBQ3RDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsb0JBQW9CIn0=