@decohere/forge 0.0.1-dev.13 → 0.0.1-dev.130

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 (195) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +150 -0
  3. package/commonjs/src/actions/build.action.js +8 -6
  4. package/commonjs/src/actions/clean.action.js +6 -8
  5. package/commonjs/src/actions/commit.action.js +4 -6
  6. package/commonjs/src/actions/copy.action.js +62 -12
  7. package/commonjs/src/actions/dependency-report.action.js +8 -6
  8. package/commonjs/src/actions/dependency-sync.action.js +9 -5
  9. package/commonjs/src/actions/docker.action.js +209 -0
  10. package/commonjs/src/actions/index.js +6 -2
  11. package/commonjs/src/actions/link.action.js +154 -0
  12. package/commonjs/src/actions/package.action.js +234 -0
  13. package/commonjs/src/actions/paths.action.js +120 -0
  14. package/commonjs/src/actions/publish.action.js +4 -6
  15. package/commonjs/src/actions/sync-lock-file.action.js +2 -4
  16. package/commonjs/src/actions/tag.action.js +6 -9
  17. package/commonjs/src/actions/typecheck.action.js +67 -0
  18. package/commonjs/src/actions/unlink.action.js +74 -0
  19. package/commonjs/src/actions/version.action.js +14 -16
  20. package/commonjs/src/actions/watch.action.js +3 -5
  21. package/commonjs/src/commands/build.command.js +4 -3
  22. package/commonjs/src/commands/dependency.command.js +1 -3
  23. package/commonjs/src/commands/docker.command.js +26 -0
  24. package/commonjs/src/commands/forge.command.js +1 -3
  25. package/commonjs/src/commands/index.js +5 -2
  26. package/commonjs/src/commands/link.command.js +90 -0
  27. package/commonjs/src/commands/package.command.js +36 -0
  28. package/commonjs/src/commands/paths.command.js +24 -0
  29. package/commonjs/src/commands/publish.command.js +1 -3
  30. package/commonjs/src/commands/tag.command.js +1 -3
  31. package/commonjs/src/commands/typecheck.command.js +24 -0
  32. package/commonjs/src/commands/version.command.js +1 -3
  33. package/commonjs/src/const.js +0 -2
  34. package/commonjs/src/create-workspace.js +38 -0
  35. package/commonjs/src/errors.js +2 -4
  36. package/commonjs/src/extensions/project.extensions.js +11 -13
  37. package/commonjs/src/factories/swc-config.factory.js +29 -9
  38. package/commonjs/src/forge.module.js +23 -22
  39. package/commonjs/src/index.js +11 -2
  40. package/commonjs/src/packaging/dependency-pinner.service.js +118 -0
  41. package/commonjs/src/packaging/deployable.js +44 -0
  42. package/commonjs/src/packaging/import-graph.service.js +137 -0
  43. package/commonjs/src/packaging/release-exports.js +90 -0
  44. package/commonjs/src/packaging/ui-assets.js +75 -0
  45. package/commonjs/src/semver/index.js +18 -0
  46. package/commonjs/src/semver/semver.js +92 -0
  47. package/commonjs/src/services/dependency-resolver.service.js +70 -26
  48. package/commonjs/src/services/file-writer.service.js +2 -11
  49. package/commonjs/src/services/incremental-watch.js +24 -0
  50. package/commonjs/src/services/output-cache.js +39 -0
  51. package/commonjs/src/services/swc-transpiler.js +85 -99
  52. package/commonjs/src/services/transpile-cache.js +44 -0
  53. package/commonjs/src/services/ts-program-host.js +4 -6
  54. package/commonjs/src/services/type-emission-program.js +24 -9
  55. package/commonjs/src/services/type-emitter.js +51 -16
  56. package/commonjs/src/types/build-target.type.js +0 -2
  57. package/commonjs/src/types/configuration.type.js +0 -2
  58. package/commonjs/src/types/dependency.types.js +0 -2
  59. package/commonjs/src/types/swc-config.type.js +0 -2
  60. package/commonjs/src/types/transform-response.model.js +3 -18
  61. package/commonjs/src/types/transformer.type.js +0 -2
  62. package/commonjs/src/types/workspace-config.type.js +0 -2
  63. package/commonjs/src/vitest/forge-build.plugin.js +28 -44
  64. package/commonjs/src/vitest/index.js +0 -2
  65. package/commonjs/src/workspace.config.js +39 -6
  66. package/es6/src/actions/build.action.js +7 -7
  67. package/es6/src/actions/clean.action.js +5 -8
  68. package/es6/src/actions/commit.action.js +3 -6
  69. package/es6/src/actions/copy.action.js +61 -12
  70. package/es6/src/actions/dependency-report.action.js +7 -7
  71. package/es6/src/actions/dependency-sync.action.js +8 -6
  72. package/es6/src/actions/docker.action.js +194 -0
  73. package/es6/src/actions/index.js +6 -2
  74. package/es6/src/actions/link.action.js +128 -0
  75. package/es6/src/actions/package.action.js +219 -0
  76. package/es6/src/actions/paths.action.js +97 -0
  77. package/es6/src/actions/publish.action.js +3 -6
  78. package/es6/src/actions/sync-lock-file.action.js +2 -4
  79. package/es6/src/actions/tag.action.js +5 -9
  80. package/es6/src/actions/typecheck.action.js +52 -0
  81. package/es6/src/actions/unlink.action.js +59 -0
  82. package/es6/src/actions/version.action.js +9 -12
  83. package/es6/src/actions/watch.action.js +2 -5
  84. package/es6/src/commands/build.command.js +4 -3
  85. package/es6/src/commands/dependency.command.js +1 -3
  86. package/es6/src/commands/docker.command.js +16 -0
  87. package/es6/src/commands/forge.command.js +1 -3
  88. package/es6/src/commands/index.js +5 -2
  89. package/es6/src/commands/link.command.js +67 -0
  90. package/es6/src/commands/package.command.js +26 -0
  91. package/es6/src/commands/paths.command.js +14 -0
  92. package/es6/src/commands/publish.command.js +1 -3
  93. package/es6/src/commands/tag.command.js +1 -3
  94. package/es6/src/commands/typecheck.command.js +14 -0
  95. package/es6/src/commands/version.command.js +1 -3
  96. package/es6/src/const.js +0 -2
  97. package/es6/src/create-workspace.js +26 -0
  98. package/es6/src/errors.js +1 -3
  99. package/es6/src/extensions/project.extensions.js +5 -7
  100. package/es6/src/factories/swc-config.factory.js +29 -9
  101. package/es6/src/forge.module.js +23 -22
  102. package/es6/src/index.js +3 -3
  103. package/es6/src/packaging/dependency-pinner.service.js +103 -0
  104. package/es6/src/packaging/deployable.js +21 -0
  105. package/es6/src/packaging/import-graph.service.js +122 -0
  106. package/es6/src/packaging/release-exports.js +80 -0
  107. package/es6/src/packaging/ui-assets.js +49 -0
  108. package/es6/src/semver/index.js +1 -0
  109. package/es6/src/semver/semver.js +71 -0
  110. package/es6/src/services/dependency-resolver.service.js +70 -26
  111. package/es6/src/services/file-writer.service.js +2 -11
  112. package/es6/src/services/incremental-watch.js +18 -0
  113. package/es6/src/services/output-cache.js +29 -0
  114. package/es6/src/services/swc-transpiler.js +85 -99
  115. package/es6/src/services/transpile-cache.js +29 -0
  116. package/es6/src/services/ts-program-host.js +4 -6
  117. package/es6/src/services/type-emission-program.js +24 -9
  118. package/es6/src/services/type-emitter.js +48 -16
  119. package/es6/src/types/build-target.type.js +0 -2
  120. package/es6/src/types/configuration.type.js +0 -2
  121. package/es6/src/types/dependency.types.js +0 -2
  122. package/es6/src/types/swc-config.type.js +0 -2
  123. package/es6/src/types/transform-response.model.js +0 -7
  124. package/es6/src/types/transformer.type.js +0 -2
  125. package/es6/src/types/workspace-config.type.js +0 -2
  126. package/es6/src/vitest/forge-build.plugin.js +27 -43
  127. package/es6/src/vitest/index.js +0 -2
  128. package/es6/src/workspace.config.js +39 -5
  129. package/package.json +15 -5
  130. package/types/src/actions/build.action.d.ts +5 -4
  131. package/types/src/actions/clean.action.d.ts +3 -3
  132. package/types/src/actions/commit.action.d.ts +3 -3
  133. package/types/src/actions/copy.action.d.ts +18 -3
  134. package/types/src/actions/dependency-report.action.d.ts +3 -3
  135. package/types/src/actions/dependency-sync.action.d.ts +3 -3
  136. package/types/src/actions/docker.action.d.ts +38 -0
  137. package/types/src/actions/index.d.ts +6 -0
  138. package/types/src/actions/link.action.d.ts +25 -0
  139. package/types/src/actions/package.action.d.ts +38 -0
  140. package/types/src/actions/paths.action.d.ts +28 -0
  141. package/types/src/actions/publish.action.d.ts +4 -4
  142. package/types/src/actions/sync-lock-file.action.d.ts +2 -2
  143. package/types/src/actions/tag.action.d.ts +3 -3
  144. package/types/src/actions/typecheck.action.d.ts +14 -0
  145. package/types/src/actions/unlink.action.d.ts +9 -0
  146. package/types/src/actions/version.action.d.ts +4 -4
  147. package/types/src/actions/watch.action.d.ts +3 -3
  148. package/types/src/commands/build.command.d.ts +3 -2
  149. package/types/src/commands/dependency.command.d.ts +2 -2
  150. package/types/src/commands/docker.command.d.ts +6 -0
  151. package/types/src/commands/forge.command.d.ts +2 -2
  152. package/types/src/commands/index.d.ts +5 -0
  153. package/types/src/commands/link.command.d.ts +29 -0
  154. package/types/src/commands/package.command.d.ts +11 -0
  155. package/types/src/commands/paths.command.d.ts +6 -0
  156. package/types/src/commands/publish.command.d.ts +1 -1
  157. package/types/src/commands/tag.command.d.ts +1 -1
  158. package/types/src/commands/typecheck.command.d.ts +6 -0
  159. package/types/src/commands/version.command.d.ts +1 -1
  160. package/types/src/create-workspace.d.ts +7 -0
  161. package/types/src/errors.d.ts +1 -1
  162. package/types/src/extensions/project.extensions.d.ts +2 -2
  163. package/types/src/factories/swc-config.factory.d.ts +3 -2
  164. package/types/src/forge.module.d.ts +16 -4
  165. package/types/src/index.d.ts +3 -1
  166. package/types/src/packaging/dependency-pinner.service.d.ts +20 -0
  167. package/types/src/packaging/deployable.d.ts +17 -0
  168. package/types/src/packaging/import-graph.service.d.ts +33 -0
  169. package/types/src/packaging/release-exports.d.ts +18 -0
  170. package/types/src/packaging/ui-assets.d.ts +21 -0
  171. package/types/src/semver/index.d.ts +1 -0
  172. package/types/src/semver/semver.d.ts +18 -0
  173. package/types/src/services/dependency-resolver.service.d.ts +8 -1
  174. package/types/src/services/file-writer.service.d.ts +1 -2
  175. package/types/src/services/incremental-watch.d.ts +13 -0
  176. package/types/src/services/output-cache.d.ts +10 -0
  177. package/types/src/services/swc-transpiler.d.ts +28 -15
  178. package/types/src/services/transpile-cache.d.ts +17 -0
  179. package/types/src/services/ts-program-host.d.ts +2 -2
  180. package/types/src/services/type-emission-program.d.ts +8 -3
  181. package/types/src/services/type-emitter.d.ts +21 -8
  182. package/types/src/types/configuration.type.d.ts +6 -1
  183. package/types/src/types/dependency.types.d.ts +8 -9
  184. package/types/src/types/swc-config.type.d.ts +7 -1
  185. package/types/src/types/transform-response.model.d.ts +2 -7
  186. package/types/src/types/transformer.type.d.ts +2 -11
  187. package/types/src/types/workspace-config.type.d.ts +3 -3
  188. package/types/src/vitest/forge-build.plugin.d.ts +0 -2
  189. package/types/src/workspace.config.d.ts +6 -0
  190. package/commonjs/src/mixins/caches-outputs.mixin.js +0 -44
  191. package/commonjs/src/mixins/incremental-transform.mixin.js +0 -36
  192. package/es6/src/mixins/caches-outputs.mixin.js +0 -34
  193. package/es6/src/mixins/incremental-transform.mixin.js +0 -26
  194. package/types/src/mixins/caches-outputs.mixin.d.ts +0 -7
  195. package/types/src/mixins/incremental-transform.mixin.d.ts +0 -13
