@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.
Files changed (84) hide show
  1. package/build/bin/run.js +31 -1
  2. package/build/bin/run.js.map +1 -1
  3. package/build/commands/deploy.js +1 -1
  4. package/build/commands/deploy.js.map +1 -1
  5. package/build/commands/rollback.d.ts +1 -0
  6. package/build/commands/rollback.js +34 -2
  7. package/build/commands/rollback.js.map +1 -1
  8. package/build/recipes/adonisjs.d.ts +4 -3
  9. package/build/recipes/adonisjs.js +22 -32
  10. package/build/recipes/adonisjs.js.map +1 -1
  11. package/build/recipes/astro.js +15 -0
  12. package/build/recipes/astro.js.map +1 -0
  13. package/build/recipes/directus.d.ts +8 -0
  14. package/build/recipes/directus.js +30 -0
  15. package/build/recipes/directus.js.map +1 -0
  16. package/build/recipes/git.js +3 -3
  17. package/build/recipes/git.js.map +1 -1
  18. package/build/recipes/nuxt.d.ts +6 -0
  19. package/build/recipes/nuxt.js +18 -0
  20. package/build/recipes/nuxt.js.map +1 -0
  21. package/build/recipes/redis.d.ts +7 -0
  22. package/build/recipes/redis.js +14 -0
  23. package/build/recipes/redis.js.map +1 -0
  24. package/build/recipes/rsync.js +6 -5
  25. package/build/recipes/rsync.js.map +1 -1
  26. package/build/recipes/vitepress.js +14 -0
  27. package/build/recipes/vitepress.js.map +1 -0
  28. package/build/src/actions.d.ts +1 -0
  29. package/build/src/actions.js +17 -0
  30. package/build/src/actions.js.map +1 -0
  31. package/build/src/base_command.js +1 -1
  32. package/build/src/base_command.js.map +1 -1
  33. package/build/src/defaults.d.ts +3 -1
  34. package/build/src/defaults.js +37 -38
  35. package/build/src/defaults.js.map +1 -1
  36. package/build/src/define_config.js +5 -13
  37. package/build/src/define_config.js.map +1 -1
  38. package/build/src/deployer.d.ts +2 -1
  39. package/build/src/deployer.js +9 -6
  40. package/build/src/deployer.js.map +1 -1
  41. package/build/src/enums.d.ts +0 -5
  42. package/build/src/enums.js +0 -4
  43. package/build/src/enums.js.map +1 -1
  44. package/build/src/package_manager.d.ts +1 -0
  45. package/build/src/package_manager.js +10 -1
  46. package/build/src/package_manager.js.map +1 -1
  47. package/build/src/pipeline/store.d.ts +1 -0
  48. package/build/src/pipeline/store.js +18 -14
  49. package/build/src/pipeline/store.js.map +1 -1
  50. package/build/src/pipeline.d.ts +3 -1
  51. package/build/src/pipeline.js +4 -0
  52. package/build/src/pipeline.js.map +1 -1
  53. package/build/src/task/runner.d.ts +3 -0
  54. package/build/src/task/runner.js +27 -6
  55. package/build/src/task/runner.js.map +1 -1
  56. package/build/src/task.d.ts +3 -0
  57. package/build/src/task.js +3 -0
  58. package/build/src/task.js.map +1 -1
  59. package/build/src/types.d.ts +1 -3
  60. package/build/src/utils.d.ts +2 -0
  61. package/build/src/utils.js +20 -1
  62. package/build/src/utils.js.map +1 -1
  63. package/package.json +8 -2
  64. package/build/bin/test.js +0 -9
  65. package/build/bin/test.js.map +0 -1
  66. package/build/recipes/bun.d.ts +0 -8
  67. package/build/recipes/bun.js +0 -22
  68. package/build/recipes/bun.js.map +0 -1
  69. package/build/recipes/nodejs.d.ts +0 -9
  70. package/build/recipes/nodejs.js +0 -43
  71. package/build/recipes/nodejs.js.map +0 -1
  72. package/build/tests/package_manager.spec.js +0 -51
  73. package/build/tests/package_manager.spec.js.map +0 -1
  74. package/build/tests/pipeline.spec.d.ts +0 -1
  75. package/build/tests/pipeline.spec.js +0 -80
  76. package/build/tests/pipeline.spec.js.map +0 -1
  77. package/build/tests/store.spec.d.ts +0 -1
  78. package/build/tests/store.spec.js +0 -51
  79. package/build/tests/store.spec.js.map +0 -1
  80. package/build/tests/task.spec.d.ts +0 -1
  81. package/build/tests/task.spec.js +0 -108
  82. package/build/tests/task.spec.js.map +0 -1
  83. /package/build/{bin/test.d.ts → recipes/astro.d.ts} +0 -0
  84. /package/build/{tests/package_manager.spec.d.ts → recipes/vitepress.d.ts} +0 -0
