@jonit-dev/night-watch-cli 1.8.10-beta.1 → 1.8.10-beta.2

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 (235) hide show
  1. package/dist/cli.js +2309 -1313
  2. package/dist/web/assets/index-BUgI2S1s.js +406 -0
  3. package/dist/web/assets/index-CkdLFBd7.js +406 -0
  4. package/dist/web/assets/index-RMfswANB.css +1 -0
  5. package/dist/web/index.html +2 -2
  6. package/package.json +1 -1
  7. package/dist/cli.d.ts +0 -3
  8. package/dist/cli.d.ts.map +0 -1
  9. package/dist/cli.js.map +0 -1
  10. package/dist/commands/analytics.d.ts +0 -14
  11. package/dist/commands/analytics.d.ts.map +0 -1
  12. package/dist/commands/analytics.js +0 -69
  13. package/dist/commands/analytics.js.map +0 -1
  14. package/dist/commands/audit.d.ts +0 -19
  15. package/dist/commands/audit.d.ts.map +0 -1
  16. package/dist/commands/audit.js +0 -144
  17. package/dist/commands/audit.js.map +0 -1
  18. package/dist/commands/board.d.ts +0 -9
  19. package/dist/commands/board.d.ts.map +0 -1
  20. package/dist/commands/board.js +0 -702
  21. package/dist/commands/board.js.map +0 -1
  22. package/dist/commands/cancel.d.ts +0 -46
  23. package/dist/commands/cancel.d.ts.map +0 -1
  24. package/dist/commands/cancel.js +0 -239
  25. package/dist/commands/cancel.js.map +0 -1
  26. package/dist/commands/cron.d.ts +0 -8
  27. package/dist/commands/cron.d.ts.map +0 -1
  28. package/dist/commands/cron.js +0 -134
  29. package/dist/commands/cron.js.map +0 -1
  30. package/dist/commands/dashboard/tab-actions.d.ts +0 -10
  31. package/dist/commands/dashboard/tab-actions.d.ts.map +0 -1
  32. package/dist/commands/dashboard/tab-actions.js +0 -247
  33. package/dist/commands/dashboard/tab-actions.js.map +0 -1
  34. package/dist/commands/dashboard/tab-config.d.ts +0 -21
  35. package/dist/commands/dashboard/tab-config.d.ts.map +0 -1
  36. package/dist/commands/dashboard/tab-config.js +0 -873
  37. package/dist/commands/dashboard/tab-config.js.map +0 -1
  38. package/dist/commands/dashboard/tab-logs.d.ts +0 -10
  39. package/dist/commands/dashboard/tab-logs.d.ts.map +0 -1
  40. package/dist/commands/dashboard/tab-logs.js +0 -202
  41. package/dist/commands/dashboard/tab-logs.js.map +0 -1
  42. package/dist/commands/dashboard/tab-schedules.d.ts +0 -21
  43. package/dist/commands/dashboard/tab-schedules.d.ts.map +0 -1
  44. package/dist/commands/dashboard/tab-schedules.js +0 -320
  45. package/dist/commands/dashboard/tab-schedules.js.map +0 -1
  46. package/dist/commands/dashboard/tab-status.d.ts +0 -32
  47. package/dist/commands/dashboard/tab-status.d.ts.map +0 -1
  48. package/dist/commands/dashboard/tab-status.js +0 -424
  49. package/dist/commands/dashboard/tab-status.js.map +0 -1
  50. package/dist/commands/dashboard/types.d.ts +0 -42
  51. package/dist/commands/dashboard/types.d.ts.map +0 -1
  52. package/dist/commands/dashboard/types.js +0 -5
  53. package/dist/commands/dashboard/types.js.map +0 -1
  54. package/dist/commands/dashboard.d.ts +0 -11
  55. package/dist/commands/dashboard.d.ts.map +0 -1
  56. package/dist/commands/dashboard.js +0 -242
  57. package/dist/commands/dashboard.js.map +0 -1
  58. package/dist/commands/doctor.d.ts +0 -16
  59. package/dist/commands/doctor.d.ts.map +0 -1
  60. package/dist/commands/doctor.js +0 -195
  61. package/dist/commands/doctor.js.map +0 -1
  62. package/dist/commands/history.d.ts +0 -7
  63. package/dist/commands/history.d.ts.map +0 -1
  64. package/dist/commands/history.js +0 -49
  65. package/dist/commands/history.js.map +0 -1
  66. package/dist/commands/init.d.ts +0 -45
  67. package/dist/commands/init.d.ts.map +0 -1
  68. package/dist/commands/init.js +0 -777
  69. package/dist/commands/init.js.map +0 -1
  70. package/dist/commands/install.d.ts +0 -65
  71. package/dist/commands/install.d.ts.map +0 -1
  72. package/dist/commands/install.js +0 -405
  73. package/dist/commands/install.js.map +0 -1
  74. package/dist/commands/logs.d.ts +0 -15
  75. package/dist/commands/logs.d.ts.map +0 -1
  76. package/dist/commands/logs.js +0 -155
  77. package/dist/commands/logs.js.map +0 -1
  78. package/dist/commands/merge.d.ts +0 -26
  79. package/dist/commands/merge.d.ts.map +0 -1
  80. package/dist/commands/merge.js +0 -159
  81. package/dist/commands/merge.js.map +0 -1
  82. package/dist/commands/notify.d.ts +0 -7
  83. package/dist/commands/notify.d.ts.map +0 -1
  84. package/dist/commands/notify.js +0 -43
  85. package/dist/commands/notify.js.map +0 -1
  86. package/dist/commands/plan.d.ts +0 -19
  87. package/dist/commands/plan.d.ts.map +0 -1
  88. package/dist/commands/plan.js +0 -88
  89. package/dist/commands/plan.js.map +0 -1
  90. package/dist/commands/prd-state.d.ts +0 -12
  91. package/dist/commands/prd-state.d.ts.map +0 -1
  92. package/dist/commands/prd-state.js +0 -47
  93. package/dist/commands/prd-state.js.map +0 -1
  94. package/dist/commands/prd.d.ts +0 -18
  95. package/dist/commands/prd.d.ts.map +0 -1
  96. package/dist/commands/prd.js +0 -363
  97. package/dist/commands/prd.js.map +0 -1
  98. package/dist/commands/prds.d.ts +0 -13
  99. package/dist/commands/prds.d.ts.map +0 -1
  100. package/dist/commands/prds.js +0 -194
  101. package/dist/commands/prds.js.map +0 -1
  102. package/dist/commands/prs.d.ts +0 -14
  103. package/dist/commands/prs.d.ts.map +0 -1
  104. package/dist/commands/prs.js +0 -104
  105. package/dist/commands/prs.js.map +0 -1
  106. package/dist/commands/qa.d.ts +0 -34
  107. package/dist/commands/qa.d.ts.map +0 -1
  108. package/dist/commands/qa.js +0 -214
  109. package/dist/commands/qa.js.map +0 -1
  110. package/dist/commands/queue.d.ts +0 -8
  111. package/dist/commands/queue.d.ts.map +0 -1
  112. package/dist/commands/queue.js +0 -376
  113. package/dist/commands/queue.js.map +0 -1
  114. package/dist/commands/resolve.d.ts +0 -26
  115. package/dist/commands/resolve.d.ts.map +0 -1
  116. package/dist/commands/resolve.js +0 -186
  117. package/dist/commands/resolve.js.map +0 -1
  118. package/dist/commands/retry.d.ts +0 -9
  119. package/dist/commands/retry.d.ts.map +0 -1
  120. package/dist/commands/retry.js +0 -71
  121. package/dist/commands/retry.js.map +0 -1
  122. package/dist/commands/review.d.ts +0 -82
  123. package/dist/commands/review.d.ts.map +0 -1
  124. package/dist/commands/review.js +0 -479
  125. package/dist/commands/review.js.map +0 -1
  126. package/dist/commands/run.d.ts +0 -73
  127. package/dist/commands/run.d.ts.map +0 -1
  128. package/dist/commands/run.js +0 -509
  129. package/dist/commands/run.js.map +0 -1
  130. package/dist/commands/serve.d.ts +0 -19
  131. package/dist/commands/serve.d.ts.map +0 -1
  132. package/dist/commands/serve.js +0 -142
  133. package/dist/commands/serve.js.map +0 -1
  134. package/dist/commands/shared/env-builder.d.ts +0 -49
  135. package/dist/commands/shared/env-builder.d.ts.map +0 -1
  136. package/dist/commands/shared/env-builder.js +0 -150
  137. package/dist/commands/shared/env-builder.js.map +0 -1
  138. package/dist/commands/slice.d.ts +0 -35
  139. package/dist/commands/slice.d.ts.map +0 -1
  140. package/dist/commands/slice.js +0 -316
  141. package/dist/commands/slice.js.map +0 -1
  142. package/dist/commands/state.d.ts +0 -8
  143. package/dist/commands/state.d.ts.map +0 -1
  144. package/dist/commands/state.js +0 -54
  145. package/dist/commands/state.js.map +0 -1
  146. package/dist/commands/status.d.ts +0 -14
  147. package/dist/commands/status.d.ts.map +0 -1
  148. package/dist/commands/status.js +0 -297
  149. package/dist/commands/status.js.map +0 -1
  150. package/dist/commands/summary.d.ts +0 -14
  151. package/dist/commands/summary.d.ts.map +0 -1
  152. package/dist/commands/summary.js +0 -193
  153. package/dist/commands/summary.js.map +0 -1
  154. package/dist/commands/uninstall.d.ts +0 -25
  155. package/dist/commands/uninstall.d.ts.map +0 -1
  156. package/dist/commands/uninstall.js +0 -134
  157. package/dist/commands/uninstall.js.map +0 -1
  158. package/dist/commands/update.d.ts +0 -22
  159. package/dist/commands/update.d.ts.map +0 -1
  160. package/dist/commands/update.js +0 -90
  161. package/dist/commands/update.js.map +0 -1
  162. package/dist/web/assets/index-2JY0x_Ij.js +0 -381
  163. package/dist/web/assets/index-3h8pgmqL.css +0 -1
  164. package/dist/web/assets/index-B-wbyZq7.js +0 -386
  165. package/dist/web/assets/index-B1BnOpiO.css +0 -1
  166. package/dist/web/assets/index-B3CnV08_.js +0 -365
  167. package/dist/web/assets/index-B5QjuFh9.css +0 -1
  168. package/dist/web/assets/index-B8FW2ecQ.js +0 -370
  169. package/dist/web/assets/index-BFxPiKyy.js +0 -381
  170. package/dist/web/assets/index-BGqNh_Da.js +0 -365
  171. package/dist/web/assets/index-BIONU0qz.css +0 -1
  172. package/dist/web/assets/index-B_l_3wnA.js +0 -370
  173. package/dist/web/assets/index-Ba-4YvTQ.js +0 -365
  174. package/dist/web/assets/index-Bbb4-39N.js +0 -370
  175. package/dist/web/assets/index-BdgdShEN.js +0 -365
  176. package/dist/web/assets/index-BhiC4Z-G.js +0 -381
  177. package/dist/web/assets/index-BjhCFjZi.js +0 -381
  178. package/dist/web/assets/index-BlRxmrnQ.css +0 -1
  179. package/dist/web/assets/index-BqwbXsHS.js +0 -365
  180. package/dist/web/assets/index-BsC7RT48.css +0 -1
  181. package/dist/web/assets/index-Bvh8XI8_.js +0 -370
  182. package/dist/web/assets/index-C01r2ymn.js +0 -381
  183. package/dist/web/assets/index-C51Rbsmk.js +0 -381
  184. package/dist/web/assets/index-C7lMNxRE.js +0 -370
  185. package/dist/web/assets/index-CJLObgsn.js +0 -386
  186. package/dist/web/assets/index-CLuRf7Zt.js +0 -381
  187. package/dist/web/assets/index-CM3xFd3e.css +0 -1
  188. package/dist/web/assets/index-CNkBtDK7.js +0 -370
  189. package/dist/web/assets/index-CPQbZ1BL.css +0 -1
  190. package/dist/web/assets/index-CTy5dUDU.css +0 -1
  191. package/dist/web/assets/index-CU15COKs.js +0 -370
  192. package/dist/web/assets/index-CiRJZI4z.js +0 -386
  193. package/dist/web/assets/index-Cp7RYjoy.css +0 -1
  194. package/dist/web/assets/index-CvPkZOWT.js +0 -381
  195. package/dist/web/assets/index-CvUk-33B.css +0 -1
  196. package/dist/web/assets/index-Cvmj-oF6.css +0 -1
  197. package/dist/web/assets/index-CxE5iQVO.js +0 -381
  198. package/dist/web/assets/index-D7lZQpFV.js +0 -365
  199. package/dist/web/assets/index-DAyP4GOi.css +0 -1
  200. package/dist/web/assets/index-DCG0n8Kg.js +0 -386
  201. package/dist/web/assets/index-DEEI8cyF.css +0 -1
  202. package/dist/web/assets/index-DF99BowV.js +0 -381
  203. package/dist/web/assets/index-DGWsvFj6.css +0 -1
  204. package/dist/web/assets/index-DGpU39Cp.css +0 -1
  205. package/dist/web/assets/index-DI4kFgOi.js +0 -370
  206. package/dist/web/assets/index-DIyTcPw5.css +0 -1
  207. package/dist/web/assets/index-DTsfDC7m.js +0 -381
  208. package/dist/web/assets/index-DcgNAi4A.js +0 -386
  209. package/dist/web/assets/index-DgOAgkZy.css +0 -1
  210. package/dist/web/assets/index-DnHkqbOa.js +0 -386
  211. package/dist/web/assets/index-DnR7Idcf.css +0 -1
  212. package/dist/web/assets/index-DpVirMEe.css +0 -1
  213. package/dist/web/assets/index-DsYIWZ86.css +0 -1
  214. package/dist/web/assets/index-DtrDkci5.js +0 -381
  215. package/dist/web/assets/index-DyjIth5M.js +0 -386
  216. package/dist/web/assets/index-FwIKfHPL.css +0 -1
  217. package/dist/web/assets/index-IKrZymWk.css +0 -1
  218. package/dist/web/assets/index-MA6fM0ab.js +0 -381
  219. package/dist/web/assets/index-N_QxaSEg.css +0 -1
  220. package/dist/web/assets/index-OcU-0TCQ.css +0 -1
  221. package/dist/web/assets/index-OyhrmG-L.js +0 -381
  222. package/dist/web/assets/index-SQlBKu_s.js +0 -386
  223. package/dist/web/assets/index-Sv2B60J4.js +0 -370
  224. package/dist/web/assets/index-Vgyivb5u.js +0 -365
  225. package/dist/web/assets/index-ZABWMEZR.js +0 -381
  226. package/dist/web/assets/index-ZE5lOeJp.js +0 -386
  227. package/dist/web/assets/index-aCHmkAcJ.css +0 -1
  228. package/dist/web/assets/index-bFijnpuU.js +0 -381
  229. package/dist/web/assets/index-bUPZgSoZ.css +0 -1
  230. package/dist/web/assets/index-mz1VIYsP.css +0 -1
  231. package/dist/web/assets/index-oOp_MFeE.js +0 -376
  232. package/dist/web/assets/index-rfU713Zm.js +0 -386
  233. package/dist/web/assets/index-tuNH9gmb.js +0 -448
  234. package/dist/web/assets/index-viSwHyDD.js +0 -365
  235. package/dist/web/assets/index-yKEQysks.js +0 -365
