@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.
- package/cjs/lib/StartSdk.d.ts +2 -17
- package/cjs/lib/StartSdk.js +2 -8
- package/cjs/lib/StartSdk.js.map +1 -1
- package/cjs/lib/backup/Backups.js +2 -1
- package/cjs/lib/backup/Backups.js.map +1 -1
- package/cjs/lib/backup/setupBackups.d.ts +1 -1
- package/cjs/lib/backup/setupBackups.js +2 -1
- package/cjs/lib/backup/setupBackups.js.map +1 -1
- package/cjs/lib/config/setupConfig.js +2 -1
- package/cjs/lib/config/setupConfig.js.map +1 -1
- package/cjs/lib/exver/index.d.ts +2 -2
- package/cjs/lib/exver/index.js +1 -0
- package/cjs/lib/exver/index.js.map +1 -1
- package/cjs/lib/health/HealthCheck.js +2 -1
- package/cjs/lib/health/HealthCheck.js.map +1 -1
- package/cjs/lib/health/checkFns/checkWebUrl.js +2 -1
- package/cjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
- package/cjs/lib/index.d.ts +1 -0
- package/cjs/lib/index.js +4 -0
- package/cjs/lib/index.js.map +1 -1
- package/cjs/lib/inits/migrations/Migration.d.ts +14 -27
- package/cjs/lib/inits/migrations/Migration.js +10 -3
- package/cjs/lib/inits/migrations/Migration.js.map +1 -1
- package/cjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
- package/cjs/lib/inits/migrations/setupMigrations.js +90 -26
- package/cjs/lib/inits/migrations/setupMigrations.js.map +1 -1
- package/cjs/lib/inits/setupInit.d.ts +2 -2
- package/cjs/lib/inits/setupInit.js +29 -5
- package/cjs/lib/inits/setupInit.js.map +1 -1
- package/cjs/lib/inits/setupInstall.d.ts +1 -1
- package/cjs/lib/inits/setupInstall.js +4 -5
- package/cjs/lib/inits/setupInstall.js.map +1 -1
- package/cjs/lib/inits/setupUninstall.d.ts +1 -1
- package/cjs/lib/inits/setupUninstall.js +1 -1
- package/cjs/lib/inits/setupUninstall.js.map +1 -1
- package/cjs/lib/mainFn/CommandController.d.ts +7 -4
- package/cjs/lib/mainFn/CommandController.js +18 -8
- package/cjs/lib/mainFn/CommandController.js.map +1 -1
- package/cjs/lib/mainFn/Daemon.d.ts +4 -2
- package/cjs/lib/mainFn/Daemon.js +7 -2
- package/cjs/lib/mainFn/Daemon.js.map +1 -1
- package/cjs/lib/mainFn/Daemons.d.ts +2 -2
- package/cjs/lib/mainFn/HealthDaemon.d.ts +6 -3
- package/cjs/lib/mainFn/HealthDaemon.js +23 -35
- package/cjs/lib/mainFn/HealthDaemon.js.map +1 -1
- package/cjs/lib/manifest/ManifestTypes.d.ts +1 -10
- package/cjs/lib/manifest/setupManifest.d.ts +2 -2
- package/cjs/lib/manifest/setupManifest.js +6 -2
- package/cjs/lib/manifest/setupManifest.js.map +1 -1
- package/cjs/lib/osBindings/Manifest.d.ts +2 -0
- package/cjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
- package/cjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
- package/cjs/lib/osBindings/SetDataVersionParams.js +4 -0
- package/cjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
- package/cjs/lib/osBindings/index.d.ts +1 -3
- package/cjs/lib/s9pk/merkleArchive/varint.js +2 -1
- package/cjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
- package/cjs/lib/test/configBuilder.test.js +7 -4
- package/cjs/lib/test/configBuilder.test.js.map +1 -1
- package/cjs/lib/test/graph.test.d.ts +1 -0
- package/cjs/lib/test/graph.test.js +78 -0
- package/cjs/lib/test/graph.test.js.map +1 -0
- package/cjs/lib/test/output.sdk.d.ts +2 -214
- package/cjs/lib/test/output.sdk.js +9 -3
- package/cjs/lib/test/output.sdk.js.map +1 -1
- package/cjs/lib/test/startosTypeValidation.test.js +2 -0
- package/cjs/lib/test/startosTypeValidation.test.js.map +1 -1
- package/cjs/lib/types.d.ts +18 -14
- package/cjs/lib/types.js.map +1 -1
- package/cjs/lib/util/Overlay.d.ts +39 -2
- package/cjs/lib/util/Overlay.js +38 -6
- package/cjs/lib/util/Overlay.js.map +1 -1
- package/cjs/lib/util/asError.d.ts +1 -0
- package/cjs/lib/util/asError.js +11 -0
- package/cjs/lib/util/asError.js.map +1 -0
- package/cjs/lib/util/graph.d.ts +19 -0
- package/cjs/lib/util/graph.js +206 -0
- package/cjs/lib/util/graph.js.map +1 -0
- package/cjs/lib/util/index.d.ts +1 -0
- package/cjs/lib/util/index.js +3 -1
- package/cjs/lib/util/index.js.map +1 -1
- package/cjs/lib/version/VersionGraph.d.ts +18 -0
- package/cjs/lib/version/VersionGraph.js +104 -0
- package/cjs/lib/version/VersionGraph.js.map +1 -0
- package/cjs/lib/version/VersionInfo.d.ts +44 -0
- package/cjs/lib/version/VersionInfo.js +48 -0
- package/cjs/lib/version/VersionInfo.js.map +1 -0
- package/cjs/lib/version/index.d.ts +2 -0
- package/cjs/lib/version/index.js +19 -0
- package/cjs/lib/version/index.js.map +1 -0
- package/cjs/lib/versionInfo/VersionInfo.d.ts +44 -0
- package/cjs/lib/versionInfo/VersionInfo.js +48 -0
- package/cjs/lib/versionInfo/VersionInfo.js.map +1 -0
- package/cjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
- package/cjs/lib/versionInfo/setupVersionGraph.js +108 -0
- package/cjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
- package/mjs/lib/StartSdk.d.ts +2 -17
- package/mjs/lib/StartSdk.js +2 -8
- package/mjs/lib/StartSdk.js.map +1 -1
- package/mjs/lib/backup/Backups.js +2 -1
- package/mjs/lib/backup/Backups.js.map +1 -1
- package/mjs/lib/backup/setupBackups.d.ts +1 -1
- package/mjs/lib/backup/setupBackups.js +2 -1
- package/mjs/lib/backup/setupBackups.js.map +1 -1
- package/mjs/lib/config/setupConfig.js +1 -1
- package/mjs/lib/config/setupConfig.js.map +1 -1
- package/mjs/lib/exver/index.d.ts +2 -2
- package/mjs/lib/exver/index.js +1 -0
- package/mjs/lib/exver/index.js.map +1 -1
- package/mjs/lib/health/HealthCheck.js +2 -1
- package/mjs/lib/health/HealthCheck.js.map +1 -1
- package/mjs/lib/health/checkFns/checkWebUrl.js +2 -1
- package/mjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
- package/mjs/lib/index.d.ts +1 -0
- package/mjs/lib/index.js +1 -0
- package/mjs/lib/index.js.map +1 -1
- package/mjs/lib/inits/migrations/Migration.d.ts +14 -27
- package/mjs/lib/inits/migrations/Migration.js +9 -2
- package/mjs/lib/inits/migrations/Migration.js.map +1 -1
- package/mjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
- package/mjs/lib/inits/migrations/setupMigrations.js +92 -28
- package/mjs/lib/inits/migrations/setupMigrations.js.map +1 -1
- package/mjs/lib/inits/setupInit.d.ts +2 -2
- package/mjs/lib/inits/setupInit.js +29 -5
- package/mjs/lib/inits/setupInit.js.map +1 -1
- package/mjs/lib/inits/setupInstall.d.ts +1 -1
- package/mjs/lib/inits/setupInstall.js +4 -5
- package/mjs/lib/inits/setupInstall.js.map +1 -1
- package/mjs/lib/inits/setupUninstall.d.ts +1 -1
- package/mjs/lib/inits/setupUninstall.js +1 -1
- package/mjs/lib/inits/setupUninstall.js.map +1 -1
- package/mjs/lib/mainFn/CommandController.d.ts +7 -4
- package/mjs/lib/mainFn/CommandController.js +17 -9
- package/mjs/lib/mainFn/CommandController.js.map +1 -1
- package/mjs/lib/mainFn/Daemon.d.ts +4 -2
- package/mjs/lib/mainFn/Daemon.js +7 -3
- package/mjs/lib/mainFn/Daemon.js.map +1 -1
- package/mjs/lib/mainFn/Daemons.d.ts +2 -2
- package/mjs/lib/mainFn/HealthDaemon.d.ts +6 -3
- package/mjs/lib/mainFn/HealthDaemon.js +22 -21
- package/mjs/lib/mainFn/HealthDaemon.js.map +1 -1
- package/mjs/lib/manifest/ManifestTypes.d.ts +1 -10
- package/mjs/lib/manifest/setupManifest.d.ts +2 -2
- package/mjs/lib/manifest/setupManifest.js +6 -2
- package/mjs/lib/manifest/setupManifest.js.map +1 -1
- package/mjs/lib/osBindings/Manifest.d.ts +2 -0
- package/mjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
- package/mjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
- package/mjs/lib/osBindings/SetDataVersionParams.js +3 -0
- package/mjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
- package/mjs/lib/osBindings/index.d.ts +1 -3
- package/mjs/lib/s9pk/merkleArchive/varint.js +2 -1
- package/mjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
- package/mjs/lib/test/configBuilder.test.js +7 -4
- package/mjs/lib/test/configBuilder.test.js.map +1 -1
- package/mjs/lib/test/graph.test.d.ts +1 -0
- package/mjs/lib/test/graph.test.js +76 -0
- package/mjs/lib/test/graph.test.js.map +1 -0
- package/mjs/lib/test/output.sdk.d.ts +2 -214
- package/mjs/lib/test/output.sdk.js +9 -3
- package/mjs/lib/test/output.sdk.js.map +1 -1
- package/mjs/lib/test/startosTypeValidation.test.js +2 -0
- package/mjs/lib/test/startosTypeValidation.test.js.map +1 -1
- package/mjs/lib/types.d.ts +18 -14
- package/mjs/lib/types.js.map +1 -1
- package/mjs/lib/util/Overlay.d.ts +39 -2
- package/mjs/lib/util/Overlay.js +37 -5
- package/mjs/lib/util/Overlay.js.map +1 -1
- package/mjs/lib/util/asError.d.ts +1 -0
- package/mjs/lib/util/asError.js +7 -0
- package/mjs/lib/util/asError.js.map +1 -0
- package/mjs/lib/util/graph.d.ts +19 -0
- package/mjs/lib/util/graph.js +201 -0
- package/mjs/lib/util/graph.js.map +1 -0
- package/mjs/lib/util/index.d.ts +1 -0
- package/mjs/lib/util/index.js +1 -0
- package/mjs/lib/util/index.js.map +1 -1
- package/mjs/lib/version/VersionGraph.d.ts +18 -0
- package/mjs/lib/version/VersionGraph.js +102 -0
- package/mjs/lib/version/VersionGraph.js.map +1 -0
- package/mjs/lib/version/VersionInfo.d.ts +44 -0
- package/mjs/lib/version/VersionInfo.js +45 -0
- package/mjs/lib/version/VersionInfo.js.map +1 -0
- package/mjs/lib/version/index.d.ts +2 -0
- package/mjs/lib/version/index.js +3 -0
- package/mjs/lib/version/index.js.map +1 -0
- package/mjs/lib/versionInfo/VersionInfo.d.ts +44 -0
- package/mjs/lib/versionInfo/VersionInfo.js +45 -0
- package/mjs/lib/versionInfo/VersionInfo.js.map +1 -0
- package/mjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
- package/mjs/lib/versionInfo/setupVersionGraph.js +105 -0
- package/mjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
- package/mjs/lib/versionInfo/setupVersionInfo.d.ts +19 -0
- package/mjs/lib/versionInfo/setupVersionInfo.js +105 -0
- package/mjs/lib/versionInfo/setupVersionInfo.js.map +1 -0
- 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