@decohere/forge 0.0.1-dev.10

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 +87 -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 +94 -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 +43 -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 +228 -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 +63 -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 +73 -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 +79 -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 +7 -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 +213 -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 +39 -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 +17 -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 +9 -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 +34 -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,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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb25zdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1dDX0NPTkZJRyA9IFwiLnN3Y3JjXCI7XG5leHBvcnQgY29uc3QgTk9ERV9NT0RVTEVTID0gXCJub2RlX21vZHVsZXNcIjtcbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9NT0RVTEVTID0gW1xuXHRcImFzc2VydFwiLFxuXHRcImFzc2VydC9zdHJpY3RcIixcblx0XCJhc3luY19ob29rc1wiLFxuXHRcImJ1ZmZlclwiLFxuXHRcImNoaWxkX3Byb2Nlc3NcIixcblx0XCJjbHVzdGVyXCIsXG5cdFwiY29uc29sZVwiLFxuXHRcImNvbnN0YW50c1wiLFxuXHRcImNyeXB0b1wiLFxuXHRcImRncmFtXCIsXG5cdFwiZGlhZ25vc3RpY3NfY2hhbm5lbFwiLFxuXHRcImRuc1wiLFxuXHRcImRucy9wcm9taXNlc1wiLFxuXHRcImRvbWFpblwiLFxuXHRcImV2ZW50c1wiLFxuXHRcImZzXCIsXG5cdFwiZnMvcHJvbWlzZXNcIixcblx0XCJodHRwXCIsXG5cdFwiaHR0cDJcIixcblx0XCJodHRwc1wiLFxuXHRcImluc3BlY3RvclwiLFxuXHRcImluc3BlY3Rvci9wcm9taXNlc1wiLFxuXHRcIm1vZHVsZVwiLFxuXHRcIm5ldFwiLFxuXHRcIm9zXCIsXG5cdFwicGF0aFwiLFxuXHRcInBhdGgvcG9zaXhcIixcblx0XCJwYXRoL3dpbjMyXCIsXG5cdFwicGVyZl9ob29rc1wiLFxuXHRcInByb2Nlc3NcIixcblx0XCJwdW55Y29kZVwiLFxuXHRcInF1ZXJ5c3RyaW5nXCIsXG5cdFwicmVhZGxpbmVcIixcblx0XCJyZWFkbGluZS9wcm9taXNlc1wiLFxuXHRcInJlcGxcIixcblx0XCJzdHJlYW1cIixcblx0XCJzdHJlYW0vY29uc3VtZXJzXCIsXG5cdFwic3RyZWFtL3Byb21pc2VzXCIsXG5cdFwic3RyZWFtL3dlYlwiLFxuXHRcInN0cmluZ19kZWNvZGVyXCIsXG5cdFwic3lzXCIsXG5cdFwidGltZXJzXCIsXG5cdFwidGltZXJzL3Byb21pc2VzXCIsXG5cdFwidGxzXCIsXG5cdFwidHJhY2VfZXZlbnRzXCIsXG5cdFwidHR5XCIsXG5cdFwidXJsXCIsXG5cdFwidXRpbFwiLFxuXHRcInV0aWwvdHlwZXNcIixcblx0XCJ2OFwiLFxuXHRcInZtXCIsXG5cdFwid2FzaVwiLFxuXHRcIndvcmtlcl90aHJlYWRzXCIsXG5cdFwiemxpYlwiLFxuXTtcbiJdLCJuYW1lcyI6WyJCVUlMVF9JTl9NT0RVTEVTIiwiTk9ERV9NT0RVTEVTIiwiU1dDX0NPTkZJRyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFFYUE7ZUFBQUE7O1FBREFDO2VBQUFBOztRQURBQztlQUFBQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNRCxlQUFlO0FBQ3JCLE1BQU1ELG1CQUFtQjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDQSJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9lcnJvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5leHBvcnQgY2xhc3MgRm9yZ2VFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVbmtub3duRXJyb3IocmVhc29uOiB1bmtub3duKTogc3RyaW5nIHtcblx0aWYgKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0cmV0dXJuIHJlYXNvbi5tZXNzYWdlO1xuXHR9XG5cblx0aWYgKHR5cGVvZiByZWFzb24gPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm4gcmVhc29uO1xuXHR9XG5cblx0dHJ5IHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVhc29uKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIFwiVW5rbm93biBlcnJvclwiO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRm9yZ2VFcnJvciIsIldvcmtzcGFjZUNvbmZpZ3VyYXRpb25FcnJvciIsImZvcm1hdFVua25vd25FcnJvciIsIkVycm9yIiwicmVhc29uIiwibWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBQ2FBO2VBQUFBOztRQURKQztlQUFBQSxpQ0FBMkI7O1FBR3BCQztlQUFBQTs7O3NCQUg0QjtBQUNyQyxNQUFNRixtQkFBbUJHO0FBQU87QUFFaEMsU0FBU0QsbUJBQW1CRSxNQUFlO0lBQ2pELElBQUlBLGtCQUFrQkQsT0FBTztRQUM1QixPQUFPQyxPQUFPQyxPQUFPO0lBQ3RCO0lBRUEsSUFBSSxPQUFPRCxXQUFXLFVBQVU7UUFDL0IsT0FBT0E7SUFDUjtJQUVBLElBQUk7UUFDSCxPQUFPRSxLQUFLQyxTQUFTLENBQUNIO0lBQ3ZCLEVBQUUsT0FBTTtRQUNQLE9BQU87SUFDUjtBQUNEIn0=
@@ -0,0 +1,94 @@
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 _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
+ const _mesh = require("@decohere/mesh");
14
+ const _caching = require("@decohere/nexus/caching");
15
+ const _extensibility = require("@decohere/nexus/extensibility");
16
+ const _io = require("@decohere/nexus/io");
17
+ const _const = require("../const.js");
18
+ const _swcconfigtype = require("../types/swc-config.type.js");
19
+ function _interop_require_default(obj) {
20
+ return obj && obj.__esModule ? obj : {
21
+ default: obj
22
+ };
23
+ }
24
+ function _ts_decorate(decorators, target, key, desc) {
25
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
26
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
27
+ 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;
28
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
29
+ }
30
+ function _ts_metadata(k, v) {
31
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
32
+ }
33
+ class ProjectExtensions {
34
+ static getForgeConfiguration(project) {
35
+ return project.configuration;
36
+ }
37
+ static async getSwcConfig(project) {
38
+ for (const configPath of ProjectExtensions.swcConfigPaths(project)){
39
+ if (await _io.io.fileExists(configPath)) {
40
+ return new _swcconfigtype.SwcConfig(await _io.io.readJsonFile(configPath));
41
+ }
42
+ }
43
+ return new _swcconfigtype.SwcConfig();
44
+ }
45
+ static getSwcConfigSync(project) {
46
+ for (const configPath of ProjectExtensions.swcConfigPaths(project)){
47
+ if (ProjectExtensions.fileExistsSync(configPath)) {
48
+ return new _swcconfigtype.SwcConfig(JSON.parse(_nodefs.default.readFileSync(configPath, "utf8")));
49
+ }
50
+ }
51
+ return new _swcconfigtype.SwcConfig();
52
+ }
53
+ static swcConfigPaths(project) {
54
+ return [
55
+ _nodepath.default.join(project.projectDirectory, _const.SWC_CONFIG),
56
+ _nodepath.default.join(project.rootDir, _const.SWC_CONFIG)
57
+ ];
58
+ }
59
+ static fileExistsSync(filePath) {
60
+ try {
61
+ return _nodefs.default.statSync(filePath).isFile();
62
+ } catch {
63
+ return false;
64
+ }
65
+ }
66
+ }
67
+ _ts_decorate([
68
+ (0, _extensibility.extension)(_mesh.Project),
69
+ _ts_metadata("design:type", Function),
70
+ _ts_metadata("design:paramtypes", [
71
+ typeof _mesh.Project === "undefined" ? Object : _mesh.Project
72
+ ]),
73
+ _ts_metadata("design:returntype", typeof ForgeConfiguration === "undefined" ? Object : ForgeConfiguration)
74
+ ], ProjectExtensions, "getForgeConfiguration", null);
75
+ _ts_decorate([
76
+ (0, _extensibility.extension)(_mesh.Project),
77
+ (0, _caching.memoize)(),
78
+ _ts_metadata("design:type", Function),
79
+ _ts_metadata("design:paramtypes", [
80
+ typeof _mesh.Project === "undefined" ? Object : _mesh.Project
81
+ ]),
82
+ _ts_metadata("design:returntype", Promise)
83
+ ], ProjectExtensions, "getSwcConfig", null);
84
+ _ts_decorate([
85
+ (0, _extensibility.extension)(_mesh.Project),
86
+ (0, _caching.memoize)(),
87
+ _ts_metadata("design:type", Function),
88
+ _ts_metadata("design:paramtypes", [
89
+ typeof _mesh.Project === "undefined" ? Object : _mesh.Project
90
+ ]),
91
+ _ts_metadata("design:returntype", typeof _swcconfigtype.SwcConfig === "undefined" ? Object : _swcconfigtype.SwcConfig)
92
+ ], ProjectExtensions, "getSwcConfigSync", null);
93
+
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9leHRlbnNpb25zL3Byb2plY3QuZXh0ZW5zaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IGV4dGVuc2lvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBTV0NfQ09ORklHIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGUuanNcIjtcbmltcG9ydCB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvbWVzaFwiIHtcblx0aW50ZXJmYWNlIFByb2plY3Qge1xuXHRcdGdldEZvcmdlQ29uZmlndXJhdGlvbigpOiBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0Z2V0U3djQ29uZmlnKCk6IFByb21pc2U8U3djQ29uZmlnPjtcblx0XHRnZXRTd2NDb25maWdTeW5jKCk6IFN3Y0NvbmZpZztcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUHJvamVjdEV4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKFByb2plY3QpXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKHByb2plY3Q6IFByb2plY3QpOiBGb3JnZUNvbmZpZ3VyYXRpb24ge1xuXHRcdHJldHVybiBwcm9qZWN0LmNvbmZpZ3VyYXRpb24gYXMgRm9yZ2VDb25maWd1cmF0aW9uO1xuXHR9XG5cblx0QGV4dGVuc2lvbihQcm9qZWN0KVxuXHRAbWVtb2l6ZSgpXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0U3djQ29uZmlnKHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFN3Y0NvbmZpZz4ge1xuXHRcdGZvciAoY29uc3QgY29uZmlnUGF0aCBvZiBQcm9qZWN0RXh0ZW5zaW9ucy5zd2NDb25maWdQYXRocyhwcm9qZWN0KSkge1xuXHRcdFx0aWYgKGF3YWl0IGlvLmZpbGVFeGlzdHMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoYXdhaXQgaW8ucmVhZEpzb25GaWxlKGNvbmZpZ1BhdGgpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoKTtcblx0fVxuXG5cdEBleHRlbnNpb24oUHJvamVjdClcblx0QG1lbW9pemUoKVxuXHRwdWJsaWMgc3RhdGljIGdldFN3Y0NvbmZpZ1N5bmMocHJvamVjdDogUHJvamVjdCk6IFN3Y0NvbmZpZyB7XG5cdFx0Zm9yIChjb25zdCBjb25maWdQYXRoIG9mIFByb2plY3RFeHRlbnNpb25zLnN3Y0NvbmZpZ1BhdGhzKHByb2plY3QpKSB7XG5cdFx0XHRpZiAoUHJvamVjdEV4dGVuc2lvbnMuZmlsZUV4aXN0c1N5bmMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY29uZmlnUGF0aCwgXCJ1dGY4XCIpKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBuZXcgU3djQ29uZmlnKCk7XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBzd2NDb25maWdQYXRocyhwcm9qZWN0OiBQcm9qZWN0KTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHRwYXRoLmpvaW4ocHJvamVjdC5wcm9qZWN0RGlyZWN0b3J5LCBTV0NfQ09ORklHKSxcblx0XHRcdHBhdGguam9pbihwcm9qZWN0LnJvb3REaXIsIFNXQ19DT05GSUcpLFxuXHRcdF07XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBmaWxlRXhpc3RzU3luYyhmaWxlUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0dHJ5IHtcblx0XHRcdHJldHVybiBmcy5zdGF0U3luYyhmaWxlUGF0aCkuaXNGaWxlKCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOlsiUHJvamVjdEV4dGVuc2lvbnMiLCJnZXRGb3JnZUNvbmZpZ3VyYXRpb24iLCJwcm9qZWN0IiwiY29uZmlndXJhdGlvbiIsImdldFN3Y0NvbmZpZyIsImNvbmZpZ1BhdGgiLCJzd2NDb25maWdQYXRocyIsImlvIiwiZmlsZUV4aXN0cyIsIlN3Y0NvbmZpZyIsInJlYWRKc29uRmlsZSIsImdldFN3Y0NvbmZpZ1N5bmMiLCJmaWxlRXhpc3RzU3luYyIsIkpTT04iLCJwYXJzZSIsImZzIiwicmVhZEZpbGVTeW5jIiwicGF0aCIsImpvaW4iLCJwcm9qZWN0RGlyZWN0b3J5IiwiU1dDX0NPTkZJRyIsInJvb3REaXIiLCJmaWxlUGF0aCIsInN0YXRTeW5jIiwiaXNGaWxlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWtCYUE7OztlQUFBQTs7OytEQWxCRTtpRUFDRTtzQkFDTzt5QkFDQTsrQkFDRTtvQkFDUDt1QkFDUTsrQkFFRDs7Ozs7Ozs7Ozs7Ozs7O0FBVW5CLE1BQU1BO0lBQ1osT0FDY0Msc0JBQXNCQyxPQUFnQixFQUFzQjtRQUN6RSxPQUFPQSxRQUFRQyxhQUFhO0lBQzdCO0lBRUEsYUFFb0JDLGFBQWFGLE9BQWdCLEVBQXNCO1FBQ3RFLEtBQUssTUFBTUcsY0FBY0wsa0JBQWtCTSxjQUFjLENBQUNKLFNBQVU7WUFDbkUsSUFBSSxNQUFNSyxNQUFFLENBQUNDLFVBQVUsQ0FBQ0gsYUFBYTtnQkFDcEMsT0FBTyxJQUFJSSx3QkFBUyxDQUFDLE1BQU1GLE1BQUUsQ0FBQ0csWUFBWSxDQUFDTDtZQUM1QztRQUNEO1FBQ0EsT0FBTyxJQUFJSSx3QkFBUztJQUNyQjtJQUVBLE9BRWNFLGlCQUFpQlQsT0FBZ0IsRUFBYTtRQUMzRCxLQUFLLE1BQU1HLGNBQWNMLGtCQUFrQk0sY0FBYyxDQUFDSixTQUFVO1lBQ25FLElBQUlGLGtCQUFrQlksY0FBYyxDQUFDUCxhQUFhO2dCQUNqRCxPQUFPLElBQUlJLHdCQUFTLENBQUNJLEtBQUtDLEtBQUssQ0FBQ0MsZUFBRSxDQUFDQyxZQUFZLENBQUNYLFlBQVk7WUFDN0Q7UUFDRDtRQUNBLE9BQU8sSUFBSUksd0JBQVM7SUFDckI7SUFFQSxPQUFlSCxlQUFlSixPQUFnQixFQUFZO1FBQ3pELE9BQU87WUFDTmUsaUJBQUksQ0FBQ0MsSUFBSSxDQUFDaEIsUUFBUWlCLGdCQUFnQixFQUFFQyxpQkFBVTtZQUM5Q0gsaUJBQUksQ0FBQ0MsSUFBSSxDQUFDaEIsUUFBUW1CLE9BQU8sRUFBRUQsaUJBQVU7U0FDckM7SUFDRjtJQUVBLE9BQWVSLGVBQWVVLFFBQWdCLEVBQVc7UUFDeEQsSUFBSTtZQUNILE9BQU9QLGVBQUUsQ0FBQ1EsUUFBUSxDQUFDRCxVQUFVRSxNQUFNO1FBQ3BDLEVBQUUsT0FBTTtZQUNQLE9BQU87UUFDUjtJQUNEO0FBQ0QifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHMgPyBjb21waWxlck9wdGlvbnM/LnBhdGhzIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJhc2VVcmwgPVxuXHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyAocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWdGYWN0b3J5IiwiZGVmYXVsdE9wdGlvbnMiLCJqc2MiLCJwYXJzZXIiLCJzeW50YXgiLCJkZWNvcmF0b3JzIiwidGFyZ2V0IiwidHJhbnNmb3JtIiwiZGVjb3JhdG9yTWV0YWRhdGEiLCJleHBlcmltZW50YWwiLCJrZWVwSW1wb3J0QXR0cmlidXRlcyIsIm1vZHVsZSIsInJlc29sdmVGdWxseSIsInNvdXJjZU1hcHMiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsImNvbXBpbGVyT3B0aW9ucyIsInBhdGhzIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJwYXRoIiwicmVzb2x2ZSIsIm9wdGlvbnMiLCJ0eXBlIiwibWVyZ2UiLCJ3aXRoT3B0aW9ucyIsIm1lcmdlQXJyYXlzIiwiY3JlYXRlRmlsZUNvbmZpZyIsImZpbGUiLCJiYXNlQ29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJmdWxsUGF0aCIsInZhbGlkYXRlIiwiaXNBYnNvbHV0ZSIsIkZvcmdlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNkJhQTs7O2VBQUFBOzs7aUVBN0JJOzZCQUVLO3lCQUVBO3dCQUVLOzs7Ozs7Ozs7Ozs7QUFJM0IsTUFBTUMsaUJBQWlCO0lBQ3RCQyxLQUFLO1FBQ0pDLFFBQVE7WUFDUEMsUUFBUTtZQUNSQyxZQUFZO1FBQ2I7UUFDQUMsUUFBUTtRQUNSQyxXQUFXO1lBQ1ZDLG1CQUFtQjtRQUNwQjtRQUNBQyxjQUFjO1lBQUVDLHNCQUFzQjtRQUFLO0lBQzVDO0lBQ0FDLFFBQVE7UUFDUEMsY0FBYztJQUNmO0lBQ0FDLFlBQVk7QUFDYjtBQUdPLE1BQU1iO0lBQ1o7OztFQUdDLEdBQ0QsQUFBT2MsaUJBQ05DLFdBQTRCLEVBQzVCQyxhQUErQixFQUNyQjtRQUNWLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHSDtRQUM3QyxNQUFNLEVBQUVJLGVBQWUsRUFBRSxHQUFHRixZQUFZLENBQUM7UUFDekMsTUFBTUcsUUFBUUYsYUFBYUMsaUJBQWlCQyxRQUFRQztRQUNwRCxNQUFNQyxVQUNMdkIsaUJBQWlCd0IsVUFBVSxDQUFDTixhQUFjRyxDQUFBQSxTQUFTLE9BQU9JLGlCQUFJLENBQUNDLE9BQU8sQ0FBQyxPQUFPSixTQUFRO1FBRXZGLE1BQU1LLFVBQW1CO1lBQ3hCekIsS0FBSztnQkFDSnFCO2dCQUNBRjtZQUNEO1lBQ0FWLFFBQVE7Z0JBQ1BpQixNQUFNYjtZQUNQO1FBQ0Q7UUFFQSxPQUFPYyxjQUFLLENBQUNDLFdBQVcsQ0FDdkI7WUFBRUMsYUFBYTtRQUFNLEdBQ3JCOUIsZ0JBQ0EwQixTQUNBVixjQUFjLENBQUM7SUFFakI7SUFFQSw2REFBNkQsR0FDN0QsQUFBT2UsaUJBQWlCQyxJQUFZLEVBQUVDLFVBQW1CLEVBQVc7UUFDbkUsTUFBTUMsU0FBUztZQUFFLEdBQUdELFVBQVU7WUFBRUUsVUFBVUgsS0FBS0ksUUFBUTtRQUFDO1FBQ3hELElBQUksQ0FBQ0MsUUFBUSxDQUFDSDtRQUNkLE9BQU9BO0lBQ1I7SUFFQTs7Ozs7OztFQU9DLEdBQ0QsQUFBT0csU0FBU1gsT0FBZ0IsRUFBUTtRQUN2QyxNQUFNSixVQUFVSSxRQUFRekIsR0FBRyxFQUFFcUI7UUFDN0IsSUFBSUEsV0FBVyxRQUFRLENBQUNFLGlCQUFJLENBQUNjLFVBQVUsQ0FBQ2hCLFVBQVU7WUFDakQsTUFBTSxJQUFJaUIsa0JBQVUsQ0FDbkIsQ0FBQyxpRkFBaUYsRUFBRWpCLFFBQVEsb0NBQW9DLENBQUM7UUFFbkk7SUFDRDtJQUVBLGlGQUFpRixHQUNqRixPQUFlQyxXQUFXTixRQUE4QixFQUFzQjtRQUM3RSxNQUFNSyxVQUFVTCxVQUFVRSxpQkFBaUJHO1FBQzNDLElBQUlBLFdBQVcsTUFBTSxPQUFPRDtRQUM1QixPQUFPRyxpQkFBSSxDQUFDQyxPQUFPLENBQUNIO0lBQ3JCO0FBQ0QifQ==
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ForgeModule", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ForgeModule;
9
+ }
10
+ });
11
+ const _mesh = require("@decohere/mesh");
12
+ const _cli = require("@decohere/nexus/cli");
13
+ const _index = /*#__PURE__*/ _interop_require_wildcard(require("./actions/index.js"));
14
+ const _index1 = /*#__PURE__*/ _interop_require_wildcard(require("./commands/index.js"));
15
+ const _dependencyresolverservice = require("./services/dependency-resolver.service.js");
16
+ const _filewriterservice = require("./services/file-writer.service.js");
17
+ const _swctranspiler = require("./services/swc-transpiler.js");
18
+ const _typeemitter = require("./services/type-emitter.js");
19
+ const _transformertype = require("./types/transformer.type.js");
20
+ const _workspaceconfig = require("./workspace.config.js");
21
+ function _getRequireWildcardCache(nodeInterop) {
22
+ if (typeof WeakMap !== "function") return null;
23
+ var cacheBabelInterop = new WeakMap();
24
+ var cacheNodeInterop = new WeakMap();
25
+ return (_getRequireWildcardCache = function(nodeInterop) {
26
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
+ })(nodeInterop);
28
+ }
29
+ function _interop_require_wildcard(obj, nodeInterop) {
30
+ if (!nodeInterop && obj && obj.__esModule) {
31
+ return obj;
32
+ }
33
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
+ return {
35
+ default: obj
36
+ };
37
+ }
38
+ var cache = _getRequireWildcardCache(nodeInterop);
39
+ if (cache && cache.has(obj)) {
40
+ return cache.get(obj);
41
+ }
42
+ var newObj = {
43
+ __proto__: null
44
+ };
45
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for(var key in obj){
47
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
+ if (desc && (desc.get || desc.set)) {
50
+ Object.defineProperty(newObj, key, desc);
51
+ } else {
52
+ newObj[key] = obj[key];
53
+ }
54
+ }
55
+ }
56
+ newObj.default = obj;
57
+ if (cache) {
58
+ cache.set(obj, newObj);
59
+ }
60
+ return newObj;
61
+ }
62
+ class ForgeModule extends _cli.ModuleManifest {
63
+ id = "forge";
64
+ command = _index1.ForgeCommand;
65
+ actions = {
66
+ clean: _index.Clean,
67
+ copy: _index.Copy,
68
+ build: _index.Build,
69
+ watch: _index.Watch,
70
+ publish: _index.Publish,
71
+ syncDependencies: _index.SyncDependencies,
72
+ syncLockFile: _index.SyncLockFile,
73
+ reportDependencies: _index.ReportDependencies,
74
+ version: _index.Version,
75
+ tag: _index.Tag,
76
+ commitFiles: _index.CommitFiles
77
+ };
78
+ commands = {
79
+ build: _index1.BuildCommand,
80
+ publish: _index1.PublishCommand,
81
+ dependencies: _index1.DependencyCommand,
82
+ version: _index1.VersionCommand,
83
+ tag: _index1.TagCommand
84
+ };
85
+ registerServices(builder) {
86
+ builder.registerSingleton(_transformertype.TransformerKey, _swctranspiler.SwcTranspiler);
87
+ builder.registerSingleton(_transformertype.TransformerKey, _typeemitter.TypeEmitter);
88
+ builder.registerSingleton(_dependencyresolverservice.DependencyResolver);
89
+ builder.registerSingleton(_filewriterservice.FileWriterService);
90
+ }
91
+ async createWorkspace(options) {
92
+ const { configurations: _, ...forgeDefaults } = _workspaceconfig.WorkspaceDefaults;
93
+ const userConfig = await _mesh.UserConfigFactory.getUserConfig(options.configFile);
94
+ // Only apply forge default configurations when user config doesn't provide any.
95
+ // This ensures user-defined configurations take priority while still providing
96
+ // sensible defaults (debug + release) when no config file is present.
97
+ const configurations = userConfig.configurations?.length ? undefined : _workspaceconfig.DefaultConfigurations;
98
+ return _mesh.WorkspaceFactory.create({
99
+ ...forgeDefaults,
100
+ ...configurations ? {
101
+ configurations
102
+ } : {},
103
+ configFile: options.configFile,
104
+ rootDir: options.rootDir ?? _workspaceconfig.WorkspaceDefaults.rootDir
105
+ });
106
+ }
107
+ }
108
+
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mb3JnZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckNvbmZpZ0ZhY3RvcnksIFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0ICogYXMgQWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgKiBhcyBDb21tYW5kcyBmcm9tIFwiLi9jb21tYW5kcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4vc2VydmljZXMvZGVwZW5kZW5jeS1yZXNvbHZlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgVHlwZUVtaXR0ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyS2V5IH0gZnJvbSBcIi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ3VyYXRpb25zLCBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcmdlTW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZvcmdlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ29tbWFuZHMuRm9yZ2VDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHtcblx0XHRjbGVhbjogQWN0aW9ucy5DbGVhbixcblx0XHRjb3B5OiBBY3Rpb25zLkNvcHksXG5cdFx0YnVpbGQ6IEFjdGlvbnMuQnVpbGQsXG5cdFx0d2F0Y2g6IEFjdGlvbnMuV2F0Y2gsXG5cdFx0cHVibGlzaDogQWN0aW9ucy5QdWJsaXNoLFxuXHRcdHN5bmNEZXBlbmRlbmNpZXM6IEFjdGlvbnMuU3luY0RlcGVuZGVuY2llcyxcblx0XHRzeW5jTG9ja0ZpbGU6IEFjdGlvbnMuU3luY0xvY2tGaWxlLFxuXHRcdHJlcG9ydERlcGVuZGVuY2llczogQWN0aW9ucy5SZXBvcnREZXBlbmRlbmNpZXMsXG5cdFx0dmVyc2lvbjogQWN0aW9ucy5WZXJzaW9uLFxuXHRcdHRhZzogQWN0aW9ucy5UYWcsXG5cdFx0Y29tbWl0RmlsZXM6IEFjdGlvbnMuQ29tbWl0RmlsZXMsXG5cdH07XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kcyA9IHtcblx0XHRidWlsZDogQ29tbWFuZHMuQnVpbGRDb21tYW5kLFxuXHRcdHB1Ymxpc2g6IENvbW1hbmRzLlB1Ymxpc2hDb21tYW5kLFxuXHRcdGRlcGVuZGVuY2llczogQ29tbWFuZHMuRGVwZW5kZW5jeUNvbW1hbmQsXG5cdFx0dmVyc2lvbjogQ29tbWFuZHMuVmVyc2lvbkNvbW1hbmQsXG5cdFx0dGFnOiBDb21tYW5kcy5UYWdDb21tYW5kLFxuXHR9O1xuXG5cdHB1YmxpYyByZWdpc3RlclNlcnZpY2VzKGJ1aWxkZXI6IENvbnRhaW5lckJ1aWxkZXIpIHtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKFRyYW5zZm9ybWVyS2V5LCBTd2NUcmFuc3BpbGVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKFRyYW5zZm9ybWVyS2V5LCBUeXBlRW1pdHRlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihEZXBlbmRlbmN5UmVzb2x2ZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oRmlsZVdyaXRlclNlcnZpY2UpO1xuXHR9XG5cblx0cHVibGljIG92ZXJyaWRlIGFzeW5jIGNyZWF0ZVdvcmtzcGFjZShvcHRpb25zOiBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucykge1xuXHRcdGNvbnN0IHsgY29uZmlndXJhdGlvbnM6IF8sIC4uLmZvcmdlRGVmYXVsdHMgfSA9IFdvcmtzcGFjZURlZmF1bHRzO1xuXHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBVc2VyQ29uZmlnRmFjdG9yeS5nZXRVc2VyQ29uZmlnKG9wdGlvbnMuY29uZmlnRmlsZSk7XG5cdFx0Ly8gT25seSBhcHBseSBmb3JnZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIHdoZW4gdXNlciBjb25maWcgZG9lc24ndCBwcm92aWRlIGFueS5cblx0XHQvLyBUaGlzIGVuc3VyZXMgdXNlci1kZWZpbmVkIGNvbmZpZ3VyYXRpb25zIHRha2UgcHJpb3JpdHkgd2hpbGUgc3RpbGwgcHJvdmlkaW5nXG5cdFx0Ly8gc2Vuc2libGUgZGVmYXVsdHMgKGRlYnVnICsgcmVsZWFzZSkgd2hlbiBubyBjb25maWcgZmlsZSBpcyBwcmVzZW50LlxuXHRcdGNvbnN0IGNvbmZpZ3VyYXRpb25zID0gdXNlckNvbmZpZy5jb25maWd1cmF0aW9ucz8ubGVuZ3RoXG5cdFx0XHQ/IHVuZGVmaW5lZFxuXHRcdFx0OiBEZWZhdWx0Q29uZmlndXJhdGlvbnM7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLmZvcmdlRGVmYXVsdHMsXG5cdFx0XHQuLi4oY29uZmlndXJhdGlvbnMgPyB7IGNvbmZpZ3VyYXRpb25zIH0gOiB7fSksXG5cdFx0XHRjb25maWdGaWxlOiBvcHRpb25zLmNvbmZpZ0ZpbGUsXG5cdFx0XHRyb290RGlyOiBvcHRpb25zLnJvb3REaXIgPz8gV29ya3NwYWNlRGVmYXVsdHMucm9vdERpcixcblx0XHR9KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkZvcmdlTW9kdWxlIiwiTW9kdWxlTWFuaWZlc3QiLCJpZCIsImNvbW1hbmQiLCJDb21tYW5kcyIsIkZvcmdlQ29tbWFuZCIsImFjdGlvbnMiLCJjbGVhbiIsIkFjdGlvbnMiLCJDbGVhbiIsImNvcHkiLCJDb3B5IiwiYnVpbGQiLCJCdWlsZCIsIndhdGNoIiwiV2F0Y2giLCJwdWJsaXNoIiwiUHVibGlzaCIsInN5bmNEZXBlbmRlbmNpZXMiLCJTeW5jRGVwZW5kZW5jaWVzIiwic3luY0xvY2tGaWxlIiwiU3luY0xvY2tGaWxlIiwicmVwb3J0RGVwZW5kZW5jaWVzIiwiUmVwb3J0RGVwZW5kZW5jaWVzIiwidmVyc2lvbiIsIlZlcnNpb24iLCJ0YWciLCJUYWciLCJjb21taXRGaWxlcyIsIkNvbW1pdEZpbGVzIiwiY29tbWFuZHMiLCJCdWlsZENvbW1hbmQiLCJQdWJsaXNoQ29tbWFuZCIsImRlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lDb21tYW5kIiwiVmVyc2lvbkNvbW1hbmQiLCJUYWdDb21tYW5kIiwicmVnaXN0ZXJTZXJ2aWNlcyIsImJ1aWxkZXIiLCJyZWdpc3RlclNpbmdsZXRvbiIsIlRyYW5zZm9ybWVyS2V5IiwiU3djVHJhbnNwaWxlciIsIlR5cGVFbWl0dGVyIiwiRGVwZW5kZW5jeVJlc29sdmVyIiwiRmlsZVdyaXRlclNlcnZpY2UiLCJjcmVhdGVXb3Jrc3BhY2UiLCJvcHRpb25zIiwiY29uZmlndXJhdGlvbnMiLCJfIiwiZm9yZ2VEZWZhdWx0cyIsIldvcmtzcGFjZURlZmF1bHRzIiwidXNlckNvbmZpZyIsIlVzZXJDb25maWdGYWN0b3J5IiwiZ2V0VXNlckNvbmZpZyIsImNvbmZpZ0ZpbGUiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJXb3Jrc3BhY2VGYWN0b3J5IiwiY3JlYXRlIiwicm9vdERpciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFhYUE7OztlQUFBQTs7O3NCQWJ1QztxQkFFckI7K0RBRU47Z0VBQ0M7MkNBQ1M7bUNBQ0Q7K0JBQ0o7NkJBQ0Y7aUNBQ0c7aUNBQzBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEQsTUFBTUEsb0JBQW9CQyxtQkFBYztJQUM5QkMsS0FBSyxRQUFRO0lBQ2JDLFVBQVVDLFFBQVNDLFlBQVksQ0FBQztJQUNoQ0MsVUFBVTtRQUN6QkMsT0FBT0MsT0FBUUMsS0FBSztRQUNwQkMsTUFBTUYsT0FBUUcsSUFBSTtRQUNsQkMsT0FBT0osT0FBUUssS0FBSztRQUNwQkMsT0FBT04sT0FBUU8sS0FBSztRQUNwQkMsU0FBU1IsT0FBUVMsT0FBTztRQUN4QkMsa0JBQWtCVixPQUFRVyxnQkFBZ0I7UUFDMUNDLGNBQWNaLE9BQVFhLFlBQVk7UUFDbENDLG9CQUFvQmQsT0FBUWUsa0JBQWtCO1FBQzlDQyxTQUFTaEIsT0FBUWlCLE9BQU87UUFDeEJDLEtBQUtsQixPQUFRbUIsR0FBRztRQUNoQkMsYUFBYXBCLE9BQVFxQixXQUFXO0lBQ2pDLEVBQUU7SUFDY0MsV0FBVztRQUMxQmxCLE9BQU9SLFFBQVMyQixZQUFZO1FBQzVCZixTQUFTWixRQUFTNEIsY0FBYztRQUNoQ0MsY0FBYzdCLFFBQVM4QixpQkFBaUI7UUFDeENWLFNBQVNwQixRQUFTK0IsY0FBYztRQUNoQ1QsS0FBS3RCLFFBQVNnQyxVQUFVO0lBQ3pCLEVBQUU7SUFFS0MsaUJBQWlCQyxPQUF5QixFQUFFO1FBQ2xEQSxRQUFRQyxpQkFBaUIsQ0FBQ0MsK0JBQWMsRUFBRUMsNEJBQWE7UUFDdkRILFFBQVFDLGlCQUFpQixDQUFDQywrQkFBYyxFQUFFRSx3QkFBVztRQUNyREosUUFBUUMsaUJBQWlCLENBQUNJLDZDQUFrQjtRQUM1Q0wsUUFBUUMsaUJBQWlCLENBQUNLLG9DQUFpQjtJQUM1QztJQUVBLE1BQXNCQyxnQkFBZ0JDLE9BQWdDLEVBQUU7UUFDdkUsTUFBTSxFQUFFQyxnQkFBZ0JDLENBQUMsRUFBRSxHQUFHQyxlQUFlLEdBQUdDLGtDQUFpQjtRQUNqRSxNQUFNQyxhQUFhLE1BQU1DLHVCQUFpQixDQUFDQyxhQUFhLENBQUNQLFFBQVFRLFVBQVU7UUFDM0UsZ0ZBQWdGO1FBQ2hGLCtFQUErRTtRQUMvRSxzRUFBc0U7UUFDdEUsTUFBTVAsaUJBQWlCSSxXQUFXSixjQUFjLEVBQUVRLFNBQy9DQyxZQUNBQyxzQ0FBcUI7UUFDeEIsT0FBT0Msc0JBQWdCLENBQUNDLE1BQU0sQ0FBQztZQUM5QixHQUFHVixhQUFhO1lBQ2hCLEdBQUlGLGlCQUFpQjtnQkFBRUE7WUFBZSxJQUFJLENBQUMsQ0FBQztZQUM1Q08sWUFBWVIsUUFBUVEsVUFBVTtZQUM5Qk0sU0FBU2QsUUFBUWMsT0FBTyxJQUFJVixrQ0FBaUIsQ0FBQ1UsT0FBTztRQUN0RDtJQUNEO0FBQ0QifQ==
@@ -0,0 +1,43 @@
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 BuildTargets () {
13
+ return _buildtargettype.BuildTargets;
14
+ },
15
+ get DebugConfiguration () {
16
+ return _workspaceconfig.Debug;
17
+ },
18
+ get DefaultConfigurations () {
19
+ return _workspaceconfig.DefaultConfigurations;
20
+ },
21
+ get ForgeError () {
22
+ return _errors.ForgeError;
23
+ },
24
+ get ForgeModule () {
25
+ return _forgemodule.ForgeModule;
26
+ },
27
+ get ReleaseConfiguration () {
28
+ return _workspaceconfig.Release;
29
+ },
30
+ get SwcTranspiler () {
31
+ return _swctranspiler.SwcTranspiler;
32
+ },
33
+ get WorkspaceDefaults () {
34
+ return _workspaceconfig.WorkspaceDefaults;
35
+ }
36
+ });
37
+ const _errors = require("./errors.js");
38
+ const _forgemodule = require("./forge.module.js");
39
+ const _swctranspiler = require("./services/swc-transpiler.js");
40
+ const _buildtargettype = require("./types/build-target.type.js");
41
+ const _workspaceconfig = require("./workspace.config.js");
42
+
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5leHBvcnQgeyBGb3JnZU1vZHVsZSB9IGZyb20gXCIuL2ZvcmdlLm1vZHVsZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBUcmFuc3BpbGVPcHRpb25zIH0gZnJvbSBcIi4vc2VydmljZXMvc3djLXRyYW5zcGlsZXIuanNcIjtcbmV4cG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuZXhwb3J0IHR5cGUgeyBCdWlsZFRhcmdldCwgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmV4cG9ydCB7IEJ1aWxkVGFyZ2V0cyB9IGZyb20gXCIuL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBXb3Jrc3BhY2VPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMvd29ya3NwYWNlLWNvbmZpZy50eXBlLmpzXCI7XG5leHBvcnQge1xuXHREZWJ1ZyBhcyBEZWJ1Z0NvbmZpZ3VyYXRpb24sXG5cdERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0UmVsZWFzZSBhcyBSZWxlYXNlQ29uZmlndXJhdGlvbixcblx0V29ya3NwYWNlRGVmYXVsdHMsXG59IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcbiJdLCJuYW1lcyI6WyJCdWlsZFRhcmdldHMiLCJEZWJ1Z0NvbmZpZ3VyYXRpb24iLCJEZWJ1ZyIsIkRlZmF1bHRDb25maWd1cmF0aW9ucyIsIkZvcmdlRXJyb3IiLCJGb3JnZU1vZHVsZSIsIlJlbGVhc2VDb25maWd1cmF0aW9uIiwiUmVsZWFzZSIsIlN3Y1RyYW5zcGlsZXIiLCJXb3Jrc3BhY2VEZWZhdWx0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLU0E7ZUFBQUEsNkJBQVk7O1FBSVhDO2VBQVRDLHNCQUFLOztRQUNMQztlQUFBQSxzQ0FBcUI7O1FBVmJDO2VBQUFBLGtCQUFVOztRQUNWQztlQUFBQSx3QkFBVzs7UUFVUkM7ZUFBWEMsd0JBQU87O1FBUkNDO2VBQUFBLDRCQUFhOztRQVNyQkM7ZUFBQUEsa0NBQWlCOzs7d0JBWlM7NkJBQ0M7K0JBRUU7aUNBRUQ7aUNBUXRCIn0=
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "CachesOutputs", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return CachesOutputs;
9
+ }
10
+ });
11
+ const _io = require("@decohere/nexus/io");
12
+ class CachesOutputs {
13
+ /** Maps source file fullPath -> output TransformResponses for cleanup in watch mode. */ get outputCache() {
14
+ const self = this;
15
+ if (self.__outputCache == null) {
16
+ self.__outputCache = new Map();
17
+ }
18
+ return self.__outputCache;
19
+ }
20
+ cacheOutputs(responses) {
21
+ for (const response of responses){
22
+ if (response.outcome !== "success") continue;
23
+ const existing = this.outputCache.get(response.file.fullPath) ?? [];
24
+ this.outputCache.set(response.file.fullPath, [
25
+ ...existing,
26
+ response
27
+ ]);
28
+ }
29
+ }
30
+ deleteCachedOutputs(filePath) {
31
+ const outputs = this.outputCache.get(filePath);
32
+ if (outputs == null) return;
33
+ for (const response of outputs){
34
+ if (response.outputPath != null) {
35
+ void _io.io.deleteFile(response.outputPath);
36
+ }
37
+ }
38
+ this.outputCache.delete(filePath);
39
+ }
40
+ }
41
+
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9taXhpbnMvY2FjaGVzLW91dHB1dHMubWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FjaGVzT3V0cHV0cyB7XG5cdC8qKiBNYXBzIHNvdXJjZSBmaWxlIGZ1bGxQYXRoIC0+IG91dHB1dCBUcmFuc2Zvcm1SZXNwb25zZXMgZm9yIGNsZWFudXAgaW4gd2F0Y2ggbW9kZS4gKi9cblx0cHJvdGVjdGVkIGdldCBvdXRwdXRDYWNoZSgpOiBNYXA8c3RyaW5nLCBUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3Qgc2VsZiA9IHRoaXMgYXMgeyBfX291dHB1dENhY2hlPzogTWFwPHN0cmluZywgVHJhbnNmb3JtUmVzcG9uc2VbXT4gfTtcblx0XHRpZiAoc2VsZi5fX291dHB1dENhY2hlID09IG51bGwpIHtcblx0XHRcdHNlbGYuX19vdXRwdXRDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBUcmFuc2Zvcm1SZXNwb25zZVtdPigpO1xuXHRcdH1cblx0XHRyZXR1cm4gc2VsZi5fX291dHB1dENhY2hlO1xuXHR9XG5cblx0cHJvdGVjdGVkIGNhY2hlT3V0cHV0cyhyZXNwb25zZXM6IFRyYW5zZm9ybVJlc3BvbnNlW10pOiB2b2lkIHtcblx0XHRmb3IgKGNvbnN0IHJlc3BvbnNlIG9mIHJlc3BvbnNlcykge1xuXHRcdFx0aWYgKHJlc3BvbnNlLm91dGNvbWUgIT09IFwic3VjY2Vzc1wiKSBjb250aW51ZTtcblx0XHRcdGNvbnN0IGV4aXN0aW5nID0gdGhpcy5vdXRwdXRDYWNoZS5nZXQocmVzcG9uc2UuZmlsZS5mdWxsUGF0aCkgPz8gW107XG5cdFx0XHR0aGlzLm91dHB1dENhY2hlLnNldChyZXNwb25zZS5maWxlLmZ1bGxQYXRoLCBbLi4uZXhpc3RpbmcsIHJlc3BvbnNlXSk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGRlbGV0ZUNhY2hlZE91dHB1dHMoZmlsZVBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IG91dHB1dHMgPSB0aGlzLm91dHB1dENhY2hlLmdldChmaWxlUGF0aCk7XG5cdFx0aWYgKG91dHB1dHMgPT0gbnVsbCkgcmV0dXJuO1xuXHRcdGZvciAoY29uc3QgcmVzcG9uc2Ugb2Ygb3V0cHV0cykge1xuXHRcdFx0aWYgKHJlc3BvbnNlLm91dHB1dFBhdGggIT0gbnVsbCkge1xuXHRcdFx0XHR2b2lkIGlvLmRlbGV0ZUZpbGUocmVzcG9uc2Uub3V0cHV0UGF0aCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMub3V0cHV0Q2FjaGUuZGVsZXRlKGZpbGVQYXRoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNhY2hlc091dHB1dHMiLCJvdXRwdXRDYWNoZSIsInNlbGYiLCJfX291dHB1dENhY2hlIiwiTWFwIiwiY2FjaGVPdXRwdXRzIiwicmVzcG9uc2VzIiwicmVzcG9uc2UiLCJvdXRjb21lIiwiZXhpc3RpbmciLCJnZXQiLCJmaWxlIiwiZnVsbFBhdGgiLCJzZXQiLCJkZWxldGVDYWNoZWRPdXRwdXRzIiwiZmlsZVBhdGgiLCJvdXRwdXRzIiwib3V0cHV0UGF0aCIsImlvIiwiZGVsZXRlRmlsZSIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHc0JBOzs7ZUFBQUE7OztvQkFISDtBQUdaLE1BQWVBO0lBQ3JCLHNGQUFzRixHQUN0RixJQUFjQyxjQUFnRDtRQUM3RCxNQUFNQyxPQUFPLElBQUk7UUFDakIsSUFBSUEsS0FBS0MsYUFBYSxJQUFJLE1BQU07WUFDL0JELEtBQUtDLGFBQWEsR0FBRyxJQUFJQztRQUMxQjtRQUNBLE9BQU9GLEtBQUtDLGFBQWE7SUFDMUI7SUFFVUUsYUFBYUMsU0FBOEIsRUFBUTtRQUM1RCxLQUFLLE1BQU1DLFlBQVlELFVBQVc7WUFDakMsSUFBSUMsU0FBU0MsT0FBTyxLQUFLLFdBQVc7WUFDcEMsTUFBTUMsV0FBVyxJQUFJLENBQUNSLFdBQVcsQ0FBQ1MsR0FBRyxDQUFDSCxTQUFTSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxFQUFFO1lBQ25FLElBQUksQ0FBQ1gsV0FBVyxDQUFDWSxHQUFHLENBQUNOLFNBQVNJLElBQUksQ0FBQ0MsUUFBUSxFQUFFO21CQUFJSDtnQkFBVUY7YUFBUztRQUNyRTtJQUNEO0lBRVVPLG9CQUFvQkMsUUFBZ0IsRUFBUTtRQUNyRCxNQUFNQyxVQUFVLElBQUksQ0FBQ2YsV0FBVyxDQUFDUyxHQUFHLENBQUNLO1FBQ3JDLElBQUlDLFdBQVcsTUFBTTtRQUNyQixLQUFLLE1BQU1ULFlBQVlTLFFBQVM7WUFDL0IsSUFBSVQsU0FBU1UsVUFBVSxJQUFJLE1BQU07Z0JBQ2hDLEtBQUtDLE1BQUUsQ0FBQ0MsVUFBVSxDQUFDWixTQUFTVSxVQUFVO1lBQ3ZDO1FBQ0Q7UUFDQSxJQUFJLENBQUNoQixXQUFXLENBQUNtQixNQUFNLENBQUNMO0lBQ3pCO0FBQ0QifQ==
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "IncrementalTransform", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return IncrementalTransform;
9
+ }
10
+ });
11
+ const _rxjs = require("rxjs");
12
+ // WeakMap avoids the private-field-in-mixin problem: private class fields (#x)
13
+ // are not accessible when methods are copied onto a different class prototype.
14
+ const subjects = new WeakMap();
15
+ function getSubject(instance) {
16
+ let subject = subjects.get(instance);
17
+ if (subject == null) {
18
+ subject = new _rxjs.Subject();
19
+ subjects.set(instance, subject);
20
+ }
21
+ return subject;
22
+ }
23
+ class IncrementalTransform {
24
+ get incrementalTransform$() {
25
+ return getSubject(this).asObservable();
26
+ }
27
+ watch(workspace) {
28
+ workspace.projectFileChanged$.subscribe((evt)=>{
29
+ void this.onIncrementalFileEvent(evt).then((responses)=>{
30
+ getSubject(this).next(responses);
31
+ });
32
+ });
33
+ }
34
+ }
35
+
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdEZpbGVFdmVudCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuXG4vLyBXZWFrTWFwIGF2b2lkcyB0aGUgcHJpdmF0ZS1maWVsZC1pbi1taXhpbiBwcm9ibGVtOiBwcml2YXRlIGNsYXNzIGZpZWxkcyAoI3gpXG4vLyBhcmUgbm90IGFjY2Vzc2libGUgd2hlbiBtZXRob2RzIGFyZSBjb3BpZWQgb250byBhIGRpZmZlcmVudCBjbGFzcyBwcm90b3R5cGUuXG5jb25zdCBzdWJqZWN0cyA9IG5ldyBXZWFrTWFwPG9iamVjdCwgU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPj4oKTtcblxuZnVuY3Rpb24gZ2V0U3ViamVjdChpbnN0YW5jZTogb2JqZWN0KTogU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdGxldCBzdWJqZWN0ID0gc3ViamVjdHMuZ2V0KGluc3RhbmNlKTtcblx0aWYgKHN1YmplY3QgPT0gbnVsbCkge1xuXHRcdHN1YmplY3QgPSBuZXcgU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPigpO1xuXHRcdHN1YmplY3RzLnNldChpbnN0YW5jZSwgc3ViamVjdCk7XG5cdH1cblx0cmV0dXJuIHN1YmplY3Q7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB7XG5cdHB1YmxpYyBnZXQgaW5jcmVtZW50YWxUcmFuc2Zvcm0kKCk6IE9ic2VydmFibGU8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdHJldHVybiBnZXRTdWJqZWN0KHRoaXMpLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0cHVibGljIHdhdGNoKHdvcmtzcGFjZTogV29ya3NwYWNlKTogdm9pZCB7XG5cdFx0d29ya3NwYWNlLnByb2plY3RGaWxlQ2hhbmdlZCQuc3Vic2NyaWJlKChldnQpID0+IHtcblx0XHRcdHZvaWQgdGhpcy5vbkluY3JlbWVudGFsRmlsZUV2ZW50KGV2dCkudGhlbigocmVzcG9uc2VzKSA9PiB7XG5cdFx0XHRcdGdldFN1YmplY3QodGhpcykubmV4dChyZXNwb25zZXMpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGVkIGZvciBldmVyeSB3b3Jrc3BhY2UgZmlsZSBjaGFuZ2UuIEltcGxlbWVudGF0aW9ucyBzaG91bGQgaW52YWxpZGF0ZVxuXHQgKiBhbnkgaW50ZXJuYWwgY2FjaGVzLCBwZXJmb3JtIHRoZSBpbmNyZW1lbnRhbCB0cmFuc2Zvcm0sIGFuZCByZXR1cm4gdGhlIHJlc3VsdHMuXG5cdCAqIFJldHVybiBhbiBlbXB0eSBhcnJheSBmb3IgZGVsZXRpb25zIG9yIHdoZW4gbm8gb3V0cHV0IGlzIHByb2R1Y2VkLlxuXHQgKi9cblx0cHJvdGVjdGVkIGFic3RyYWN0IG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoXG5cdFx0ZXZ0OiBQcm9qZWN0RmlsZUV2ZW50LFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+O1xufVxuIl0sIm5hbWVzIjpbIkluY3JlbWVudGFsVHJhbnNmb3JtIiwic3ViamVjdHMiLCJXZWFrTWFwIiwiZ2V0U3ViamVjdCIsImluc3RhbmNlIiwic3ViamVjdCIsImdldCIsIlN1YmplY3QiLCJzZXQiLCJpbmNyZW1lbnRhbFRyYW5zZm9ybSQiLCJhc09ic2VydmFibGUiLCJ3YXRjaCIsIndvcmtzcGFjZSIsInByb2plY3RGaWxlQ2hhbmdlZCQiLCJzdWJzY3JpYmUiLCJldnQiLCJvbkluY3JlbWVudGFsRmlsZUV2ZW50IiwidGhlbiIsInJlc3BvbnNlcyIsIm5leHQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0JzQkE7OztlQUFBQTs7O3NCQWhCRTtBQUd4QiwrRUFBK0U7QUFDL0UsK0VBQStFO0FBQy9FLE1BQU1DLFdBQVcsSUFBSUM7QUFFckIsU0FBU0MsV0FBV0MsUUFBZ0I7SUFDbkMsSUFBSUMsVUFBVUosU0FBU0ssR0FBRyxDQUFDRjtJQUMzQixJQUFJQyxXQUFXLE1BQU07UUFDcEJBLFVBQVUsSUFBSUUsYUFBTztRQUNyQk4sU0FBU08sR0FBRyxDQUFDSixVQUFVQztJQUN4QjtJQUNBLE9BQU9BO0FBQ1I7QUFFTyxNQUFlTDtJQUNyQixJQUFXUyx3QkFBeUQ7UUFDbkUsT0FBT04sV0FBVyxJQUFJLEVBQUVPLFlBQVk7SUFDckM7SUFFT0MsTUFBTUMsU0FBb0IsRUFBUTtRQUN4Q0EsVUFBVUMsbUJBQW1CLENBQUNDLFNBQVMsQ0FBQyxDQUFDQztZQUN4QyxLQUFLLElBQUksQ0FBQ0Msc0JBQXNCLENBQUNELEtBQUtFLElBQUksQ0FBQyxDQUFDQztnQkFDM0NmLFdBQVcsSUFBSSxFQUFFZ0IsSUFBSSxDQUFDRDtZQUN2QjtRQUNEO0lBQ0Q7QUFVRCJ9