@@ -1,26 +0,0 @@
1
- import { Subject } from "rxjs";
2
- // WeakMap avoids the private-field-in-mixin problem: private class fields (#x)
3
- // are not accessible when methods are copied onto a different class prototype.
4
- const subjects = new WeakMap();
5
- function getSubject(instance) {
6
- let subject = subjects.get(instance);
7
- if (subject == null) {
8
- subject = new Subject();
9
- subjects.set(instance, subject);
10
- }
11
- return subject;
12
- }
13
- export class IncrementalTransform {
14
- get incrementalTransform$() {
15
- return getSubject(this).asObservable();
16
- }
17
- watch(workspace) {
18
- workspace.projectFileChanged$.subscribe((evt)=>{
19
- void this.onIncrementalFileEvent(evt).then((responses)=>{
20
- getSubject(this).next(responses);
21
- });
22
- });
23
- }
24
- }
25
-
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdEZpbGVFdmVudCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuXG4vLyBXZWFrTWFwIGF2b2lkcyB0aGUgcHJpdmF0ZS1maWVsZC1pbi1taXhpbiBwcm9ibGVtOiBwcml2YXRlIGNsYXNzIGZpZWxkcyAoI3gpXG4vLyBhcmUgbm90IGFjY2Vzc2libGUgd2hlbiBtZXRob2RzIGFyZSBjb3BpZWQgb250byBhIGRpZmZlcmVudCBjbGFzcyBwcm90b3R5cGUuXG5jb25zdCBzdWJqZWN0cyA9IG5ldyBXZWFrTWFwPG9iamVjdCwgU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPj4oKTtcblxuZnVuY3Rpb24gZ2V0U3ViamVjdChpbnN0YW5jZTogb2JqZWN0KTogU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdGxldCBzdWJqZWN0ID0gc3ViamVjdHMuZ2V0KGluc3RhbmNlKTtcblx0aWYgKHN1YmplY3QgPT0gbnVsbCkge1xuXHRcdHN1YmplY3QgPSBuZXcgU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPigpO1xuXHRcdHN1YmplY3RzLnNldChpbnN0YW5jZSwgc3ViamVjdCk7XG5cdH1cblx0cmV0dXJuIHN1YmplY3Q7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB7XG5cdHB1YmxpYyBnZXQgaW5jcmVtZW50YWxUcmFuc2Zvcm0kKCk6IE9ic2VydmFibGU8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdHJldHVybiBnZXRTdWJqZWN0KHRoaXMpLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0cHVibGljIHdhdGNoKHdvcmtzcGFjZTogV29ya3NwYWNlKTogdm9pZCB7XG5cdFx0d29ya3NwYWNlLnByb2plY3RGaWxlQ2hhbmdlZCQuc3Vic2NyaWJlKChldnQpID0+IHtcblx0XHRcdHZvaWQgdGhpcy5vbkluY3JlbWVudGFsRmlsZUV2ZW50KGV2dCkudGhlbigocmVzcG9uc2VzKSA9PiB7XG5cdFx0XHRcdGdldFN1YmplY3QodGhpcykubmV4dChyZXNwb25zZXMpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGVkIGZvciBldmVyeSB3b3Jrc3BhY2UgZmlsZSBjaGFuZ2UuIEltcGxlbWVudGF0aW9ucyBzaG91bGQgaW52YWxpZGF0ZVxuXHQgKiBhbnkgaW50ZXJuYWwgY2FjaGVzLCBwZXJmb3JtIHRoZSBpbmNyZW1lbnRhbCB0cmFuc2Zvcm0sIGFuZCByZXR1cm4gdGhlIHJlc3VsdHMuXG5cdCAqIFJldHVybiBhbiBlbXB0eSBhcnJheSBmb3IgZGVsZXRpb25zIG9yIHdoZW4gbm8gb3V0cHV0IGlzIHByb2R1Y2VkLlxuXHQgKi9cblx0cHJvdGVjdGVkIGFic3RyYWN0IG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoXG5cdFx0ZXZ0OiBQcm9qZWN0RmlsZUV2ZW50LFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+O1xufVxuIl0sIm5hbWVzIjpbIlN1YmplY3QiLCJzdWJqZWN0cyIsIldlYWtNYXAiLCJnZXRTdWJqZWN0IiwiaW5zdGFuY2UiLCJzdWJqZWN0IiwiZ2V0Iiwic2V0IiwiSW5jcmVtZW50YWxUcmFuc2Zvcm0iLCJpbmNyZW1lbnRhbFRyYW5zZm9ybSQiLCJhc09ic2VydmFibGUiLCJ3YXRjaCIsIndvcmtzcGFjZSIsInByb2plY3RGaWxlQ2hhbmdlZCQiLCJzdWJzY3JpYmUiLCJldnQiLCJvbkluY3JlbWVudGFsRmlsZUV2ZW50IiwidGhlbiIsInJlc3BvbnNlcyIsIm5leHQiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLE9BQU8sUUFBUSxPQUFPO0FBRy9CLCtFQUErRTtBQUMvRSwrRUFBK0U7QUFDL0UsTUFBTUMsV0FBVyxJQUFJQztBQUVyQixTQUFTQyxXQUFXQyxRQUFnQjtJQUNuQyxJQUFJQyxVQUFVSixTQUFTSyxHQUFHLENBQUNGO0lBQzNCLElBQUlDLFdBQVcsTUFBTTtRQUNwQkEsVUFBVSxJQUFJTDtRQUNkQyxTQUFTTSxHQUFHLENBQUNILFVBQVVDO0lBQ3hCO0lBQ0EsT0FBT0E7QUFDUjtBQUVBLE9BQU8sTUFBZUc7SUFDckIsSUFBV0Msd0JBQXlEO1FBQ25FLE9BQU9OLFdBQVcsSUFBSSxFQUFFTyxZQUFZO0lBQ3JDO0lBRU9DLE1BQU1DLFNBQW9CLEVBQVE7UUFDeENBLFVBQVVDLG1CQUFtQixDQUFDQyxTQUFTLENBQUMsQ0FBQ0M7WUFDeEMsS0FBSyxJQUFJLENBQUNDLHNCQUFzQixDQUFDRCxLQUFLRSxJQUFJLENBQUMsQ0FBQ0M7Z0JBQzNDZixXQUFXLElBQUksRUFBRWdCLElBQUksQ0FBQ0Q7WUFDdkI7UUFDRDtJQUNEO0FBVUQifQ==
@@ -1,7 +0,0 @@
1
- import type { TransformResponse } from "../types/transform-response.model.js";
2
- export declare abstract class CachesOutputs {
3
- /** Maps source file fullPath -> output TransformResponses for cleanup in watch mode. */
4
- protected get outputCache(): Map<string, TransformResponse[]>;
5
- protected cacheOutputs(responses: TransformResponse[]): void;
6
- protected deleteCachedOutputs(filePath: string): void;
7
- }
@@ -1,13 +0,0 @@
1
- import type { ProjectFileEvent, Workspace } from "@decohere/mesh";
2
- import type { Observable } from "rxjs";
3
- import type { TransformResponse } from "../types/transform-response.model.js";
4
- export declare abstract class IncrementalTransform {
5
- get incrementalTransform$(): Observable<TransformResponse[]>;
6
- watch(workspace: Workspace): void;
7
- /**
8
- * Called for every workspace file change. Implementations should invalidate
9
- * any internal caches, perform the incremental transform, and return the results.
10
- * Return an empty array for deletions or when no output is produced.
11
- */
12
- protected abstract onIncrementalFileEvent(evt: ProjectFileEvent): Promise<TransformResponse[]>;
13
- }