1export async function main() {
2 await rsync.spawn({
3 cwd: Path.resolve(import.meta.dirname).parent!.toString(),
4 args: [
5 "-a",
6 "--progress",
7 "clo@paperclover.net:~/paperclover.net/.clover/cache.sqlite",
8 ".clover/",
9 ],
10 progress: progress.start("download file cache"),
11 });
12 await rsync.spawn({
13 cwd: Path.resolve(import.meta.dirname).parent!.toString(),
14 args: [
15 "-a",
16 "--progress",
17 "clo@paperclover.net:~/paperclover.net/.clover/questions.sqlite",
18 ".clover/",
19 ],
20 progress: progress.start("download questions state"),
21 });
22
23 // cannot call incr.restore until database calls are
24 // considered in the watch graph.
25 // await incr.restore()
26 await incr.compile(generate);
27
28 await rsync.spawn({
29 cwd: Path.resolve(import.meta.dirname).parent!.parent!.toString(),
30 args: [
31 "-a",
32 "-r",
33 "--progress",
34 "--delete",
35 "--exclude=node_modules",
36 "--exclude=.clover",
37 "package.json",
38 "package-lock.json",
39 ".clover/o/",
40 "paperclover.net:~/paperclover.net/",
41 ],
42 progress: progress.start("copy site files"),
43 });
44 await subprocess.spawnAndWait({
45 stdio: "inherit",
46 cmd: [
47 "ssh",
48 "paperclover.net",
49 "cd paperclover.net && "
50 + "npm i &&"
51 + "pm2 restart site",
52 ],
53 });
54}
55
56import { Path } from "#sitegen/path";
57import * as progress from "@clo/lib/progress";
58import * as subprocess from "@clo/lib/subprocess";
59import { generate } from "../../framework/generate.ts";
60import * as incr from "../../framework/incremental.ts";
61import * as rsync from "../file-viewer/rsync.ts";