-
Notifications
You must be signed in to change notification settings - Fork 26
/
types.ts
84 lines (70 loc) · 1.93 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { Architecture, Compose, ComposePaths, Manifest } from "@dappnode/types";
import { ManifestFormat, ManifestPaths } from "./files/manifest/types.js";
export interface CliGlobalOptions {
dir?: string;
compose_file_name?: string;
silent?: boolean;
verbose?: boolean;
}
// TODO: Try to have all properties defined
interface ListrContextBuildItem {
variant: string | null;
releaseDir: string;
releaseMultiHash?: string;
}
interface ListrContextPublishItem extends ListrContextBuildItem {
nextVersion?: string;
txData?: TxData;
}
export interface ListrContextBuild {
[dnpName: string]: ListrContextBuildItem;
}
export interface ListrContextPublish {
[dnpName: string]: ListrContextPublishItem;
}
export interface PackageToBuildProps {
// For packages not following multi-variant format, variant is null
// These kind of packages have all their files in the root dir
variant: string | null;
// Manifest-related
manifest: Manifest;
manifestFormat: ManifestFormat;
// Compose file
compose: Compose;
// File paths
releaseDir: string;
composePaths: ComposePaths[];
manifestPaths: ManifestPaths[];
// Package information
images: PackageImage[];
architectures: Architecture[];
}
// Interal types
export type ReleaseType = "major" | "minor" | "patch";
export const releaseTypes: ReleaseType[] = ["major", "minor", "patch"];
export type PackageImageLocal = {
type: "local";
imageTag: string;
};
export type PackageImageExternal = {
type: "external";
imageTag: string;
originalImageTag: string;
};
export type PackageImage = PackageImageLocal | PackageImageExternal;
export interface TxData {
to: string;
value: number;
data: string;
gasLimit: number;
ensName: string;
currentVersion: string;
releaseMultiHash: string;
developerAddress?: string;
}
export interface TxDataShortKeys {
r: string; // repoName
v: string; // version
h: string; // hash
d?: string; // developerAddress
}