git-push-deploy-cli 0.1.1 → 0.2.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 (42) hide show
  1. package/README.md +72 -38
  2. package/dist/commands/deploy.d.ts +9 -2
  3. package/dist/commands/deploy.d.ts.map +1 -1
  4. package/dist/commands/deploy.js +26 -21
  5. package/dist/commands/deploy.js.map +1 -1
  6. package/dist/commands/init.d.ts +4 -3
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +116 -13
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/install.d.ts +21 -0
  11. package/dist/commands/install.d.ts.map +1 -0
  12. package/dist/commands/install.js +174 -0
  13. package/dist/commands/install.js.map +1 -0
  14. package/dist/commands/logs.d.ts.map +1 -1
  15. package/dist/commands/logs.js +5 -3
  16. package/dist/commands/logs.js.map +1 -1
  17. package/dist/commands/release.d.ts +2 -0
  18. package/dist/commands/release.d.ts.map +1 -1
  19. package/dist/commands/release.js +7 -5
  20. package/dist/commands/release.js.map +1 -1
  21. package/dist/commands/stage.d.ts +5 -0
  22. package/dist/commands/stage.d.ts.map +1 -1
  23. package/dist/commands/stage.js +58 -22
  24. package/dist/commands/stage.js.map +1 -1
  25. package/dist/commands/status.d.ts.map +1 -1
  26. package/dist/commands/status.js +5 -1
  27. package/dist/commands/status.js.map +1 -1
  28. package/dist/config/loader.d.ts +14 -0
  29. package/dist/config/loader.d.ts.map +1 -1
  30. package/dist/config/loader.js +18 -0
  31. package/dist/config/loader.js.map +1 -1
  32. package/dist/config/types.d.ts +47 -9
  33. package/dist/config/types.d.ts.map +1 -1
  34. package/dist/config/types.js +24 -1
  35. package/dist/config/types.js.map +1 -1
  36. package/dist/index.js +16 -9
  37. package/dist/index.js.map +1 -1
  38. package/dist/utils/shell.d.ts +1 -0
  39. package/dist/utils/shell.d.ts.map +1 -1
  40. package/dist/utils/shell.js +4 -3
  41. package/dist/utils/shell.js.map +1 -1
  42. package/package.json +2 -2
@@ -4,7 +4,30 @@
4
4
  export const DEFAULT_ARTIFACTS = [
5
5
  'dist',
6
6
  'package.json',
7
- 'package-lock.json',
8
7
  'ecosystem.config.cjs'
9
8
  ];
9
+ /**
10
+ * Parse SSH options to extract port
11
+ * @param sshOptions e.g. "-p 6771 -4"
12
+ * @returns port number or undefined
13
+ */
14
+ export function parseSshPort(sshOptions) {
15
+ if (!sshOptions)
16
+ return undefined;
17
+ const match = sshOptions.match(/-p\s*(\d+)/);
18
+ return match ? parseInt(match[1], 10) : undefined;
19
+ }
20
+ /**
21
+ * Build SSH URL for git remote
22
+ * @param host e.g. "aschulz@symbio-raspi5"
23
+ * @param bareRepo e.g. "/git/sym/deploy-kairox/staging/kairox-api"
24
+ * @param port e.g. 6771
25
+ * @returns e.g. "ssh://aschulz@symbio-raspi5:6771/git/sym/deploy-kairox/staging/kairox-api"
26
+ */
27
+ export function buildSshUrl(host, bareRepo, port) {
28
+ if (port) {
29
+ return `ssh://${host}:${port}${bareRepo}`;
30
+ }
31
+ return `ssh://${host}${bareRepo}`;
32
+ }
10
33
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAkDA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,cAAc;IACd,mBAAmB;IACnB,sBAAsB;CACvB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAkFA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,cAAc;IACd,sBAAsB;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,UAAmB;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAa;IACvE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,SAAS,IAAI,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,IAAI,GAAG,QAAQ,EAAE,CAAC;AACpC,CAAC"}
package/dist/index.js CHANGED
@@ -6,32 +6,39 @@ import { deployCommand } from './commands/deploy.js';
6
6
  import { initCommand } from './commands/init.js';
7
7
  import { statusCommand } from './commands/status.js';
8
8
  import { logsCommand } from './commands/logs.js';
9
+ import { installCommand } from './commands/install.js';
9
10
  const program = new Command();
10
11
  program
11
12
  .name('gpd')