@@ -1,134 +0,0 @@
1
- /**
2
- * Uninstall command for Night Watch CLI
3
- * Removes crontab entries for the current project
4
- */
5
- import * as path from 'path';
6
- import * as fs from 'fs';
7
- import { dim, generateMarker, getEntries, getProjectEntries, getProjectName, removeEntriesForProject, success, error as uiError, unregisterProject, warn, } from '@night-watch/core';
8
- /**
9
- * Core uninstall logic, reusable from dashboard.
10
- * Returns result without printing to console.
11
- */
12
- export function performUninstall(projectDir, options) {
13
- try {
14
- const projectName = getProjectName(projectDir);
15
- const marker = generateMarker(projectName);
16
- const existingEntries = Array.from(new Set([...getEntries(marker), ...getProjectEntries(projectDir)]));
17
- if (existingEntries.length === 0) {
18
- unregisterProject(projectDir);
19
- return { success: true, removedCount: 0 };
20
- }
21
- const removedCount = removeEntriesForProject(projectDir, marker);
22
- unregisterProject(projectDir);
23
- if (!options?.keepLogs) {
24
- const logDir = path.join(projectDir, 'logs');
25
- if (fs.existsSync(logDir)) {
26
- const logFiles = [
27
- 'executor.log',
28
- 'reviewer.log',
29
- 'slicer.log',
30
- 'audit.log',
31
- 'pr-resolver.log',
32
- ];
33
- logFiles.forEach((logFile) => {
34
- const logPath = path.join(logDir, logFile);
35
- if (fs.existsSync(logPath)) {
36
- fs.unlinkSync(logPath);
37
- }
38
- });
39
- try {
40
- const remainingFiles = fs.readdirSync(logDir);
41
- if (remainingFiles.length === 0) {
42
- fs.rmdirSync(logDir);
43
- }
44
- }
45
- catch {
46
- // Ignore errors removing directory
47
- }
48
- }
49
- }
50
- return { success: true, removedCount };
51
- }
52
- catch (err) {
53
- return {
54
- success: false,
55
- removedCount: 0,
56
- error: err instanceof Error ? err.message : String(err),
57
- };
58
- }
59
- }
60
- /**
61
- * Uninstall crontab entries for night-watch
62
- */
63
- export function uninstallCommand(program) {
64
- program
65
- .command('uninstall')
66
- .description('Remove crontab entries')
67
- .option('--keep-logs', 'Preserve log files')
68
- .action(async (options) => {
69
- try {
70
- // Get project directory
71
- const projectDir = process.cwd();
72
- // Get project name
73
- const projectName = getProjectName(projectDir);
74
- const marker = generateMarker(projectName);
75
- // Check if there are entries to remove
76
- const existingEntries = Array.from(new Set([...getEntries(marker), ...getProjectEntries(projectDir)]));
77
- if (existingEntries.length === 0) {
78
- warn(`No Night Watch crontab entries found for ${projectName}.`);
79
- dim('Nothing to uninstall.');
80
- return;
81
- }
82
- // Show entries that will be removed
83
- dim(`Removing Night Watch crontab entries for ${projectName}:`);
84
- existingEntries.forEach((entry) => dim(` ${entry}`));
85
- // Remove entries
86
- const removedCount = removeEntriesForProject(projectDir, marker);
87
- // Handle log files
88
- if (!options.keepLogs) {
89
- const logDir = path.join(projectDir, 'logs');
90
- if (fs.existsSync(logDir)) {
91
- const logFiles = [
92
- 'executor.log',
93
- 'reviewer.log',
94
- 'slicer.log',
95
- 'audit.log',
96
- 'pr-resolver.log',
97
- ];
98
- let logsRemoved = 0;
99
- logFiles.forEach((logFile) => {
100
- const logPath = path.join(logDir, logFile);
101
- if (fs.existsSync(logPath)) {
102
- fs.unlinkSync(logPath);
103
- logsRemoved++;
104
- }
105
- });
106
- // Try to remove log directory if empty
107
- try {
108
- const remainingFiles = fs.readdirSync(logDir);
109
- if (remainingFiles.length === 0) {
110
- fs.rmdirSync(logDir);
111
- }
112
- }
113
- catch {
114
- // Ignore errors removing directory
115
- }
116
- if (logsRemoved > 0) {
117
- console.log();
118
- dim(`Removed ${logsRemoved} log file(s).`);
119
- }
120
- }
121
- }
122
- else {
123
- console.log();
124
- dim('Log files preserved.');
125
- }
126
- success(`Successfully removed ${removedCount} crontab entry/entries.`);
127
- }
128
- catch (err) {
129
- uiError(`Error uninstalling Night Watch: ${err instanceof Error ? err.message : String(err)}`);
130
- process.exit(1);
131
- }
132
- });
133
- }
134
- //# sourceMappingURL=uninstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Update command for Night Watch CLI
3
- * Reinstalls global CLI and refreshes cron entries for one or more projects.
4
- */
5
- import { Command } from 'commander';
6
- export declare const DEFAULT_GLOBAL_SPEC = "@jonit-dev/night-watch-cli@latest";
7
- export interface IUpdateOptions {
8
- projects?: string;
9
- globalSpec: string;
10
- global?: boolean;
11
- }
12
- /**
13
- * Parse project directories from a comma-separated CLI option.
14
- * Defaults to current working directory when option is omitted.
15
- */
16
- export declare function parseProjectDirs(projects: string | undefined, cwd: string): string[];
17
- export declare function shouldInstallGlobal(options: Pick<IUpdateOptions, 'global'>): boolean;
18
- /**
19
- * Register update command.
20
- */
21
- export declare function updateCommand(program: Command): void;
22
- //# sourceMappingURL=update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAYpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,OAAO,CAEpF;AAgCD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsCpD"}
@@ -1,90 +0,0 @@
1
- /**
2
- * Update command for Night Watch CLI
3
- * Reinstalls global CLI and refreshes cron entries for one or more projects.
4
- */
5
- import { spawnSync } from 'child_process';
6
- import * as fs from 'fs';
7
- import * as path from 'path';
8
- import { dim, success, error as uiError, warn } from '@night-watch/core';
9
- export const DEFAULT_GLOBAL_SPEC = '@jonit-dev/night-watch-cli@latest';
10
- /**
11
- * Parse project directories from a comma-separated CLI option.
12
- * Defaults to current working directory when option is omitted.
13
- */
14
- export function parseProjectDirs(projects, cwd) {
15
- if (!projects || projects.trim().length === 0) {
16
- return [cwd];
17
- }
18
- const dirs = projects
19
- .split(',')
20
- .map((entry) => entry.trim())
21
- .filter((entry) => entry.length > 0)
22
- .map((entry) => path.resolve(cwd, entry));
23
- return Array.from(new Set(dirs));
24
- }
25
- export function shouldInstallGlobal(options) {
26
- return options.global !== false;
27
- }
28
- function runCommand(command, args, cwd) {
29
- const result = spawnSync(command, args, {
30
- cwd,
31
- env: process.env,
32
- stdio: 'inherit',
33
- });
34
- if (result.error) {
35
- throw result.error;
36
- }
37
- if ((result.status ?? 1) !== 0) {
38
- const location = cwd ? ` in ${cwd}` : '';
39
- throw new Error(`Command failed${location}: ${command} ${args.join(' ')}`);
40
- }
41
- }
42
- function resolveNightWatchBin() {
43
- const result = spawnSync('which', ['night-watch'], {
44
- encoding: 'utf-8',
45
- env: process.env,
46
- });
47
- if (result.status === 0 && typeof result.stdout === 'string' && result.stdout.trim().length > 0) {
48
- return result.stdout.trim();
49
- }
50
- return 'night-watch';
51
- }
52
- /**
53
- * Register update command.
54
- */
55
- export function updateCommand(program) {
56
- program
57
- .command('update')
58
- .description('Update global CLI and refresh cron for project(s)')
59
- .option('--projects <dirs>', 'Comma-separated project directories (default: current directory)')
60
- .option('--global-spec <spec>', 'npm package spec used for global install', DEFAULT_GLOBAL_SPEC)
61
- .option('--no-global', 'Skip global npm install and only refresh project cron')
62
- .action(async (options) => {
63
- try {
64
- const cwd = process.cwd();
65
- const projectDirs = parseProjectDirs(options.projects, cwd);
66
- if (shouldInstallGlobal(options)) {
67
- dim(`Updating global install: npm install -g ${options.globalSpec}`);
68
- runCommand('npm', ['install', '-g', options.globalSpec]);
69
- success('Global CLI update completed.');
70
- }
71
- const nightWatchBin = resolveNightWatchBin();
72
- for (const projectDir of projectDirs) {
73
- if (!fs.existsSync(projectDir) || !fs.statSync(projectDir).isDirectory()) {
74
- warn(`Skipping invalid project directory: ${projectDir}`);
75
- continue;
76
- }
77
- dim(`Refreshing cron in ${projectDir}`);
78
- runCommand(nightWatchBin, ['uninstall'], projectDir);
79
- runCommand(nightWatchBin, ['install'], projectDir);
80
- success(`Refreshed project: ${projectDir}`);
81
- }
82
- success('Update completed.');
83
- }
84
- catch (err) {
85
- uiError(`Update failed: ${err instanceof Error ? err.message : String(err)}`);
86
- process.exit(1);
87
- }
88
- });
89
- }
90
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}