@@ -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 { get } from "./store.js";
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('Transfers code to the release directory (overridden by recipe)');
35
- task('deploy:update_code', async () => { });
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
- const dirs = get('shared_dirs', []);
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=$(ls -1dt */ 2>/dev/null | wc -l | tr -d ' ')
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
- ls -1dt */ | tail -n +$(( ${config.keepReleases} + 1 )) | xargs -r rm -rf
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":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,19 @@
1
- import { Strategy, Verbose } from "./enums.js";
1
+ import { Verbose } from "./enums.js";
2
2
  import { Context } from "./context.js";
3
3
  import { detectPackageManager } from "./utils.js";
4
- import { remove, getPipeline, inPipeline } from "./pipeline.js";
4
+ import { remove, getPipeline } from "./pipeline.js";
5
5
  import "./defaults.js";
6
6
  const initialConfigValues = {
7
7
  keepReleases: 5,
8
- verbose: Verbose.NORMAL,
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: { ...initial, ...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,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"}
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"}
@@ -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 rollbackHost(ctx: DeployContext, host: Host): Promise<void>;
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>;
@@ -46,9 +46,8 @@ export async function getCurrentRelease(ctx, host) {
46
46
  return null;
47
47
  }
48
48
  }
49
- async function getPreviousReleaseName(ctx, host) {
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 null;
61
+ return [];
63
62
  }
64
- const releases = stdout
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":"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"}
1
+ {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- export declare const Strategy: {
2
- readonly BUILD: "build";
3
- readonly DIRECT: "direct";
4
- };
5
- export type Strategy = (typeof Strategy)[keyof typeof Strategy];
6
1
  export declare const PackageManager: {
7
2
  readonly NPM: "npm";
8
3
  readonly PNPM: "pnpm";
@@ -1,7 +1,3 @@
1
- export const Strategy = {
2
- BUILD: 'build',
3
- DIRECT: 'direct',
4
- };
5
1
  export const PackageManager = {
6
2
  NPM: 'npm',
7
3
  PNPM: 'pnpm',
@@ -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;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
+ {"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,3 +1,4 @@
1
1
  export declare function pm(): string;
2
2
  export declare function pmInstall(): string;
3
3
  export declare function pmInstallProd(): string;
4
+ export declare function pmExec(command: string): string;
@@ -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 ?? 'npm';
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;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"}
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.#pipeline = [...tasks];
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;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,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"}
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"}
@@ -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;
@@ -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;AAI/D,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,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"}
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>;
@@ -1,4 +1,4 @@
1
- import { Strategy, Verbose } from "../enums.js";
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 resolved = posix.isAbsolute(remotePath) ? remotePath : posix.join(this.#ctx.host.deployPath, remotePath);
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 resolved = posix.isAbsolute(remotePath) ? remotePath : posix.join(this.#ctx.host.deployPath, remotePath);
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":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/task/runner.ts"],"names":[],"mappings":"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"}
@@ -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
  }
@@ -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"}
@@ -1,4 +1,4 @@
1
- import type { Strategy, PackageManager, Verbose } from './enums.ts';
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;
@@ -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;