@start9labs/start-sdk 0.3.6-alpha7 → 0.3.6-alpha8

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 (196) hide show
  1. package/cjs/lib/StartSdk.d.ts +2 -17
  2. package/cjs/lib/StartSdk.js +2 -8
  3. package/cjs/lib/StartSdk.js.map +1 -1
  4. package/cjs/lib/backup/Backups.js +2 -1
  5. package/cjs/lib/backup/Backups.js.map +1 -1
  6. package/cjs/lib/backup/setupBackups.d.ts +1 -1
  7. package/cjs/lib/backup/setupBackups.js +2 -1
  8. package/cjs/lib/backup/setupBackups.js.map +1 -1
  9. package/cjs/lib/config/setupConfig.js +2 -1
  10. package/cjs/lib/config/setupConfig.js.map +1 -1
  11. package/cjs/lib/exver/index.d.ts +2 -2
  12. package/cjs/lib/exver/index.js +1 -0
  13. package/cjs/lib/exver/index.js.map +1 -1
  14. package/cjs/lib/health/HealthCheck.js +2 -1
  15. package/cjs/lib/health/HealthCheck.js.map +1 -1
  16. package/cjs/lib/health/checkFns/checkWebUrl.js +2 -1
  17. package/cjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
  18. package/cjs/lib/index.d.ts +1 -0
  19. package/cjs/lib/index.js +4 -0
  20. package/cjs/lib/index.js.map +1 -1
  21. package/cjs/lib/inits/migrations/Migration.d.ts +14 -27
  22. package/cjs/lib/inits/migrations/Migration.js +10 -3
  23. package/cjs/lib/inits/migrations/Migration.js.map +1 -1
  24. package/cjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
  25. package/cjs/lib/inits/migrations/setupMigrations.js +90 -26
  26. package/cjs/lib/inits/migrations/setupMigrations.js.map +1 -1
  27. package/cjs/lib/inits/setupInit.d.ts +2 -2
  28. package/cjs/lib/inits/setupInit.js +29 -5
  29. package/cjs/lib/inits/setupInit.js.map +1 -1
  30. package/cjs/lib/inits/setupInstall.d.ts +1 -1
  31. package/cjs/lib/inits/setupInstall.js +4 -5
  32. package/cjs/lib/inits/setupInstall.js.map +1 -1
  33. package/cjs/lib/inits/setupUninstall.d.ts +1 -1
  34. package/cjs/lib/inits/setupUninstall.js +1 -1
  35. package/cjs/lib/inits/setupUninstall.js.map +1 -1
  36. package/cjs/lib/mainFn/CommandController.d.ts +7 -4
  37. package/cjs/lib/mainFn/CommandController.js +18 -8
  38. package/cjs/lib/mainFn/CommandController.js.map +1 -1
  39. package/cjs/lib/mainFn/Daemon.d.ts +4 -2
  40. package/cjs/lib/mainFn/Daemon.js +7 -2
  41. package/cjs/lib/mainFn/Daemon.js.map +1 -1
  42. package/cjs/lib/mainFn/Daemons.d.ts +2 -2
  43. package/cjs/lib/mainFn/HealthDaemon.d.ts +6 -3
  44. package/cjs/lib/mainFn/HealthDaemon.js +23 -35
  45. package/cjs/lib/mainFn/HealthDaemon.js.map +1 -1
  46. package/cjs/lib/manifest/ManifestTypes.d.ts +1 -10
  47. package/cjs/lib/manifest/setupManifest.d.ts +2 -2
  48. package/cjs/lib/manifest/setupManifest.js +6 -2
  49. package/cjs/lib/manifest/setupManifest.js.map +1 -1
  50. package/cjs/lib/osBindings/Manifest.d.ts +2 -0
  51. package/cjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
  52. package/cjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
  53. package/cjs/lib/osBindings/SetDataVersionParams.js +4 -0
  54. package/cjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
  55. package/cjs/lib/osBindings/index.d.ts +1 -3
  56. package/cjs/lib/s9pk/merkleArchive/varint.js +2 -1
  57. package/cjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
  58. package/cjs/lib/test/configBuilder.test.js +7 -4
  59. package/cjs/lib/test/configBuilder.test.js.map +1 -1
  60. package/cjs/lib/test/graph.test.d.ts +1 -0
  61. package/cjs/lib/test/graph.test.js +78 -0
  62. package/cjs/lib/test/graph.test.js.map +1 -0
  63. package/cjs/lib/test/output.sdk.d.ts +2 -214
  64. package/cjs/lib/test/output.sdk.js +9 -3
  65. package/cjs/lib/test/output.sdk.js.map +1 -1
  66. package/cjs/lib/test/startosTypeValidation.test.js +2 -0
  67. package/cjs/lib/test/startosTypeValidation.test.js.map +1 -1
  68. package/cjs/lib/types.d.ts +18 -14
  69. package/cjs/lib/types.js.map +1 -1
  70. package/cjs/lib/util/Overlay.d.ts +39 -2
  71. package/cjs/lib/util/Overlay.js +38 -6
  72. package/cjs/lib/util/Overlay.js.map +1 -1
  73. package/cjs/lib/util/asError.d.ts +1 -0
  74. package/cjs/lib/util/asError.js +11 -0
  75. package/cjs/lib/util/asError.js.map +1 -0
  76. package/cjs/lib/util/graph.d.ts +19 -0
  77. package/cjs/lib/util/graph.js +206 -0
  78. package/cjs/lib/util/graph.js.map +1 -0
  79. package/cjs/lib/util/index.d.ts +1 -0
  80. package/cjs/lib/util/index.js +3 -1
  81. package/cjs/lib/util/index.js.map +1 -1
  82. package/cjs/lib/version/VersionGraph.d.ts +18 -0
  83. package/cjs/lib/version/VersionGraph.js +104 -0
  84. package/cjs/lib/version/VersionGraph.js.map +1 -0
  85. package/cjs/lib/version/VersionInfo.d.ts +44 -0
  86. package/cjs/lib/version/VersionInfo.js +48 -0
  87. package/cjs/lib/version/VersionInfo.js.map +1 -0
  88. package/cjs/lib/version/index.d.ts +2 -0
  89. package/cjs/lib/version/index.js +19 -0
  90. package/cjs/lib/version/index.js.map +1 -0
  91. package/cjs/lib/versionInfo/VersionInfo.d.ts +44 -0
  92. package/cjs/lib/versionInfo/VersionInfo.js +48 -0
  93. package/cjs/lib/versionInfo/VersionInfo.js.map +1 -0
  94. package/cjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
  95. package/cjs/lib/versionInfo/setupVersionGraph.js +108 -0
  96. package/cjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
  97. package/mjs/lib/StartSdk.d.ts +2 -17
  98. package/mjs/lib/StartSdk.js +2 -8
  99. package/mjs/lib/StartSdk.js.map +1 -1
  100. package/mjs/lib/backup/Backups.js +2 -1
  101. package/mjs/lib/backup/Backups.js.map +1 -1
  102. package/mjs/lib/backup/setupBackups.d.ts +1 -1
  103. package/mjs/lib/backup/setupBackups.js +2 -1
  104. package/mjs/lib/backup/setupBackups.js.map +1 -1
  105. package/mjs/lib/config/setupConfig.js +1 -1
  106. package/mjs/lib/config/setupConfig.js.map +1 -1
  107. package/mjs/lib/exver/index.d.ts +2 -2
  108. package/mjs/lib/exver/index.js +1 -0
  109. package/mjs/lib/exver/index.js.map +1 -1
  110. package/mjs/lib/health/HealthCheck.js +2 -1
  111. package/mjs/lib/health/HealthCheck.js.map +1 -1
  112. package/mjs/lib/health/checkFns/checkWebUrl.js +2 -1
  113. package/mjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
  114. package/mjs/lib/index.d.ts +1 -0
  115. package/mjs/lib/index.js +1 -0
  116. package/mjs/lib/index.js.map +1 -1
  117. package/mjs/lib/inits/migrations/Migration.d.ts +14 -27
  118. package/mjs/lib/inits/migrations/Migration.js +9 -2
  119. package/mjs/lib/inits/migrations/Migration.js.map +1 -1
  120. package/mjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
  121. package/mjs/lib/inits/migrations/setupMigrations.js +92 -28
  122. package/mjs/lib/inits/migrations/setupMigrations.js.map +1 -1
  123. package/mjs/lib/inits/setupInit.d.ts +2 -2
  124. package/mjs/lib/inits/setupInit.js +29 -5
  125. package/mjs/lib/inits/setupInit.js.map +1 -1
  126. package/mjs/lib/inits/setupInstall.d.ts +1 -1
  127. package/mjs/lib/inits/setupInstall.js +4 -5
  128. package/mjs/lib/inits/setupInstall.js.map +1 -1
  129. package/mjs/lib/inits/setupUninstall.d.ts +1 -1
  130. package/mjs/lib/inits/setupUninstall.js +1 -1
  131. package/mjs/lib/inits/setupUninstall.js.map +1 -1
  132. package/mjs/lib/mainFn/CommandController.d.ts +7 -4
  133. package/mjs/lib/mainFn/CommandController.js +17 -9
  134. package/mjs/lib/mainFn/CommandController.js.map +1 -1
  135. package/mjs/lib/mainFn/Daemon.d.ts +4 -2
  136. package/mjs/lib/mainFn/Daemon.js +7 -3
  137. package/mjs/lib/mainFn/Daemon.js.map +1 -1
  138. package/mjs/lib/mainFn/Daemons.d.ts +2 -2
  139. package/mjs/lib/mainFn/HealthDaemon.d.ts +6 -3
  140. package/mjs/lib/mainFn/HealthDaemon.js +22 -21
  141. package/mjs/lib/mainFn/HealthDaemon.js.map +1 -1
  142. package/mjs/lib/manifest/ManifestTypes.d.ts +1 -10
  143. package/mjs/lib/manifest/setupManifest.d.ts +2 -2
  144. package/mjs/lib/manifest/setupManifest.js +6 -2
  145. package/mjs/lib/manifest/setupManifest.js.map +1 -1
  146. package/mjs/lib/osBindings/Manifest.d.ts +2 -0
  147. package/mjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
  148. package/mjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
  149. package/mjs/lib/osBindings/SetDataVersionParams.js +3 -0
  150. package/mjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
  151. package/mjs/lib/osBindings/index.d.ts +1 -3
  152. package/mjs/lib/s9pk/merkleArchive/varint.js +2 -1
  153. package/mjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
  154. package/mjs/lib/test/configBuilder.test.js +7 -4
  155. package/mjs/lib/test/configBuilder.test.js.map +1 -1
  156. package/mjs/lib/test/graph.test.d.ts +1 -0
  157. package/mjs/lib/test/graph.test.js +76 -0
  158. package/mjs/lib/test/graph.test.js.map +1 -0
  159. package/mjs/lib/test/output.sdk.d.ts +2 -214
  160. package/mjs/lib/test/output.sdk.js +9 -3
  161. package/mjs/lib/test/output.sdk.js.map +1 -1
  162. package/mjs/lib/test/startosTypeValidation.test.js +2 -0
  163. package/mjs/lib/test/startosTypeValidation.test.js.map +1 -1
  164. package/mjs/lib/types.d.ts +18 -14
  165. package/mjs/lib/types.js.map +1 -1
  166. package/mjs/lib/util/Overlay.d.ts +39 -2
  167. package/mjs/lib/util/Overlay.js +37 -5
  168. package/mjs/lib/util/Overlay.js.map +1 -1
  169. package/mjs/lib/util/asError.d.ts +1 -0
  170. package/mjs/lib/util/asError.js +7 -0
  171. package/mjs/lib/util/asError.js.map +1 -0
  172. package/mjs/lib/util/graph.d.ts +19 -0
  173. package/mjs/lib/util/graph.js +201 -0
  174. package/mjs/lib/util/graph.js.map +1 -0
  175. package/mjs/lib/util/index.d.ts +1 -0
  176. package/mjs/lib/util/index.js +1 -0
  177. package/mjs/lib/util/index.js.map +1 -1
  178. package/mjs/lib/version/VersionGraph.d.ts +18 -0
  179. package/mjs/lib/version/VersionGraph.js +102 -0
  180. package/mjs/lib/version/VersionGraph.js.map +1 -0
  181. package/mjs/lib/version/VersionInfo.d.ts +44 -0
  182. package/mjs/lib/version/VersionInfo.js +45 -0
  183. package/mjs/lib/version/VersionInfo.js.map +1 -0
  184. package/mjs/lib/version/index.d.ts +2 -0
  185. package/mjs/lib/version/index.js +3 -0
  186. package/mjs/lib/version/index.js.map +1 -0
  187. package/mjs/lib/versionInfo/VersionInfo.d.ts +44 -0
  188. package/mjs/lib/versionInfo/VersionInfo.js +45 -0
  189. package/mjs/lib/versionInfo/VersionInfo.js.map +1 -0
  190. package/mjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
  191. package/mjs/lib/versionInfo/setupVersionGraph.js +105 -0
  192. package/mjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
  193. package/mjs/lib/versionInfo/setupVersionInfo.d.ts +19 -0
  194. package/mjs/lib/versionInfo/setupVersionInfo.js +105 -0
  195. package/mjs/lib/versionInfo/setupVersionInfo.js.map +1 -0
  196. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import * as T from "../types";
