-
Notifications
You must be signed in to change notification settings - Fork 7
/
types.ts
79 lines (70 loc) · 1.37 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
import type { Node } from "unist";
import type { context } from "@actions/github";
import MagicString from "magic-string";
import { getOctokit } from "@actions/github";
export type LFile = {
filename: string;
gitPath: string;
ast: Node;
date: Date | undefined;
magicString: MagicString;
replacements: string[];
};
export type LStatus =
| {
status: "upgrade";
to: string;
}
| {
status: "archive";
to: string;
}
| {
status: "error";
}
| { status: "ok" };
export type LURLGroup = {
url: string;
files: Set<LFile>;
status?: LStatus;
};
export type Cache = {
[key: string]: number;
};
export type LContext = {
contentDir: string;
cwd: string;
context: typeof context;
toolkit: ReturnType<typeof getOctokit>;
cache: Cache;
message: (message: string) => void;
messages: string[];
limit: number;
branchName: string;
stats: {
cacheSkipped: number;
upgradedSSL: number;
urlsScanned: number;
urlsDetected: number;
protocolSkipped: number;
relativeSkipped: number;
archived: number;
};
};
export class LError extends Error {}
export type IAResults = {
results: IAResult[];
};
type IASnapshot = {
closest: {
url: string;
status: string;
timestamp: string;
available: boolean;
};
};
type IAResult = {
url: string;
tag: string;
archived_snapshots?: IASnapshot;
};