@catapultjs/deploy 0.2.2 → 0.4.0
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/build/bin/run.js +7 -17
- package/build/bin/run.js.map +1 -1
- package/build/commands/deploy.js +1 -1
- package/build/commands/deploy.js.map +1 -1
- package/build/commands/init.js +2 -2
- package/build/commands/init.js.map +1 -1
- package/build/commands/list_revisions.d.ts +6 -0
- package/build/commands/list_revisions.js +42 -0
- package/build/commands/list_revisions.js.map +1 -0
- package/build/commands/run.js +2 -2
- package/build/commands/run.js.map +1 -1
- package/build/commands/run_task.js +1 -1
- package/build/commands/run_task.js.map +1 -1
- package/build/commands/ssh.js +8 -3
- package/build/commands/ssh.js.map +1 -1
- package/build/commands/status.js.map +1 -1
- package/build/recipes/adonisjs.js +12 -12
- package/build/recipes/adonisjs.js.map +1 -1
- package/build/recipes/git.js +13 -11
- package/build/recipes/git.js.map +1 -1
- package/build/recipes/nodejs.js +3 -3
- package/build/recipes/pm2.js +1 -1
- package/build/recipes/pm2.js.map +1 -1
- package/build/recipes/rsync.js +2 -1
- package/build/recipes/rsync.js.map +1 -1
- package/build/src/defaults.js +18 -10
- package/build/src/defaults.js.map +1 -1
- package/build/src/define_config.js +4 -4
- package/build/src/define_config.js.map +1 -1
- package/build/src/deployer.js +10 -4
- package/build/src/deployer.js.map +1 -1
- package/build/src/enums.d.ts +13 -6
- package/build/src/enums.js +12 -6
- package/build/src/enums.js.map +1 -1
- package/build/src/pipeline/hooks.js.map +1 -1
- package/build/src/task/runner.d.ts +4 -1
- package/build/src/task/runner.js +29 -9
- package/build/src/task/runner.js.map +1 -1
- package/build/src/task/store.d.ts +1 -1
- package/build/src/task.d.ts +4 -1
- package/build/src/task.js +8 -2
- package/build/src/task.js.map +1 -1
- package/build/src/types.d.ts +2 -2
- package/build/src/utils.d.ts +2 -0
- package/build/src/utils.js +16 -7
- package/build/src/utils.js.map +1 -1
- package/build/tests/package_manager.spec.js +10 -10
- package/build/tests/package_manager.spec.js.map +1 -1
- package/build/tests/pipeline.spec.js +16 -5
- package/build/tests/pipeline.spec.js.map +1 -1
- package/build/tests/store.spec.js +12 -1
- package/build/tests/store.spec.js.map +1 -1
- package/build/tests/task.spec.js +21 -10
- package/build/tests/task.spec.js.map +1 -1
- package/package.json +5 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Strategy } from "./enums.js";
|
|
1
|
+
import { Strategy, Verbose } from "./enums.js";
|
|
2
2
|
import { Context } from "./context.js";
|
|
3
3
|
import { detectPackageManager } from "./utils.js";
|
|
4
4
|
import { remove, getPipeline, inPipeline } from "./pipeline.js";
|
|
5
5
|
import "./defaults.js";
|
|
6
6
|
const initialConfigValues = {
|
|
7
7
|
keepReleases: 5,
|
|
8
|
-
verbose:
|
|
9
|
-
strategy: Strategy.
|
|
8
|
+
verbose: Verbose.NORMAL,
|
|
9
|
+
strategy: Strategy.DIRECT,
|
|
10
10
|
};
|
|
11
11
|
export function defineConfig(config) {
|
|
12
12
|
return async () => {
|
|
@@ -23,7 +23,7 @@ export function defineConfig(config) {
|
|
|
23
23
|
remove('deploy:healthcheck');
|
|
24
24
|
}
|
|
25
25
|
const strategy = config.strategy ?? initialConfigValues.strategy;
|
|
26
|
-
if (strategy !== Strategy.
|
|
26
|
+
if (strategy !== Strategy.BUILD) {
|
|
27
27
|
if (inPipeline('deploy:build:copy'))
|
|
28
28
|
remove('deploy:build:copy');
|
|
29
29
|
if (inPipeline('deploy:build:shared'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,eAAe,CAAA;AAEtB,MAAM,mBAAmB,GAAG;IAC1B,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,MAAM;IACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM;CAC1B,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAA;QACvC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,mBAAmB,EAAE,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC;YACV,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE;YACjC,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACnE,IAAI,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAA;QAChE,IAAI,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,mBAAmB,CAAC;gBAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAChE,IAAI,UAAU,CAAC,qBAAqB,CAAC;gBAAE,MAAM,CAAC,qBAAqB,CAAC,CAAA;QACtE,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
package/build/src/deployer.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Verbose } from "./enums.js";
|
|
1
2
|
import { q, getPaths, ssh, elapsed } from "./utils.js";
|
|
2
3
|
import { runTask } from "./task.js";
|
|
3
4
|
import { get } from "./store.js";
|
|
@@ -6,12 +7,14 @@ import { logger } from "./logger.js";
|
|
|
6
7
|
async function runHook(ctx, name, context = {}) {
|
|
7
8
|
if (!ctx.hooks[name])
|
|
8
9
|
return;
|
|
9
|
-
|
|
10
|
+
if ((ctx.config.verbose ?? 0) >= Verbose.NORMAL)
|
|
11
|
+
logger.step(`hook: ${name}`);
|
|
10
12
|
await ctx.hooks[name](context);
|
|
11
13
|
}
|
|
12
14
|
export async function setupHost(ctx, host) {
|
|
13
15
|
const paths = getPaths(host.deployPath, ctx.release);
|
|
14
|
-
|
|
16
|
+
if ((ctx.config.verbose ?? 0) >= Verbose.NORMAL)
|
|
17
|
+
logger.step(host.name, 'setup directories');
|
|
15
18
|
const dirs = get('writable_dirs', []);
|
|
16
19
|
const files = get('shared_files', []);
|
|
17
20
|
const mkdirs = dirs.map((dir) => `mkdir -p ${q(paths.shared + '/' + dir)}`).join('\n ');
|
|
@@ -73,7 +76,8 @@ export async function rollbackHost(ctx, host) {
|
|
|
73
76
|
if (!previous) {
|
|
74
77
|
throw new Error(`[${host.name}] no previous release available`);
|
|
75
78
|
}
|
|
76
|
-
|
|
79
|
+
if ((ctx.config.verbose ?? 0) >= Verbose.NORMAL)
|
|
80
|
+
logger.step(host.name, `rollback to ${previous}`);
|
|
77
81
|
await ssh(host, `set -e\nln -sfn ${q(paths.releases + '/' + previous)} ${q(paths.current)}`);
|
|
78
82
|
if (getPipeline().includes('pm2:start')) {
|
|
79
83
|
await runTask('pm2:start', ctx, host);
|
|
@@ -88,8 +92,10 @@ export async function deployHost(ctx, host) {
|
|
|
88
92
|
const deployStart = Date.now();
|
|
89
93
|
await runHook(ctx, 'beforeHostDeploy', { host });
|
|
90
94
|
try {
|
|
95
|
+
const verbose = ctx.config.verbose ?? 0;
|
|
91
96
|
for (const taskName of getPipeline()) {
|
|
92
|
-
|
|
97
|
+
if (verbose >= Verbose.NORMAL)
|
|
98
|
+
logger.task(elapsed(Date.now() - deployStart), host.name, taskName);
|
|
93
99
|
await runTask(taskName, ctx, host);
|
|
94
100
|
if (taskName === 'deploy:lock')
|
|
95
101
|
locked = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,KAAK,UAAU,OAAO,CACpB,GAAkB,EAClB,IAAiB,EACjB,UAAuB,EAAE;IAEzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAM;IAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
|
package/build/src/enums.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
export declare const Strategy: {
|
|
2
|
-
readonly
|
|
3
|
-
readonly
|
|
2
|
+
readonly BUILD: "build";
|
|
3
|
+
readonly DIRECT: "direct";
|
|
4
4
|
};
|
|
5
5
|
export type Strategy = (typeof Strategy)[keyof typeof Strategy];
|
|
6
6
|
export declare const PackageManager: {
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
7
|
+
readonly NPM: "npm";
|
|
8
|
+
readonly PNPM: "pnpm";
|
|
9
|
+
readonly YARN: "yarn";
|
|
10
|
+
readonly BUN: "bun";
|
|
11
11
|
};
|
|
12
12
|
export type PackageManager = (typeof PackageManager)[keyof typeof PackageManager];
|
|
13
|
+
export declare const Verbose: {
|
|
14
|
+
readonly SILENT: 0;
|
|
15
|
+
readonly NORMAL: 1;
|
|
16
|
+
readonly TRACE: 2;
|
|
17
|
+
readonly DEBUG: 3;
|
|
18
|
+
};
|
|
19
|
+
export type Verbose = (typeof Verbose)[keyof typeof Verbose];
|
package/build/src/enums.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
export const Strategy = {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
BUILD: 'build',
|
|
3
|
+
DIRECT: 'direct',
|
|
4
4
|
};
|
|
5
5
|
export const PackageManager = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
NPM: 'npm',
|
|
7
|
+
PNPM: 'pnpm',
|
|
8
|
+
YARN: 'yarn',
|
|
9
|
+
BUN: 'bun',
|
|
10
|
+
};
|
|
11
|
+
export const Verbose = {
|
|
12
|
+
SILENT: 0,
|
|
13
|
+
NORMAL: 1,
|
|
14
|
+
TRACE: 2,
|
|
15
|
+
DEBUG: 3,
|
|
10
16
|
};
|
|
11
17
|
//# sourceMappingURL=enums.js.map
|
package/build/src/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAA;AAGV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAA;AAGV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAA;AAGV,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/pipeline/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/pipeline/hooks.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAC5B,WAAW,GAAoB,EAAE,CAAA;IACjC,YAAY,GAAoB,EAAE,CAAA;IAElC,QAAQ,CAAC,EAAiB;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,EAAiB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Host, Config, Paths } from '../types.ts';
|
|
2
|
+
import { Verbose } from '../enums.ts';
|
|
2
3
|
import { type CatapultLogger } from '../logger.ts';
|
|
3
4
|
export interface TaskContext {
|
|
4
5
|
readonly host: Host;
|
|
@@ -15,7 +16,9 @@ export declare class TaskRunner {
|
|
|
15
16
|
clear(): void;
|
|
16
17
|
push(command: string): void;
|
|
17
18
|
bin(name: string): string;
|
|
18
|
-
isVerbose():
|
|
19
|
+
isVerbose(level: Verbose): boolean;
|
|
19
20
|
resolve(str: string): string;
|
|
21
|
+
upload(localPath: string, remotePath: string): Promise<void>;
|
|
22
|
+
download(remotePath: string, localPath: string): Promise<void>;
|
|
20
23
|
flush(): Promise<void>;
|
|
21
24
|
}
|
package/build/src/task/runner.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Strategy } from "../enums.js";
|
|
2
|
-
import { ssh } from "../utils.js";
|
|
1
|
+
import { Strategy, Verbose } from "../enums.js";
|
|
2
|
+
import { ssh, scpArgs, scpTarget } from "../utils.js";
|
|
3
|
+
import { $ } from 'execa';
|
|
3
4
|
import { logger } from "../logger.js";
|
|
5
|
+
import { posix } from 'node:path';
|
|
4
6
|
export class TaskRunner {
|
|
5
7
|
#ctx = null;
|
|
6
8
|
#commands = [];
|
|
@@ -23,15 +25,15 @@ export class TaskRunner {
|
|
|
23
25
|
bin(name) {
|
|
24
26
|
return this.#ctx?.host.bin?.[name] ?? name;
|
|
25
27
|
}
|
|
26
|
-
isVerbose() {
|
|
27
|
-
return this.#ctx?.config.verbose ?? 0;
|
|
28
|
+
isVerbose(level) {
|
|
29
|
+
return (this.#ctx?.config.verbose ?? 0) >= level;
|
|
28
30
|
}
|
|
29
31
|
resolve(str) {
|
|
30
32
|
if (!this.#ctx)
|
|
31
33
|
return str;
|
|
32
34
|
const p = this.#ctx.paths;
|
|
33
|
-
const strategy = this.#ctx.config.strategy ?? Strategy.
|
|
34
|
-
const buildPath = strategy === Strategy.
|
|
35
|
+
const strategy = this.#ctx.config.strategy ?? Strategy.DIRECT;
|
|
36
|
+
const buildPath = strategy === Strategy.BUILD ? p.builder : p.release;
|
|
35
37
|
return str
|
|
36
38
|
.replace(/\{\{release_path\}\}/g, p.release)
|
|
37
39
|
.replace(/\{\{builder_path\}\}/g, buildPath)
|
|
@@ -41,17 +43,35 @@ export class TaskRunner {
|
|
|
41
43
|
.replace(/\{\{base_path\}\}/g, p.base)
|
|
42
44
|
.replace(/\{\{release\}\}/g, this.#ctx.release);
|
|
43
45
|
}
|
|
46
|
+
async upload(localPath, remotePath) {
|
|
47
|
+
await this.flush();
|
|
48
|
+
if (!this.#ctx)
|
|
49
|
+
throw new Error('upload() must be called inside a task');
|
|
50
|
+
const args = ['-r', ...scpArgs(this.#ctx.host)];
|
|
51
|
+
const resolved = posix.isAbsolute(remotePath) ? remotePath : posix.join(this.#ctx.host.deployPath, remotePath);
|
|
52
|
+
const target = `${scpTarget(this.#ctx.host)}:${resolved}`;
|
|
53
|
+
await $ `scp ${args} ${localPath} ${target}`;
|
|
54
|
+
}
|
|
55
|
+
async download(remotePath, localPath) {
|
|
56
|
+
await this.flush();
|
|
57
|
+
if (!this.#ctx)
|
|
58
|
+
throw new Error('download() must be called inside a task');
|
|
59
|
+
const args = ['-r', ...scpArgs(this.#ctx.host)];
|
|
60
|
+
const resolved = posix.isAbsolute(remotePath) ? remotePath : posix.join(this.#ctx.host.deployPath, remotePath);
|
|
61
|
+
const source = `${scpTarget(this.#ctx.host)}:${resolved}`;
|
|
62
|
+
await $ `scp ${args} ${source} ${localPath}`;
|
|
63
|
+
}
|
|
44
64
|
async flush() {
|
|
45
65
|
if (!this.#ctx || this.#commands.length === 0)
|
|
46
66
|
return;
|
|
47
67
|
const cmds = this.#commands.splice(0);
|
|
48
|
-
const verbose = this.#ctx.config.verbose ??
|
|
49
|
-
if (verbose >=
|
|
68
|
+
const verbose = this.#ctx.config.verbose ?? Verbose.SILENT;
|
|
69
|
+
if (verbose >= Verbose.TRACE) {
|
|
50
70
|
for (const cmd of cmds)
|
|
51
71
|
logger.cmd(cmd);
|
|
52
72
|
}
|
|
53
73
|
const subprocess = ssh(this.#ctx.host, ['set -e', ...cmds].join('\n'), { color: true });
|
|
54
|
-
if (verbose >=
|
|
74
|
+
if (verbose >= Verbose.DEBUG)
|
|
55
75
|
subprocess.stdout?.pipe(process.stdout);
|
|
56
76
|
await subprocess;
|
|
57
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/task/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/task/runner.ts"],"names":[],"mappings":"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"}
|
package/build/src/task.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Host, DeployContext, TaskName } from './types.ts';
|
|
2
2
|
import { type TaskFn } from './task/runner.ts';
|
|
3
|
+
import type { Verbose } from './enums.ts';
|
|
3
4
|
export type { TaskContext } from './task/runner.ts';
|
|
4
5
|
export declare function desc(description: string): void;
|
|
5
6
|
export declare function task(name: TaskName, fn: TaskFn): void;
|
|
@@ -10,4 +11,6 @@ export declare function runTask(name: TaskName, deployCtx: DeployContext, host:
|
|
|
10
11
|
export declare function cd(path: string): void;
|
|
11
12
|
export declare function run(command: string): void;
|
|
12
13
|
export declare function bin(name: string): string;
|
|
13
|
-
export declare function isVerbose():
|
|
14
|
+
export declare function isVerbose(level: Verbose): boolean;
|
|
15
|
+
export declare function upload(localPath: string, remotePath: string): Promise<void>;
|
|
16
|
+
export declare function download(remotePath: string, localPath: string): Promise<void>;
|
package/build/src/task.js
CHANGED
|
@@ -30,7 +30,13 @@ export function run(command) {
|
|
|
30
30
|
export function bin(name) {
|
|
31
31
|
return runner.bin(name);
|
|
32
32
|
}
|
|
33
|
-
export function isVerbose() {
|
|
34
|
-
return runner.isVerbose();
|
|
33
|
+
export function isVerbose(level) {
|
|
34
|
+
return runner.isVerbose(level);
|
|
35
|
+
}
|
|
36
|
+
export function upload(localPath, remotePath) {
|
|
37
|
+
return runner.upload(localPath, remotePath);
|
|
38
|
+
}
|
|
39
|
+
export function download(remotePath, localPath) {
|
|
40
|
+
return runner.download(remotePath, localPath);
|
|
35
41
|
}
|
|
36
42
|
//# sourceMappingURL=task.js.map
|
package/build/src/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAI9B,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC/B,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;AAEnC,MAAM,UAAU,IAAI,CAAC,WAAmB;IACtC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAc,EAAE,EAAU;IAC7C,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAc;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,OAAO,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc,EAAE,SAAwB,EAAE,IAAU;IAChF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAMD,MAAM,UAAU,EAAE,CAAC,IAAY;IAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,SAAiB,EAAE,UAAkB;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,SAAiB;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAC/C,CAAC"}
|
package/build/src/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Strategy, PackageManager } from './enums.ts';
|
|
1
|
+
import type { Strategy, PackageManager, Verbose } from './enums.ts';
|
|
2
2
|
export interface BranchWithPrompt {
|
|
3
3
|
name: string;
|
|
4
4
|
ask: boolean;
|
|
@@ -55,7 +55,7 @@ export interface Config {
|
|
|
55
55
|
packageManager?: PackageManager;
|
|
56
56
|
hosts: Host[];
|
|
57
57
|
hooks?: Hooks;
|
|
58
|
-
verbose?:
|
|
58
|
+
verbose?: Verbose;
|
|
59
59
|
}
|
|
60
60
|
export interface DeployContext {
|
|
61
61
|
config: Config;
|
package/build/src/utils.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export declare function q(value: unknown): string;
|
|
|
6
6
|
export declare function getPaths(baseDir: string, releaseName: string): Paths;
|
|
7
7
|
export declare function resolveSshArgs(host: Host): string[];
|
|
8
8
|
export declare function sshControlArgs(host: Host): string[];
|
|
9
|
+
export declare function scpArgs(host: Host): string[];
|
|
10
|
+
export declare function scpTarget(host: Host): string;
|
|
9
11
|
export declare function rsyncSshFlag(host: Host): string;
|
|
10
12
|
export declare function ssh(host: Host, command: string, opts?: {
|
|
11
13
|
quiet?: boolean;
|
package/build/src/utils.js
CHANGED
|
@@ -7,11 +7,11 @@ import { access } from 'node:fs/promises';
|
|
|
7
7
|
import { logger } from "./logger.js";
|
|
8
8
|
const DEPLOY_CANDIDATES = ['deploy.ts', 'deploy.js'];
|
|
9
9
|
const PM_LOCK_FILES = [
|
|
10
|
-
['bun.lock', PackageManager.
|
|
11
|
-
['bun.lockb', PackageManager.
|
|
12
|
-
['pnpm-lock.yaml', PackageManager.
|
|
13
|
-
['yarn.lock', PackageManager.
|
|
14
|
-
['package-lock.json', PackageManager.
|
|
10
|
+
['bun.lock', PackageManager.BUN],
|
|
11
|
+
['bun.lockb', PackageManager.BUN],
|
|
12
|
+
['pnpm-lock.yaml', PackageManager.PNPM],
|
|
13
|
+
['yarn.lock', PackageManager.YARN],
|
|
14
|
+
['package-lock.json', PackageManager.NPM],
|
|
15
15
|
];
|
|
16
16
|
export async function detectPackageManager(cwd = process.cwd()) {
|
|
17
17
|
for (const [lockFile, manager] of PM_LOCK_FILES) {
|
|
@@ -21,7 +21,7 @@ export async function detectPackageManager(cwd = process.cwd()) {
|
|
|
21
21
|
}
|
|
22
22
|
catch { }
|
|
23
23
|
}
|
|
24
|
-
return PackageManager.
|
|
24
|
+
return PackageManager.NPM;
|
|
25
25
|
}
|
|
26
26
|
export async function findDeployFile(cwd = process.cwd()) {
|
|
27
27
|
for (const candidate of DEPLOY_CANDIDATES) {
|
|
@@ -62,6 +62,15 @@ export function sshControlArgs(host) {
|
|
|
62
62
|
const socket = join(tmpdir(), `cata-${hash}.sock`);
|
|
63
63
|
return ['-o', 'ControlMaster=auto', '-o', `ControlPath=${socket}`, '-o', 'ControlPersist=300'];
|
|
64
64
|
}
|
|
65
|
+
export function scpArgs(host) {
|
|
66
|
+
const portArgs = typeof host.ssh === 'object' && host.ssh.port ? ['-P', String(host.ssh.port)] : [];
|
|
67
|
+
return [...portArgs, ...sshControlArgs(host)];
|
|
68
|
+
}
|
|
69
|
+
export function scpTarget(host) {
|
|
70
|
+
if (typeof host.ssh === 'string')
|
|
71
|
+
return host.ssh;
|
|
72
|
+
return `${host.ssh.user}@${host.ssh.host}`;
|
|
73
|
+
}
|
|
65
74
|
export function rsyncSshFlag(host) {
|
|
66
75
|
const controlOpts = sshControlArgs(host).join(' ');
|
|
67
76
|
const port = typeof host.ssh === 'object' && host.ssh.port ? ` -p ${host.ssh.port}` : '';
|
|
@@ -76,7 +85,7 @@ export function ssh(host, command, opts) {
|
|
|
76
85
|
return $ `ssh ${args} ${"bash -lc 'echo " + b64 + "|base64 -d|bash'"}`;
|
|
77
86
|
}
|
|
78
87
|
export async function sleep(ms) {
|
|
79
|
-
return new Promise((
|
|
88
|
+
return new Promise((res) => setTimeout(res, ms));
|
|
80
89
|
}
|
|
81
90
|
export function elapsed(ms) {
|
|
82
91
|
const total = Math.round(ms / 1000);
|
package/build/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,41 +10,41 @@ function setManager(packageManager) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
test.group('package_manager', (group) => {
|
|
13
|
-
group.each.teardown(() => setManager(PackageManager.
|
|
13
|
+
group.each.teardown(() => setManager(PackageManager.NPM));
|
|
14
14
|
test('pm() returns npm by default', ({ assert }) => {
|
|
15
15
|
setManager(undefined);
|
|
16
16
|
assert.equal(pm(), 'npm');
|
|
17
17
|
});
|
|
18
18
|
test('pm() returns pnpm when set', ({ assert }) => {
|
|
19
|
-
setManager(PackageManager.
|
|
19
|
+
setManager(PackageManager.PNPM);
|
|
20
20
|
assert.equal(pm(), 'pnpm');
|
|
21
21
|
});
|
|
22
22
|
test('pm() returns yarn when set', ({ assert }) => {
|
|
23
|
-
setManager(PackageManager.
|
|
23
|
+
setManager(PackageManager.YARN);
|
|
24
24
|
assert.equal(pm(), 'yarn');
|
|
25
25
|
});
|
|
26
26
|
test('pmInstall() returns npm ci for npm', ({ assert }) => {
|
|
27
|
-
setManager(PackageManager.
|
|
27
|
+
setManager(PackageManager.NPM);
|
|
28
28
|
assert.equal(pmInstall(), 'npm ci');
|
|
29
29
|
});
|
|
30
30
|
test('pmInstall() returns frozen lockfile command for pnpm', ({ assert }) => {
|
|
31
|
-
setManager(PackageManager.
|
|
31
|
+
setManager(PackageManager.PNPM);
|
|
32
32
|
assert.equal(pmInstall(), 'pnpm install --frozen-lockfile');
|
|
33
33
|
});
|
|
34
34
|
test('pmInstall() returns frozen lockfile command for yarn', ({ assert }) => {
|
|
35
|
-
setManager(PackageManager.
|
|
35
|
+
setManager(PackageManager.YARN);
|
|
36
36
|
assert.equal(pmInstall(), 'yarn install --frozen-lockfile');
|
|
37
37
|
});
|
|
38
38
|
test('pmInstallProd() returns npm ci --omit=dev for npm', ({ assert }) => {
|
|
39
|
-
setManager(PackageManager.
|
|
39
|
+
setManager(PackageManager.NPM);
|
|
40
40
|
assert.equal(pmInstallProd(), 'npm ci --omit=dev');
|
|
41
41
|
});
|
|
42
42
|
test('pmInstallProd() returns pnpm install --frozen-lockfile --prod for pnpm', ({ assert }) => {
|
|
43
|
-
setManager(PackageManager.
|
|
43
|
+
setManager(PackageManager.PNPM);
|
|
44
44
|
assert.equal(pmInstallProd(), 'pnpm install --frozen-lockfile --prod');
|
|
45
45
|
});
|
|
46
|
-
test('pmInstallProd() returns yarn install --frozen-lockfile --production for yarn', ({ assert }) => {
|
|
47
|
-
setManager(PackageManager.
|
|
46
|
+
test('pmInstallProd() returns yarn install --frozen-lockfile --production for yarn', ({ assert, }) => {
|
|
47
|
+
setManager(PackageManager.YARN);
|
|
48
48
|
assert.equal(pmInstallProd(), 'yarn install --frozen-lockfile --production');
|
|
49
49
|
});
|
|
50
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package_manager.spec.js","sourceRoot":"","sources":["../../tests/package_manager.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,SAAS,UAAU,CAAC,cAAwC;IAC1D,OAAO,CAAC,GAAG,CAAC;QACV,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE;QACtD,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;IACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;IAEzD,IAAI,CAAC,6BAA6B,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACjD,UAAU,CAAC,SAAS,CAAC,CAAA;QACrB,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAChD,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAChD,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxD,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1E,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,gCAAgC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1E,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,gCAAgC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mDAAmD,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACvE,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wEAAwE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC5F,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,uCAAuC,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8EAA8E,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"package_manager.spec.js","sourceRoot":"","sources":["../../tests/package_manager.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { test } from '@japa/runner';
|
|
2
|
-
import { getPipeline, setPipeline, before, after, remove, onSetup, onStatus } from "../src/pipeline.js";
|
|
2
|
+
import { getPipeline, setPipeline, before, after, remove, inPipeline, onSetup, onStatus, } from "../src/pipeline.js";
|
|
3
3
|
import { hooks } from "../src/pipeline/hooks.js";
|
|
4
4
|
const DEFAULT_PIPELINE = [
|
|
5
5
|
'deploy:lock',
|
|
@@ -53,17 +53,28 @@ test.group('pipeline', (group) => {
|
|
|
53
53
|
test('remove throws when the task does not exist', ({ assert }) => {
|
|
54
54
|
assert.throws(() => remove('nonexistent:task'), /not found in pipeline/);
|
|
55
55
|
});
|
|
56
|
+
test('inPipeline returns true when task is present', ({ assert }) => {
|
|
57
|
+
assert.isTrue(inPipeline('deploy:publish'));
|
|
58
|
+
});
|
|
59
|
+
test('inPipeline returns false when task is absent', ({ assert }) => {
|
|
60
|
+
assert.isFalse(inPipeline('nonexistent:task'));
|
|
61
|
+
});
|
|
62
|
+
test('inPipeline reflects pipeline changes', ({ assert }) => {
|
|
63
|
+
assert.isTrue(inPipeline('deploy:healthcheck'));
|
|
64
|
+
remove('deploy:healthcheck');
|
|
65
|
+
assert.isFalse(inPipeline('deploy:healthcheck'));
|
|
66
|
+
});
|
|
56
67
|
});
|
|
57
68
|
test.group('pipeline — hooks', () => {
|
|
58
69
|
test('onSetup registers a setup hook', ({ assert }) => {
|
|
59
|
-
const
|
|
70
|
+
const count = hooks.getSetup().length;
|
|
60
71
|
onSetup(async () => { });
|
|
61
|
-
assert.equal(hooks.getSetup().length,
|
|
72
|
+
assert.equal(hooks.getSetup().length, count + 1);
|
|
62
73
|
});
|
|
63
74
|
test('onStatus registers a status hook', ({ assert }) => {
|
|
64
|
-
const
|
|
75
|
+
const count = hooks.getStatus().length;
|
|
65
76
|
onStatus(async () => { });
|
|
66
|
-
assert.equal(hooks.getStatus().length,
|
|
77
|
+
assert.equal(hooks.getStatus().length, count + 1);
|
|
67
78
|
});
|
|
68
79
|
});
|
|
69
80
|
//# sourceMappingURL=pipeline.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.spec.js","sourceRoot":"","sources":["../../tests/pipeline.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"pipeline.spec.js","sourceRoot":"","sources":["../../tests/pipeline.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { test } from '@japa/runner';
|
|
2
|
-
import { set, get } from "../src/store.js";
|
|
2
|
+
import { set, get, has } from "../src/store.js";
|
|
3
3
|
test.group('store', () => {
|
|
4
4
|
test('get returns undefined when key is not set', ({ assert }) => {
|
|
5
5
|
assert.isUndefined(get('store__unset_key'));
|
|
@@ -36,5 +36,16 @@ test.group('store', () => {
|
|
|
36
36
|
set('store__obj', { a: 1, b: 'x' });
|
|
37
37
|
assert.deepEqual(get('store__obj'), { a: 1, b: 'x' });
|
|
38
38
|
});
|
|
39
|
+
test('has returns false when key is not set', ({ assert }) => {
|
|
40
|
+
assert.isFalse(has('store__has_missing'));
|
|
41
|
+
});
|
|
42
|
+
test('has returns true after set', ({ assert }) => {
|
|
43
|
+
set('store__has_key', 'value');
|
|
44
|
+
assert.isTrue(has('store__has_key'));
|
|
45
|
+
});
|
|
46
|
+
test('has returns true for falsy values', ({ assert }) => {
|
|
47
|
+
set('store__has_falsy', false);
|
|
48
|
+
assert.isTrue(has('store__has_falsy'));
|
|
49
|
+
});
|
|
39
50
|
});
|
|
40
51
|
//# sourceMappingURL=store.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.spec.js","sourceRoot":"","sources":["../../tests/store.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"store.spec.js","sourceRoot":"","sources":["../../tests/store.spec.ts"],"names":[],"mappings":"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"}
|