ninedeploy 0.10.5 → 0.16.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 (149) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1 -0
  3. package/dist/client.d.ts +34 -0
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +81 -22
  6. package/dist/client.js.map +1 -1
  7. package/dist/commands/backupPolicy.d.ts +29 -0
  8. package/dist/commands/backupPolicy.d.ts.map +1 -0
  9. package/dist/commands/backupPolicy.js +111 -0
  10. package/dist/commands/backupPolicy.js.map +1 -0
  11. package/dist/commands/certificates.d.ts +18 -7
  12. package/dist/commands/certificates.d.ts.map +1 -1
  13. package/dist/commands/certificates.js +121 -1
  14. package/dist/commands/certificates.js.map +1 -1
  15. package/dist/commands/databaseAccess.d.ts +37 -0
  16. package/dist/commands/databaseAccess.d.ts.map +1 -0
  17. package/dist/commands/databaseAccess.js +306 -0
  18. package/dist/commands/databaseAccess.js.map +1 -0
  19. package/dist/commands/deploy.d.ts.map +1 -1
  20. package/dist/commands/deploy.js +28 -7
  21. package/dist/commands/deploy.js.map +1 -1
  22. package/dist/commands/githubApps.d.ts +40 -0
  23. package/dist/commands/githubApps.d.ts.map +1 -0
  24. package/dist/commands/githubApps.js +278 -0
  25. package/dist/commands/githubApps.js.map +1 -0
  26. package/dist/commands/housekeeping.d.ts +7 -0
  27. package/dist/commands/housekeeping.d.ts.map +1 -1
  28. package/dist/commands/housekeeping.js +16 -0
  29. package/dist/commands/housekeeping.js.map +1 -1
  30. package/dist/commands/logs.d.ts.map +1 -1
  31. package/dist/commands/logs.js +17 -2
  32. package/dist/commands/logs.js.map +1 -1
  33. package/dist/commands/manage.d.ts +26 -10
  34. package/dist/commands/manage.d.ts.map +1 -1
  35. package/dist/commands/manage.js +219 -65
  36. package/dist/commands/manage.js.map +1 -1
  37. package/dist/commands/manifest.d.ts.map +1 -1
  38. package/dist/commands/manifest.js +9 -1
  39. package/dist/commands/manifest.js.map +1 -1
  40. package/dist/commands/misc.d.ts +4 -2
  41. package/dist/commands/misc.d.ts.map +1 -1
  42. package/dist/commands/misc.js +25 -11
  43. package/dist/commands/misc.js.map +1 -1
  44. package/dist/commands/multiNode.d.ts +55 -0
  45. package/dist/commands/multiNode.d.ts.map +1 -0
  46. package/dist/commands/multiNode.js +438 -0
  47. package/dist/commands/multiNode.js.map +1 -0
  48. package/dist/commands/notifications.d.ts +1 -1
  49. package/dist/commands/operations.d.ts +89 -0
  50. package/dist/commands/operations.d.ts.map +1 -0
  51. package/dist/commands/operations.js +468 -0
  52. package/dist/commands/operations.js.map +1 -0
  53. package/dist/commands/panelBackup.d.ts +28 -0
  54. package/dist/commands/panelBackup.d.ts.map +1 -0
  55. package/dist/commands/panelBackup.js +153 -0
  56. package/dist/commands/panelBackup.js.map +1 -0
  57. package/dist/commands/plugins.d.ts +1 -1
  58. package/dist/commands/plugins.d.ts.map +1 -1
  59. package/dist/commands/plugins.js +7 -3
  60. package/dist/commands/plugins.js.map +1 -1
  61. package/dist/commands/proxyConfig.d.ts +16 -0
  62. package/dist/commands/proxyConfig.d.ts.map +1 -0
  63. package/dist/commands/proxyConfig.js +122 -0
  64. package/dist/commands/proxyConfig.js.map +1 -0
  65. package/dist/commands/secretProviders.d.ts +59 -0
  66. package/dist/commands/secretProviders.d.ts.map +1 -0
  67. package/dist/commands/secretProviders.js +212 -0
  68. package/dist/commands/secretProviders.js.map +1 -0
  69. package/dist/commands/services.d.ts.map +1 -1
  70. package/dist/commands/services.js +3 -5
  71. package/dist/commands/services.js.map +1 -1
  72. package/dist/commands/setup.d.ts +3 -1
  73. package/dist/commands/setup.d.ts.map +1 -1
  74. package/dist/commands/setup.js +19 -3
  75. package/dist/commands/setup.js.map +1 -1
  76. package/dist/commands/sources.d.ts +10 -3
  77. package/dist/commands/sources.d.ts.map +1 -1
  78. package/dist/commands/sources.js +116 -18
  79. package/dist/commands/sources.js.map +1 -1
  80. package/dist/commands/templates.d.ts.map +1 -1
  81. package/dist/commands/templates.js +8 -1
  82. package/dist/commands/templates.js.map +1 -1
  83. package/dist/config.d.ts.map +1 -1
  84. package/dist/config.js +2 -1
  85. package/dist/config.js.map +1 -1
  86. package/dist/index.js +427 -23
  87. package/dist/index.js.map +1 -1
  88. package/dist/lib/format.d.ts.map +1 -1
  89. package/dist/lib/format.js +5 -4
  90. package/dist/lib/format.js.map +1 -1
  91. package/dist/lib/panelBackupFile.d.ts +3 -0
  92. package/dist/lib/panelBackupFile.d.ts.map +1 -0
  93. package/dist/lib/panelBackupFile.js +71 -0
  94. package/dist/lib/panelBackupFile.js.map +1 -0
  95. package/dist/lib/serverRunner.d.ts +6 -0
  96. package/dist/lib/serverRunner.d.ts.map +1 -1
  97. package/dist/lib/serverRunner.js +18 -3
  98. package/dist/lib/serverRunner.js.map +1 -1
  99. package/dist/prompts.d.ts.map +1 -1
  100. package/dist/prompts.js +9 -2
  101. package/dist/prompts.js.map +1 -1
  102. package/package.json +6 -5
  103. package/src/client.ts +137 -0
  104. package/src/commands/backupPolicy.ts +123 -0
  105. package/src/commands/branding.ts +83 -0
  106. package/src/commands/buildCache.ts +72 -0
  107. package/src/commands/certificates.ts +208 -0
  108. package/src/commands/communityTemplates.ts +97 -0
  109. package/src/commands/configCenter.ts +71 -0
  110. package/src/commands/configPresets.ts +215 -0
  111. package/src/commands/databaseAccess.ts +333 -0
  112. package/src/commands/demo.ts +22 -0
  113. package/src/commands/deploy.ts +284 -0
  114. package/src/commands/doctor.ts +170 -0
  115. package/src/commands/domains.ts +170 -0
  116. package/src/commands/egress.ts +135 -0
  117. package/src/commands/emailTemplates.ts +112 -0
  118. package/src/commands/firewall.ts +82 -0
  119. package/src/commands/githubApps.ts +292 -0
  120. package/src/commands/housekeeping.ts +106 -0
  121. package/src/commands/login.ts +58 -0
  122. package/src/commands/logs.ts +91 -0
  123. package/src/commands/manage.ts +714 -0
  124. package/src/commands/manifest.ts +314 -0
  125. package/src/commands/metrics.ts +69 -0
  126. package/src/commands/misc.ts +307 -0
  127. package/src/commands/multiNode.ts +442 -0
  128. package/src/commands/notifications.ts +174 -0
  129. package/src/commands/operations.ts +519 -0
  130. package/src/commands/panelBackup.ts +167 -0
  131. package/src/commands/pgbouncer.ts +65 -0
  132. package/src/commands/plugins.ts +123 -0
  133. package/src/commands/proxyConfig.ts +117 -0
  134. package/src/commands/secretProviders.ts +228 -0
  135. package/src/commands/server.ts +126 -0
  136. package/src/commands/services.ts +249 -0
  137. package/src/commands/setup.ts +94 -0
  138. package/src/commands/sources.ts +317 -0
  139. package/src/commands/sso.ts +106 -0
  140. package/src/commands/templates.ts +158 -0
  141. package/src/commands/token.ts +66 -0
  142. package/src/commands/webhooks.ts +93 -0
  143. package/src/commands/workspaces.ts +63 -0
  144. package/src/config.ts +53 -0
  145. package/src/index.ts +1273 -0
  146. package/src/lib/format.ts +182 -0
  147. package/src/lib/panelBackupFile.ts +67 -0
  148. package/src/lib/serverRunner.ts +223 -0
  149. package/src/prompts.ts +238 -0
