@decohere/forge 0.0.1-dev.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/commonjs/src/actions/build.action.js +108 -0
  2. package/commonjs/src/actions/clean.action.js +55 -0
  3. package/commonjs/src/actions/commit.action.js +80 -0
  4. package/commonjs/src/actions/copy.action.js +83 -0
  5. package/commonjs/src/actions/dependency-report.action.js +142 -0
  6. package/commonjs/src/actions/dependency-sync.action.js +100 -0
  7. package/commonjs/src/actions/index.js +30 -0
  8. package/commonjs/src/actions/publish.action.js +156 -0
  9. package/commonjs/src/actions/sync-lock-file.action.js +43 -0
  10. package/commonjs/src/actions/tag.action.js +76 -0
  11. package/commonjs/src/actions/version.action.js +209 -0
  12. package/commonjs/src/actions/watch.action.js +50 -0
  13. package/commonjs/src/commands/build.command.js +49 -0
  14. package/commonjs/src/commands/dependency.command.js +88 -0
  15. package/commonjs/src/commands/forge.command.js +24 -0
  16. package/commonjs/src/commands/index.js +25 -0
  17. package/commonjs/src/commands/publish.command.js +32 -0
  18. package/commonjs/src/commands/tag.command.js +28 -0
  19. package/commonjs/src/commands/version.command.js +36 -0
  20. package/commonjs/src/const.js +81 -0
  21. package/commonjs/src/errors.js +39 -0
  22. package/commonjs/src/extensions/project.extensions.js +66 -0
  23. package/commonjs/src/factories/swc-config.factory.js +98 -0
  24. package/commonjs/src/forge.module.js +109 -0
  25. package/commonjs/src/index.js +22 -0
  26. package/commonjs/src/mixins/caches-outputs.mixin.js +42 -0
  27. package/commonjs/src/mixins/incremental-transform.mixin.js +36 -0
  28. package/commonjs/src/services/dependency-resolver.service.js +172 -0
  29. package/commonjs/src/services/file-writer.service.js +232 -0
  30. package/commonjs/src/services/swc-transpiler.js +176 -0
  31. package/commonjs/src/services/ts-program-host.js +135 -0
  32. package/commonjs/src/services/type-emission-program.js +160 -0
  33. package/commonjs/src/services/type-emitter.js +141 -0
  34. package/commonjs/src/types/build-target.type.js +17 -0
  35. package/commonjs/src/types/configuration.type.js +6 -0
  36. package/commonjs/src/types/dependency.types.js +6 -0
  37. package/commonjs/src/types/swc-config.type.js +17 -0
  38. package/commonjs/src/types/transform-response.model.js +64 -0
  39. package/commonjs/src/types/transformer.type.js +13 -0
  40. package/commonjs/src/types/workspace-config.type.js +6 -0
  41. package/commonjs/src/vitest/forge-build.plugin.js +129 -0
  42. package/commonjs/src/vitest/index.js +13 -0
  43. package/commonjs/src/workspace.config.js +73 -0
  44. package/es6/src/actions/build.action.js +100 -0
  45. package/es6/src/actions/clean.action.js +46 -0
  46. package/es6/src/actions/commit.action.js +71 -0
  47. package/es6/src/actions/copy.action.js +69 -0
  48. package/es6/src/actions/dependency-report.action.js +134 -0
  49. package/es6/src/actions/dependency-sync.action.js +92 -0
  50. package/es6/src/actions/index.js +13 -0
  51. package/es6/src/actions/publish.action.js +147 -0
  52. package/es6/src/actions/sync-lock-file.action.js +33 -0
  53. package/es6/src/actions/tag.action.js +67 -0
  54. package/es6/src/actions/version.action.js +189 -0
  55. package/es6/src/actions/watch.action.js +41 -0
  56. package/es6/src/commands/build.command.js +34 -0
  57. package/es6/src/commands/dependency.command.js +78 -0
  58. package/es6/src/commands/forge.command.js +14 -0
  59. package/es6/src/commands/index.js +8 -0
  60. package/es6/src/commands/publish.command.js +22 -0
  61. package/es6/src/commands/tag.command.js +18 -0
  62. package/es6/src/commands/version.command.js +26 -0
  63. package/es6/src/const.js +60 -0
  64. package/es6/src/errors.js +18 -0
  65. package/es6/src/extensions/project.extensions.js +51 -0
  66. package/es6/src/factories/swc-config.factory.js +83 -0
  67. package/es6/src/forge.module.js +58 -0
  68. package/es6/src/index.js +4 -0
  69. package/es6/src/mixins/caches-outputs.mixin.js +32 -0
  70. package/es6/src/mixins/incremental-transform.mixin.js +26 -0
  71. package/es6/src/services/dependency-resolver.service.js +162 -0
  72. package/es6/src/services/file-writer.service.js +217 -0
  73. package/es6/src/services/swc-transpiler.js +161 -0
  74. package/es6/src/services/ts-program-host.js +120 -0
  75. package/es6/src/services/type-emission-program.js +145 -0
  76. package/es6/src/services/type-emitter.js +134 -0
  77. package/es6/src/types/build-target.type.js +7 -0
  78. package/es6/src/types/configuration.type.js +3 -0
  79. package/es6/src/types/dependency.types.js +3 -0
  80. package/es6/src/types/swc-config.type.js +7 -0
  81. package/es6/src/types/transform-response.model.js +46 -0
  82. package/es6/src/types/transformer.type.js +3 -0
  83. package/es6/src/types/workspace-config.type.js +3 -0
  84. package/es6/src/vitest/forge-build.plugin.js +114 -0
  85. package/es6/src/vitest/index.js +3 -0
  86. package/es6/src/workspace.config.js +49 -0
  87. package/package.json +43 -0
  88. package/types/src/actions/build.action.d.ts +22 -0
  89. package/types/src/actions/clean.action.d.ts +13 -0
  90. package/types/src/actions/commit.action.d.ts +17 -0
  91. package/types/src/actions/copy.action.d.ts +14 -0
  92. package/types/src/actions/dependency-report.action.d.ts +36 -0
  93. package/types/src/actions/dependency-sync.action.d.ts +17 -0
  94. package/types/src/actions/index.d.ts +11 -0
  95. package/types/src/actions/publish.action.d.ts +34 -0
  96. package/types/src/actions/sync-lock-file.action.d.ts +10 -0
  97. package/types/src/actions/tag.action.d.ts +19 -0
  98. package/types/src/actions/version.action.d.ts +35 -0
  99. package/types/src/actions/watch.action.d.ts +14 -0
  100. package/types/src/commands/build.command.d.ts +16 -0
  101. package/types/src/commands/dependency.command.d.ts +5 -0
  102. package/types/src/commands/forge.command.d.ts +6 -0
  103. package/types/src/commands/index.d.ts +6 -0
  104. package/types/src/commands/publish.command.d.ts +6 -0
  105. package/types/src/commands/tag.command.d.ts +6 -0
  106. package/types/src/commands/version.command.d.ts +12 -0
  107. package/types/src/const.d.ts +3 -0
  108. package/types/src/errors.d.ts +4 -0
  109. package/types/src/extensions/project.extensions.d.ts +13 -0
  110. package/types/src/factories/swc-config.factory.d.ts +24 -0
  111. package/types/src/forge.module.d.ts +31 -0
  112. package/types/src/index.d.ts +4 -0
  113. package/types/src/mixins/caches-outputs.mixin.d.ts +7 -0
  114. package/types/src/mixins/incremental-transform.mixin.d.ts +13 -0
  115. package/types/src/services/dependency-resolver.service.d.ts +15 -0
  116. package/types/src/services/file-writer.service.d.ts +20 -0
  117. package/types/src/services/swc-transpiler.d.ts +28 -0
  118. package/types/src/services/ts-program-host.d.ts +22 -0
  119. package/types/src/services/type-emission-program.d.ts +22 -0
  120. package/types/src/services/type-emitter.d.ts +43 -0
  121. package/types/src/types/build-target.type.d.ts +7 -0
  122. package/types/src/types/configuration.type.d.ts +6 -0
  123. package/types/src/types/dependency.types.d.ts +39 -0
  124. package/types/src/types/swc-config.type.d.ts +9 -0
  125. package/types/src/types/transform-response.model.d.ts +54 -0
  126. package/types/src/types/transformer.type.d.ts +37 -0
  127. package/types/src/types/workspace-config.type.d.ts +13 -0
  128. package/types/src/vitest/forge-build.plugin.d.ts +18 -0
  129. package/types/src/vitest/index.d.ts +2 -0
  130. package/types/src/workspace.config.d.ts +6 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "BuildCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BuildCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ const _auto = /*#__PURE__*/ _interop_require_default(require("async/auto.js"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class BuildCommand extends _cli.DecohereCommand {