3
+ import { VersionInfo } from "./VersionInfo";
4
+ export declare class VersionGraph<CurrentVersion extends string> {
5
+ readonly current: VersionInfo<CurrentVersion>;
6
+ private readonly graph;
7
+ private constructor();
8
+ currentVersion: () => ExtendedVersion;
9
+ static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(currentVersion: VersionInfo<CurrentVersion>, ...other: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
10
+ migrate({ effects, from, to, }: {
11
+ effects: T.Effects;
12
+ from: ExtendedVersion;
13
+ to: ExtendedVersion;
14
+ }): Promise<void>;
15
+ canMigrateFrom: () => VersionRange;
16
+ canMigrateTo: () => VersionRange;
17
+ }
18
+ export declare function setupVersionGraph<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(current: VersionInfo<CurrentVersion>, ...other: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
19
+ export type EnsureUniqueId<A, B = A, OtherVersions = never> = B extends [] ? A : B extends [VersionInfo<infer Version>, ...infer Rest] ? (Version extends OtherVersions ? "One or more versions are not unique"[] : EnsureUniqueId<A, Rest, Version | OtherVersions>) : "There exists a migration that is not a Migration"[];
@@ -0,0 +1,105 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import { Graph } from "../util/graph";
3
+ import { once } from "../util/once";
4
+ import { IMPOSSIBLE } from "./VersionInfo";
5
+ export class VersionGraph {
6
+ current;
7
+ graph;
8
+ constructor(current, versions) {
9
+ this.current = current;
10
+ this.graph = once(() => {
11
+ const graph = new Graph();
12
+ const flavorMap = {};
13
+ for (let version of [current, ...versions]) {
14
+ const v = ExtendedVersion.parse(version.options.version);
15
+ const vertex = graph.addVertex(v, [], []);
16
+ const flavor = v.flavor || "";
17
+ if (!flavorMap[flavor]) {
18
+ flavorMap[flavor] = [];
19
+ }
20
+ flavorMap[flavor].push([v, version, vertex]);
21
+ }
22
+ for (let flavor in flavorMap) {
23
+ flavorMap[flavor].sort((a, b) => a[0].compareForSort(b[0]));
24
+ let prev = undefined;
25
+ for (let [v, version, vertex] of flavorMap[flavor]) {
26
+ if (version.options.migrations.up !== IMPOSSIBLE) {
27
+ let range;
28
+ if (prev) {
29
+ graph.addEdge(version.options.migrations.up, prev[2], vertex);
30
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
31
+ }
32
+ else {
33
+ range = VersionRange.anchor("<", v);
34
+ }
35
+ const vRange = graph.addVertex(range, [], []);
36
+ graph.addEdge(version.options.migrations.up, vRange, vertex);
37
+ }
38
+ if (version.options.migrations.down !== IMPOSSIBLE) {
39
+ let range;
40
+ if (prev) {
41
+ graph.addEdge(version.options.migrations.down, vertex, prev[2]);
42
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
43
+ }
44
+ else {
45
+ range = VersionRange.anchor("<", v);
46
+ }
47
+ const vRange = graph.addVertex(range, [], []);
48
+ graph.addEdge(version.options.migrations.down, vertex, vRange);
49
+ }
50
+ if (version.options.migrations.other) {
51
+ for (let rangeStr in version.options.migrations.other) {
52
+ const range = VersionRange.parse(rangeStr);
53
+ const vRange = graph.addVertex(range, [], []);
54
+ graph.addEdge(version.options.migrations.other[rangeStr], vRange, vertex);
55
+ for (let matching of graph.findVertex((v) => v.metadata instanceof ExtendedVersion &&
56
+ v.metadata.satisfies(range))) {
57
+ graph.addEdge(version.options.migrations.other[rangeStr], matching, vertex);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return graph;
64
+ });
65
+ }
66
+ currentVersion = once(() => ExtendedVersion.parse(this.current.options.version));
67
+ static of(currentVersion, ...other) {
68
+ return new VersionGraph(currentVersion, other);
69
+ }
70
+ async migrate({ effects, from, to, }) {
71
+ const graph = this.graph();
72
+ if (from && to) {
73
+ const path = graph.shortestPath((v) => (v.metadata instanceof VersionRange &&
74
+ v.metadata.satisfiedBy(from)) ||
75
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(from)), (v) => (v.metadata instanceof VersionRange && v.metadata.satisfiedBy(to)) ||
76
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(to)));
77
+ if (path) {
78
+ for (let edge of path) {
79
+ if (edge.metadata) {
80
+ await edge.metadata({ effects });
81
+ }
82
+ await effects.setDataVersion({ version: edge.to.metadata.toString() });
83
+ }
84
+ return;
85
+ }
86
+ }
87
+ throw new Error();
88
+ }
89
+ canMigrateFrom = once(() => Array.from(this.graph().reverseBreadthFirstSearch((v) => (v.metadata instanceof VersionRange &&
90
+ v.metadata.satisfiedBy(this.currentVersion())) ||
91
+ (v.metadata instanceof ExtendedVersion &&
92
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
93
+ ? x.metadata
94
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
95
+ canMigrateTo = once(() => Array.from(this.graph().breadthFirstSearch((v) => (v.metadata instanceof VersionRange &&
96
+ v.metadata.satisfiedBy(this.currentVersion())) ||
97
+ (v.metadata instanceof ExtendedVersion &&
98
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
99
+ ? x.metadata
100
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
101
+ }
102
+ export function setupVersionGraph(current, ...other) {
103
+ return VersionGraph.of(current, ...other);
104
+ }
105
+ //# sourceMappingURL=setupVersionGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVersionGraph.js","sourceRoot":"","sources":["../../../../lib/versionInfo/setupVersionGraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import * as T from "../types";
3
+ import { VersionInfo } from "./VersionInfo";
4
+ export declare class VersionGraph<CurrentVersion extends string> {
5
+ readonly current: VersionInfo<CurrentVersion>;
6
+ private readonly graph;
7
+ private constructor();
8
+ currentVersion: () => ExtendedVersion;
9
+ static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(currentVersion: VersionInfo<CurrentVersion>, ...migrations: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
10
+ migrate({ effects, from, to, }: {
11
+ effects: T.Effects;
12
+ from: ExtendedVersion;
13
+ to: ExtendedVersion;
14
+ }): Promise<void>;
15
+ canMigrateFrom: () => VersionRange;
16
+ canMigrateTo: () => VersionRange;
17
+ }
18
+ export declare function setupMigrations<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(version: VersionInfo<CurrentVersion>, ...migrations: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
19
+ export type EnsureUniqueId<A, B = A, OtherVersions = never> = B extends [] ? A : B extends [VersionInfo<infer Version>, ...infer Rest] ? (Version extends OtherVersions ? "One or more versions are not unique"[] : EnsureUniqueId<A, Rest, Version | OtherVersions>) : "There exists a migration that is not a Migration"[];
@@ -0,0 +1,105 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import { Graph } from "../util/graph";
3
+ import { once } from "../util/once";
4
+ import { IMPOSSIBLE } from "./VersionInfo";
5
+ export class VersionGraph {
6
+ current;
7
+ graph;
8
+ constructor(current, versions) {
9
+ this.current = current;
10
+ this.graph = once(() => {
11
+ const graph = new Graph();
12
+ const flavorMap = {};
13
+ for (let version of [current, ...versions]) {
14
+ const v = ExtendedVersion.parse(version.options.version);
15
+ const vertex = graph.addVertex(v, [], []);
16
+ const flavor = v.flavor || "";
17
+ if (!flavorMap[flavor]) {
18
+ flavorMap[flavor] = [];
19
+ }
20
+ flavorMap[flavor].push([v, version, vertex]);
21
+ }
22
+ for (let flavor in flavorMap) {
23
+ flavorMap[flavor].sort((a, b) => a[0].compareForSort(b[0]));
24
+ let prev = undefined;
25
+ for (let [v, version, vertex] of flavorMap[flavor]) {
26
+ if (version.options.migrations.up !== IMPOSSIBLE) {
27
+ let range;
28
+ if (prev) {
29
+ graph.addEdge(version.options.migrations.up, prev[2], vertex);
30
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
31
+ }
32
+ else {
33
+ range = VersionRange.anchor("<", v);
34
+ }
35
+ const vRange = graph.addVertex(range, [], []);
36
+ graph.addEdge(version.options.migrations.up, vRange, vertex);
37
+ }
38
+ if (version.options.migrations.down !== IMPOSSIBLE) {
39
+ let range;
40
+ if (prev) {
41
+ graph.addEdge(version.options.migrations.down, vertex, prev[2]);
42
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
43
+ }
44
+ else {
45
+ range = VersionRange.anchor("<", v);
46
+ }
47
+ const vRange = graph.addVertex(range, [], []);
48
+ graph.addEdge(version.options.migrations.down, vertex, vRange);
49
+ }
50
+ if (version.options.migrations.other) {
51
+ for (let rangeStr in version.options.migrations.other) {
52
+ const range = VersionRange.parse(rangeStr);
53
+ const vRange = graph.addVertex(range, [], []);
54
+ graph.addEdge(version.options.migrations.other[rangeStr], vRange, vertex);
55
+ for (let matching of graph.findVertex((v) => v.metadata instanceof ExtendedVersion &&
56
+ v.metadata.satisfies(range))) {
57
+ graph.addEdge(version.options.migrations.other[rangeStr], matching, vertex);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return graph;
64
+ });
65
+ }
66
+ currentVersion = once(() => ExtendedVersion.parse(this.current.options.version));
67
+ static of(currentVersion, ...migrations) {
68
+ return new VersionGraph(currentVersion, migrations);
69
+ }
70
+ async migrate({ effects, from, to, }) {
71
+ const graph = this.graph();
72
+ if (from && to) {
73
+ const path = graph.shortestPath((v) => (v.metadata instanceof VersionRange &&
74
+ v.metadata.satisfiedBy(from)) ||
75
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(from)), (v) => (v.metadata instanceof VersionRange && v.metadata.satisfiedBy(to)) ||
76
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(to)));
77
+ if (path) {
78
+ for (let edge of path) {
79
+ if (edge.metadata) {
80
+ await edge.metadata({ effects });
81
+ }
82
+ await effects.setDataVersion({ version: edge.to.metadata.toString() });
83
+ }
84
+ return;
85
+ }
86
+ }
87
+ throw new Error();
88
+ }
89
+ canMigrateFrom = once(() => Array.from(this.graph().reverseBfs((v) => (v.metadata instanceof VersionRange &&
90
+ v.metadata.satisfiedBy(this.currentVersion())) ||
91
+ (v.metadata instanceof ExtendedVersion &&
92
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
93
+ ? x.metadata
94
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
95
+ canMigrateTo = once(() => Array.from(this.graph().bfs((v) => (v.metadata instanceof VersionRange &&
96
+ v.metadata.satisfiedBy(this.currentVersion())) ||
97
+ (v.metadata instanceof ExtendedVersion &&
98
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
99
+ ? x.metadata
100
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
101
+ }
102
+ export function setupMigrations(version, ...migrations) {
103
+ return VersionGraph.of(version, ...migrations);
104
+ }
105
+ //# sourceMappingURL=setupVersionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVersionInfo.js","sourceRoot":"","sources":["../../../../lib/versionInfo/setupVersionInfo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@start9labs/start-sdk",
3
- "version": "0.3.6-alpha7",
3
+ "version": "0.3.6-alpha8",
4
4
  "description": "Software development kit to facilitate packaging services for StartOS",
5
5
  "main": "./cjs/lib/index.js",
6
6
  "types": "./cjs/lib/index.d.ts",