@catapultjs/deploy 0.4.0 → 0.6.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 +31 -1
- 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/rollback.d.ts +1 -0
- package/build/commands/rollback.js +34 -2
- package/build/commands/rollback.js.map +1 -1
- package/build/recipes/adonisjs.d.ts +4 -3
- package/build/recipes/adonisjs.js +22 -32
- package/build/recipes/adonisjs.js.map +1 -1
- package/build/recipes/astro.js +15 -0
- package/build/recipes/astro.js.map +1 -0
- package/build/recipes/directus.d.ts +8 -0
- package/build/recipes/directus.js +30 -0
- package/build/recipes/directus.js.map +1 -0
- package/build/recipes/git.js +3 -3
- package/build/recipes/git.js.map +1 -1
- package/build/recipes/nuxt.d.ts +6 -0
- package/build/recipes/nuxt.js +18 -0
- package/build/recipes/nuxt.js.map +1 -0
- package/build/recipes/redis.d.ts +7 -0
- package/build/recipes/redis.js +14 -0
- package/build/recipes/redis.js.map +1 -0
- package/build/recipes/rsync.js +6 -5
- package/build/recipes/rsync.js.map +1 -1
- package/build/recipes/vitepress.js +14 -0
- package/build/recipes/vitepress.js.map +1 -0
- package/build/src/actions.d.ts +1 -0
- package/build/src/actions.js +17 -0
- package/build/src/actions.js.map +1 -0
- package/build/src/base_command.js +1 -1
- package/build/src/base_command.js.map +1 -1
- package/build/src/defaults.d.ts +3 -1
- package/build/src/defaults.js +37 -38
- package/build/src/defaults.js.map +1 -1
- package/build/src/define_config.js +5 -13
- package/build/src/define_config.js.map +1 -1
- package/build/src/deployer.d.ts +2 -1
- package/build/src/deployer.js +9 -6
- package/build/src/deployer.js.map +1 -1
- package/build/src/enums.d.ts +0 -5
- package/build/src/enums.js +0 -4
- package/build/src/enums.js.map +1 -1
- package/build/src/package_manager.d.ts +1 -0
- package/build/src/package_manager.js +10 -1
- package/build/src/package_manager.js.map +1 -1
- package/build/src/pipeline/store.d.ts +1 -0
- package/build/src/pipeline/store.js +18 -14
- package/build/src/pipeline/store.js.map +1 -1
- package/build/src/pipeline.d.ts +3 -1
- package/build/src/pipeline.js +4 -0
- package/build/src/pipeline.js.map +1 -1
- package/build/src/task/runner.d.ts +3 -0
- package/build/src/task/runner.js +27 -6
- package/build/src/task/runner.js.map +1 -1
- package/build/src/task.d.ts +3 -0
- package/build/src/task.js +3 -0
- package/build/src/task.js.map +1 -1
- package/build/src/types.d.ts +1 -3
- package/build/src/utils.d.ts +2 -0
- package/build/src/utils.js +20 -1
- package/build/src/utils.js.map +1 -1
- package/package.json +8 -2
- package/build/bin/test.js +0 -9
- package/build/bin/test.js.map +0 -1
- package/build/recipes/bun.d.ts +0 -8
- package/build/recipes/bun.js +0 -22
- package/build/recipes/bun.js.map +0 -1
- package/build/recipes/nodejs.d.ts +0 -9
- package/build/recipes/nodejs.js +0 -43
- package/build/recipes/nodejs.js.map +0 -1
- package/build/tests/package_manager.spec.js +0 -51
- package/build/tests/package_manager.spec.js.map +0 -1
- package/build/tests/pipeline.spec.d.ts +0 -1
- package/build/tests/pipeline.spec.js +0 -80
- package/build/tests/pipeline.spec.js.map +0 -1
- package/build/tests/store.spec.d.ts +0 -1
- package/build/tests/store.spec.js +0 -51
- package/build/tests/store.spec.js.map +0 -1
- package/build/tests/task.spec.d.ts +0 -1
- package/build/tests/task.spec.js +0 -108
- package/build/tests/task.spec.js.map +0 -1
- /package/build/{bin/test.d.ts → recipes/astro.d.ts} +0 -0
- /package/build/{tests/package_manager.spec.d.ts → recipes/vitepress.d.ts} +0 -0
package/build/src/defaults.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { $ } from 'execa';
|
|
2
2
|
import { q, ssh, sleep } from "./utils.js";
|
|
3
|
-
import { task, desc, run, isVerbose } from "./task.js";
|
|
3
|
+
import { task, desc, cd, run, isVerbose } from "./task.js";
|
|
4
|
+
import { pm, pmInstall } from "./package_manager.js";
|
|
5
|
+
import { initPipeline as setPipeline } from "./pipeline.js";
|
|
4
6
|
import { Verbose } from "./enums.js";
|
|
5
|
-
import {
|
|
7
|
+
import { linkSharedPaths } from "./actions.js";
|
|
6
8
|
desc('Creates a deploy lock to prevent concurrent deployments');
|
|
7
9
|
task('deploy:lock', async ({ host, release, paths }) => {
|
|
8
10
|
try {
|
|
@@ -31,42 +33,13 @@ desc('Creates the release directory on the server');
|
|
|
31
33
|
task('deploy:release', () => {
|
|
32
34
|
run('mkdir -p {{release_path}}');
|
|
33
35
|
});
|
|
34
|
-
desc('
|
|
35
|
-
task('deploy:update_code',
|
|
36
|
+
desc('Method for updating code');
|
|
37
|
+
task('deploy:update_code', () => {
|
|
38
|
+
throw new Error('Please implement this task');
|
|
39
|
+
});
|
|
36
40
|
desc('Symlinks shared directories and files into the release');
|
|
37
41
|
task('deploy:shared', () => {
|
|
38
|
-
|
|
39
|
-
const files = get('shared_files', []);
|
|
40
|
-
for (const dir of dirs) {
|
|
41
|
-
const d = dir.replace(/^\//, '');
|
|
42
|
-
run(`rm -rf {{release_path}}/${d}`);
|
|
43
|
-
run(`ln -sfn {{shared_path}}/${d} {{release_path}}/${d}`);
|
|
44
|
-
}
|
|
45
|
-
for (const file of files) {
|
|
46
|
-
const f = file.replace(/^\//, '');
|
|
47
|
-
run(`rm -f {{release_path}}/${f}`);
|
|
48
|
-
run(`ln -sfn {{shared_path}}/${f} {{release_path}}/${f}`);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
desc('Symlinks shared directories and files into the build');
|
|
52
|
-
task('deploy:build:shared', () => {
|
|
53
|
-
const dirs = get('shared_dirs', []);
|
|
54
|
-
const files = get('shared_files', []);
|
|
55
|
-
for (const dir of dirs) {
|
|
56
|
-
const d = dir.replace(/^\//, '');
|
|
57
|
-
run(`rm -rf {{builder_path}}/${d}`);
|
|
58
|
-
run(`ln -sfn {{shared_path}}/${d} {{builder_path}}/${d}`);
|
|
59
|
-
}
|
|
60
|
-
for (const file of files) {
|
|
61
|
-
const f = file.replace(/^\//, '');
|
|
62
|
-
run(`rm -f {{builder_path}}/${f}`);
|
|
63
|
-
run(`ln -sfn {{shared_path}}/${f} {{builder_path}}/${f}`);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
desc('Copies build output from build directory to the release');
|
|
67
|
-
task('deploy:build:copy', () => {
|
|
68
|
-
const output = get('build_output', 'build');
|
|
69
|
-
run(`cp -r {{builder_path}}/${output}/. {{release_path}}/`);
|
|
42
|
+
linkSharedPaths('{{release_path}}');
|
|
70
43
|
});
|
|
71
44
|
desc('Switches current symlink to the new release');
|
|
72
45
|
task('deploy:publish', () => {
|
|
@@ -142,12 +115,38 @@ task('deploy:cleanup', async ({ config, host, paths }) => {
|
|
|
142
115
|
[ -d ${q(paths.releases)} ] || exit 0
|
|
143
116
|
cd ${q(paths.releases)}
|
|
144
117
|
|
|
145
|
-
count=$(
|
|
118
|
+
count=$(find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | wc -l | tr -d ' ')
|
|
146
119
|
if [ "$count" -le ${config.keepReleases} ]; then
|
|
147
120
|
exit 0
|
|
148
121
|
fi
|
|
149
122
|
|
|
150
|
-
|
|
123
|
+
find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | sort -r | tail -n +$(( ${config.keepReleases} + 1 )) | xargs -r rm -rf
|
|
151
124
|
`);
|
|
152
125
|
});
|
|
126
|
+
desc('Installs dependencies in the release');
|
|
127
|
+
task('deploy:install', () => {
|
|
128
|
+
cd('{{release_path}}');
|
|
129
|
+
run(pmInstall());
|
|
130
|
+
});
|
|
131
|
+
desc('Builds the application in the release');
|
|
132
|
+
task('deploy:build', () => {
|
|
133
|
+
cd('{{release_path}}');
|
|
134
|
+
run(`${pm()} run build`);
|
|
135
|
+
});
|
|
136
|
+
desc('Tests the application in the release');
|
|
137
|
+
task('deploy:test', () => {
|
|
138
|
+
cd('{{release_path}}');
|
|
139
|
+
run(`${pm()} run test`);
|
|
140
|
+
});
|
|
141
|
+
setPipeline([
|
|
142
|
+
'deploy:lock',
|
|
143
|
+
'deploy:release',
|
|
144
|
+
'deploy:update_code',
|
|
145
|
+
'deploy:shared',
|
|
146
|
+
'deploy:publish',
|
|
147
|
+
'deploy:log_revision',
|
|
148
|
+
'deploy:healthcheck',
|
|
149
|
+
'deploy:unlock',
|
|
150
|
+
'deploy:cleanup',
|
|
151
|
+
]);
|
|
153
152
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAoB,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Verbose } from "./enums.js";
|
|
2
2
|
import { Context } from "./context.js";
|
|
3
3
|
import { detectPackageManager } from "./utils.js";
|
|
4
|
-
import { remove, getPipeline
|
|
4
|
+
import { remove, getPipeline } from "./pipeline.js";
|
|
5
5
|
import "./defaults.js";
|
|
6
6
|
const initialConfigValues = {
|
|
7
7
|
keepReleases: 5,
|
|
8
|
-
verbose: Verbose.
|
|
9
|
-
strategy: Strategy.DIRECT,
|
|
8
|
+
verbose: Verbose.TRACE,
|
|
10
9
|
};
|
|
11
10
|
export function defineConfig(config) {
|
|
11
|
+
const resolved = { ...initialConfigValues, ...config };
|
|
12
12
|
return async () => {
|
|
13
13
|
const pm = await detectPackageManager();
|
|
14
14
|
const release = new Date().toISOString().replace(/[:.]/g, '-');
|
|
15
|
-
const initial = { packageManager: pm, ...initialConfigValues };
|
|
16
15
|
Context.set({
|
|
17
|
-
config: {
|
|
16
|
+
config: { packageManager: pm, ...resolved },
|
|
18
17
|
release,
|
|
19
18
|
hooks: config.hooks ?? {},
|
|
20
19
|
});
|
|
@@ -22,13 +21,6 @@ export function defineConfig(config) {
|
|
|
22
21
|
if (!hasHealthcheck && getPipeline().includes('deploy:healthcheck')) {
|
|
23
22
|
remove('deploy:healthcheck');
|
|
24
23
|
}
|
|
25
|
-
const strategy = config.strategy ?? initialConfigValues.strategy;
|
|
26
|
-
if (strategy !== Strategy.BUILD) {
|
|
27
|
-
if (inPipeline('deploy:build:copy'))
|
|
28
|
-
remove('deploy:build:copy');
|
|
29
|
-
if (inPipeline('deploy:build:shared'))
|
|
30
|
-
remove('deploy:build:shared');
|
|
31
|
-
}
|
|
32
24
|
};
|
|
33
25
|
}
|
|
34
26
|
//# sourceMappingURL=define_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,eAAe,CAAA;AAEtB,MAAM,mBAAmB,GAAG;IAC1B,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,KAAK;CACvB,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,QAAQ,GAAW,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAAA;IAE9D,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,OAAO,CAAC,GAAG,CAAC;YACV,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE;YAC3C,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;IACH,CAAC,CAAA;AACH,CAAC"}
|
package/build/src/deployer.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Host, DeployContext } from './types.ts';
|
|
2
2
|
export declare function setupHost(ctx: DeployContext, host: Host): Promise<void>;
|
|
3
3
|
export declare function getCurrentRelease(ctx: DeployContext, host: Host): Promise<string | null>;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function getReleaseNames(ctx: DeployContext, host: Host): Promise<string[]>;
|
|
5
|
+
export declare function rollbackHost(ctx: DeployContext, host: Host, target?: string): Promise<void>;
|
|
5
6
|
export declare function deployHost(ctx: DeployContext, host: Host): Promise<void>;
|
package/build/src/deployer.js
CHANGED
|
@@ -46,9 +46,8 @@ export async function getCurrentRelease(ctx, host) {
|
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
async function
|
|
49
|
+
export async function getReleaseNames(ctx, host) {
|
|
50
50
|
const paths = getPaths(host.deployPath, ctx.release);
|
|
51
|
-
const currentRelease = await getCurrentRelease(ctx, host);
|
|
52
51
|
let stdout = '';
|
|
53
52
|
try {
|
|
54
53
|
;
|
|
@@ -59,20 +58,24 @@ async function getPreviousReleaseName(ctx, host) {
|
|
|
59
58
|
`));
|
|
60
59
|
}
|
|
61
60
|
catch {
|
|
62
|
-
return
|
|
61
|
+
return [];
|
|
63
62
|
}
|
|
64
|
-
|
|
63
|
+
return stdout
|
|
65
64
|
.split('\n')
|
|
66
65
|
.map((line) => line.trim().replace(/\/$/, ''))
|
|
67
66
|
.filter(Boolean);
|
|
67
|
+
}
|
|
68
|
+
async function getPreviousReleaseName(ctx, host) {
|
|
69
|
+
const currentRelease = await getCurrentRelease(ctx, host);
|
|
70
|
+
const releases = await getReleaseNames(ctx, host);
|
|
68
71
|
if (!currentRelease) {
|
|
69
72
|
return releases[1] || releases[0] || null;
|
|
70
73
|
}
|
|
71
74
|
return releases.find((name) => name !== currentRelease) ?? null;
|
|
72
75
|
}
|
|
73
|
-
export async function rollbackHost(ctx, host) {
|
|
76
|
+
export async function rollbackHost(ctx, host, target) {
|
|
74
77
|
const paths = getPaths(host.deployPath, ctx.release);
|
|
75
|
-
const previous = await getPreviousReleaseName(ctx, host);
|
|
78
|
+
const previous = target ?? (await getPreviousReleaseName(ctx, host));
|
|
76
79
|
if (!previous) {
|
|
77
80
|
throw new Error(`[${host.name}] no previous release available`);
|
|
78
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,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,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAC7E,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAkB,EAAE,IAAU;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAEpD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAE5F,MAAM,IAAI,GAAa,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAa,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1F,MAAM,OAAO,GAAG,KAAK;SAClB,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAChG;SACA,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEjB,MAAM,GAAG,CACP,IAAI,EACJ;;eAEW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;eACb,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;eACjB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;eACf,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;MAC5B,MAAM;MACN,OAAO;GACV,CACA,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAkB,EAAE,IAAU;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAC1B,IAAI,EACJ;;gBAEU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;+BACD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;;KAE1C,CACA,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
|
package/build/src/enums.d.ts
CHANGED
package/build/src/enums.js
CHANGED
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,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA,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,7 +1,8 @@
|
|
|
1
1
|
import { bin } from "./task.js";
|
|
2
2
|
import { Context } from "./context.js";
|
|
3
|
+
import { PackageManager } from "./enums.js";
|
|
3
4
|
function getManager() {
|
|
4
|
-
return Context.get().config.packageManager ??
|
|
5
|
+
return Context.get().config.packageManager ?? PackageManager.NPM;
|
|
5
6
|
}
|
|
6
7
|
export function pm() {
|
|
7
8
|
return bin(getManager());
|
|
@@ -22,4 +23,12 @@ export function pmInstallProd() {
|
|
|
22
23
|
return `${pm()} install --frozen-lockfile --production`;
|
|
23
24
|
return `${pm()} ci --omit=dev`;
|
|
24
25
|
}
|
|
26
|
+
export function pmExec(command) {
|
|
27
|
+
const manager = getManager();
|
|
28
|
+
if (manager === PackageManager.BUN)
|
|
29
|
+
return `${pm()} x ${command}`;
|
|
30
|
+
if (manager === PackageManager.NPM)
|
|
31
|
+
return `${pm()} exec -- ${command}`;
|
|
32
|
+
return `${pm()} exec ${command}`;
|
|
33
|
+
}
|
|
25
34
|
//# sourceMappingURL=package_manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package_manager.js","sourceRoot":"","sources":["../../src/package_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"package_manager.js","sourceRoot":"","sources":["../../src/package_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAA;AAClE,CAAC;AAGD,MAAM,UAAU,EAAE;IAChB,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;AAC1B,CAAC;AAGD,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,EAAE,EAAE,4BAA4B,CAAA;IAClE,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,EAAE,EAAE,4BAA4B,CAAA;IAClE,OAAO,GAAG,EAAE,EAAE,KAAK,CAAA;AACrB,CAAC;AAGD,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,EAAE,EAAE,mCAAmC,CAAA;IACzE,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,EAAE,EAAE,yCAAyC,CAAA;IAC/E,OAAO,GAAG,EAAE,EAAE,gBAAgB,CAAA;AAChC,CAAC;AAGD,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,IAAI,OAAO,KAAK,cAAc,CAAC,GAAG;QAAE,OAAO,GAAG,EAAE,EAAE,MAAM,OAAO,EAAE,CAAA;IACjE,IAAI,OAAO,KAAK,cAAc,CAAC,GAAG;QAAE,OAAO,GAAG,EAAE,EAAE,YAAY,OAAO,EAAE,CAAA;IACvE,OAAO,GAAG,EAAE,EAAE,SAAS,OAAO,EAAE,CAAA;AAClC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { TaskName } from '../types.ts';
|
|
|
2
2
|
export declare class PipelineStore {
|
|
3
3
|
#private;
|
|
4
4
|
get(): string[];
|
|
5
|
+
init(tasks: TaskName[]): void;
|
|
5
6
|
set(tasks: TaskName[]): void;
|
|
6
7
|
before(existing: TaskName, newTask: TaskName): void;
|
|
7
8
|
after(existing: TaskName, newTask: TaskName): void;
|
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
export class PipelineStore {
|
|
2
|
-
#pipeline = [
|
|
3
|
-
'deploy:lock',
|
|
4
|
-
'deploy:release',
|
|
5
|
-
'deploy:update_code',
|
|
6
|
-
'deploy:build:shared',
|
|
7
|
-
'deploy:build:copy',
|
|
8
|
-
'deploy:shared',
|
|
9
|
-
'deploy:publish',
|
|
10
|
-
'deploy:log_revision',
|
|
11
|
-
'deploy:healthcheck',
|
|
12
|
-
'deploy:unlock',
|
|
13
|
-
'deploy:cleanup',
|
|
14
|
-
];
|
|
2
|
+
#pipeline = [];
|
|
15
3
|
get() {
|
|
16
4
|
return [...this.#pipeline];
|
|
17
5
|
}
|
|
6
|
+
init(tasks) {
|
|
7
|
+
this.#pipeline = [];
|
|
8
|
+
for (const task of tasks) {
|
|
9
|
+
if (this.has(task))
|
|
10
|
+
this.remove(task);
|
|
11
|
+
this.#pipeline.push(task);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
18
14
|
set(tasks) {
|
|
19
|
-
this
|
|
15
|
+
this.init(tasks);
|
|
20
16
|
}
|
|
21
17
|
before(existing, newTask) {
|
|
18
|
+
if (existing === newTask)
|
|
19
|
+
return;
|
|
20
|
+
if (this.has(newTask))
|
|
21
|
+
this.remove(newTask);
|
|
22
22
|
const idx = this.#pipeline.indexOf(existing);
|
|
23
23
|
if (idx === -1)
|
|
24
24
|
throw new Error(`Task "${existing}" not found in pipeline`);
|
|
25
25
|
this.#pipeline.splice(idx, 0, newTask);
|
|
26
26
|
}
|
|
27
27
|
after(existing, newTask) {
|
|
28
|
+
if (existing === newTask)
|
|
29
|
+
return;
|
|
30
|
+
if (this.has(newTask))
|
|
31
|
+
this.remove(newTask);
|
|
28
32
|
const idx = this.#pipeline.indexOf(existing);
|
|
29
33
|
if (idx === -1)
|
|
30
34
|
throw new Error(`Task "${existing}" not found in pipeline`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/pipeline/store.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,SAAS,GAAa
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/pipeline/store.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,SAAS,GAAa,EAAE,CAAA;IAExB,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,KAAiB;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,QAAkB,EAAE,OAAiB;QAC1C,IAAI,QAAQ,KAAK,OAAO;YAAE,OAAM;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC5C,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,yBAAyB,CAAC,CAAA;QAC3E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,QAAkB,EAAE,OAAiB;QACzC,IAAI,QAAQ,KAAK,OAAO;YAAE,OAAM;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC5C,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,yBAAyB,CAAC,CAAA;QAC3E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,IAAc;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAA;QACvE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC/B,CAAC;CACF"}
|
package/build/src/pipeline.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { TaskName } from './types.ts';
|
|
2
|
-
import { type LifecycleHook } from './pipeline/hooks.ts';
|
|
2
|
+
import { hooks, type LifecycleHook } from './pipeline/hooks.ts';
|
|
3
|
+
export { hooks };
|
|
3
4
|
export type { LifecycleHook } from './pipeline/hooks.ts';
|
|
4
5
|
export declare function getPipeline(): string[];
|
|
5
6
|
export declare function setPipeline(tasks: TaskName[]): void;
|
|
7
|
+
export declare function initPipeline(tasks: TaskName[]): void;
|
|
6
8
|
export declare function before(existing: TaskName, newTask: TaskName): void;
|
|
7
9
|
export declare function after(existing: TaskName, newTask: TaskName): void;
|
|
8
10
|
export declare function inPipeline(name: TaskName): boolean;
|
package/build/src/pipeline.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PipelineStore } from "./pipeline/store.js";
|
|
2
2
|
import { hooks } from "./pipeline/hooks.js";
|
|
3
|
+
export { hooks };
|
|
3
4
|
const pipeline = new PipelineStore();
|
|
4
5
|
export function getPipeline() {
|
|
5
6
|
return pipeline.get();
|
|
@@ -7,6 +8,9 @@ export function getPipeline() {
|
|
|
7
8
|
export function setPipeline(tasks) {
|
|
8
9
|
pipeline.set(tasks);
|
|
9
10
|
}
|
|
11
|
+
export function initPipeline(tasks) {
|
|
12
|
+
pipeline.init(tasks);
|
|
13
|
+
}
|
|
10
14
|
export function before(existing, newTask) {
|
|
11
15
|
pipeline.before(existing, newTask);
|
|
12
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAsB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAsB,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,KAAK,EAAE,CAAA;AAIhB,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;AAGpC,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC;AAGD,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACrB,CAAC;AAGD,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAGD,MAAM,UAAU,MAAM,CAAC,QAAkB,EAAE,OAAiB;IAC1D,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAGD,MAAM,UAAU,KAAK,CAAC,QAAkB,EAAE,OAAiB;IACzD,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACnC,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAGD,MAAM,UAAU,MAAM,CAAC,IAAc;IACnC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAGD,MAAM,UAAU,OAAO,CAAC,EAAiB;IACvC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACpB,CAAC;AAGD,MAAM,UAAU,QAAQ,CAAC,EAAiB;IACxC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACrB,CAAC"}
|
|
@@ -18,6 +18,9 @@ export declare class TaskRunner {
|
|
|
18
18
|
bin(name: string): string;
|
|
19
19
|
isVerbose(level: Verbose): boolean;
|
|
20
20
|
resolve(str: string): string;
|
|
21
|
+
local(command: string, options?: {
|
|
22
|
+
cwd?: string;
|
|
23
|
+
}): Promise<void>;
|
|
21
24
|
upload(localPath: string, remotePath: string): Promise<void>;
|
|
22
25
|
download(remotePath: string, localPath: string): Promise<void>;
|
|
23
26
|
flush(): Promise<void>;
|
package/build/src/task/runner.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Verbose } from "../enums.js";
|
|
2
2
|
import { ssh, scpArgs, scpTarget } from "../utils.js";
|
|
3
3
|
import { $ } from 'execa';
|
|
4
4
|
import { logger } from "../logger.js";
|
|
@@ -32,24 +32,39 @@ export class TaskRunner {
|
|
|
32
32
|
if (!this.#ctx)
|
|
33
33
|
return str;
|
|
34
34
|
const p = this.#ctx.paths;
|
|
35
|
-
const strategy = this.#ctx.config.strategy ?? Strategy.DIRECT;
|
|
36
|
-
const buildPath = strategy === Strategy.BUILD ? p.builder : p.release;
|
|
37
35
|
return str
|
|
38
36
|
.replace(/\{\{release_path\}\}/g, p.release)
|
|
39
|
-
.replace(/\{\{builder_path\}\}/g, buildPath)
|
|
40
37
|
.replace(/\{\{current_path\}\}/g, p.current)
|
|
41
38
|
.replace(/\{\{shared_path\}\}/g, p.shared)
|
|
42
39
|
.replace(/\{\{releases_path\}\}/g, p.releases)
|
|
43
40
|
.replace(/\{\{base_path\}\}/g, p.base)
|
|
44
41
|
.replace(/\{\{release\}\}/g, this.#ctx.release);
|
|
45
42
|
}
|
|
43
|
+
async local(command, options = {}) {
|
|
44
|
+
await this.flush();
|
|
45
|
+
if (!this.#ctx)
|
|
46
|
+
throw new Error('local() must be called inside a task');
|
|
47
|
+
const verbose = this.#ctx.config.verbose ?? Verbose.SILENT;
|
|
48
|
+
if (verbose >= Verbose.TRACE)
|
|
49
|
+
logger.cmd(command);
|
|
50
|
+
const subprocess = $({ shell: true, cwd: options.cwd }) `${command}`;
|
|
51
|
+
if (verbose >= Verbose.DEBUG)
|
|
52
|
+
subprocess.stdout?.pipe(process.stdout);
|
|
53
|
+
await subprocess;
|
|
54
|
+
}
|
|
46
55
|
async upload(localPath, remotePath) {
|
|
47
56
|
await this.flush();
|
|
48
57
|
if (!this.#ctx)
|
|
49
58
|
throw new Error('upload() must be called inside a task');
|
|
50
59
|
const args = ['-r', ...scpArgs(this.#ctx.host)];
|
|
51
|
-
const
|
|
60
|
+
const expanded = this.resolve(remotePath);
|
|
61
|
+
const resolved = posix.isAbsolute(expanded)
|
|
62
|
+
? expanded
|
|
63
|
+
: posix.join(this.#ctx.host.deployPath, expanded);
|
|
52
64
|
const target = `${scpTarget(this.#ctx.host)}:${resolved}`;
|
|
65
|
+
const verbose = this.#ctx.config.verbose ?? Verbose.SILENT;
|
|
66
|
+
if (verbose >= Verbose.TRACE)
|
|
67
|
+
logger.cmd(`scp ${localPath} ${target}`);
|
|
53
68
|
await $ `scp ${args} ${localPath} ${target}`;
|
|
54
69
|
}
|
|
55
70
|
async download(remotePath, localPath) {
|
|
@@ -57,8 +72,14 @@ export class TaskRunner {
|
|
|
57
72
|
if (!this.#ctx)
|
|
58
73
|
throw new Error('download() must be called inside a task');
|
|
59
74
|
const args = ['-r', ...scpArgs(this.#ctx.host)];
|
|
60
|
-
const
|
|
75
|
+
const expanded = this.resolve(remotePath);
|
|
76
|
+
const resolved = posix.isAbsolute(expanded)
|
|
77
|
+
? expanded
|
|
78
|
+
: posix.join(this.#ctx.host.deployPath, expanded);
|
|
61
79
|
const source = `${scpTarget(this.#ctx.host)}:${resolved}`;
|
|
80
|
+
const verbose = this.#ctx.config.verbose ?? Verbose.SILENT;
|
|
81
|
+
if (verbose >= Verbose.TRACE)
|
|
82
|
+
logger.cmd(`scp ${source} ${localPath}`);
|
|
62
83
|
await $ `scp ${args} ${source} ${localPath}`;
|
|
63
84
|
}
|
|
64
85
|
async flush() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/task/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
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
|
@@ -12,5 +12,8 @@ export declare function cd(path: string): void;
|
|
|
12
12
|
export declare function run(command: string): void;
|
|
13
13
|
export declare function bin(name: string): string;
|
|
14
14
|
export declare function isVerbose(level: Verbose): boolean;
|
|
15
|
+
export declare function local(command: string, options?: {
|
|
16
|
+
cwd?: string;
|
|
17
|
+
}): Promise<void>;
|
|
15
18
|
export declare function upload(localPath: string, remotePath: string): Promise<void>;
|
|
16
19
|
export declare function download(remotePath: string, localPath: string): Promise<void>;
|
package/build/src/task.js
CHANGED
|
@@ -33,6 +33,9 @@ export function bin(name) {
|
|
|
33
33
|
export function isVerbose(level) {
|
|
34
34
|
return runner.isVerbose(level);
|
|
35
35
|
}
|
|
36
|
+
export function local(command, options = {}) {
|
|
37
|
+
return runner.local(command, options);
|
|
38
|
+
}
|
|
36
39
|
export function upload(localPath, remotePath) {
|
|
37
40
|
return runner.upload(localPath, remotePath);
|
|
38
41
|
}
|
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;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"}
|
|
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,KAAK,CAAC,OAAe,EAAE,UAA4B,EAAE;IACnE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACvC,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 type {
|
|
1
|
+
import type { PackageManager, Verbose } from './enums.ts';
|
|
2
2
|
export interface BranchWithPrompt {
|
|
3
3
|
name: string;
|
|
4
4
|
ask: boolean;
|
|
@@ -29,7 +29,6 @@ export interface Paths {
|
|
|
29
29
|
shared: string;
|
|
30
30
|
cataConfig: string;
|
|
31
31
|
repo: string;
|
|
32
|
-
builder: string;
|
|
33
32
|
lock: string;
|
|
34
33
|
}
|
|
35
34
|
export interface TaskRegistry {
|
|
@@ -51,7 +50,6 @@ export interface Hooks {
|
|
|
51
50
|
export interface Config {
|
|
52
51
|
keepReleases?: number;
|
|
53
52
|
repository?: string;
|
|
54
|
-
strategy?: Strategy;
|
|
55
53
|
packageManager?: PackageManager;
|
|
56
54
|
hosts: Host[];
|
|
57
55
|
hooks?: Hooks;
|
package/build/src/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Host, Paths } from './types.ts';
|
|
2
2
|
import { PackageManager } from './enums.ts';
|
|
3
|
+
export declare function getPackageLockFileName(cwd?: string): Promise<string | false>;
|
|
3
4
|
export declare function detectPackageManager(cwd?: string): Promise<PackageManager>;
|
|
4
5
|
export declare function findDeployFile(cwd?: string): Promise<string | null>;
|
|
5
6
|
export declare function q(value: unknown): string;
|
|
@@ -8,6 +9,7 @@ export declare function resolveSshArgs(host: Host): string[];
|
|
|
8
9
|
export declare function sshControlArgs(host: Host): string[];
|
|
9
10
|
export declare function scpArgs(host: Host): string[];
|
|
10
11
|
export declare function scpTarget(host: Host): string;
|
|
12
|
+
export declare function resolveHostStringValue(value: unknown, host: Host, key: string): string;
|
|
11
13
|
export declare function rsyncSshFlag(host: Host): string;
|
|
12
14
|
export declare function ssh(host: Host, command: string, opts?: {
|
|
13
15
|
quiet?: boolean;
|