@@ -19,10 +19,27 @@ export async function sourcesList(client) {
19
19
  branch: s.defaultBranch ?? 'main',
20
20
  })), ['id', 'name', 'type', 'token', 'deployKey', 'branch']);
21
21
  }
22
+ /**
23
+ * 0.13: a Gitea base URL from `--base-url`. Shape only (http(s), no
24
+ * credentials, query or fragment); the server re-checks it and refuses
25
+ * `http:` unless private egress is allowed.
26
+ */
27
+ function parseBaseUrl(raw) {
28
+ const trimmed = raw.trim().replace(/\/+$/, '');
29
+ try {
30
+ const url = new URL(trimmed);
31
+ if ((url.protocol !== 'https:' && url.protocol !== 'http:') || url.username || url.password || url.search || url.hash)
32
+ return null;
33
+ return trimmed;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
22
39
  /**
23
40
  * Resolve a credential with a strict, documented precedence:
24
41
  * 1. explicit CLI flag (already handled by the caller)
25
- * 2. NINEDEPLOY_GITHUB_TOKEN / NINEDEPLOY_GITLAB_TOKEN / NINEDEPLOY_TOKEN env var
42
+ * 2. NINEDEPLOY_GITHUB_TOKEN / NINEDEPLOY_GITLAB_TOKEN / NINEDEPLOY_SOURCE_TOKEN env var
26
43
  * 3. interactive masked prompt
27
44
  *
28
45
  * The env fallback is the documented "no-stdin / CI" path: an operator
@@ -35,9 +52,41 @@ async function resolveSecret(envName, label) {
35
52
  // Last resort: masked prompt. Honors a piped-stdin default (empty).
36
53
  return await promptHidden(label);
37
54
  }
38
- /** `ninedeploy sources add [name]` */
39
- export async function sourcesAdd(client, nameArg) {
55
+ /**
56
+ * F596: the generic provider-token env var for gitea / registry / custom.
57
+ * NOT `NINEDEPLOY_TOKEN` — that is the documented panel API token (MCP / API
58
+ * clients); reading it here stored the panel credential on the source and
59
+ * sent it to the third-party git host / registry, without a prompt.
60
+ */
61
+ const SOURCE_TOKEN_ENV = 'NINEDEPLOY_SOURCE_TOKEN';
62
+ /**
63
+ * F597: the prompt asks for the key on one line with escaped newlines (a
64
+ * hidden prompt ends at the first real newline). Turn the escapes back into
65
+ * the newlines the key file needs — a PEM/OpenSSH key never holds a backslash.
66
+ */
67
+ async function resolveDeployKey() {
68
+ const key = await resolveSecret('NINEDEPLOY_SSH_KEY', 'SSH private key (PEM, single line — escape newlines)');
69
+ return key.replace(/(?:\\r)?\\n/g, '\n');
70
+ }
71
+ /**
72
+ * F598: canonical decimal id only, as the server's parseId accepts it.
73
+ * `Number()` mapped `1e1`→10 and `0x4`→4, and NaN fell into the picker whose
74
+ * default is the first listed source — keygen then rewrote the wrong source.
75
+ */
76
+ function parseSourceId(raw) {
77
+ const t = raw.trim();
78
+ return /^[1-9]\d*$/.test(t) && Number.isSafeInteger(Number(t)) ? Number(t) : 0;
79
+ }
80
+ /** `ninedeploy sources add [name] [--base-url <url>]` */
81
+ export async function sourcesAdd(client, nameArg, opts = {}) {
40
82
  header('Add Source');
83
+ let baseUrl;
84
+ if (opts.baseUrl !== undefined) {
85
+ const parsed = parseBaseUrl(opts.baseUrl);
86
+ if (!parsed)
87
+ return error(`Invalid --base-url: ${opts.baseUrl} (expected https://host[/path])`);
88
+ baseUrl = parsed;
89
+ }
41
90
  const name = nameArg ?? (await prompt('Display name (e.g. github-personal)'));
42
91
  /* v8 ignore next -- the dedicated "rejects when no name" test covers the truthy/falsy split, but
43
92
  * v8 counts the early-return as a separate branch that the existing test only ticks on one side. */
@@ -47,32 +96,43 @@ export async function sourcesAdd(client, nameArg) {
47
96
  if (!PROVIDERS.includes(type)) {
48
97
  return error(`Unknown provider: ${type}. Choose one of: ${PROVIDERS.join(', ')}`);
49
98
  }
99
+ if (baseUrl && type !== 'gitea')
100
+ return error('--base-url applies to gitea sources only');
50
101
  const defaultBranch = (await prompt('Default branch (used as suggestion only)', 'main')) || 'main';
51
102
  let token;
52
103
  let deployKey;
53
104
  let registryUsername;
54
105
  if (type === 'registry') {
55
106
  registryUsername = (await prompt('Registry username (e.g. ci-bot)')) || undefined;
56
- token = await resolveSecret('NINEDEPLOY_TOKEN', 'Registry password / access token (PAT)');
107
+ token = await resolveSecret(SOURCE_TOKEN_ENV, 'Registry password / access token (PAT)');
57
108
  }
58
109
  else if (type === 'gitea') {
59
- token = await resolveSecret('NINEDEPLOY_TOKEN', 'Gitea access token');
110
+ if (!baseUrl) {
111
+ const typed = (await prompt('Gitea base URL (e.g. https://git.example.com; empty = no live test or repo list)')).trim();
112
+ if (typed) {
113
+ const parsed = parseBaseUrl(typed);
114
+ if (!parsed)
115
+ return error(`Invalid Gitea base URL: ${typed}`);
116
+ baseUrl = parsed;
117
+ }
118
+ }
119
+ token = await resolveSecret(SOURCE_TOKEN_ENV, 'Gitea access token');
60
120
  }
61
121
  else if (type === 'custom') {
62
122
  // Custom source: token or SSH key, your choice
63
123
  const authKind = (await prompt('Auth kind (token | ssh)', 'token')) === 'ssh' ? 'ssh' : 'token';
64
124
  if (authKind === 'ssh') {
65
- deployKey = await resolveSecret('NINEDEPLOY_SSH_KEY', 'SSH private key (PEM, single line — escape newlines)');
125
+ deployKey = await resolveDeployKey();
66
126
  }
67
127
  else {
68
- token = await resolveSecret('NINEDEPLOY_TOKEN', 'Access token (PAT)');
128
+ token = await resolveSecret(SOURCE_TOKEN_ENV, 'Access token (PAT)');
69
129
  }
70
130
  }
71
131
  else {
72
132
  // github / gitlab — both accept token or SSH
73
133
  const authKind = (await prompt('Auth kind (token | ssh)', 'token')) === 'ssh' ? 'ssh' : 'token';
74
134
  if (authKind === 'ssh') {
75
- deployKey = await resolveSecret('NINEDEPLOY_SSH_KEY', 'SSH private key (PEM, single line — escape newlines)');
135
+ deployKey = await resolveDeployKey();
76
136
  }
77
137
  else {
78
138
  const envName = type === 'github' ? 'NINEDEPLOY_GITHUB_TOKEN' : 'NINEDEPLOY_GITLAB_TOKEN';
@@ -90,10 +150,11 @@ export async function sourcesAdd(client, nameArg) {
90
150
  deployKey: deployKey || undefined,
91
151
  registryUsername,
92
152
  defaultBranch,
153
+ ...(baseUrl ? { baseUrl } : {}),
93
154
  }));
94
155
  success(`Source "${created.name}" created (id: ${created.id})`);
95
156
  // Live validation right away — saves the user a DeployWizard round-trip.
96
- if ((type === 'github' || type === 'gitlab') && token) {
157
+ if ((type === 'github' || type === 'gitlab' || (type === 'gitea' && baseUrl)) && token) {
97
158
  await sourcesTest(client, String(created.id));
98
159
  }
99
160
  }
@@ -102,10 +163,31 @@ export async function sourcesAdd(client, nameArg) {
102
163
  error(err instanceof Error ? err.message : String(err));
103
164
  }
104
165
  }
105
- /** `ninedeploy sources test [id]` — verify the stored token still authenticates. */
166
+ /**
167
+ * F1011: the login, name, scopes, warnings and failure text come from the Git
168
+ * provider's API response (relayed by the server), so they must not drive the
169
+ * operator's terminal — the class F538 (`deploys watch`) and F880
170
+ * (`logs search`) closed for log lines. Same pattern set, but these are
171
+ * one-line metadata fields, so nothing is kept: OSC/DCS/APC/PM/SOS strings,
172
+ * every CSI (SGR included), stray escapes, and all C0/DEL/C1 controls
173
+ * (tab/LF/CR too — a newline in a login could forge a second status line).
174
+ */
175
+ const ESC = String.fromCharCode(27);
176
+ const PROVIDER_TEXT_CONTROL = new RegExp(`${ESC}[\\]PX^_][\\s\\S]*?(?:${String.fromCharCode(7)}|${ESC}\\\\|$)` +
177
+ `|${ESC}\\[[0-?]*[ -/]*[@-~]` +
178
+ `|${ESC}[\\s\\S]?` +
179
+ '|[\\u0000-\\u001f\\u007f-\\u009f]', 'g');
180
+ export const plain = (value) => String(value).replace(PROVIDER_TEXT_CONTROL, '');
181
+ /**
182
+ * `ninedeploy sources test [id]` — verify the stored token still authenticates.
183
+ * GitHub successes also print what the token can see (F1008/F1011): its kind,
184
+ * its classic/OAuth scopes and each warning about missing private repositories.
185
+ */
106
186
  export async function sourcesTest(client, idArg) {
107
187
  header('Test Source Credentials');
108
- let id = Number(idArg);
188
+ if (idArg !== undefined && !parseSourceId(idArg))
189
+ return error(`Invalid source id: ${idArg}`);
190
+ let id = idArg === undefined ? 0 : parseSourceId(idArg);
109
191
  if (!id) {
110
192
  const sources = await spinner('Fetching sources', () => client.sources.list());
111
193
  if (sources.length === 0) {
@@ -114,16 +196,26 @@ export async function sourcesTest(client, idArg) {
114
196
  }
115
197
  table(sources.map((s) => ({ id: s.id, name: s.name, type: s.type })), ['id', 'name', 'type']);
116
198
  const picked = await prompt('Source id to test', String(sources[0].id));
117
- id = Number(picked);
199
+ id = parseSourceId(picked);
118
200
  if (!id)
119
201
  return error('A numeric source id is required');
120
202
  }
121
203
  const result = await spinner('Verifying credentials', () => client.sources.test(id));
122
204
  if (result.ok) {
123
- success(`✓ ${result.provider} token authenticates as ${result.login}${result.name ? ` (${result.name})` : ''}`);
205
+ success(`${plain(result.provider)} token authenticates as ${plain(result.login)}${result.name ? ` (${plain(result.name)})` : ''}`);
206
+ if (result.tokenKind)
207
+ kv('Token type', plain(result.tokenKind));
208
+ if (Array.isArray(result.scopes))
209
+ kv('Scopes', result.scopes.length > 0 ? result.scopes.map(plain).join(', ') : c.gray('none'));
210
+ // 0.13: a GitHub App source reports its installation's repository selection.
211
+ if (result.repositorySelection)
212
+ kv('Repositories', plain(result.repositorySelection));
213
+ for (const warning of result.warnings ?? []) {
214
+ console.log(` ${c.yellow('!')} ${c.yellow(`warning: ${plain(warning)}`)}`);
215
+ }
124
216
  }
125
217
  else {
126
- error(`✗ ${result.provider ?? 'source'} check failed (status ${result.status ?? 'n/a'}): ${result.error ?? 'unknown error'}`);
218
+ error(`${plain(result.provider ?? 'source')} check failed (status ${plain(result.status ?? 'n/a')}): ${plain(result.error ?? 'unknown error')}`);
127
219
  }
128
220
  }
129
221
  /**
@@ -133,7 +225,9 @@ export async function sourcesTest(client, idArg) {
133
225
  */
134
226
  export async function sourcesKeygen(client, idArg) {
135
227
  header('Generate Deploy Key');
136
- let id = Number(idArg);
228
+ if (idArg !== undefined && !parseSourceId(idArg))
229
+ return error(`Invalid source id: ${idArg}`);
230
+ let id = idArg === undefined ? 0 : parseSourceId(idArg);
137
231
  if (!id) {
138
232
  const sources = await spinner('Fetching sources', () => client.sources.list());
139
233
  if (sources.length === 0) {
@@ -142,7 +236,7 @@ export async function sourcesKeygen(client, idArg) {
142
236
  }
143
237
  table(sources.map((s) => ({ id: s.id, name: s.name, type: s.type })), ['id', 'name', 'type']);
144
238
  const picked = await prompt('Source id to generate a deploy key for', String(sources[0].id));
145
- id = Number(picked);
239
+ id = parseSourceId(picked);
146
240
  if (!id)
147
241
  return error('A numeric source id is required');
148
242
  }
@@ -161,7 +255,9 @@ export async function sourcesKeygen(client, idArg) {
161
255
  /** `ninedeploy sources remove [id]` */
162
256
  export async function sourcesRemove(client, idArg) {
163
257
  header('Remove Source');
164
- let id = Number(idArg);
258
+ if (idArg !== undefined && !parseSourceId(idArg))
259
+ return error(`Invalid source id: ${idArg}`);
260
+ let id = idArg === undefined ? 0 : parseSourceId(idArg);
165
261
  if (!id) {
166
262
  const sources = await spinner('Fetching sources', () => client.sources.list());
167
263
  if (sources.length === 0) {
@@ -170,7 +266,7 @@ export async function sourcesRemove(client, idArg) {
170
266
  }
171
267
  table(sources.map((s) => ({ id: s.id, name: s.name, type: s.type })), ['id', 'name', 'type']);
172
268
  const picked = await prompt('Source id to remove', String(sources[0].id));
173
- id = Number(picked);
269
+ id = parseSourceId(picked);
174
270
  if (!id)
175
271
  return error('A numeric source id is required');
176
272
  }
@@ -204,6 +300,8 @@ export async function sourcesShow(client, idArg) {
204
300
  kv('Token', s.hasToken ? c.green('✓ set') : c.gray('—'));
205
301
  kv('Deploy key', s.hasDeployKey ? c.green('✓ set') : c.gray('—'));
206
302
  kv('Registry user', s.registryUsername ?? '—');
303
+ if (s.type === 'gitea')
304
+ kv('Base URL', s.baseUrl ?? c.gray('not set (no live test or repo list)'));
207
305
  kv('Default branch', s.defaultBranch ?? 'main');
208
306
  kv('Created', s.createdAt);
209
307
  kv('Updated', s.updatedAt);
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/commands/sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/commands/sources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAiD,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA0CrD,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAKzD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,EAC3B,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAiD,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA0CrD,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAWzD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,EAC3B,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
@@ -60,7 +60,14 @@ async function fetchTemplateEntry(client, templateId) {
60
60
  */
61
61
  export async function renderTemplateManifest(client, templateId, opts = {}) {
62
62
  const entry = await fetchTemplateEntry(client, templateId);
63
- const manifest = buildManifestFromTemplate(entry, opts.host ?? '');
63
+ const host = opts.host?.trim() ?? '';
64
+ const manifest = buildManifestFromTemplate(entry, host);
65
+ // F929: the mapper always emits a starter route, but `routes[].host` is
66
+ // required (a hostname, min 3 chars) while `routes` itself is optional. With
67
+ // no --host, drop the route instead of writing `host: ""` that `manifest
68
+ // validate` and the deploy-time loader reject (mirrors the server's F336).
69
+ if (!host)
70
+ delete manifest.routes;
64
71
  const yaml = formatManifestYaml(manifest);
65
72
  return { yaml, entry };
66
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/commands/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAA8B,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,CAAU,CAAC;AAE3F,SAAS,gBAAgB,CAAC,GAAW;IACnC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAAwB,EACxB,UAAkB;IAElB,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,IAAI,GAAG,MAAO,MAElB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,GAAG,CAAC,CAAC;IAChF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC;AAaD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAwB,EACxB,UAAkB,EAClB,IAAI,GAAyB,EAAE;IAE/B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,wEAAwE;IACxE,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;IAClC,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAwB,EACxB,UAAkB,EAClB,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE,EAC3B,IAAI,GAAyB,EAAE;IAE/B,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,gCAAgC,QAAQ,0BAA0B,CAAC,CAAC;YAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACH,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CACH,GAAG,YAAY,KAAK;YAClB,CAAC,CAAC,6BAA6B,UAAU,MAAM,GAAG,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,6BAA6B,UAAU,GAAG,CAC/C,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;QAC7B,iEAAiE;QACjE,gEAAgE;QAChE,oEAAoE;QACpE,uDAAuD;QACvD,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW;YAAE,IAAI,CAAC,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAC7D,IAAI,CAAC,gEAAgE,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,mEAAmE;QACnE,uDAAuD;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,oCAAoC;YACpC,IAAI,CAAC,4BAA4B,KAAK,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,wBAAgB,UAAU,IAAI,SAAS,CAYtC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBlD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,wBAAgB,UAAU,IAAI,SAAS,CAYtC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBlD"}
package/dist/config.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
+ import { randomUUID } from 'node:crypto';
3
4
  import path from 'node:path';
4
5
  const CONFIG_DIR = path.join(homedir(), '.ninedeploy');
5
6
  const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
@@ -23,7 +24,7 @@ export function saveConfig(config) {
23
24
  // Temp-file + rename: a crash mid-write must never leave a half-written
24
25
  // config behind (the previous direct write could, logging the user out on
25
26
  // the next command with no explanation).
26
- const tmp = `${CONFIG_FILE}.tmp`;
27
+ const tmp = `${CONFIG_FILE}.${randomUUID()}.tmp`;
27
28
  writeFileSync(tmp, JSON.stringify(config, null, 2), { mode: 0o600 });
28
29
  try {
29
30
  renameSync(tmp, CONFIG_FILE);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AASzD,MAAM,QAAQ,GAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEjE,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAwB,EAAE,CAAC;QACnG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,iEAAiE;QACjE,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,WAAW,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1H,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,wEAAwE;IACxE,0EAA0E;IAC1E,yCAAyC;IACzC,MAAM,GAAG,GAAG,GAAG,WAAW,MAAM,CAAC;IACjC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,uDAAuD;IACvD,IAAI,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AASzD,MAAM,QAAQ,GAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEjE,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAwB,EAAE,CAAC;QACnG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,iEAAiE;QACjE,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,WAAW,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1H,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,wEAAwE;IACxE,0EAA0E;IAC1E,yCAAyC;IACzC,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,UAAU,EAAE,MAAM,CAAC;IACjD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,uDAAuD;IACvD,IAAI,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;AACH,CAAC"}