12
- .description('Git Push Deploy - CLI for git-based deployments with PM2/systemd support')
13
- .version('0.1.0');
14
- // Development commands
13
+ .description('Git Push Deploy - CLI for git-based deployments with PM2 support')
14
+ .version('0.2.0');
15
+ // Development commands (run on dev machine)
15
16
  program
16
17
  .command('stage <service>')
17
- .description('Copy build artifacts to deploy repository')
18
+ .description('Copy build artifacts to deploy repository (creates repo if needed)')
18
19
  .action(stageCommand);
19
20
  program
20
21
  .command('release <service>')
21
- .description('Commit and push deploy repository')
22
+ .description('Commit and push deploy repository to server')
22
23
  .option('-m, --message <message>', 'Commit message')
23
24
  .action(releaseCommand);
24
25
  program
25
26
  .command('deploy <service>')
26
- .description('Stage, release, and install on server via SSH')
27
+ .description('Stage and push to server (hook handles install)')
27
28
  .option('-m, --message <message>', 'Commit message')
28
- .option('--skip-remote', 'Skip remote install (only stage and release)')
29
- .action(deployCommand);
29
+ .option('--skip-push', 'Only stage, do not push')
30
+ .action((service, options) => deployCommand(service, { message: options.message, skipPush: options.skipPush }));
30
31
  // Server setup command
31
32
  program
32
33
  .command('init <service>')
33
- .description('Initialize bare repo and clone on server via SSH')
34
+ .description('Initialize bare repo, target dir, and post-receive hook on server')
34
35
  .action(initCommand);
36
+ // Server-side command (run by post-receive hook)
37
+ program
38
+ .command('install <service>')
39
+ .description('Install service on server (called by post-receive hook)')
40
+ .option('-c, --config <path>', 'Path to .git-deploy.json')
41
+ .action((service, options) => installCommand(service, { configPath: options.config }));
35
42
  program
36
43
  .command('status')
37
44
  .description('Show all configured services')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,0EAA0E,CAAC;KACvF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,uBAAuB;AACvB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;KACvE,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,uBAAuB;AACvB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,IAAI,CAAC;KAC9D,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC3C,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,kEAAkE,CAAC;KAC/E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,4CAA4C;AAC5C,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC;KAChD,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAElH,uBAAuB;AACvB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,iDAAiD;AACjD,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;KACzD,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEzF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,IAAI,CAAC;KAC9D,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC3C,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -26,5 +26,6 @@ export declare function getCurrentUser(): string;
26
26
  */
27
27
  export declare function sshExec(host: string, command: string, options?: {
28
28
  silent?: boolean;
29
+ sshOptions?: string;
29
30
  }): string;
30
31
  //# sourceMappingURL=shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAc9F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOtD;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAKjG"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAc9F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOtD;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAMtH"}
@@ -52,9 +52,10 @@ export function getCurrentUser() {
52
52
  * Execute a command on a remote host via SSH
53
53
  */
54
54
  export function sshExec(host, command, options = {}) {
55
- // Escape single quotes in command for SSH
56
- const escapedCmd = command.replace(/'/g, "'\\''");
57
- const sshCommand = `ssh ${host} '${escapedCmd}'`;
55
+ // For Windows, use double quotes and escape internal quotes
56
+ const escapedCmd = command.replace(/"/g, '\\"');
57
+ const sshOpts = options.sshOptions ? `${options.sshOptions} ` : '';
58
+ const sshCommand = `ssh ${sshOpts}${host} "${escapedCmd}"`;
58
59
  return exec(sshCommand, { silent: options.silent });
59
60
  }
60
61
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,UAA8C,EAAE;IACpF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC3C,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAChD,OAAQ,KAA4B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,GAAY;IACtD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,UAAgC,EAAE;IACvF,0CAA0C;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,UAAU,GAAG,CAAC;IACjD,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,UAA8C,EAAE;IACpF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC3C,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAChD,OAAQ,KAA4B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,GAAY;IACtD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,UAAqD,EAAE;IAC5G,4DAA4D;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,OAAO,GAAG,IAAI,KAAK,UAAU,GAAG,CAAC;IAC3D,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "git-push-deploy-cli",
3
- "version": "0.1.1",
4
- "description": "Git Push Deploy - CLI for git-based deployments. Push to bare repos, auto npm install, PM2/systemd restart. Monorepo-ready.",
3
+ "version": "0.2.0",
4
+ "description": "Git Push Deploy - CLI for git-based deployments. Push to bare repos, server hook handles npm install and PM2 restart.",
5
5
  "keywords": [
6
6
  "git",
7
7
  "push",