19
+ constructor(name){
20
+ super(name ?? BuildCommand.name);
21
+ this.description("Build workspace projects");
22
+ this.addOption(new _cli.ConfigurationOption("debug"));
23
+ this.addOption(new _cli.NoCleanOptions(true));
24
+ this.option("--no-copy", "Will not copy files like package.json to outdir", true);
25
+ this.option("--watch", "Watches for changes in the source dir", false);
26
+ this.option("--file <file>", "File to build");
27
+ }
28
+ run = async (actions, options)=>{
29
+ const responses = await (0, _auto.default)({
30
+ clean: async ()=>await actions.clean.run(options),
31
+ build: [
32
+ "clean",
33
+ async ()=>await actions.build.run(options)
34
+ ],
35
+ copy: [
36
+ "clean",
37
+ async ()=>await actions.copy.run(options)
38
+ ],
39
+ watch: [
40
+ "build",
41
+ "copy",
42
+ async ()=>await actions.watch.run(options)
43
+ ]
44
+ });
45
+ return _cli.CommandResponse.success(options, responses);
46
+ };
47
+ }
48
+
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL2J1aWxkLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXJnZU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHtcblx0Q29tbWFuZFJlc3BvbnNlLFxuXHRDb25maWd1cmF0aW9uT3B0aW9uLFxuXHREZWNvaGVyZUNvbW1hbmQsXG5cdE5vQ2xlYW5PcHRpb25zLFxufSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IGF1dG8gZnJvbSBcImFzeW5jL2F1dG8uanNcIjtcbmltcG9ydCB0eXBlIHsgQnVpbGQgfSBmcm9tIFwiLi4vYWN0aW9ucy9idWlsZC5hY3Rpb24uanNcIjtcbmltcG9ydCB0eXBlIHsgQ2xlYW4gfSBmcm9tIFwiLi4vYWN0aW9ucy9jbGVhbi5hY3Rpb24uanNcIjtcbmltcG9ydCB0eXBlIHsgQ29weSB9IGZyb20gXCIuLi9hY3Rpb25zL2NvcHkuYWN0aW9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFdhdGNoIH0gZnJvbSBcIi4uL2FjdGlvbnMvd2F0Y2guYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCB0eXBlIEJ1aWxkQWN0aW9ucyA9IHsgY2xlYW46IENsZWFuOyBidWlsZDogQnVpbGQ7IHdhdGNoOiBXYXRjaDsgY29weTogQ29weSB9O1xuZXhwb3J0IGNsYXNzIEJ1aWxkQ29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZDxCdWlsZEFjdGlvbnM+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU/OiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lID8/IEJ1aWxkQ29tbWFuZC5uYW1lKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQnVpbGQgd29ya3NwYWNlIHByb2plY3RzXCIpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBDb25maWd1cmF0aW9uT3B0aW9uKFwiZGVidWdcIikpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBOb0NsZWFuT3B0aW9ucyh0cnVlKSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLW5vLWNvcHlcIiwgXCJXaWxsIG5vdCBjb3B5IGZpbGVzIGxpa2UgcGFja2FnZS5qc29uIHRvIG91dGRpclwiLCB0cnVlKTtcblx0XHR0aGlzLm9wdGlvbihcIi0td2F0Y2hcIiwgXCJXYXRjaGVzIGZvciBjaGFuZ2VzIGluIHRoZSBzb3VyY2UgZGlyXCIsIGZhbHNlKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tZmlsZSA8ZmlsZT5cIiwgXCJGaWxlIHRvIGJ1aWxkXCIpO1xuXHR9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChcblx0XHRhY3Rpb25zOiBCdWlsZEFjdGlvbnMsXG5cdFx0b3B0aW9uczogTWVyZ2VPcHRpb25zPEJ1aWxkQWN0aW9ucz4sXG5cdCk6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPEJ1aWxkQWN0aW9ucz4+ID0+IHtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBhdXRvPEJ1aWxkQWN0aW9ucz4oe1xuXHRcdFx0Y2xlYW46IGFzeW5jICgpID0+IGF3YWl0IGFjdGlvbnMuY2xlYW4ucnVuKG9wdGlvbnMpLFxuXHRcdFx0YnVpbGQ6IFtcImNsZWFuXCIsIGFzeW5jICgpID0+IGF3YWl0IGFjdGlvbnMuYnVpbGQucnVuKG9wdGlvbnMpXSxcblx0XHRcdGNvcHk6IFtcImNsZWFuXCIsIGFzeW5jICgpID0+IGF3YWl0IGFjdGlvbnMuY29weS5ydW4ob3B0aW9ucyldLFxuXHRcdFx0d2F0Y2g6IFtcImJ1aWxkXCIsIFwiY29weVwiLCBhc3luYyAoKSA9PiBhd2FpdCBhY3Rpb25zLndhdGNoLnJ1bihvcHRpb25zKV0sXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gQ29tbWFuZFJlc3BvbnNlLnN1Y2Nlc3Mob3B0aW9ucywgcmVzcG9uc2VzKTtcblx0fTtcbn1cbiJdLCJuYW1lcyI6WyJCdWlsZENvbW1hbmQiLCJEZWNvaGVyZUNvbW1hbmQiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJhZGRPcHRpb24iLCJDb25maWd1cmF0aW9uT3B0aW9uIiwiTm9DbGVhbk9wdGlvbnMiLCJvcHRpb24iLCJydW4iLCJhY3Rpb25zIiwib3B0aW9ucyIsInJlc3BvbnNlcyIsImF1dG8iLCJjbGVhbiIsImJ1aWxkIiwiY29weSIsIndhdGNoIiwiQ29tbWFuZFJlc3BvbnNlIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjYUE7OztlQUFBQTs7O3FCQVJOOzZEQUNVOzs7Ozs7QUFPVixNQUFNQSxxQkFBcUJDLG9CQUFlO0lBQ2hELFlBQW1CQyxJQUFhLENBQUU7UUFDakMsS0FBSyxDQUFDQSxRQUFRRixhQUFhRSxJQUFJO1FBQy9CLElBQUksQ0FBQ0MsV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlDLHdCQUFtQixDQUFDO1FBQ3ZDLElBQUksQ0FBQ0QsU0FBUyxDQUFDLElBQUlFLG1CQUFjLENBQUM7UUFDbEMsSUFBSSxDQUFDQyxNQUFNLENBQUMsYUFBYSxtREFBbUQ7UUFDNUUsSUFBSSxDQUFDQSxNQUFNLENBQUMsV0FBVyx5Q0FBeUM7UUFDaEUsSUFBSSxDQUFDQSxNQUFNLENBQUMsaUJBQWlCO0lBQzlCO0lBRU9DLE1BQU0sT0FDWkMsU0FDQUM7UUFFQSxNQUFNQyxZQUFZLE1BQU1DLElBQUFBLGFBQUksRUFBZTtZQUMxQ0MsT0FBTyxVQUFZLE1BQU1KLFFBQVFJLEtBQUssQ0FBQ0wsR0FBRyxDQUFDRTtZQUMzQ0ksT0FBTztnQkFBQztnQkFBUyxVQUFZLE1BQU1MLFFBQVFLLEtBQUssQ0FBQ04sR0FBRyxDQUFDRTthQUFTO1lBQzlESyxNQUFNO2dCQUFDO2dCQUFTLFVBQVksTUFBTU4sUUFBUU0sSUFBSSxDQUFDUCxHQUFHLENBQUNFO2FBQVM7WUFDNURNLE9BQU87Z0JBQUM7Z0JBQVM7Z0JBQVEsVUFBWSxNQUFNUCxRQUFRTyxLQUFLLENBQUNSLEdBQUcsQ0FBQ0U7YUFBUztRQUN2RTtRQUVBLE9BQU9PLG9CQUFlLENBQUNDLE9BQU8sQ0FBQ1IsU0FBU0M7SUFDekMsRUFBRTtBQUNIIn0=
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "DependencyCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DependencyCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ const _commitaction = require("../actions/commit.action.js");
13
+ const _dependencyreportaction = require("../actions/dependency-report.action.js");
14
+ const _dependencysyncaction = require("../actions/dependency-sync.action.js");
15
+ const _synclockfileaction = require("../actions/sync-lock-file.action.js");
16
+ const _workspaceconfig = require("../workspace.config.js");
17
+ class DependencyCommand extends _cli.DecohereCommand {
18
+ constructor(name, handler){
19
+ super(name ?? DependencyCommand);
20
+ this.description("Analyze and sync workspace dependencies");
21
+ this.addOption(new _cli.ConfigurationOption("release"));
22
+ this.registerSubcommand(ReportCommand, handler);
23
+ this.registerSubcommand(SyncCommand, handler);
24
+ }
25
+ }
26
+ class SyncCommand extends _cli.DecohereCommand {
27
+ get actions() {
28
+ return [
29
+ _dependencysyncaction.SyncDependencies,
30
+ _synclockfileaction.SyncLockFile,
31
+ _commitaction.CommitFiles
32
+ ];
33
+ }
34
+ constructor(){
35
+ super(SyncCommand);
36
+ this.description("Sync workspace dependency manifests");
37
+ this.option("--log-diff", "Log what changed in each project's dependencies after syncing", false);
38
+ this.option("--no-sync", "Skip lockfile sync after syncing dependencies", true);
39
+ this.option("--commit", "Commit synced workspace manifest changes", false);
40
+ this.option("--message <message>", "Commit message (used with --commit)");
41
+ }
42
+ async run(actions, options) {
43
+ const responses = {};
44
+ const configuration = typeof options.configuration === "string" ? options.configuration : _workspaceconfig.Release.name;
45
+ const syncDependencyOptions = {
46
+ configuration,
47
+ logDiff: options.logDiff === true
48
+ };
49
+ const syncLockOptions = {
50
+ sync: options.sync !== false,
51
+ dryRun: options.dryRun === true
52
+ };
53
+ const commitOptions = {
54
+ configuration,
55
+ commit: options.commit === true,
56
+ dryRun: options.dryRun === true,
57
+ message: typeof options.message === "string" ? options.message : undefined
58
+ };
59
+ responses.syncDependencies = await actions.syncDependencies.run(syncDependencyOptions);
60
+ this.throwOnErrors({
61
+ syncDependencies: responses.syncDependencies
62
+ });
63
+ responses.syncLockFile = await actions.syncLockFile.run(syncLockOptions);
64
+ this.throwOnErrors({
65
+ syncLockFile: responses.syncLockFile
66
+ });
67
+ responses.commitFiles = await actions.commitFiles.run(commitOptions);
68
+ this.throwOnErrors({
69
+ commitFiles: responses.commitFiles
70
+ });
71
+ return _cli.CommandResponse.success(options, responses);
72
+ }
73
+ }
74
+ class ReportCommand extends _cli.DecohereCommand {
75
+ get actions() {
76
+ return [
77
+ _dependencyreportaction.ReportDependencies
78
+ ];
79
+ }
80
+ constructor(){
81
+ super(ReportCommand);
82
+ this.description("Report resolved dependencies for workspace projects");
83
+ this.option("--file <file>", "Optional file path to write the report to");
84
+ this.option("--fail-on-drift", "Exit with an error if resolved dependencies differ from what is declared in package.json", false);
85
+ }
86
+ }
87
+
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL2RlcGVuZGVuY3kuY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IENvbW1hbmRSZXNwb25zZSwgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB0eXBlIHsgQ29tbWl0RmlsZXNPcHRpb25zIH0gZnJvbSBcIi4uL2FjdGlvbnMvY29tbWl0LmFjdGlvbi5qc1wiO1xuaW1wb3J0IHsgQ29tbWl0RmlsZXMgfSBmcm9tIFwiLi4vYWN0aW9ucy9jb21taXQuYWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBSZXBvcnREZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi4vYWN0aW9ucy9kZXBlbmRlbmN5LXJlcG9ydC5hY3Rpb24uanNcIjtcbmltcG9ydCB0eXBlIHsgRGVwZW5kZW5jaWVzT3B0aW9ucyB9IGZyb20gXCIuLi9hY3Rpb25zL2RlcGVuZGVuY3ktc3luYy5hY3Rpb24uanNcIjtcbmltcG9ydCB7IFN5bmNEZXBlbmRlbmNpZXMgYXMgRGVwZW5kZW5jeVN5bmMgfSBmcm9tIFwiLi4vYWN0aW9ucy9kZXBlbmRlbmN5LXN5bmMuYWN0aW9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN5bmNMb2NrRmlsZU9wdGlvbnMgfSBmcm9tIFwiLi4vYWN0aW9ucy9zeW5jLWxvY2stZmlsZS5hY3Rpb24uanNcIjtcbmltcG9ydCB7IFN5bmNMb2NrRmlsZSB9IGZyb20gXCIuLi9hY3Rpb25zL3N5bmMtbG9jay1maWxlLmFjdGlvbi5qc1wiO1xuaW1wb3J0IHsgUmVsZWFzZSB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5Q29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZCB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lPzogc3RyaW5nLCBoYW5kbGVyPzogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihuYW1lID8/IERlcGVuZGVuY3lDb21tYW5kKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQW5hbHl6ZSBhbmQgc3luYyB3b3Jrc3BhY2UgZGVwZW5kZW5jaWVzXCIpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBDb25maWd1cmF0aW9uT3B0aW9uKFwicmVsZWFzZVwiKSk7XG5cdFx0dGhpcy5yZWdpc3RlclN1YmNvbW1hbmQoUmVwb3J0Q29tbWFuZCwgaGFuZGxlcik7XG5cdFx0dGhpcy5yZWdpc3RlclN1YmNvbW1hbmQoU3luY0NvbW1hbmQsIGhhbmRsZXIpO1xuXHR9XG59XG5cbnR5cGUgU3luY0FjdGlvbnMgPSB7XG5cdHN5bmNEZXBlbmRlbmNpZXM6IERlcGVuZGVuY3lTeW5jO1xuXHRzeW5jTG9ja0ZpbGU6IFN5bmNMb2NrRmlsZTtcblx0Y29tbWl0RmlsZXM6IENvbW1pdEZpbGVzO1xufTtcblxuY2xhc3MgU3luY0NvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQ8U3luY0FjdGlvbnM+IHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbRGVwZW5kZW5jeVN5bmMsIFN5bmNMb2NrRmlsZSwgQ29tbWl0RmlsZXNdO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKFN5bmNDb21tYW5kKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiU3luYyB3b3Jrc3BhY2UgZGVwZW5kZW5jeSBtYW5pZmVzdHNcIik7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tbG9nLWRpZmZcIixcblx0XHRcdFwiTG9nIHdoYXQgY2hhbmdlZCBpbiBlYWNoIHByb2plY3QncyBkZXBlbmRlbmNpZXMgYWZ0ZXIgc3luY2luZ1wiLFxuXHRcdFx0ZmFsc2UsXG5cdFx0KTtcblx0XHR0aGlzLm9wdGlvbihcIi0tbm8tc3luY1wiLCBcIlNraXAgbG9ja2ZpbGUgc3luYyBhZnRlciBzeW5jaW5nIGRlcGVuZGVuY2llc1wiLCB0cnVlKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tY29tbWl0XCIsIFwiQ29tbWl0IHN5bmNlZCB3b3Jrc3BhY2UgbWFuaWZlc3QgY2hhbmdlc1wiLCBmYWxzZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLW1lc3NhZ2UgPG1lc3NhZ2U+XCIsIFwiQ29tbWl0IG1lc3NhZ2UgKHVzZWQgd2l0aCAtLWNvbW1pdClcIik7XG5cdH1cblxuXHRwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgcnVuKGFjdGlvbnM6IFN5bmNBY3Rpb25zLCBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuXHRcdGNvbnN0IHJlc3BvbnNlczogQ29tbWFuZFJlc3BvbnNlPFN5bmNBY3Rpb25zPiA9IHt9O1xuXHRcdGNvbnN0IGNvbmZpZ3VyYXRpb24gPVxuXHRcdFx0dHlwZW9mIG9wdGlvbnMuY29uZmlndXJhdGlvbiA9PT0gXCJzdHJpbmdcIiA/IG9wdGlvbnMuY29uZmlndXJhdGlvbiA6IFJlbGVhc2UubmFtZTtcblxuXHRcdGNvbnN0IHN5bmNEZXBlbmRlbmN5T3B0aW9uczogRGVwZW5kZW5jaWVzT3B0aW9ucyA9IHtcblx0XHRcdGNvbmZpZ3VyYXRpb24sXG5cdFx0XHRsb2dEaWZmOiBvcHRpb25zLmxvZ0RpZmYgPT09IHRydWUsXG5cdFx0fTtcblxuXHRcdGNvbnN0IHN5bmNMb2NrT3B0aW9uczogU3luY0xvY2tGaWxlT3B0aW9ucyA9IHtcblx0XHRcdHN5bmM6IG9wdGlvbnMuc3luYyAhPT0gZmFsc2UsXG5cdFx0XHRkcnlSdW46IG9wdGlvbnMuZHJ5UnVuID09PSB0cnVlLFxuXHRcdH07XG5cblx0XHRjb25zdCBjb21taXRPcHRpb25zOiBDb21taXRGaWxlc09wdGlvbnMgPSB7XG5cdFx0XHRjb25maWd1cmF0aW9uLFxuXHRcdFx0Y29tbWl0OiBvcHRpb25zLmNvbW1pdCA9PT0gdHJ1ZSxcblx0XHRcdGRyeVJ1bjogb3B0aW9ucy5kcnlSdW4gPT09IHRydWUsXG5cdFx0XHRtZXNzYWdlOiB0eXBlb2Ygb3B0aW9ucy5tZXNzYWdlID09PSBcInN0cmluZ1wiID8gb3B0aW9ucy5tZXNzYWdlIDogdW5kZWZpbmVkLFxuXHRcdH07XG5cblx0XHRyZXNwb25zZXMuc3luY0RlcGVuZGVuY2llcyA9IGF3YWl0IGFjdGlvbnMuc3luY0RlcGVuZGVuY2llcy5ydW4oc3luY0RlcGVuZGVuY3lPcHRpb25zKTtcblx0XHR0aGlzLnRocm93T25FcnJvcnMoeyBzeW5jRGVwZW5kZW5jaWVzOiByZXNwb25zZXMuc3luY0RlcGVuZGVuY2llcyB9KTtcblxuXHRcdHJlc3BvbnNlcy5zeW5jTG9ja0ZpbGUgPSBhd2FpdCBhY3Rpb25zLnN5bmNMb2NrRmlsZS5ydW4oc3luY0xvY2tPcHRpb25zKTtcblx0XHR0aGlzLnRocm93T25FcnJvcnMoeyBzeW5jTG9ja0ZpbGU6IHJlc3BvbnNlcy5zeW5jTG9ja0ZpbGUgfSk7XG5cblx0XHRyZXNwb25zZXMuY29tbWl0RmlsZXMgPSBhd2FpdCBhY3Rpb25zLmNvbW1pdEZpbGVzLnJ1bihjb21taXRPcHRpb25zKTtcblx0XHR0aGlzLnRocm93T25FcnJvcnMoeyBjb21taXRGaWxlczogcmVzcG9uc2VzLmNvbW1pdEZpbGVzIH0pO1xuXG5cdFx0cmV0dXJuIENvbW1hbmRSZXNwb25zZS5zdWNjZXNzKG9wdGlvbnMsIHJlc3BvbnNlcyk7XG5cdH1cbn1cblxuY2xhc3MgUmVwb3J0Q29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZCB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW1JlcG9ydERlcGVuZGVuY2llc107XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoUmVwb3J0Q29tbWFuZCk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIlJlcG9ydCByZXNvbHZlZCBkZXBlbmRlbmNpZXMgZm9yIHdvcmtzcGFjZSBwcm9qZWN0c1wiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tZmlsZSA8ZmlsZT5cIiwgXCJPcHRpb25hbCBmaWxlIHBhdGggdG8gd3JpdGUgdGhlIHJlcG9ydCB0b1wiKTtcblx0XHR0aGlzLm9wdGlvbihcblx0XHRcdFwiLS1mYWlsLW9uLWRyaWZ0XCIsXG5cdFx0XHRcIkV4aXQgd2l0aCBhbiBlcnJvciBpZiByZXNvbHZlZCBkZXBlbmRlbmNpZXMgZGlmZmVyIGZyb20gd2hhdCBpcyBkZWNsYXJlZCBpbiBwYWNrYWdlLmpzb25cIixcblx0XHRcdGZhbHNlLFxuXHRcdCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJEZXBlbmRlbmN5Q29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsIm5hbWUiLCJoYW5kbGVyIiwiZGVzY3JpcHRpb24iLCJhZGRPcHRpb24iLCJDb25maWd1cmF0aW9uT3B0aW9uIiwicmVnaXN0ZXJTdWJjb21tYW5kIiwiUmVwb3J0Q29tbWFuZCIsIlN5bmNDb21tYW5kIiwiYWN0aW9ucyIsIkRlcGVuZGVuY3lTeW5jIiwiU3luY0xvY2tGaWxlIiwiQ29tbWl0RmlsZXMiLCJvcHRpb24iLCJydW4iLCJvcHRpb25zIiwicmVzcG9uc2VzIiwiY29uZmlndXJhdGlvbiIsIlJlbGVhc2UiLCJzeW5jRGVwZW5kZW5jeU9wdGlvbnMiLCJsb2dEaWZmIiwic3luY0xvY2tPcHRpb25zIiwic3luYyIsImRyeVJ1biIsImNvbW1pdE9wdGlvbnMiLCJjb21taXQiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwic3luY0RlcGVuZGVuY2llcyIsInRocm93T25FcnJvcnMiLCJzeW5jTG9ja0ZpbGUiLCJjb21taXRGaWxlcyIsIkNvbW1hbmRSZXNwb25zZSIsInN1Y2Nlc3MiLCJSZXBvcnREZXBlbmRlbmNpZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7OztxQkFWeUQ7OEJBRTFDO3dDQUNPO3NDQUVnQjtvQ0FFdEI7aUNBQ0w7QUFFakIsTUFBTUEsMEJBQTBCQyxvQkFBZTtJQUNyRCxZQUFtQkMsSUFBYSxFQUFFQyxPQUF3QixDQUFFO1FBQzNELEtBQUssQ0FBQ0QsUUFBUUY7UUFDZCxJQUFJLENBQUNJLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNDLFNBQVMsQ0FBQyxJQUFJQyx3QkFBbUIsQ0FBQztRQUN2QyxJQUFJLENBQUNDLGtCQUFrQixDQUFDQyxlQUFlTDtRQUN2QyxJQUFJLENBQUNJLGtCQUFrQixDQUFDRSxhQUFhTjtJQUN0QztBQUNEO0FBUUEsTUFBTU0sb0JBQW9CUixvQkFBZTtJQUN4QyxJQUFvQlMsVUFBVTtRQUM3QixPQUFPO1lBQUNDLHNDQUFjO1lBQUVDLGdDQUFZO1lBQUVDLHlCQUFXO1NBQUM7SUFDbkQ7SUFFQSxhQUFxQjtRQUNwQixLQUFLLENBQUNKO1FBQ04sSUFBSSxDQUFDTCxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDVSxNQUFNLENBQ1YsY0FDQSxpRUFDQTtRQUVELElBQUksQ0FBQ0EsTUFBTSxDQUFDLGFBQWEsaURBQWlEO1FBQzFFLElBQUksQ0FBQ0EsTUFBTSxDQUFDLFlBQVksNENBQTRDO1FBQ3BFLElBQUksQ0FBQ0EsTUFBTSxDQUFDLHVCQUF1QjtJQUNwQztJQUVBLE1BQXNCQyxJQUFJTCxPQUFvQixFQUFFTSxPQUFnQyxFQUFFO1FBQ2pGLE1BQU1DLFlBQTBDLENBQUM7UUFDakQsTUFBTUMsZ0JBQ0wsT0FBT0YsUUFBUUUsYUFBYSxLQUFLLFdBQVdGLFFBQVFFLGFBQWEsR0FBR0Msd0JBQU8sQ0FBQ2pCLElBQUk7UUFFakYsTUFBTWtCLHdCQUE2QztZQUNsREY7WUFDQUcsU0FBU0wsUUFBUUssT0FBTyxLQUFLO1FBQzlCO1FBRUEsTUFBTUMsa0JBQXVDO1lBQzVDQyxNQUFNUCxRQUFRTyxJQUFJLEtBQUs7WUFDdkJDLFFBQVFSLFFBQVFRLE1BQU0sS0FBSztRQUM1QjtRQUVBLE1BQU1DLGdCQUFvQztZQUN6Q1A7WUFDQVEsUUFBUVYsUUFBUVUsTUFBTSxLQUFLO1lBQzNCRixRQUFRUixRQUFRUSxNQUFNLEtBQUs7WUFDM0JHLFNBQVMsT0FBT1gsUUFBUVcsT0FBTyxLQUFLLFdBQVdYLFFBQVFXLE9BQU8sR0FBR0M7UUFDbEU7UUFFQVgsVUFBVVksZ0JBQWdCLEdBQUcsTUFBTW5CLFFBQVFtQixnQkFBZ0IsQ0FBQ2QsR0FBRyxDQUFDSztRQUNoRSxJQUFJLENBQUNVLGFBQWEsQ0FBQztZQUFFRCxrQkFBa0JaLFVBQVVZLGdCQUFnQjtRQUFDO1FBRWxFWixVQUFVYyxZQUFZLEdBQUcsTUFBTXJCLFFBQVFxQixZQUFZLENBQUNoQixHQUFHLENBQUNPO1FBQ3hELElBQUksQ0FBQ1EsYUFBYSxDQUFDO1lBQUVDLGNBQWNkLFVBQVVjLFlBQVk7UUFBQztRQUUxRGQsVUFBVWUsV0FBVyxHQUFHLE1BQU10QixRQUFRc0IsV0FBVyxDQUFDakIsR0FBRyxDQUFDVTtRQUN0RCxJQUFJLENBQUNLLGFBQWEsQ0FBQztZQUFFRSxhQUFhZixVQUFVZSxXQUFXO1FBQUM7UUFFeEQsT0FBT0Msb0JBQWUsQ0FBQ0MsT0FBTyxDQUFDbEIsU0FBU0M7SUFDekM7QUFDRDtBQUVBLE1BQU1ULHNCQUFzQlAsb0JBQWU7SUFDMUMsSUFBb0JTLFVBQVU7UUFDN0IsT0FBTztZQUFDeUIsMENBQWtCO1NBQUM7SUFDNUI7SUFFQSxhQUFxQjtRQUNwQixLQUFLLENBQUMzQjtRQUNOLElBQUksQ0FBQ0osV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ1UsTUFBTSxDQUFDLGlCQUFpQjtRQUM3QixJQUFJLENBQUNBLE1BQU0sQ0FDVixtQkFDQSw0RkFDQTtJQUVGO0FBQ0QifQ==
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ForgeCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ForgeCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ class ForgeCommand extends _cli.DecohereCommand {
13
+ constructor(commands, handler){
14
+ super(ForgeCommand);
15
+ this.description("Run forge workspace workflows");
16
+ this.exitOverride();
17
+ this.registerSubcommand(commands, handler);
18
+ }
19
+ run(_actions, _options) {
20
+ return this.help();
21
+ }
22
+ }
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL2ZvcmdlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb25zIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ29tbWFuZEhhbmRsZXIsXG5cdHR5cGUgQ29tbWFuZFJlc3BvbnNlLFxuXHR0eXBlIENvbW1hbmRUeXBlLFxuXHREZWNvaGVyZUNvbW1hbmQsXG59IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JnZUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoY29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIENvbW1hbmRUeXBlPiwgaGFuZGxlcjogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihGb3JnZUNvbW1hbmQpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJSdW4gZm9yZ2Ugd29ya3NwYWNlIHdvcmtmbG93c1wiKTtcblx0XHR0aGlzLmV4aXRPdmVycmlkZSgpO1xuXHRcdHRoaXMucmVnaXN0ZXJTdWJjb21tYW5kKGNvbW1hbmRzLCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRm9yZ2VDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiY29tbWFuZHMiLCJoYW5kbGVyIiwiZGVzY3JpcHRpb24iLCJleGl0T3ZlcnJpZGUiLCJyZWdpc3RlclN1YmNvbW1hbmQiLCJydW4iLCJfYWN0aW9ucyIsIl9vcHRpb25zIiwiaGVscCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O3FCQUZOO0FBRUEsTUFBTUEscUJBQXFCQyxvQkFBZTtJQUNoRCxZQUFtQkMsUUFBcUMsRUFBRUMsT0FBdUIsQ0FBRTtRQUNsRixLQUFLLENBQUNIO1FBQ04sSUFBSSxDQUFDSSxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxZQUFZO1FBQ2pCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUNKLFVBQVVDO0lBQ25DO0lBRU9JLElBQUlDLFFBQWlCLEVBQUVDLFFBQWUsRUFBNEI7UUFDeEUsT0FBTyxJQUFJLENBQUNDLElBQUk7SUFDakI7QUFDRCJ9
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./build.command.js"), exports);
6
+ _export_star(require("./dependency.command.js"), exports);
7
+ _export_star(require("./forge.command.js"), exports);
8
+ _export_star(require("./publish.command.js"), exports);
9
+ _export_star(require("./tag.command.js"), exports);
10
+ _export_star(require("./version.command.js"), exports);
11
+ function _export_star(from, to) {
12
+ Object.keys(from).forEach(function(k) {
13
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
14
+ Object.defineProperty(to, k, {
15
+ enumerable: true,
16
+ get: function() {
17
+ return from[k];
18
+ }
19
+ });
20
+ }
21
+ });
22
+ return from;
23
+ }
24
+
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2J1aWxkLmNvbW1hbmQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcGVuZGVuY3kuY29tbWFuZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9yZ2UuY29tbWFuZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVibGlzaC5jb21tYW5kLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWcuY29tbWFuZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvbi5jb21tYW5kLmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQSJ9
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PublishCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PublishCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ const _publishaction = require("../actions/publish.action.js");
13
+ class PublishCommand extends _cli.DecohereCommand {
14
+ get actions() {
15
+ return [
16
+ _publishaction.Publish
17
+ ];
18
+ }
19
+ constructor(name){
20
+ super(name);
21
+ this.description("Publish workspace packages");
22
+ this.addOption(new _cli.ConfigurationOption("release"));
23
+ this.addOption(new _cli.DryRunOption("Run npm publish using dry-run flag"));
24
+ this.option("--channel <channel>", "The release channel", "beta");
25
+ this.option("--token <token>", "npm access token (used only for this command)");
26
+ this.option("--otp <otp>", "npm one-time password for 2FA-protected publish");
27
+ this.option("--prompt-auth", "Prompt interactively for npm token and OTP", false);
28
+ this.option("--prompt-otp", "Prompt interactively for npm OTP only (use when already logged in)", false);
29
+ }
30
+ }
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL3B1Ymxpc2guY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uT3B0aW9uLCBEZWNvaGVyZUNvbW1hbmQsIERyeVJ1bk9wdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBQdWJsaXNoIH0gZnJvbSBcIi4uL2FjdGlvbnMvcHVibGlzaC5hY3Rpb24uanNcIjtcblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbUHVibGlzaF07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIlB1Ymxpc2ggd29ya3NwYWNlIHBhY2thZ2VzXCIpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBDb25maWd1cmF0aW9uT3B0aW9uKFwicmVsZWFzZVwiKSk7XG5cdFx0dGhpcy5hZGRPcHRpb24obmV3IERyeVJ1bk9wdGlvbihcIlJ1biBucG0gcHVibGlzaCB1c2luZyBkcnktcnVuIGZsYWdcIikpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1jaGFubmVsIDxjaGFubmVsPlwiLCBcIlRoZSByZWxlYXNlIGNoYW5uZWxcIiwgXCJiZXRhXCIpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS10b2tlbiA8dG9rZW4+XCIsIFwibnBtIGFjY2VzcyB0b2tlbiAodXNlZCBvbmx5IGZvciB0aGlzIGNvbW1hbmQpXCIpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1vdHAgPG90cD5cIiwgXCJucG0gb25lLXRpbWUgcGFzc3dvcmQgZm9yIDJGQS1wcm90ZWN0ZWQgcHVibGlzaFwiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tcHJvbXB0LWF1dGhcIiwgXCJQcm9tcHQgaW50ZXJhY3RpdmVseSBmb3IgbnBtIHRva2VuIGFuZCBPVFBcIiwgZmFsc2UpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLXByb21wdC1vdHBcIixcblx0XHRcdFwiUHJvbXB0IGludGVyYWN0aXZlbHkgZm9yIG5wbSBPVFAgb25seSAodXNlIHdoZW4gYWxyZWFkeSBsb2dnZWQgaW4pXCIsXG5cdFx0XHRmYWxzZSxcblx0XHQpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiUHVibGlzaENvbW1hbmQiLCJEZWNvaGVyZUNvbW1hbmQiLCJhY3Rpb25zIiwiUHVibGlzaCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImFkZE9wdGlvbiIsIkNvbmZpZ3VyYXRpb25PcHRpb24iLCJEcnlSdW5PcHRpb24iLCJvcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OztxQkFIc0Q7K0JBQzNDO0FBRWpCLE1BQU1BLHVCQUF1QkMsb0JBQWU7SUFDbEQsSUFBb0JDLFVBQVU7UUFDN0IsT0FBTztZQUFDQyxzQkFBTztTQUFDO0lBQ2pCO0lBRUEsWUFBbUJDLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSUMsd0JBQW1CLENBQUM7UUFDdkMsSUFBSSxDQUFDRCxTQUFTLENBQUMsSUFBSUUsaUJBQVksQ0FBQztRQUNoQyxJQUFJLENBQUNDLE1BQU0sQ0FBQyx1QkFBdUIsdUJBQXVCO1FBQzFELElBQUksQ0FBQ0EsTUFBTSxDQUFDLG1CQUFtQjtRQUMvQixJQUFJLENBQUNBLE1BQU0sQ0FBQyxlQUFlO1FBQzNCLElBQUksQ0FBQ0EsTUFBTSxDQUFDLGlCQUFpQiw4Q0FBOEM7UUFDM0UsSUFBSSxDQUFDQSxNQUFNLENBQ1YsZ0JBQ0Esc0VBQ0E7SUFFRjtBQUNEIn0=
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TagCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TagCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ const _tagaction = require("../actions/tag.action.js");
13
+ class TagCommand extends _cli.DecohereCommand {
14
+ get actions() {
15
+ return [
16
+ _tagaction.Tag
17
+ ];
18
+ }
19
+ constructor(name){
20
+ super(name);
21
+ this.description("Create and optionally push a git tag for the workspace version");
22
+ this.option("--prefix <prefix>", "Tag prefix", "v");
23
+ this.option("--push", "Push the tag and current branch to origin after tagging", false);
24
+ this.addOption(new _cli.DryRunOption("Print the tag without creating it"));
25
+ }
26
+ }
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL3RhZy5jb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29oZXJlQ29tbWFuZCwgRHJ5UnVuT3B0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFRhZyB9IGZyb20gXCIuLi9hY3Rpb25zL3RhZy5hY3Rpb24uanNcIjtcblxuZXhwb3J0IGNsYXNzIFRhZ0NvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0cmV0dXJuIFtUYWddO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJDcmVhdGUgYW5kIG9wdGlvbmFsbHkgcHVzaCBhIGdpdCB0YWcgZm9yIHRoZSB3b3Jrc3BhY2UgdmVyc2lvblwiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tcHJlZml4IDxwcmVmaXg+XCIsIFwiVGFnIHByZWZpeFwiLCBcInZcIik7XG5cdFx0dGhpcy5vcHRpb24oXCItLXB1c2hcIiwgXCJQdXNoIHRoZSB0YWcgYW5kIGN1cnJlbnQgYnJhbmNoIHRvIG9yaWdpbiBhZnRlciB0YWdnaW5nXCIsIGZhbHNlKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgRHJ5UnVuT3B0aW9uKFwiUHJpbnQgdGhlIHRhZyB3aXRob3V0IGNyZWF0aW5nIGl0XCIpKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlRhZ0NvbW1hbmQiLCJEZWNvaGVyZUNvbW1hbmQiLCJhY3Rpb25zIiwiVGFnIiwibmFtZSIsImRlc2NyaXB0aW9uIiwib3B0aW9uIiwiYWRkT3B0aW9uIiwiRHJ5UnVuT3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdhQTs7O2VBQUFBOzs7cUJBSGlDOzJCQUMxQjtBQUViLE1BQU1BLG1CQUFtQkMsb0JBQWU7SUFDOUMsSUFBb0JDLFVBQVU7UUFDN0IsT0FBTztZQUFDQyxjQUFHO1NBQUM7SUFDYjtJQUVBLFlBQW1CQyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsTUFBTSxDQUFDLHFCQUFxQixjQUFjO1FBQy9DLElBQUksQ0FBQ0EsTUFBTSxDQUFDLFVBQVUsMkRBQTJEO1FBQ2pGLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlDLGlCQUFZLENBQUM7SUFDakM7QUFDRCJ9
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "VersionCommand", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return VersionCommand;
9
+ }
10
+ });
11
+ const _cli = require("@decohere/nexus/cli");
12
+ const _synclockfileaction = require("../actions/sync-lock-file.action.js");
13
+ const _versionaction = require("../actions/version.action.js");
14
+ class VersionCommand extends _cli.DecohereCommand {
15
+ get actions() {
16
+ return [
17
+ _versionaction.Version,
18
+ _synclockfileaction.SyncLockFile
19
+ ];
20
+ }
21
+ constructor(name){
22
+ super(name);
23
+ this.description("Bump workspace package versions");
24
+ this.addOption(new _cli.ConfigurationOption("release"));
25
+ this.addOption(new _cli.DryRunOption("Run npm publish using dry-run flag"));
26
+ this.option("--release-type <releaseType>", "The semver release type: major, minor, patch, prerelease", _versionaction.DefaultReleaseType);
27
+ this.option("--channel <channel>", "The release channel (preid for prereleases, dist-tag for publish)", _versionaction.DefaultChannel);
28
+ this.option("--version <version>", "Explicit base version to increment (overrides git tag discovery)");
29
+ this.option("--no-sync", "Skip lockfile sync after versioning", true);
30
+ this.option("--commit", "Commit versioned package.json files after bumping", false);
31
+ this.option("--message <message>", "Commit message (used with --commit)");
32
+ this.option("--from-changesets", "Read pending .changeset entries to determine the highest bump type (major > minor > patch)", false);
33
+ }
34
+ }
35
+
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbW1hbmRzL3ZlcnNpb24uY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uT3B0aW9uLCBEZWNvaGVyZUNvbW1hbmQsIERyeVJ1bk9wdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBTeW5jTG9ja0ZpbGUgfSBmcm9tIFwiLi4vYWN0aW9ucy9zeW5jLWxvY2stZmlsZS5hY3Rpb24uanNcIjtcbmltcG9ydCB7IERlZmF1bHRDaGFubmVsLCBEZWZhdWx0UmVsZWFzZVR5cGUsIFZlcnNpb24gfSBmcm9tIFwiLi4vYWN0aW9ucy92ZXJzaW9uLmFjdGlvbi5qc1wiO1xuXG50eXBlIFZlcnNpb25BY3Rpb25zID0geyB2ZXJzaW9uOiBWZXJzaW9uOyBzeW5jTG9ja0ZpbGU6IFN5bmNMb2NrRmlsZSB9O1xuXG5leHBvcnQgY2xhc3MgVmVyc2lvbkNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQ8VmVyc2lvbkFjdGlvbnM+IHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbVmVyc2lvbiwgU3luY0xvY2tGaWxlXTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQnVtcCB3b3Jrc3BhY2UgcGFja2FnZSB2ZXJzaW9uc1wiKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcInJlbGVhc2VcIikpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBEcnlSdW5PcHRpb24oXCJSdW4gbnBtIHB1Ymxpc2ggdXNpbmcgZHJ5LXJ1biBmbGFnXCIpKTtcblx0XHR0aGlzLm9wdGlvbihcblx0XHRcdFwiLS1yZWxlYXNlLXR5cGUgPHJlbGVhc2VUeXBlPlwiLFxuXHRcdFx0XCJUaGUgc2VtdmVyIHJlbGVhc2UgdHlwZTogbWFqb3IsIG1pbm9yLCBwYXRjaCwgcHJlcmVsZWFzZVwiLFxuXHRcdFx0RGVmYXVsdFJlbGVhc2VUeXBlLFxuXHRcdCk7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tY2hhbm5lbCA8Y2hhbm5lbD5cIixcblx0XHRcdFwiVGhlIHJlbGVhc2UgY2hhbm5lbCAocHJlaWQgZm9yIHByZXJlbGVhc2VzLCBkaXN0LXRhZyBmb3IgcHVibGlzaClcIixcblx0XHRcdERlZmF1bHRDaGFubmVsLFxuXHRcdCk7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tdmVyc2lvbiA8dmVyc2lvbj5cIixcblx0XHRcdFwiRXhwbGljaXQgYmFzZSB2ZXJzaW9uIHRvIGluY3JlbWVudCAob3ZlcnJpZGVzIGdpdCB0YWcgZGlzY292ZXJ5KVwiLFxuXHRcdCk7XG5cdFx0dGhpcy5vcHRpb24oXCItLW5vLXN5bmNcIiwgXCJTa2lwIGxvY2tmaWxlIHN5bmMgYWZ0ZXIgdmVyc2lvbmluZ1wiLCB0cnVlKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tY29tbWl0XCIsIFwiQ29tbWl0IHZlcnNpb25lZCBwYWNrYWdlLmpzb24gZmlsZXMgYWZ0ZXIgYnVtcGluZ1wiLCBmYWxzZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLW1lc3NhZ2UgPG1lc3NhZ2U+XCIsIFwiQ29tbWl0IG1lc3NhZ2UgKHVzZWQgd2l0aCAtLWNvbW1pdClcIik7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tZnJvbS1jaGFuZ2VzZXRzXCIsXG5cdFx0XHRcIlJlYWQgcGVuZGluZyAuY2hhbmdlc2V0IGVudHJpZXMgdG8gZGV0ZXJtaW5lIHRoZSBoaWdoZXN0IGJ1bXAgdHlwZSAobWFqb3IgPiBtaW5vciA+IHBhdGNoKVwiLFxuXHRcdFx0ZmFsc2UsXG5cdFx0KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlZlcnNpb25Db21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiYWN0aW9ucyIsIlZlcnNpb24iLCJTeW5jTG9ja0ZpbGUiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJhZGRPcHRpb24iLCJDb25maWd1cmF0aW9uT3B0aW9uIiwiRHJ5UnVuT3B0aW9uIiwib3B0aW9uIiwiRGVmYXVsdFJlbGVhc2VUeXBlIiwiRGVmYXVsdENoYW5uZWwiXSwibWFwcGluZ3MiOiI7Ozs7K0JBTWFBOzs7ZUFBQUE7OztxQkFOc0Q7b0NBQ3RDOytCQUMrQjtBQUlyRCxNQUFNQSx1QkFBdUJDLG9CQUFlO0lBQ2xELElBQW9CQyxVQUFVO1FBQzdCLE9BQU87WUFBQ0Msc0JBQU87WUFBRUMsZ0NBQVk7U0FBQztJQUMvQjtJQUVBLFlBQW1CQyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlDLHdCQUFtQixDQUFDO1FBQ3ZDLElBQUksQ0FBQ0QsU0FBUyxDQUFDLElBQUlFLGlCQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDQyxNQUFNLENBQ1YsZ0NBQ0EsNERBQ0FDLGlDQUFrQjtRQUVuQixJQUFJLENBQUNELE1BQU0sQ0FDVix1QkFDQSxxRUFDQUUsNkJBQWM7UUFFZixJQUFJLENBQUNGLE1BQU0sQ0FDVix1QkFDQTtRQUVELElBQUksQ0FBQ0EsTUFBTSxDQUFDLGFBQWEsdUNBQXVDO1FBQ2hFLElBQUksQ0FBQ0EsTUFBTSxDQUFDLFlBQVkscURBQXFEO1FBQzdFLElBQUksQ0FBQ0EsTUFBTSxDQUFDLHVCQUF1QjtRQUNuQyxJQUFJLENBQUNBLE1BQU0sQ0FDVixxQkFDQSw4RkFDQTtJQUVGO0FBQ0QifQ==
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get BUILT_IN_MODULES () {
13
+ return BUILT_IN_MODULES;
14
+ },
15
+ get NODE_MODULES () {
16
+ return NODE_MODULES;
17
+ },
18
+ get SWC_CONFIG () {
19
+ return SWC_CONFIG;
20
+ }
21
+ });
22
+ const SWC_CONFIG = ".swcrc";
23
+ const NODE_MODULES = "node_modules";
24
+ const BUILT_IN_MODULES = [
25
+ "assert",
26
+ "assert/strict",
27
+ "async_hooks",
28
+ "buffer",
29
+ "child_process",
30
+ "cluster",
31
+ "console",
32
+ "constants",
33
+ "crypto",
34
+ "dgram",
35
+ "diagnostics_channel",
36
+ "dns",
37
+ "dns/promises",
38
+ "domain",
39
+ "events",
40
+ "fs",
41
+ "fs/promises",
42
+ "http",
43
+ "http2",
44
+ "https",
45
+ "inspector",
46
+ "inspector/promises",
47
+ "module",
48
+ "net",
49
+ "os",
50
+ "path",
51
+ "path/posix",
52
+ "path/win32",
53
+ "perf_hooks",
54
+ "process",
55
+ "punycode",
56
+ "querystring",
57
+ "readline",
58
+ "readline/promises",
59
+ "repl",
60
+ "stream",
61
+ "stream/consumers",
62
+ "stream/promises",
63
+ "stream/web",
64
+ "string_decoder",
65
+ "sys",
66
+ "timers",
67
+ "timers/promises",
68
+ "tls",
69
+ "trace_events",
70
+ "tty",
71
+ "url",
72
+ "util",
73
+ "util/types",
74
+ "v8",
75
+ "vm",
76
+ "wasi",
77
+ "worker_threads",
78
+ "zlib"
79
+ ];
80
+
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2NvbnN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTV0NfQ09ORklHID0gXCIuc3djcmNcIjtcbmV4cG9ydCBjb25zdCBOT0RFX01PRFVMRVMgPSBcIm5vZGVfbW9kdWxlc1wiO1xuZXhwb3J0IGNvbnN0IEJVSUxUX0lOX01PRFVMRVMgPSBbXG5cdFwiYXNzZXJ0XCIsXG5cdFwiYXNzZXJ0L3N0cmljdFwiLFxuXHRcImFzeW5jX2hvb2tzXCIsXG5cdFwiYnVmZmVyXCIsXG5cdFwiY2hpbGRfcHJvY2Vzc1wiLFxuXHRcImNsdXN0ZXJcIixcblx0XCJjb25zb2xlXCIsXG5cdFwiY29uc3RhbnRzXCIsXG5cdFwiY3J5cHRvXCIsXG5cdFwiZGdyYW1cIixcblx0XCJkaWFnbm9zdGljc19jaGFubmVsXCIsXG5cdFwiZG5zXCIsXG5cdFwiZG5zL3Byb21pc2VzXCIsXG5cdFwiZG9tYWluXCIsXG5cdFwiZXZlbnRzXCIsXG5cdFwiZnNcIixcblx0XCJmcy9wcm9taXNlc1wiLFxuXHRcImh0dHBcIixcblx0XCJodHRwMlwiLFxuXHRcImh0dHBzXCIsXG5cdFwiaW5zcGVjdG9yXCIsXG5cdFwiaW5zcGVjdG9yL3Byb21pc2VzXCIsXG5cdFwibW9kdWxlXCIsXG5cdFwibmV0XCIsXG5cdFwib3NcIixcblx0XCJwYXRoXCIsXG5cdFwicGF0aC9wb3NpeFwiLFxuXHRcInBhdGgvd2luMzJcIixcblx0XCJwZXJmX2hvb2tzXCIsXG5cdFwicHJvY2Vzc1wiLFxuXHRcInB1bnljb2RlXCIsXG5cdFwicXVlcnlzdHJpbmdcIixcblx0XCJyZWFkbGluZVwiLFxuXHRcInJlYWRsaW5lL3Byb21pc2VzXCIsXG5cdFwicmVwbFwiLFxuXHRcInN0cmVhbVwiLFxuXHRcInN0cmVhbS9jb25zdW1lcnNcIixcblx0XCJzdHJlYW0vcHJvbWlzZXNcIixcblx0XCJzdHJlYW0vd2ViXCIsXG5cdFwic3RyaW5nX2RlY29kZXJcIixcblx0XCJzeXNcIixcblx0XCJ0aW1lcnNcIixcblx0XCJ0aW1lcnMvcHJvbWlzZXNcIixcblx0XCJ0bHNcIixcblx0XCJ0cmFjZV9ldmVudHNcIixcblx0XCJ0dHlcIixcblx0XCJ1cmxcIixcblx0XCJ1dGlsXCIsXG5cdFwidXRpbC90eXBlc1wiLFxuXHRcInY4XCIsXG5cdFwidm1cIixcblx0XCJ3YXNpXCIsXG5cdFwid29ya2VyX3RocmVhZHNcIixcblx0XCJ6bGliXCIsXG5dO1xuIl0sIm5hbWVzIjpbIkJVSUxUX0lOX01PRFVMRVMiLCJOT0RFX01PRFVMRVMiLCJTV0NfQ09ORklHIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUVhQTtlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBREFDO2VBQUFBOzs7QUFBTixNQUFNQSxhQUFhO0FBQ25CLE1BQU1ELGVBQWU7QUFDckIsTUFBTUQsbUJBQW1CO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNBIn0=
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get ForgeError () {
13
+ return ForgeError;
14
+ },
15
+ get WorkspaceConfigurationError () {
16
+ return _mesh.WorkspaceConfigurationError;
17
+ },
18
+ get formatUnknownError () {
19
+ return formatUnknownError;
20
+ }
21
+ });
22
+ const _mesh = require("@decohere/mesh");
23
+ class ForgeError extends Error {
24
+ }
25
+ function formatUnknownError(reason) {
26
+ if (reason instanceof Error) {
27
+ return reason.message;
28
+ }
29
+ if (typeof reason === "string") {
30
+ return reason;
31
+ }
32
+ try {
33
+ return JSON.stringify(reason);
34
+ } catch {
35
+ return "Unknown error";
36
+ }
37
+ }
38
+
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2Vycm9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBXb3Jrc3BhY2VDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmV4cG9ydCBjbGFzcyBGb3JnZUVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFVua25vd25FcnJvcihyZWFzb246IHVua25vd24pOiBzdHJpbmcge1xuXHRpZiAocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRyZXR1cm4gcmVhc29uLm1lc3NhZ2U7XG5cdH1cblxuXHRpZiAodHlwZW9mIHJlYXNvbiA9PT0gXCJzdHJpbmdcIikge1xuXHRcdHJldHVybiByZWFzb247XG5cdH1cblxuXHR0cnkge1xuXHRcdHJldHVybiBKU09OLnN0cmluZ2lmeShyZWFzb24pO1xuXHR9IGNhdGNoIHtcblx0XHRyZXR1cm4gXCJVbmtub3duIGVycm9yXCI7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJGb3JnZUVycm9yIiwiV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIiwiZm9ybWF0VW5rbm93bkVycm9yIiwiRXJyb3IiLCJyZWFzb24iLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFDYUE7ZUFBQUE7O1FBREpDO2VBQUFBLGlDQUEyQjs7UUFHcEJDO2VBQUFBOzs7c0JBSDRCO0FBQ3JDLE1BQU1GLG1CQUFtQkc7QUFBTztBQUVoQyxTQUFTRCxtQkFBbUJFLE1BQWU7SUFDakQsSUFBSUEsa0JBQWtCRCxPQUFPO1FBQzVCLE9BQU9DLE9BQU9DLE9BQU87SUFDdEI7SUFFQSxJQUFJLE9BQU9ELFdBQVcsVUFBVTtRQUMvQixPQUFPQTtJQUNSO0lBRUEsSUFBSTtRQUNILE9BQU9FLEtBQUtDLFNBQVMsQ0FBQ0g7SUFDdkIsRUFBRSxPQUFNO1FBQ1AsT0FBTztJQUNSO0FBQ0QifQ==
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ProjectExtensions", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ProjectExtensions;
9
+ }
10
+ });
11
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
12
+ const _mesh = require("@decohere/mesh");
13
+ const _caching = require("@decohere/nexus/caching");
14
+ const _extensibility = require("@decohere/nexus/extensibility");
15
+ const _io = require("@decohere/nexus/io");
16
+ const _const = require("../const.js");
17
+ const _swcconfigtype = require("../types/swc-config.type.js");
18
+ function _interop_require_default(obj) {
19
+ return obj && obj.__esModule ? obj : {
20
+ default: obj
21
+ };
22
+ }
23
+ function _ts_decorate(decorators, target, key, desc) {
24
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
25
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
26
+ 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;
27
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
28
+ }
29
+ function _ts_metadata(k, v) {
30
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
31
+ }
32
+ class ProjectExtensions {
33
+ static getForgeConfiguration(project) {
34
+ return project.configuration;
35
+ }
36
+ static async getSwcConfig(project) {
37
+ const projectConfigPath = _nodepath.default.join(project.projectDirectory, _const.SWC_CONFIG);
38
+ if (await _io.io.fileExists(projectConfigPath)) {
39
+ return new _swcconfigtype.SwcConfig(await _io.io.readJsonFile(projectConfigPath));
40
+ }
41
+ const rootConfigPath = _nodepath.default.join(project.rootDir, _const.SWC_CONFIG);
42
+ if (await _io.io.fileExists(rootConfigPath)) {
43
+ return new _swcconfigtype.SwcConfig(await _io.io.readJsonFile(rootConfigPath));
44
+ }
45
+ return new _swcconfigtype.SwcConfig();
46
+ }
47
+ }
48
+ _ts_decorate([
49
+ (0, _extensibility.extension)(_mesh.Project),
50
+ _ts_metadata("design:type", Function),
51
+ _ts_metadata("design:paramtypes", [
52
+ typeof _mesh.Project === "undefined" ? Object : _mesh.Project
53
+ ]),
54
+ _ts_metadata("design:returntype", typeof ForgeConfiguration === "undefined" ? Object : ForgeConfiguration)
55
+ ], ProjectExtensions, "getForgeConfiguration", null);
56
+ _ts_decorate([
57
+ (0, _extensibility.extension)(_mesh.Project),
58
+ (0, _caching.memoize)(),
59
+ _ts_metadata("design:type", Function),
60
+ _ts_metadata("design:paramtypes", [
61
+ typeof _mesh.Project === "undefined" ? Object : _mesh.Project
62
+ ]),
63
+ _ts_metadata("design:returntype", Promise)
64
+ ], ProjectExtensions, "getSwcConfig", null);
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IGV4dGVuc2lvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBTV0NfQ09ORklHIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGUuanNcIjtcbmltcG9ydCB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvbWVzaFwiIHtcblx0aW50ZXJmYWNlIFByb2plY3Qge1xuXHRcdGdldEZvcmdlQ29uZmlndXJhdGlvbigpOiBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0Z2V0U3djQ29uZmlnKCk6IFByb21pc2U8U3djQ29uZmlnPjtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUHJvamVjdEV4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKFByb2plY3QpXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKHByb2plY3Q6IFByb2plY3QpOiBGb3JnZUNvbmZpZ3VyYXRpb24ge1xuXHRcdHJldHVybiBwcm9qZWN0LmNvbmZpZ3VyYXRpb24gYXMgRm9yZ2VDb25maWd1cmF0aW9uO1xuXHR9XG5cblx0QGV4dGVuc2lvbihQcm9qZWN0KVxuXHRAbWVtb2l6ZSgpXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0U3djQ29uZmlnKHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFN3Y0NvbmZpZz4ge1xuXHRcdGNvbnN0IHByb2plY3RDb25maWdQYXRoID0gcGF0aC5qb2luKHByb2plY3QucHJvamVjdERpcmVjdG9yeSwgU1dDX0NPTkZJRyk7XG5cdFx0aWYgKGF3YWl0IGlvLmZpbGVFeGlzdHMocHJvamVjdENvbmZpZ1BhdGgpKSB7XG5cdFx0XHRyZXR1cm4gbmV3IFN3Y0NvbmZpZyhhd2FpdCBpby5yZWFkSnNvbkZpbGUocHJvamVjdENvbmZpZ1BhdGgpKTtcblx0XHR9XG5cblx0XHRjb25zdCByb290Q29uZmlnUGF0aCA9IHBhdGguam9pbihwcm9qZWN0LnJvb3REaXIsIFNXQ19DT05GSUcpO1xuXHRcdGlmIChhd2FpdCBpby5maWxlRXhpc3RzKHJvb3RDb25maWdQYXRoKSkge1xuXHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoYXdhaXQgaW8ucmVhZEpzb25GaWxlKHJvb3RDb25maWdQYXRoKSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlByb2plY3RFeHRlbnNpb25zIiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwicHJvamVjdCIsImNvbmZpZ3VyYXRpb24iLCJnZXRTd2NDb25maWciLCJwcm9qZWN0Q29uZmlnUGF0aCIsInBhdGgiLCJqb2luIiwicHJvamVjdERpcmVjdG9yeSIsIlNXQ19DT05GSUciLCJpbyIsImZpbGVFeGlzdHMiLCJTd2NDb25maWciLCJyZWFkSnNvbkZpbGUiLCJyb290Q29uZmlnUGF0aCIsInJvb3REaXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0JhQTs7O2VBQUFBOzs7aUVBaEJJO3NCQUNPO3lCQUNBOytCQUNFO29CQUNQO3VCQUNROytCQUVEOzs7Ozs7Ozs7Ozs7Ozs7QUFTbkIsTUFBTUE7SUFDWixPQUNjQyxzQkFBc0JDLE9BQWdCLEVBQXNCO1FBQ3pFLE9BQU9BLFFBQVFDLGFBQWE7SUFDN0I7SUFFQSxhQUVvQkMsYUFBYUYsT0FBZ0IsRUFBc0I7UUFDdEUsTUFBTUcsb0JBQW9CQyxpQkFBSSxDQUFDQyxJQUFJLENBQUNMLFFBQVFNLGdCQUFnQixFQUFFQyxpQkFBVTtRQUN4RSxJQUFJLE1BQU1DLE1BQUUsQ0FBQ0MsVUFBVSxDQUFDTixvQkFBb0I7WUFDM0MsT0FBTyxJQUFJTyx3QkFBUyxDQUFDLE1BQU1GLE1BQUUsQ0FBQ0csWUFBWSxDQUFDUjtRQUM1QztRQUVBLE1BQU1TLGlCQUFpQlIsaUJBQUksQ0FBQ0MsSUFBSSxDQUFDTCxRQUFRYSxPQUFPLEVBQUVOLGlCQUFVO1FBQzVELElBQUksTUFBTUMsTUFBRSxDQUFDQyxVQUFVLENBQUNHLGlCQUFpQjtZQUN4QyxPQUFPLElBQUlGLHdCQUFTLENBQUMsTUFBTUYsTUFBRSxDQUFDRyxZQUFZLENBQUNDO1FBQzVDO1FBRUEsT0FBTyxJQUFJRix3QkFBUztJQUNyQjtBQUNEIn0=
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "SwcConfigFactory", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SwcConfigFactory;
9
+ }
10
+ });
11
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
12
+ const _diagnostics = require("@decohere/nexus/diagnostics");
13
+ const _objects = require("@decohere/nexus/objects");
14
+ const _errors = require("../errors.js");
15
+ function _interop_require_default(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ function _ts_decorate(decorators, target, key, desc) {
21
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
22
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23
+ 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;
24
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
25
+ }
26
+ const defaultOptions = {
27
+ jsc: {
28
+ parser: {
29
+ syntax: "typescript",
30
+ decorators: true
31
+ },
32
+ target: "esnext",
33
+ transform: {
34
+ decoratorMetadata: true
35
+ },
36
+ experimental: {
37
+ keepImportAttributes: true
38
+ }
39
+ },
40
+ module: {
41
+ resolveFully: true
42
+ },
43
+ sourceMaps: "inline"
44
+ };
45
+ class SwcConfigFactory {
46
+ /**
47
+ * Creates a base config for a project+target combination, without a filename.
48
+ * Call once per (project, target) and then use createFileConfig() per file.
49
+ */ createBaseConfig(buildTarget, configOptions) {
50
+ const { userConfig, tsConfig, aliasPaths } = configOptions;
51
+ const { compilerOptions } = tsConfig ?? {};
52
+ const paths = aliasPaths ? compilerOptions?.paths : undefined;
53
+ const baseUrl = SwcConfigFactory.getBaseUrl(tsConfig) ?? (paths != null ? _nodepath.default.resolve(".") : undefined);
54
+ const options = {
55
+ jsc: {
56
+ baseUrl,
57
+ paths
58
+ },
59
+ module: {
60
+ type: buildTarget
61
+ }
62
+ };
63
+ return _objects.merge.withOptions({
64
+ mergeArrays: false
65
+ }, defaultOptions, options, userConfig ?? {});
66
+ }
67
+ /** Stamps a per-file filename onto a pre-built base config. */ createFileConfig(file, baseConfig) {
68
+ const config = {
69
+ ...baseConfig,
70
+ filename: file.fullPath
71
+ };
72
+ this.validate(config);
73
+ return config;
74
+ }
75
+ /**
76
+ * Validates SWC options against known causes of Rust/NAPI process crashes.
77
+ * Throws a ForgeError with a descriptive message instead of letting the
78
+ * NAPI layer abort the process.
79
+ *
80
+ * Known crash causes:
81
+ * - `jsc.baseUrl` set to a relative path (SWC requires an absolute path)
82
+ */ validate(options) {
83
+ const baseUrl = options.jsc?.baseUrl;
84
+ if (baseUrl != null && !_nodepath.default.isAbsolute(baseUrl)) {
85
+ throw new _errors.ForgeError(`SWC config: jsc.baseUrl must be an absolute path to avoid a process crash, got: "${baseUrl}". Use path.resolve() to convert it.`);
86
+ }
87
+ }
88
+ /** Resolves tsconfig baseUrl to an absolute path. Returns undefined if not set. */ static getBaseUrl(tsConfig) {
89
+ const baseUrl = tsConfig?.compilerOptions?.baseUrl;
90
+ if (baseUrl == null) return undefined;
91
+ return _nodepath.default.resolve(baseUrl);
92
+ }
93
+ }
94
+ SwcConfigFactory = _ts_decorate([
95
+ _diagnostics.Trace
96
+ ], SwcConfigFactory);
97
+
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9vYmplY3RzXCI7XG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc3BpbGVUYXJnZXQgfSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgU3djQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG5cdGpzYzoge1xuXHRcdHBhcnNlcjoge1xuXHRcdFx0c3ludGF4OiBcInR5cGVzY3JpcHRcIixcblx0XHRcdGRlY29yYXRvcnM6IHRydWUsXG5cdFx0fSxcblx0XHR0YXJnZXQ6IFwiZXNuZXh0XCIsXG5cdFx0dHJhbnNmb3JtOiB7XG5cdFx0XHRkZWNvcmF0b3JNZXRhZGF0YTogdHJ1ZSxcblx0XHR9LFxuXHRcdGV4cGVyaW1lbnRhbDogeyBrZWVwSW1wb3J0QXR0cmlidXRlczogdHJ1ZSB9LFxuXHR9LFxuXHRtb2R1bGU6IHtcblx0XHRyZXNvbHZlRnVsbHk6IHRydWUsXG5cdH0sXG5cdHNvdXJjZU1hcHM6IFwiaW5saW5lXCIsXG59O1xuXG5AVHJhY2VcbmV4cG9ydCBjbGFzcyBTd2NDb25maWdGYWN0b3J5IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBiYXNlIGNvbmZpZyBmb3IgYSBwcm9qZWN0K3RhcmdldCBjb21iaW5hdGlvbiwgd2l0aG91dCBhIGZpbGVuYW1lLlxuXHQgKiBDYWxsIG9uY2UgcGVyIChwcm9qZWN0LCB0YXJnZXQpIGFuZCB0aGVuIHVzZSBjcmVhdGVGaWxlQ29uZmlnKCkgcGVyIGZpbGUuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlQmFzZUNvbmZpZyhcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdGNvbmZpZ09wdGlvbnM6IFN3Y0NvbmZpZ09wdGlvbnMsXG5cdCk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IHsgdXNlckNvbmZpZywgdHNDb25maWcsIGFsaWFzUGF0aHMgfSA9IGNvbmZpZ09wdGlvbnM7XG5cdFx0Y29uc3QgeyBjb21waWxlck9wdGlvbnMgfSA9IHRzQ29uZmlnID8/IHt9O1xuXHRcdGNvbnN0IHBhdGhzID0gYWxpYXNQYXRocyA/IGNvbXBpbGVyT3B0aW9ucz8ucGF0aHMgOiB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgYmFzZVVybCA9XG5cdFx0XHRTd2NDb25maWdGYWN0b3J5LmdldEJhc2VVcmwodHNDb25maWcpID8/IChwYXRocyAhPSBudWxsID8gcGF0aC5yZXNvbHZlKFwiLlwiKSA6IHVuZGVmaW5lZCk7XG5cblx0XHRjb25zdCBvcHRpb25zOiBPcHRpb25zID0ge1xuXHRcdFx0anNjOiB7XG5cdFx0XHRcdGJhc2VVcmwsXG5cdFx0XHRcdHBhdGhzLFxuXHRcdFx0fSxcblx0XHRcdG1vZHVsZToge1xuXHRcdFx0XHR0eXBlOiBidWlsZFRhcmdldCxcblx0XHRcdH0sXG5cdFx0fTtcblxuXHRcdHJldHVybiBtZXJnZS53aXRoT3B0aW9uczxPcHRpb25zPihcblx0XHRcdHsgbWVyZ2VBcnJheXM6IGZhbHNlIH0sXG5cdFx0XHRkZWZhdWx0T3B0aW9ucyxcblx0XHRcdG9wdGlvbnMsXG5cdFx0XHR1c2VyQ29uZmlnID8/IHt9LFxuXHRcdCk7XG5cdH1cblxuXHQvKiogU3RhbXBzIGEgcGVyLWZpbGUgZmlsZW5hbWUgb250byBhIHByZS1idWlsdCBiYXNlIGNvbmZpZy4gKi9cblx0cHVibGljIGNyZWF0ZUZpbGVDb25maWcoZmlsZTogRmlsZUV4LCBiYXNlQ29uZmlnOiBPcHRpb25zKTogT3B0aW9ucyB7XG5cdFx0Y29uc3QgY29uZmlnID0geyAuLi5iYXNlQ29uZmlnLCBmaWxlbmFtZTogZmlsZS5mdWxsUGF0aCB9O1xuXHRcdHRoaXMudmFsaWRhdGUoY29uZmlnKTtcblx0XHRyZXR1cm4gY29uZmlnO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyBTV0Mgb3B0aW9ucyBhZ2FpbnN0IGtub3duIGNhdXNlcyBvZiBSdXN0L05BUEkgcHJvY2VzcyBjcmFzaGVzLlxuXHQgKiBUaHJvd3MgYSBGb3JnZUVycm9yIHdpdGggYSBkZXNjcmlwdGl2ZSBtZXNzYWdlIGluc3RlYWQgb2YgbGV0dGluZyB0aGVcblx0ICogTkFQSSBsYXllciBhYm9ydCB0aGUgcHJvY2Vzcy5cblx0ICpcblx0ICogS25vd24gY3Jhc2ggY2F1c2VzOlxuXHQgKiAtIGBqc2MuYmFzZVVybGAgc2V0IHRvIGEgcmVsYXRpdmUgcGF0aCAoU1dDIHJlcXVpcmVzIGFuIGFic29sdXRlIHBhdGgpXG5cdCAqL1xuXHRwdWJsaWMgdmFsaWRhdGUob3B0aW9uczogT3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IGJhc2VVcmwgPSBvcHRpb25zLmpzYz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCAhPSBudWxsICYmICFwYXRoLmlzQWJzb2x1dGUoYmFzZVVybCkpIHtcblx0XHRcdHRocm93IG5ldyBGb3JnZUVycm9yKFxuXHRcdFx0XHRgU1dDIGNvbmZpZzoganNjLmJhc2VVcmwgbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoIHRvIGF2b2lkIGEgcHJvY2VzcyBjcmFzaCwgZ290OiBcIiR7YmFzZVVybH1cIi4gVXNlIHBhdGgucmVzb2x2ZSgpIHRvIGNvbnZlcnQgaXQuYCxcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIFJlc29sdmVzIHRzY29uZmlnIGJhc2VVcmwgdG8gYW4gYWJzb2x1dGUgcGF0aC4gUmV0dXJucyB1bmRlZmluZWQgaWYgbm90IHNldC4gKi9cblx0cHJpdmF0ZSBzdGF0aWMgZ2V0QmFzZVVybCh0c0NvbmZpZzogVHNjb25maWcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGJhc2VVcmwgPSB0c0NvbmZpZz8uY29tcGlsZXJPcHRpb25zPy5iYXNlVXJsO1xuXHRcdGlmIChiYXNlVXJsID09IG51bGwpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0cmV0dXJuIHBhdGgucmVzb2x2ZShiYXNlVXJsKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJkZWZhdWx0T3B0aW9ucyIsImpzYyIsInBhcnNlciIsInN5bnRheCIsImRlY29yYXRvcnMiLCJ0YXJnZXQiLCJ0cmFuc2Zvcm0iLCJkZWNvcmF0b3JNZXRhZGF0YSIsImV4cGVyaW1lbnRhbCIsImtlZXBJbXBvcnRBdHRyaWJ1dGVzIiwibW9kdWxlIiwicmVzb2x2ZUZ1bGx5Iiwic291cmNlTWFwcyIsImNyZWF0ZUJhc2VDb25maWciLCJidWlsZFRhcmdldCIsImNvbmZpZ09wdGlvbnMiLCJ1c2VyQ29uZmlnIiwidHNDb25maWciLCJhbGlhc1BhdGhzIiwiY29tcGlsZXJPcHRpb25zIiwicGF0aHMiLCJ1bmRlZmluZWQiLCJiYXNlVXJsIiwiZ2V0QmFzZVVybCIsInBhdGgiLCJyZXNvbHZlIiwib3B0aW9ucyIsInR5cGUiLCJtZXJnZSIsIndpdGhPcHRpb25zIiwibWVyZ2VBcnJheXMiLCJjcmVhdGVGaWxlQ29uZmlnIiwiZmlsZSIsImJhc2VDb25maWciLCJjb25maWciLCJmaWxlbmFtZSIsImZ1bGxQYXRoIiwidmFsaWRhdGUiLCJpc0Fic29sdXRlIiwiRm9yZ2VFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE2QmFBOzs7ZUFBQUE7OztpRUE3Qkk7NkJBRUs7eUJBRUE7d0JBRUs7Ozs7Ozs7Ozs7OztBQUkzQixNQUFNQyxpQkFBaUI7SUFDdEJDLEtBQUs7UUFDSkMsUUFBUTtZQUNQQyxRQUFRO1lBQ1JDLFlBQVk7UUFDYjtRQUNBQyxRQUFRO1FBQ1JDLFdBQVc7WUFDVkMsbUJBQW1CO1FBQ3BCO1FBQ0FDLGNBQWM7WUFBRUMsc0JBQXNCO1FBQUs7SUFDNUM7SUFDQUMsUUFBUTtRQUNQQyxjQUFjO0lBQ2Y7SUFDQUMsWUFBWTtBQUNiO0FBR08sTUFBTWI7SUFDWjs7O0VBR0MsR0FDRCxBQUFPYyxpQkFDTkMsV0FBNEIsRUFDNUJDLGFBQStCLEVBQ3JCO1FBQ1YsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFLEdBQUdIO1FBQzdDLE1BQU0sRUFBRUksZUFBZSxFQUFFLEdBQUdGLFlBQVksQ0FBQztRQUN6QyxNQUFNRyxRQUFRRixhQUFhQyxpQkFBaUJDLFFBQVFDO1FBQ3BELE1BQU1DLFVBQ0x2QixpQkFBaUJ3QixVQUFVLENBQUNOLGFBQWNHLENBQUFBLFNBQVMsT0FBT0ksaUJBQUksQ0FBQ0MsT0FBTyxDQUFDLE9BQU9KLFNBQVE7UUFFdkYsTUFBTUssVUFBbUI7WUFDeEJ6QixLQUFLO2dCQUNKcUI7Z0JBQ0FGO1lBQ0Q7WUFDQVYsUUFBUTtnQkFDUGlCLE1BQU1iO1lBQ1A7UUFDRDtRQUVBLE9BQU9jLGNBQUssQ0FBQ0MsV0FBVyxDQUN2QjtZQUFFQyxhQUFhO1FBQU0sR0FDckI5QixnQkFDQTBCLFNBQ0FWLGNBQWMsQ0FBQztJQUVqQjtJQUVBLDZEQUE2RCxHQUM3RCxBQUFPZSxpQkFBaUJDLElBQVksRUFBRUMsVUFBbUIsRUFBVztRQUNuRSxNQUFNQyxTQUFTO1lBQUUsR0FBR0QsVUFBVTtZQUFFRSxVQUFVSCxLQUFLSSxRQUFRO1FBQUM7UUFDeEQsSUFBSSxDQUFDQyxRQUFRLENBQUNIO1FBQ2QsT0FBT0E7SUFDUjtJQUVBOzs7Ozs7O0VBT0MsR0FDRCxBQUFPRyxTQUFTWCxPQUFnQixFQUFRO1FBQ3ZDLE1BQU1KLFVBQVVJLFFBQVF6QixHQUFHLEVBQUVxQjtRQUM3QixJQUFJQSxXQUFXLFFBQVEsQ0FBQ0UsaUJBQUksQ0FBQ2MsVUFBVSxDQUFDaEIsVUFBVTtZQUNqRCxNQUFNLElBQUlpQixrQkFBVSxDQUNuQixDQUFDLGlGQUFpRixFQUFFakIsUUFBUSxvQ0FBb0MsQ0FBQztRQUVuSTtJQUNEO0lBRUEsaUZBQWlGLEdBQ2pGLE9BQWVDLFdBQVdOLFFBQThCLEVBQXNCO1FBQzdFLE1BQU1LLFVBQVVMLFVBQVVFLGlCQUFpQkc7UUFDM0MsSUFBSUEsV0FBVyxNQUFNLE9BQU9EO1FBQzVCLE9BQU9HLGlCQUFJLENBQUNDLE9BQU8sQ0FBQ0g7SUFDckI7QUFDRCJ9