@catapultjs/deploy 0.0.5 → 0.1.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.
Files changed (63) hide show
  1. package/build/bin/run.js +4 -2
  2. package/build/bin/run.js.map +1 -1
  3. package/build/commands/deploy.js +3 -1
  4. package/build/commands/deploy.js.map +1 -1
  5. package/build/commands/list_tasks.js +5 -5
  6. package/build/commands/list_tasks.js.map +1 -1
  7. package/build/commands/{list_pipeline.js → pipeline.js} +2 -2
  8. package/build/commands/pipeline.js.map +1 -0
  9. package/build/commands/run.d.ts +7 -0
  10. package/build/commands/run.js +31 -0
  11. package/build/commands/run.js.map +1 -0
  12. package/build/commands/status.js +12 -0
  13. package/build/commands/status.js.map +1 -1
  14. package/build/recipes/adonisjs.js +32 -8
  15. package/build/recipes/adonisjs.js.map +1 -1
  16. package/build/recipes/bun.d.ts +7 -0
  17. package/build/recipes/bun.js +12 -6
  18. package/build/recipes/bun.js.map +1 -1
  19. package/build/recipes/git.d.ts +1 -0
  20. package/build/recipes/git.js +43 -6
  21. package/build/recipes/git.js.map +1 -1
  22. package/build/recipes/nodejs.js +32 -9
  23. package/build/recipes/nodejs.js.map +1 -1
  24. package/build/recipes/pm2.d.ts +2 -1
  25. package/build/recipes/pm2.js +33 -22
  26. package/build/recipes/pm2.js.map +1 -1
  27. package/build/recipes/rsync.js +2 -1
  28. package/build/recipes/rsync.js.map +1 -1
  29. package/build/src/defaults.d.ts +1 -0
  30. package/build/src/defaults.js +53 -10
  31. package/build/src/defaults.js.map +1 -1
  32. package/build/src/define_config.js +12 -2
  33. package/build/src/define_config.js.map +1 -1
  34. package/build/src/deployer.js +1 -0
  35. package/build/src/deployer.js.map +1 -1
  36. package/build/src/enums.d.ts +12 -0
  37. package/build/src/enums.js +11 -0
  38. package/build/src/enums.js.map +1 -0
  39. package/build/src/package_manager.js +3 -3
  40. package/build/src/package_manager.js.map +1 -1
  41. package/build/src/pipeline/store.js +2 -0
  42. package/build/src/pipeline/store.js.map +1 -1
  43. package/build/src/store.d.ts +1 -0
  44. package/build/src/store.js +3 -0
  45. package/build/src/store.js.map +1 -1
  46. package/build/src/task/runner.d.ts +6 -5
  47. package/build/src/task/runner.js +7 -3
  48. package/build/src/task/runner.js.map +1 -1
  49. package/build/src/task/store.d.ts +2 -0
  50. package/build/src/task/store.js +13 -1
  51. package/build/src/task/store.js.map +1 -1
  52. package/build/src/task.d.ts +2 -0
  53. package/build/src/task.js +6 -0
  54. package/build/src/task.js.map +1 -1
  55. package/build/src/types.d.ts +8 -1
  56. package/build/src/utils.d.ts +2 -1
  57. package/build/src/utils.js +11 -7
  58. package/build/src/utils.js.map +1 -1
  59. package/build/tests/package_manager.spec.js +16 -15
  60. package/build/tests/package_manager.spec.js.map +1 -1
  61. package/package.json +2 -1
  62. package/build/commands/list_pipeline.js.map +0 -1
  63. /package/build/commands/{list_pipeline.d.ts → pipeline.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { $ } from 'execa';
2
- import { task, get, isVerbose } from "../index.js";
2
+ import { task, desc, get, isVerbose } from "../index.js";
3
3
  import { rsyncSshFlag, resolveSshArgs } from "../src/utils.js";
4
+ desc('Transfers files to the release directory via rsync');
4
5
  task('deploy:update_code', async ({ host, paths, logger }) => {
5
6
  const [target] = resolveSshArgs(host);
6
7
  const source = get('rsync_source_path', './');
@@ -1 +1 @@
1
- {"version":3,"file":"rsync.js","sourceRoot":"","sources":["../../recipes/rsync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAE9D,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAe,EAAE,EAAE;IACxE,MAAM,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,KAAK,MAAM,OAAO,IAAI,GAAG,CAAW,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;IACnC,CAAC;IACD,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;IAC7E,MAAM,CAAC,CAAA,SAAS,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAA;AAC9D,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"rsync.js","sourceRoot":"","sources":["../../recipes/rsync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAE9D,IAAI,CAAC,oDAAoD,CAAC,CAAA;AAC1D,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAe,EAAE,EAAE;IACxE,MAAM,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,KAAK,MAAM,OAAO,IAAI,GAAG,CAAW,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;IACnC,CAAC;IACD,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;IAC7E,MAAM,CAAC,CAAA,SAAS,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAA;AAC9D,CAAC,CAAC,CAAA"}
@@ -3,6 +3,7 @@ declare module './types.ts' {
3
3
  'deploy:lock': true;
4
4
  'deploy:release': true;
5
5
  'deploy:update_code': true;
6
+ 'deploy:build:copy': true;
6
7
  'deploy:shared': true;
7
8
  'deploy:publish': true;
8
9
  'deploy:log_revision': true;
@@ -1,8 +1,9 @@
1
1
  import { $ } from 'execa';
2
2
  import { q, ssh, sleep } from "./utils.js";
3
- import { task, run, isVerbose } from "./task.js";
3
+ import { task, desc, run, isVerbose } from "./task.js";
4
4
  import { get } from "./store.js";
5
- task('deploy:lock', async ({ host, deployCtx, paths }) => {
5
+ desc('Creates a deploy lock to prevent concurrent deployments');
6
+ task('deploy:lock', async ({ host, release, paths }) => {
6
7
  try {
7
8
  await ssh(host, `
8
9
  set -e
@@ -10,13 +11,14 @@ task('deploy:lock', async ({ host, deployCtx, paths }) => {
10
11
  echo "Deploy lock already present: ${paths.lock}" >&2
11
12
  exit 1
12
13
  fi
13
- echo ${q(deployCtx.release)} > ${q(paths.lock)}
14
+ echo ${q(release)} > ${q(paths.lock)}
14
15
  `, { quiet: true });
15
16
  }
16
17
  catch (error) {
17
18
  throw new Error(error.stderr?.trim() || error.message);
18
19
  }
19
20
  });
21
+ desc('Removes the deploy lock');
20
22
  task('deploy:unlock', async ({ host, paths }) => {
21
23
  await ssh(host, `
22
24
  set +e
@@ -24,10 +26,13 @@ task('deploy:unlock', async ({ host, paths }) => {
24
26
  true
25
27
  `, { quiet: true });
26
28
  });
29
+ desc('Creates the release directory on the server');
27
30
  task('deploy:release', () => {
28
31
  run('mkdir -p {{release_path}}');
29
32
  });
33
+ desc('Transfers code to the release directory (overridden by recipe)');
30
34
  task('deploy:update_code', async () => { });
35
+ desc('Symlinks shared directories and files into the release');
31
36
  task('deploy:shared', () => {
32
37
  const dirs = get('shared_dirs', []);
33
38
  const files = get('shared_files', []);
@@ -42,11 +47,41 @@ task('deploy:shared', () => {
42
47
  run(`ln -sfn {{shared_path}}/${f} {{release_path}}/${f}`);
43
48
  }
44
49
  });
50
+ desc('Symlinks shared directories and files into the build');
51
+ task('deploy:build:shared', () => {
52
+ const dirs = get('shared_dirs', []);
53
+ const files = get('shared_files', []);
54
+ for (const dir of dirs) {
55
+ const d = dir.replace(/^\//, '');
56
+ run(`rm -rf {{builder_path}}/${d}`);
57
+ run(`ln -sfn {{shared_path}}/${d} {{builder_path}}/${d}`);
58
+ }
59
+ for (const file of files) {
60
+ const f = file.replace(/^\//, '');
61
+ run(`rm -f {{builder_path}}/${f}`);
62
+ run(`ln -sfn {{shared_path}}/${f} {{builder_path}}/${f}`);
63
+ }
64
+ });
65
+ desc('Copies build output from build directory to the release');
66
+ task('deploy:build:copy', () => {
67
+ const output = get('build_output', 'build');
68
+ run(`cp -r {{builder_path}}/${output}/. {{release_path}}/`);
69
+ });
70
+ desc('Switches current symlink to the new release');
45
71
  task('deploy:publish', () => {
46
72
  run('ln -sfn {{release_path}} {{current_path}}');
47
73
  });
48
- task('deploy:log_revision', async ({ host, deployCtx, logger }) => {
49
- const branch = typeof host.branch === 'object' ? host.branch.name : (host.branch ?? 'unknown');
74
+ desc('Appends branch, commit and user info to revisions.log');
75
+ task('deploy:log_revision', async ({ host, paths, release, logger }) => {
76
+ let branch = typeof host.branch === 'object' ? host.branch.name : (host.branch ?? 'unknown');
77
+ if (branch === 'unknown') {
78
+ try {
79
+ if (isVerbose())
80
+ logger.cmd('git rev-parse --abbrev-ref HEAD');
81
+ branch = (await $ `git rev-parse --abbrev-ref HEAD`).stdout.trim();
82
+ }
83
+ catch { }
84
+ }
50
85
  let commit = 'unknown';
51
86
  let user = 'unknown';
52
87
  try {
@@ -58,10 +93,17 @@ task('deploy:log_revision', async ({ host, deployCtx, logger }) => {
58
93
  user = (await $ `git config user.name`).stdout.trim();
59
94
  }
60
95
  catch { }
61
- const line = `Branch ${branch} (at ${commit}) deployed as release ${deployCtx.release} by ${user}`;
62
- const logFile = `${host.deployPath}/revisions.log`;
96
+ const line = JSON.stringify({
97
+ release,
98
+ branch,
99
+ commit,
100
+ user,
101
+ date: new Date().toISOString(),
102
+ });
103
+ const logFile = `${paths.cataConfig}/revisions.log`;
63
104
  await ssh(host, `echo ${q(line)} >> ${q(logFile)}`);
64
105
  });
106
+ desc('Checks that the application is responding after deployment');
65
107
  task('deploy:healthcheck', async ({ host, logger }) => {
66
108
  const { url, retries, delayMs = 3_000 } = host.healthcheck ?? {};
67
109
  logger.step(host.name, `healthcheck ${url}`);
@@ -85,18 +127,19 @@ task('deploy:healthcheck', async ({ host, logger }) => {
85
127
  }
86
128
  throw new Error(`[${host.name}] healthcheck failed: ${url}`);
87
129
  });
88
- task('deploy:cleanup', async ({ deployCtx, host, paths }) => {
130
+ desc('Removes old releases, keeping the last N defined by keepReleases');
131
+ task('deploy:cleanup', async ({ config, host, paths }) => {
89
132
  await ssh(host, `
90
133
  set -e
91
134
  [ -d ${q(paths.releases)} ] || exit 0
92
135
  cd ${q(paths.releases)}
93
136
 
94
137
  count=$(ls -1dt */ 2>/dev/null | wc -l | tr -d ' ')
95
- if [ "$count" -le ${deployCtx.config.keepReleases} ]; then
138
+ if [ "$count" -le ${config.keepReleases} ]; then
96
139
  exit 0
97
140
  fi
98
141
 
99
- ls -1dt */ | tail -n +$(( ${deployCtx.config.keepReleases} + 1 )) | xargs -r rm -rf
142
+ ls -1dt */ | tail -n +$(( ${config.keepReleases} + 1 )) | xargs -r rm -rf
100
143
  `);
101
144
  });
102
145
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
+ import { Strategy } from "./enums.js";
1
2
  import { Context } from "./context.js";
3
+ import { detectPackageManager } from "./utils.js";
2
4
  import { remove, getPipeline } from "./pipeline.js";
3
5
  import "./defaults.js";
4
6
  const initialConfigValues = {
5
7
  keepReleases: 5,
6
- packageManager: 'npm',
8
+ verbose: 1,
9
+ strategy: Strategy.Direct,
7
10
  };
8
11
  export function defineConfig(config) {
9
12
  return async () => {
13
+ const pm = await detectPackageManager();
10
14
  const release = new Date().toISOString().replace(/[:.]/g, '-');
15
+ const initial = { packageManager: pm, ...initialConfigValues };
11
16
  Context.set({
12
- config: { ...initialConfigValues, ...config },
17
+ config: { ...initial, ...config },
13
18
  release,
14
19
  hooks: config.hooks ?? {},
15
20
  });
@@ -17,6 +22,11 @@ export function defineConfig(config) {
17
22
  if (!hasHealthcheck && getPipeline().includes('deploy:healthcheck')) {
18
23
  remove('deploy:healthcheck');
19
24
  }
25
+ const strategy = config.strategy ?? Strategy.Build;
26
+ if (strategy !== Strategy.Build) {
27
+ remove('deploy:build:copy');
28
+ remove('deploy:build:shared');
29
+ }
20
30
  };
21
31
  }
22
32
  //# 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,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,eAAe,CAAA;AAEtB,MAAM,mBAAmB,GAAG;IAC1B,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,KAAc;CAC/B,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,KAAK,IAAI,EAAE;QAChB,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,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE;YAC7C,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"}
1
+ {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,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,CAAU;IACnB,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,QAAQ,CAAC,KAAK,CAAA;QAClD,IAAI,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC3B,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -23,6 +23,7 @@ export async function setupHost(ctx, host) {
23
23
  mkdir -p ${q(paths.base)}
24
24
  mkdir -p ${q(paths.releases)}
25
25
  mkdir -p ${q(paths.shared)}
26
+ mkdir -p ${q(paths.cataConfig)}
26
27
  ${mkdirs}
27
28
  ${mkfiles}
28
29
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const Strategy: {
2
+ readonly Build: "build";
3
+ readonly Direct: "direct";
4
+ };
5
+ export type Strategy = (typeof Strategy)[keyof typeof Strategy];
6
+ export declare const PackageManager: {
7
+ readonly Npm: "npm";
8
+ readonly Pnpm: "pnpm";
9
+ readonly Yarn: "yarn";
10
+ readonly Bun: "bun";
11
+ };
12
+ export type PackageManager = (typeof PackageManager)[keyof typeof PackageManager];
@@ -0,0 +1,11 @@
1
+ export const Strategy = {
2
+ Build: 'build',
3
+ Direct: 'direct',
4
+ };
5
+ export const PackageManager = {
6
+ Npm: 'npm',
7
+ Pnpm: 'pnpm',
8
+ Yarn: 'yarn',
9
+ Bun: 'bun',
10
+ };
11
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +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"}
@@ -17,9 +17,9 @@ export function pmInstall() {
17
17
  export function pmInstallProd() {
18
18
  const manager = getManager();
19
19
  if (manager === 'pnpm')
20
- return `${pm()} install --prod`;
20
+ return `${pm()} install --frozen-lockfile --prod`;
21
21
  if (manager === 'yarn')
22
- return `${pm()} install --production`;
23
- return `${pm()} install --omit=dev`;
22
+ return `${pm()} install --frozen-lockfile --production`;
23
+ return `${pm()} ci --omit=dev`;
24
24
  }
25
25
  //# 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;AAEtC,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,IAAI,KAAK,CAAA;AACrD,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,iBAAiB,CAAA;IACvD,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,EAAE,EAAE,uBAAuB,CAAA;IAC7D,OAAO,GAAG,EAAE,EAAE,qBAAqB,CAAA;AACrC,CAAC"}
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;AAEtC,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,IAAI,KAAK,CAAA;AACrD,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"}
@@ -3,6 +3,8 @@ export class PipelineStore {
3
3
  'deploy:lock',
4
4
  'deploy:release',
5
5
  'deploy:update_code',
6
+ 'deploy:build:shared',
7
+ 'deploy:build:copy',
6
8
  'deploy:shared',
7
9
  'deploy:publish',
8
10
  'deploy:log_revision',
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/pipeline/store.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,SAAS,GAAa;QACpB,aAAa;QACb,gBAAgB;QAChB,oBAAoB;QACpB,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,eAAe;QACf,gBAAgB;KACjB,CAAA;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,KAAiB;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,QAAkB,EAAE,OAAiB;QAC1C,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,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,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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/pipeline/store.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,SAAS,GAAa;QACpB,aAAa;QACb,gBAAgB;QAChB,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,eAAe;QACf,gBAAgB;KACjB,CAAA;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,KAAiB;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,QAAkB,EAAE,OAAiB;QAC1C,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,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,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"}
@@ -1,2 +1,3 @@
1
1
  export declare function set(key: string, value: unknown): void;
2
2
  export declare function get<T>(key: string, defaultValue?: T): T;
3
+ export declare function has(key: string): boolean;
@@ -5,4 +5,7 @@ export function set(key, value) {
5
5
  export function get(key, defaultValue) {
6
6
  return (store.has(key) ? store.get(key) : defaultValue);
7
7
  }
8
+ export function has(key) {
9
+ return store.has(key);
10
+ }
8
11
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAA;AAExC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAAc;IAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,GAAW,EAAE,YAAgB;IAClD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAM,CAAA;AAC9D,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAA;AAExC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAAc;IAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,GAAW,EAAE,YAAgB;IAClD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAM,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAW;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC"}
@@ -1,10 +1,11 @@
1
- import type { Host, DeployContext, Paths } from '../types.ts';
1
+ import type { Host, Config, Paths } from '../types.ts';
2
2
  import { type CatapultLogger } from '../logger.ts';
3
3
  export interface TaskContext {
4
- host: Host;
5
- paths: Paths;
6
- deployCtx: DeployContext;
7
- logger: CatapultLogger;
4
+ readonly host: Host;
5
+ readonly paths: Paths;
6
+ readonly config: Config;
7
+ readonly logger: CatapultLogger;
8
+ readonly release: string;
8
9
  }
9
10
  export type TaskFn = (ctx: TaskContext) => void | Promise<void>;
10
11
  export declare class TaskRunner {
@@ -1,3 +1,4 @@
1
+ import { Strategy } from "../enums.js";
1
2
  import { ssh } from "../utils.js";
2
3
  import { logger } from "../logger.js";
3
4
  export class TaskRunner {
@@ -23,25 +24,28 @@ export class TaskRunner {
23
24
  return this.#ctx?.host.bin?.[name] ?? name;
24
25
  }
25
26
  isVerbose() {
26
- return this.#ctx?.deployCtx.config.verbose ?? 0;
27
+ return this.#ctx?.config.verbose ?? 0;
27
28
  }
28
29
  resolve(str) {
29
30
  if (!this.#ctx)
30
31
  return str;
31
32
  const p = this.#ctx.paths;
33
+ const strategy = this.#ctx.config.strategy ?? Strategy.Direct;
34
+ const buildPath = strategy === Strategy.Build ? p.builder : p.release;
32
35
  return str
33
36
  .replace(/\{\{release_path\}\}/g, p.release)
37
+ .replace(/\{\{builder_path\}\}/g, buildPath)
34
38
  .replace(/\{\{current_path\}\}/g, p.current)
35
39
  .replace(/\{\{shared_path\}\}/g, p.shared)
36
40
  .replace(/\{\{releases_path\}\}/g, p.releases)
37
41
  .replace(/\{\{base_path\}\}/g, p.base)
38
- .replace(/\{\{release\}\}/g, this.#ctx.deployCtx.release);
42
+ .replace(/\{\{release\}\}/g, this.#ctx.release);
39
43
  }
40
44
  async flush() {
41
45
  if (!this.#ctx || this.#commands.length === 0)
42
46
  return;
43
47
  const cmds = this.#commands.splice(0);
44
- const verbose = this.#ctx.deployCtx.config.verbose ?? 0;
48
+ const verbose = this.#ctx.config.verbose ?? 0;
45
49
  if (verbose >= 1) {
46
50
  for (const cmd of cmds)
47
51
  logger.cmd(cmd);
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/task/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,MAAM,EAAuB,MAAM,cAAc,CAAA;AAW1D,MAAM,OAAO,UAAU;IACrB,IAAI,GAAuB,IAAI,CAAA;IAC/B,SAAS,GAAa,EAAE,CAAA;IAExB,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,GAAG,CAAC,GAAgB;QAClB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC7E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;IAC5C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAA;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,OAAO,GAAG;aACP,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC;aAC3C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC;aAC3C,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;aACzC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,QAAQ,CAAC;aAC7C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC;aACrC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;QACvD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACvF,IAAI,OAAO,IAAI,CAAC;YAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,UAAU,CAAA;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/task/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,MAAM,EAAuB,MAAM,cAAc,CAAA;AAY1D,MAAM,OAAO,UAAU;IACrB,IAAI,GAAuB,IAAI,CAAA;IAC/B,SAAS,GAAa,EAAE,CAAA;IAExB,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,GAAG,CAAC,GAAgB;QAClB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC7E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;IAC5C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAA;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAA;QAC7D,MAAM,SAAS,GAAG,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACrE,OAAO,GAAG;aACP,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC;aAC3C,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC;aAC3C,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;aACzC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,QAAQ,CAAC;aAC7C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC;aACrC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;QAC7C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACvF,IAAI,OAAO,IAAI,CAAC;YAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,UAAU,CAAA;IAClB,CAAC;CACF"}
@@ -3,8 +3,10 @@ import { type TaskFn, TaskRunner } from './runner.ts';
3
3
  export declare class TaskStore {
4
4
  #private;
5
5
  constructor(runner: TaskRunner);
6
+ describe(description: string): void;
6
7
  register(name: TaskName, fn: TaskFn): void;
7
8
  has(name: TaskName): boolean;
8
9
  list(): string[];
10
+ getDescription(name: TaskName): string;
9
11
  run(name: TaskName, deployCtx: DeployContext, host: Host): Promise<void>;
10
12
  }
@@ -2,12 +2,21 @@ import { getPaths } from "../utils.js";
2
2
  import { logger } from "../logger.js";
3
3
  export class TaskStore {
4
4
  #registry = new Map();
5
+ #descriptions = new Map();
6
+ #pendingDescription = null;
5
7
  #runner;
6
8
  constructor(runner) {
7
9
  this.#runner = runner;
8
10
  }
11
+ describe(description) {
12
+ this.#pendingDescription = description;
13
+ }
9
14
  register(name, fn) {
10
15
  this.#registry.set(name, fn);
16
+ if (this.#pendingDescription !== null) {
17
+ this.#descriptions.set(name, this.#pendingDescription);
18
+ this.#pendingDescription = null;
19
+ }
11
20
  }
12
21
  has(name) {
13
22
  return this.#registry.has(name);
@@ -15,12 +24,15 @@ export class TaskStore {
15
24
  list() {
16
25
  return [...this.#registry.keys()];
17
26
  }
27
+ getDescription(name) {
28
+ return this.#descriptions.get(name) ?? '';
29
+ }
18
30
  async run(name, deployCtx, host) {
19
31
  const fn = this.#registry.get(name);
20
32
  if (!fn)
21
33
  throw new Error(`Task not found: "${name}"`);
22
34
  const paths = getPaths(host.deployPath, deployCtx.release);
23
- const ctx = { host, paths, deployCtx, logger };
35
+ const ctx = { host, paths, config: deployCtx.config, release: deployCtx.release, logger };
24
36
  this.#runner.set(ctx);
25
37
  try {
26
38
  const result = fn(ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/task/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,OAAO,SAAS;IACpB,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,OAAO,CAAY;IAEnB,YAAY,MAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,QAAQ,CAAC,IAAc,EAAE,EAAU;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc,EAAE,SAAwB,EAAE,IAAU;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAA;QAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;YACtB,IAAI,MAAM,YAAY,OAAO;gBAAE,MAAM,MAAM,CAAA;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/task/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,OAAO,SAAS;IACpB,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,mBAAmB,GAAkB,IAAI,CAAA;IACzC,OAAO,CAAY;IAEnB,YAAY,MAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,QAAQ,CAAC,WAAmB;QAC1B,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAA;IACxC,CAAC;IAED,QAAQ,CAAC,IAAc,EAAE,EAAU;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC5B,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;YACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACjC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,cAAc,CAAC,IAAc;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc,EAAE,SAAwB,EAAE,IAAU;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAA;QAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;QACzF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;YACtB,IAAI,MAAM,YAAY,OAAO;gBAAE,MAAM,MAAM,CAAA;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +1,11 @@
1
1
  import type { Host, DeployContext, TaskName } from './types.ts';
2
2
  import { type TaskFn } from './task/runner.ts';
3
3
  export type { TaskContext } from './task/runner.ts';
4
+ export declare function desc(description: string): void;
4
5
  export declare function task(name: TaskName, fn: TaskFn): void;
5
6
  export declare function hasTask(name: TaskName): boolean;
6
7
  export declare function getTasks(): string[];
8
+ export declare function getTaskDescription(name: TaskName): string;
7
9
  export declare function runTask(name: TaskName, deployCtx: DeployContext, host: Host): Promise<void>;
8
10
  export declare function cd(path: string): void;
9
11
  export declare function run(command: string): void;
package/build/src/task.js CHANGED
@@ -3,6 +3,9 @@ import { TaskStore } from "./task/store.js";
3
3
  import { q } from "./utils.js";
4
4
  const runner = new TaskRunner();
5
5
  const store = new TaskStore(runner);
6
+ export function desc(description) {
7
+ store.describe(description);
8
+ }
6
9
  export function task(name, fn) {
7
10
  store.register(name, fn);
8
11
  }
@@ -12,6 +15,9 @@ export function hasTask(name) {
12
15
  export function getTasks() {
13
16
  return store.list();
14
17
  }
18
+ export function getTaskDescription(name) {
19
+ return store.getDescription(name);
20
+ }
15
21
  export async function runTask(name, deployCtx, host) {
16
22
  return store.run(name, deployCtx, host);
17
23
  }
@@ -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;AAC3C,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,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,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;IACvB,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,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;AAC3C,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;IACvB,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Strategy, PackageManager } from './enums.ts';
1
2
  export interface BranchWithPrompt {
2
3
  name: string;
3
4
  ask: boolean;
@@ -26,6 +27,9 @@ export interface Paths {
26
27
  releases: string;
27
28
  release: string;
28
29
  shared: string;
30
+ cataConfig: string;
31
+ repo: string;
32
+ builder: string;
29
33
  lock: string;
30
34
  }
31
35
  export interface TaskRegistry {
@@ -34,18 +38,21 @@ export type TaskName = keyof TaskRegistry | (string & {});
34
38
  export type HookContext = {
35
39
  host?: Host;
36
40
  hosts?: Host[];
41
+ error?: Error;
37
42
  };
38
43
  export type HookFn = (context: HookContext) => Promise<void>;
39
44
  export interface Hooks {
40
45
  beforeDeploy?: HookFn;
41
46
  afterDeploy?: HookFn;
47
+ afterFailure?: HookFn;
42
48
  beforeHostDeploy?: HookFn;
43
49
  afterHostDeploy?: HookFn;
44
50
  }
45
51
  export interface Config {
46
52
  keepReleases?: number;
47
53
  repository?: string;
48
- packageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun';
54
+ strategy?: Strategy;
55
+ packageManager?: PackageManager;
49
56
  hosts: Host[];
50
57
  hooks?: Hooks;
51
58
  verbose?: 0 | 1 | 2;
@@ -1,5 +1,6 @@
1
1
  import type { Host, Paths } from './types.ts';
2
- export declare function detectPackageManager(cwd?: string): Promise<string>;
2
+ import { PackageManager } from './enums.ts';
3
+ export declare function detectPackageManager(cwd?: string): Promise<PackageManager>;
3
4
  export declare function findDeployFile(cwd?: string): Promise<string | null>;
4
5
  export declare function q(value: unknown): string;
5
6
  export declare function getPaths(baseDir: string, releaseName: string): Paths;
@@ -1,3 +1,4 @@
1
+ import { PackageManager } from "./enums.js";
1
2
  import { $ } from 'execa';
2
3
  import { tmpdir } from 'node:os';
3
4
  import { join, resolve } from 'node:path';
@@ -6,11 +7,11 @@ import { access } from 'node:fs/promises';
6
7
  import { logger } from "./logger.js";
7
8
  const DEPLOY_CANDIDATES = ['deploy.ts', 'deploy.js'];
8
9
  const PM_LOCK_FILES = [
9
- ['bun.lock', 'bun'],
10
- ['bun.lockb', 'bun'],
11
- ['pnpm-lock.yaml', 'pnpm'],
12
- ['yarn.lock', 'yarn'],
13
- ['package-lock.json', 'npm'],
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],
14
15
  ];
15
16
  export async function detectPackageManager(cwd = process.cwd()) {
16
17
  for (const [lockFile, manager] of PM_LOCK_FILES) {
@@ -20,7 +21,7 @@ export async function detectPackageManager(cwd = process.cwd()) {
20
21
  }
21
22
  catch { }
22
23
  }
23
- return 'npm';
24
+ return PackageManager.Npm;
24
25
  }
25
26
  export async function findDeployFile(cwd = process.cwd()) {
26
27
  for (const candidate of DEPLOY_CANDIDATES) {
@@ -43,7 +44,10 @@ export function getPaths(baseDir, releaseName) {
43
44
  releases: `${baseDir}/releases`,
44
45
  release: `${baseDir}/releases/${releaseName}`,
45
46
  shared: `${baseDir}/shared`,
46
- lock: `${baseDir}/deploy.lock`,
47
+ cataConfig: `${baseDir}/.catapult`,
48
+ repo: `${baseDir}/.catapult/repo`,
49
+ builder: `${baseDir}/.catapult/builder`,
50
+ lock: `${baseDir}/.catapult/deploy.lock`,
47
51
  };
48
52
  }
49
53
  export function resolveSshArgs(host) {