@inquir/compute-cli 0.2.2 → 0.4.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.
- package/README.md +228 -21
- package/dist/commands/admin-tenants.d.ts +11 -0
- package/dist/commands/admin-tenants.d.ts.map +1 -0
- package/dist/commands/admin-tenants.js +318 -0
- package/dist/commands/admin-tenants.js.map +1 -0
- package/dist/commands/admin.d.ts +2 -0
- package/dist/commands/admin.d.ts.map +1 -0
- package/dist/commands/admin.js +445 -0
- package/dist/commands/admin.js.map +1 -0
- package/dist/commands/apps-describe.d.ts +9 -0
- package/dist/commands/apps-describe.d.ts.map +1 -0
- package/dist/commands/apps-describe.js +118 -0
- package/dist/commands/apps-describe.js.map +1 -0
- package/dist/commands/apps-observability.d.ts +9 -0
- package/dist/commands/apps-observability.d.ts.map +1 -0
- package/dist/commands/apps-observability.js +281 -0
- package/dist/commands/apps-observability.js.map +1 -0
- package/dist/commands/apps-promote.d.ts +31 -0
- package/dist/commands/apps-promote.d.ts.map +1 -0
- package/dist/commands/apps-promote.js +115 -0
- package/dist/commands/apps-promote.js.map +1 -0
- package/dist/commands/apps-resources.d.ts +6 -0
- package/dist/commands/apps-resources.d.ts.map +1 -0
- package/dist/commands/apps-resources.js +107 -0
- package/dist/commands/apps-resources.js.map +1 -0
- package/dist/commands/apps.d.ts +65 -5
- package/dist/commands/apps.d.ts.map +1 -1
- package/dist/commands/apps.js +1293 -89
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +7 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +10 -2
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/deploy.d.ts +38 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +165 -12
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +96 -20
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +37 -5
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/mcp.d.ts +13 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +184 -77
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/projects.d.ts +2 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +194 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/finite-source-command-client.d.ts +3 -0
- package/dist/lib/finite-source-command-client.d.ts.map +1 -0
- package/dist/lib/finite-source-command-client.js +3 -0
- package/dist/lib/finite-source-command-client.js.map +1 -0
- package/dist/lib/mcp-io.d.ts +23 -0
- package/dist/lib/mcp-io.d.ts.map +1 -0
- package/dist/lib/mcp-io.js +185 -0
- package/dist/lib/mcp-io.js.map +1 -0
- package/dist/lib/mcp-source-commands.d.ts +17 -0
- package/dist/lib/mcp-source-commands.d.ts.map +1 -0
- package/dist/lib/mcp-source-commands.js +345 -0
- package/dist/lib/mcp-source-commands.js.map +1 -0
- package/dist/utils/api.d.ts +58 -8
- package/dist/utils/api.d.ts.map +1 -1
- package/dist/utils/api.js +86 -7
- package/dist/utils/api.js.map +1 -1
- package/dist/utils/apps-presentation.d.ts +11 -1
- package/dist/utils/apps-presentation.d.ts.map +1 -1
- package/dist/utils/apps-presentation.js +37 -0
- package/dist/utils/apps-presentation.js.map +1 -1
- package/dist/utils/args.d.ts.map +1 -1
- package/dist/utils/args.js +8 -1
- package/dist/utils/args.js.map +1 -1
- package/dist/utils/assets.d.ts +48 -1
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/assets.js +185 -7
- package/dist/utils/assets.js.map +1 -1
- package/dist/utils/auth.d.ts +29 -2
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +164 -27
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/browser.d.ts +12 -0
- package/dist/utils/browser.d.ts.map +1 -1
- package/dist/utils/browser.js +37 -16
- package/dist/utils/browser.js.map +1 -1
- package/dist/utils/context.d.ts.map +1 -1
- package/dist/utils/context.js +2 -0
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/deploy-follow.d.ts +4 -3
- package/dist/utils/deploy-follow.d.ts.map +1 -1
- package/dist/utils/deploy-follow.js +76 -17
- package/dist/utils/deploy-follow.js.map +1 -1
- package/dist/utils/detect.d.ts +49 -1
- package/dist/utils/detect.d.ts.map +1 -1
- package/dist/utils/detect.js +153 -12
- package/dist/utils/detect.js.map +1 -1
- package/dist/utils/ensure-auth.d.ts.map +1 -1
- package/dist/utils/ensure-auth.js +6 -2
- package/dist/utils/ensure-auth.js.map +1 -1
- package/dist/utils/package-metadata.js +1 -1
- package/dist/utils/project-context.d.ts +17 -0
- package/dist/utils/project-context.d.ts.map +1 -0
- package/dist/utils/project-context.js +96 -0
- package/dist/utils/project-context.js.map +1 -0
- package/dist/utils/project-lookup.d.ts +10 -0
- package/dist/utils/project-lookup.d.ts.map +1 -0
- package/dist/utils/project-lookup.js +52 -0
- package/dist/utils/project-lookup.js.map +1 -0
- package/package.json +7 -4
- package/skill/SKILL.md +15 -2
package/dist/utils/browser.js
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* Only absolute http(s) URLs are ever handed to a launcher. The URL can come
|
|
4
|
+
* from the server (device-login verification URL), so anything else — other
|
|
5
|
+
* schemes, option-looking strings, or text with shell metacharacters that
|
|
6
|
+
* would not survive URL parsing — is refused.
|
|
7
|
+
*/
|
|
8
|
+
export function browserLaunchUrl(url) {
|
|
9
|
+
let parsed;
|
|
10
|
+
try {
|
|
11
|
+
parsed = new URL(url);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return parsed.href;
|
|
20
|
+
}
|
|
21
|
+
/** Launcher command for the platform. No shell is involved on any platform. */
|
|
22
|
+
export function browserLaunchCommand(href, platform = process.platform) {
|
|
23
|
+
if (platform === 'win32') {
|
|
24
|
+
// Not `cmd /c start`: cmd re-parses the URL, so `&` splits it (dropping
|
|
25
|
+
// query parameters) and lets a crafted URL run commands. The URL protocol
|
|
26
|
+
// handler receives the URL as a single argument instead.
|
|
27
|
+
return { command: 'rundll32', args: ['url.dll,FileProtocolHandler', href] };
|
|
28
|
+
}
|
|
29
|
+
if (platform === 'darwin') {
|
|
30
|
+
return { command: 'open', args: [href] };
|
|
31
|
+
}
|
|
32
|
+
return { command: 'xdg-open', args: [href] };
|
|
33
|
+
}
|
|
2
34
|
/**
|
|
3
35
|
* Best-effort open of a URL in the user's default browser. Resolves to `true`
|
|
4
36
|
* if a launcher process was spawned, `false` otherwise (caller should then print
|
|
@@ -6,23 +38,12 @@ import { spawn } from 'node:child_process';
|
|
|
6
38
|
*/
|
|
7
39
|
export function openBrowser(url) {
|
|
8
40
|
try {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (platform === 'win32') {
|
|
13
|
-
// `start` is a cmd builtin; the empty "" is the window title argument.
|
|
14
|
-
command = 'cmd';
|
|
15
|
-
args = ['/c', 'start', '', url];
|
|
16
|
-
}
|
|
17
|
-
else if (platform === 'darwin') {
|
|
18
|
-
command = 'open';
|
|
19
|
-
args = [url];
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
command = 'xdg-open';
|
|
23
|
-
args = [url];
|
|
41
|
+
const href = browserLaunchUrl(url);
|
|
42
|
+
if (!href) {
|
|
43
|
+
return false;
|
|
24
44
|
}
|
|
25
|
-
const
|
|
45
|
+
const { command, args } = browserLaunchCommand(href);
|
|
46
|
+
const child = spawn(command, args, { stdio: 'ignore', detached: true, shell: false, windowsHide: true });
|
|
26
47
|
child.on('error', () => undefined);
|
|
27
48
|
child.unref();
|
|
28
49
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,wEAAwE;QACxE,0EAA0E;QAC1E,yDAAyD;QACzD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAgCxD;AAED,wBAAgB,OAAO,IAAI,YAAY,CAEtC;AAED,iBAAiB;AACjB,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAYD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAWjE"}
|
package/dist/utils/context.js
CHANGED
|
@@ -15,6 +15,8 @@ let current = {
|
|
|
15
15
|
*/
|
|
16
16
|
export function initRuntime(argv) {
|
|
17
17
|
const json = hasFlag(argv, '--json');
|
|
18
|
+
// Preserve the requested error format even if validation of a later flag fails.
|
|
19
|
+
current = { ...current, json };
|
|
18
20
|
const flags = {
|
|
19
21
|
json,
|
|
20
22
|
debug: hasFlag(argv, '--debug') || process.env.INQUIR_DEBUG === '1',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,13 @@ export interface FollowDeployOptions {
|
|
|
12
12
|
json?: boolean;
|
|
13
13
|
ci?: boolean;
|
|
14
14
|
noLogs?: boolean;
|
|
15
|
-
/** Max time to
|
|
15
|
+
/** Max time to observe a terminal status, including open log/status requests (ms). */
|
|
16
16
|
timeoutMs?: number;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* Observe status independently of the best-effort log connection: a proxy may
|
|
20
|
+
* keep SSE open after the deploy finishes, or lose the terminal frame entirely.
|
|
21
|
+
* A single deadline bounds both channels and aborts their in-flight requests.
|
|
21
22
|
*/
|
|
22
23
|
export declare function followDeploy(deployId: string, apiOptions: ApiRequestOptions, opts?: FollowDeployOptions): Promise<DeployRecord>;
|
|
23
24
|
//# sourceMappingURL=deploy-follow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-follow.d.ts","sourceRoot":"","sources":["../../src/utils/deploy-follow.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy-follow.d.ts","sourceRoot":"","sources":["../../src/utils/deploy-follow.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,IAAI,gBAAgB,GAAG,SAAS,CAShE;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgCD;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,iBAAiB,EAC7B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAkEvB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isTerminalDeployStatus } from '../sdk.js';
|
|
2
2
|
import { getDeployStatus, streamDeployLogs } from './api.js';
|
|
3
|
+
import { CliError, ExitCode } from './errors.js';
|
|
3
4
|
import { dim, printLine } from './output.js';
|
|
4
5
|
import { redact } from './redact.js';
|
|
5
6
|
/** Best-effort git/CI context from GitHub Actions environment variables. */
|
|
@@ -13,30 +14,63 @@ export function collectGitContext() {
|
|
|
13
14
|
};
|
|
14
15
|
return git.sha || git.ref || git.repo || git.actor ? git : undefined;
|
|
15
16
|
}
|
|
16
|
-
function sleep(ms) {
|
|
17
|
-
|
|
17
|
+
function sleep(ms, signal) {
|
|
18
|
+
signal.throwIfAborted();
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
const onAbort = () => {
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
signal.removeEventListener('abort', onAbort);
|
|
23
|
+
reject(signal.reason);
|
|
24
|
+
};
|
|
25
|
+
const timer = setTimeout(() => {
|
|
26
|
+
signal.removeEventListener('abort', onAbort);
|
|
27
|
+
resolve();
|
|
28
|
+
}, ms);
|
|
29
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
30
|
+
});
|
|
18
31
|
}
|
|
19
|
-
async function pollUntilTerminal(deployId, apiOptions,
|
|
20
|
-
const deadline = Date.now() + timeoutMs;
|
|
21
|
-
let last;
|
|
32
|
+
async function pollUntilTerminal(deployId, apiOptions, signal) {
|
|
22
33
|
for (;;) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (
|
|
27
|
-
return
|
|
28
|
-
await sleep(1000);
|
|
34
|
+
signal.throwIfAborted();
|
|
35
|
+
const deploy = await getDeployStatus(deployId, apiOptions, signal);
|
|
36
|
+
signal.throwIfAborted();
|
|
37
|
+
if (isTerminalDeployStatus(deploy.status))
|
|
38
|
+
return deploy;
|
|
39
|
+
await sleep(1000, signal);
|
|
29
40
|
}
|
|
30
41
|
}
|
|
31
42
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
43
|
+
* Observe status independently of the best-effort log connection: a proxy may
|
|
44
|
+
* keep SSE open after the deploy finishes, or lose the terminal frame entirely.
|
|
45
|
+
* A single deadline bounds both channels and aborts their in-flight requests.
|
|
34
46
|
*/
|
|
35
47
|
export async function followDeploy(deployId, apiOptions, opts = {}) {
|
|
36
48
|
const timeoutMs = opts.timeoutMs ?? 10 * 60_000;
|
|
37
|
-
|
|
49
|
+
const deadline = Date.now() + timeoutMs;
|
|
50
|
+
const controller = new AbortController();
|
|
51
|
+
const timeoutError = new CliError(`Deploy ${deployId} did not finish within ${Math.round(timeoutMs / 1000)}s`, {
|
|
52
|
+
code: 'DEPLOY_TIMEOUT',
|
|
53
|
+
exitCode: ExitCode.ERROR,
|
|
54
|
+
explanation: `The CLI stopped waiting for deploy ${deployId}; it has not cancelled the remote deploy. Check its status before retrying.`,
|
|
55
|
+
fix: 'Use `inquir deploys <function>` to inspect the existing deploy.',
|
|
56
|
+
});
|
|
57
|
+
let deadlineTimer;
|
|
58
|
+
const expired = new Promise((_, reject) => {
|
|
59
|
+
deadlineTimer = setTimeout(() => {
|
|
60
|
+
// Reject with the structured CLI error before aborting fetch so its
|
|
61
|
+
// platform-specific AbortError cannot replace the timeout diagnosis.
|
|
62
|
+
reject(timeoutError);
|
|
63
|
+
controller.abort(timeoutError);
|
|
64
|
+
}, timeoutMs);
|
|
65
|
+
});
|
|
66
|
+
async function consumeLogs() {
|
|
67
|
+
if (opts.noLogs)
|
|
68
|
+
return;
|
|
38
69
|
try {
|
|
39
|
-
for await (const event of streamDeployLogs(deployId, apiOptions)) {
|
|
70
|
+
for await (const event of streamDeployLogs(deployId, apiOptions, controller.signal)) {
|
|
71
|
+
// Do not let an already-buffered frame print after the final JSON/result.
|
|
72
|
+
if (controller.signal.aborted)
|
|
73
|
+
break;
|
|
40
74
|
if (event.type === 'log') {
|
|
41
75
|
// In --json mode stdout must stay a single JSON document, so stream
|
|
42
76
|
// build logs to stderr (still visible) instead of polluting stdout.
|
|
@@ -55,9 +89,34 @@ export async function followDeploy(deployId, apiOptions, opts = {}) {
|
|
|
55
89
|
}
|
|
56
90
|
}
|
|
57
91
|
catch {
|
|
58
|
-
//
|
|
92
|
+
// Status polling remains authoritative when streaming is unavailable.
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const logs = consumeLogs();
|
|
96
|
+
try {
|
|
97
|
+
const result = await Promise.race([
|
|
98
|
+
pollUntilTerminal(deployId, apiOptions, controller.signal),
|
|
99
|
+
expired,
|
|
100
|
+
]);
|
|
101
|
+
// Give buffered final logs a brief chance to drain. This never lets a
|
|
102
|
+
// stalled SSE connection hold up success/failure/cancellation indefinitely.
|
|
103
|
+
let drainTimer;
|
|
104
|
+
try {
|
|
105
|
+
await Promise.race([
|
|
106
|
+
logs,
|
|
107
|
+
new Promise((resolve) => {
|
|
108
|
+
drainTimer = setTimeout(resolve, Math.max(0, Math.min(250, deadline - Date.now())));
|
|
109
|
+
}),
|
|
110
|
+
]);
|
|
59
111
|
}
|
|
112
|
+
finally {
|
|
113
|
+
clearTimeout(drainTimer);
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
clearTimeout(deadlineTimer);
|
|
119
|
+
controller.abort();
|
|
60
120
|
}
|
|
61
|
-
return pollUntilTerminal(deployId, apiOptions, timeoutMs);
|
|
62
121
|
}
|
|
63
122
|
//# sourceMappingURL=deploy-follow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-follow.js","sourceRoot":"","sources":["../../src/utils/deploy-follow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAA0B,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,GAAG,GAAqB;QAC5B,GAAG,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS;QAC/C,GAAG,EAAE,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS;QACtE,IAAI,EAAE,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,QAAQ,IAAI,SAAS;QACxD,KAAK,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,IAAI,SAAS;KACtD,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAUD,SAAS,KAAK,CAAC,EAAU;
|
|
1
|
+
{"version":3,"file":"deploy-follow.js","sourceRoot":"","sources":["../../src/utils/deploy-follow.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/detect.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export type DetectedRuntime = 'nodejs22' | 'python312' | 'go122';
|
|
|
13
13
|
export type AppMode = 'handler' | 'web';
|
|
14
14
|
export interface DetectedApp {
|
|
15
15
|
name: string;
|
|
16
|
+
/** Pre-0.2.3 derived name, when it differs and no explicit --name was supplied. */
|
|
17
|
+
legacyName?: string;
|
|
16
18
|
runtime: DetectedRuntime;
|
|
17
19
|
mode: AppMode;
|
|
18
20
|
/** module.export spec for handler mode (e.g. "index.handler", "src/api.handler"). */
|
|
@@ -35,7 +37,53 @@ export declare class DetectionError extends Error {
|
|
|
35
37
|
readonly hints: string[];
|
|
36
38
|
constructor(message: string, hints?: string[]);
|
|
37
39
|
}
|
|
38
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Sanitize an arbitrary string into a deployable function name.
|
|
42
|
+
*
|
|
43
|
+
* The output alphabet is the server's, `[a-zA-Z0-9_-]` (createFunctionSchema in
|
|
44
|
+
* src/validation/schemas.ts). Case and `_` survive it because the API keeps a
|
|
45
|
+
* name exactly as sent — `@@unique([tenantId, name])` on LambdaFunction
|
|
46
|
+
* (prisma/schema.prisma) is a Postgres unique index over the raw string, so
|
|
47
|
+
* `my_api`, `my-api` and `MyAPI` are three functions, not one. A scoped npm
|
|
48
|
+
* name keeps its scope as a leading segment (`@acme/api` → `acme-api`) because
|
|
49
|
+
* the scope is the only thing that tells it apart from `@billing/api`.
|
|
50
|
+
*
|
|
51
|
+
* A collision here is not cosmetic: the derived name IS the deploy target.
|
|
52
|
+
* `inquir deploy` updates whichever remote function already carries it
|
|
53
|
+
* (pushAndFollow in commands/deploy.ts), so two sources landing on one string
|
|
54
|
+
* take turns overwriting each other's code, env vars and URL.
|
|
55
|
+
*
|
|
56
|
+
* The mapping is still not injective. One collapse is forced by the alphabet;
|
|
57
|
+
* the other three are choices made here, and `--name` is the way out of all
|
|
58
|
+
* four:
|
|
59
|
+
* - Forced: `.`, ` `, `/` and every other rejected character must land
|
|
60
|
+
* somewhere inside the alphabet, and they all become `-`, so `my.api`,
|
|
61
|
+
* `my api` and `my/api` all reach `my-api`.
|
|
62
|
+
* - Chosen: runs of `-` collapse and leading/trailing `-` are trimmed, so
|
|
63
|
+
* `my--api` → `my-api` and `-api` → `api` even though the API accepts
|
|
64
|
+
* both inputs verbatim. Readability over injectivity.
|
|
65
|
+
* - Chosen, and a consequence of that trim: a scoped name collides with the
|
|
66
|
+
* unscoped name that spells its flattened form — `@acme/api` and `acme-api`
|
|
67
|
+
* both derive `acme-api`. `_` and a leading `-` were free (`acme_api`,
|
|
68
|
+
* `-acme-api` would have stayed distinct); the readable form won.
|
|
69
|
+
* - Chosen: a string with no `[a-zA-Z0-9_-]` character at all derives the
|
|
70
|
+
* shared literal `app`, so `касса` and `биллинг` — ordinary names in a
|
|
71
|
+
* product with a ru locale — both derive `app`, and the second deploys over
|
|
72
|
+
* the first. detectApp reports that class in `reasons` (derivesFallbackName)
|
|
73
|
+
* instead of letting it read like a chosen name, the same treatment
|
|
74
|
+
* derivesFallbackApplicationName gives it in src/utils/application-name.ts.
|
|
75
|
+
*
|
|
76
|
+
* The result is not length-capped either. The API's 128-character limit is
|
|
77
|
+
* enforced server-side (a 400 naming the `name` field); truncating here would
|
|
78
|
+
* manufacture exactly the collisions above out of two long, distinct names.
|
|
79
|
+
*
|
|
80
|
+
* One server path does re-fold the wider alphabet: app-sync labels the
|
|
81
|
+
* application with applicationNameForWorkspace (src/utils/application-name.ts —
|
|
82
|
+
* lowercase, `[^a-z0-9-]` → `-`), so `my_api` and `my-api` ask for one
|
|
83
|
+
* application. That path verifies ownership and refuses a foreign hit
|
|
84
|
+
* (workspace-sync.service resolveOwnedApplication), so the cost there is a
|
|
85
|
+
* refused sync that names the application, not lost code.
|
|
86
|
+
*/
|
|
39
87
|
export declare function sanitizeName(raw: string): string;
|
|
40
88
|
/**
|
|
41
89
|
* Detect a deployable app in `dir`. Overrides always win over sniffing; every
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AACjE,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAe,SAAQ,KAAK;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;gBAAzC,OAAO,EAAE,MAAM,EAAW,KAAK,GAAE,MAAM,EAAO;CAI3D;AAgFD
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AACjE,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAe,SAAQ,KAAK;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;gBAAzC,OAAO,EAAE,MAAM,EAAW,KAAK,GAAE,MAAM,EAAO;CAI3D;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AA8MD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,eAAoB,GAAG,WAAW,CAyKnF"}
|
package/dist/utils/detect.js
CHANGED
|
@@ -80,16 +80,125 @@ function listByExtension(dir, extensions) {
|
|
|
80
80
|
.map((e) => e.name)
|
|
81
81
|
.sort();
|
|
82
82
|
}
|
|
83
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* Sanitize an arbitrary string into a deployable function name.
|
|
85
|
+
*
|
|
86
|
+
* The output alphabet is the server's, `[a-zA-Z0-9_-]` (createFunctionSchema in
|
|
87
|
+
* src/validation/schemas.ts). Case and `_` survive it because the API keeps a
|
|
88
|
+
* name exactly as sent — `@@unique([tenantId, name])` on LambdaFunction
|
|
89
|
+
* (prisma/schema.prisma) is a Postgres unique index over the raw string, so
|
|
90
|
+
* `my_api`, `my-api` and `MyAPI` are three functions, not one. A scoped npm
|
|
91
|
+
* name keeps its scope as a leading segment (`@acme/api` → `acme-api`) because
|
|
92
|
+
* the scope is the only thing that tells it apart from `@billing/api`.
|
|
93
|
+
*
|
|
94
|
+
* A collision here is not cosmetic: the derived name IS the deploy target.
|
|
95
|
+
* `inquir deploy` updates whichever remote function already carries it
|
|
96
|
+
* (pushAndFollow in commands/deploy.ts), so two sources landing on one string
|
|
97
|
+
* take turns overwriting each other's code, env vars and URL.
|
|
98
|
+
*
|
|
99
|
+
* The mapping is still not injective. One collapse is forced by the alphabet;
|
|
100
|
+
* the other three are choices made here, and `--name` is the way out of all
|
|
101
|
+
* four:
|
|
102
|
+
* - Forced: `.`, ` `, `/` and every other rejected character must land
|
|
103
|
+
* somewhere inside the alphabet, and they all become `-`, so `my.api`,
|
|
104
|
+
* `my api` and `my/api` all reach `my-api`.
|
|
105
|
+
* - Chosen: runs of `-` collapse and leading/trailing `-` are trimmed, so
|
|
106
|
+
* `my--api` → `my-api` and `-api` → `api` even though the API accepts
|
|
107
|
+
* both inputs verbatim. Readability over injectivity.
|
|
108
|
+
* - Chosen, and a consequence of that trim: a scoped name collides with the
|
|
109
|
+
* unscoped name that spells its flattened form — `@acme/api` and `acme-api`
|
|
110
|
+
* both derive `acme-api`. `_` and a leading `-` were free (`acme_api`,
|
|
111
|
+
* `-acme-api` would have stayed distinct); the readable form won.
|
|
112
|
+
* - Chosen: a string with no `[a-zA-Z0-9_-]` character at all derives the
|
|
113
|
+
* shared literal `app`, so `касса` and `биллинг` — ordinary names in a
|
|
114
|
+
* product with a ru locale — both derive `app`, and the second deploys over
|
|
115
|
+
* the first. detectApp reports that class in `reasons` (derivesFallbackName)
|
|
116
|
+
* instead of letting it read like a chosen name, the same treatment
|
|
117
|
+
* derivesFallbackApplicationName gives it in src/utils/application-name.ts.
|
|
118
|
+
*
|
|
119
|
+
* The result is not length-capped either. The API's 128-character limit is
|
|
120
|
+
* enforced server-side (a 400 naming the `name` field); truncating here would
|
|
121
|
+
* manufacture exactly the collisions above out of two long, distinct names.
|
|
122
|
+
*
|
|
123
|
+
* One server path does re-fold the wider alphabet: app-sync labels the
|
|
124
|
+
* application with applicationNameForWorkspace (src/utils/application-name.ts —
|
|
125
|
+
* lowercase, `[^a-z0-9-]` → `-`), so `my_api` and `my-api` ask for one
|
|
126
|
+
* application. That path verifies ownership and refuses a foreign hit
|
|
127
|
+
* (workspace-sync.service resolveOwnedApplication), so the cost there is a
|
|
128
|
+
* refused sync that names the application, not lost code.
|
|
129
|
+
*/
|
|
84
130
|
export function sanitizeName(raw) {
|
|
131
|
+
const cleaned = raw
|
|
132
|
+
.replace(/[^a-zA-Z0-9_-]+/g, '-') // drops the `@` and turns `/` into `-`, keeping the scope
|
|
133
|
+
.replace(/-{2,}/g, '-')
|
|
134
|
+
.replace(/^-+|-+$/g, '');
|
|
135
|
+
return cleaned || 'app';
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* True when nothing in `raw` survives the API's alphabet, so sanitizeName
|
|
139
|
+
* returns the shared literal `app` rather than anything derived from `raw`.
|
|
140
|
+
*/
|
|
141
|
+
function derivesFallbackName(raw) {
|
|
142
|
+
return !/[a-zA-Z0-9_-]/.test(raw);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* What sanitizeName derived up to CLI 0.2.2: lowercased, npm scope dropped.
|
|
146
|
+
*
|
|
147
|
+
* Kept only to warn. A function deployed by an older CLI still carries this
|
|
148
|
+
* name, and a deploy never renames a remote function — commands/deploy.ts picks
|
|
149
|
+
* its target by name — so once the two spellings differ the next deploy creates
|
|
150
|
+
* a second function beside the live one instead of updating it. Whether that
|
|
151
|
+
* older function exists is a question only the API can answer, so detectApp
|
|
152
|
+
* reports the derivation change rather than the outcome.
|
|
153
|
+
*/
|
|
154
|
+
function legacyName(raw) {
|
|
85
155
|
const cleaned = raw
|
|
86
156
|
.toLowerCase()
|
|
87
|
-
.replace(/^@[^/]+\//, '')
|
|
157
|
+
.replace(/^@[^/]+\//, '')
|
|
88
158
|
.replace(/[^a-z0-9-]+/g, '-')
|
|
89
159
|
.replace(/-{2,}/g, '-')
|
|
90
160
|
.replace(/^-+|-+$/g, '');
|
|
91
161
|
return cleaned || 'app';
|
|
92
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* The directory's basename as the filesystem spells it, not as the caller typed
|
|
165
|
+
* it.
|
|
166
|
+
*
|
|
167
|
+
* `path.resolve` normalises separators, `.` and `..`, but never case, and on
|
|
168
|
+
* Windows and macOS every spelling opens the same directory: `inquir deploy
|
|
169
|
+
* ./api` and `inquir deploy ./API` are one source tree that would otherwise
|
|
170
|
+
* derive `api` and `API` — two functions and two URLs, the second spelling
|
|
171
|
+
* creating rather than updating (deploy.ts passes the typed path through
|
|
172
|
+
* untouched). Listing the parent gives the spelling the disk holds, so both
|
|
173
|
+
* spellings derive one name.
|
|
174
|
+
*
|
|
175
|
+
* Deliberately not `fs.realpathSync.native`, which also resolves symlinks: a
|
|
176
|
+
* release layout deploying `./current` (a symlink retargeted per release) would
|
|
177
|
+
* then derive a new name per release — the same one-tree-many-functions split,
|
|
178
|
+
* entered from the other side.
|
|
179
|
+
*
|
|
180
|
+
* Falls back to the caller's spelling when the parent cannot be listed or holds
|
|
181
|
+
* no case-insensitive match — a filesystem root, an unreadable parent, a Windows
|
|
182
|
+
* 8.3 short name, a rename racing the read. That fallback is exactly what the
|
|
183
|
+
* basename alone would have produced, so it loses nothing.
|
|
184
|
+
*/
|
|
185
|
+
function basenameOnDisk(resolved) {
|
|
186
|
+
const base = path.basename(resolved);
|
|
187
|
+
const parent = path.dirname(resolved);
|
|
188
|
+
if (!base || parent === resolved)
|
|
189
|
+
return base;
|
|
190
|
+
let entries;
|
|
191
|
+
try {
|
|
192
|
+
entries = fs.readdirSync(parent);
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
return base;
|
|
196
|
+
}
|
|
197
|
+
if (entries.includes(base))
|
|
198
|
+
return base; // already spelled the way the disk spells it
|
|
199
|
+
const lowered = base.toLowerCase();
|
|
200
|
+
return entries.find((entry) => entry.toLowerCase() === lowered) ?? base;
|
|
201
|
+
}
|
|
93
202
|
/** Find the first existing entry file among conventional Node names. */
|
|
94
203
|
function findNodeEntry(dir, pkg) {
|
|
95
204
|
// package.json "main" wins when it exists on disk — unless it points into a
|
|
@@ -243,20 +352,42 @@ export function detectApp(dir, overrides = {}) {
|
|
|
243
352
|
if (overrides.runtime)
|
|
244
353
|
reasons.push(`runtime: ${runtime} (--runtime)`);
|
|
245
354
|
const pkg = runtime === 'nodejs22' ? readPackageJson(resolved) : null;
|
|
246
|
-
// Name resolution: flag > manifest name > directory basename
|
|
247
|
-
|
|
355
|
+
// Name resolution: flag > manifest name > directory basename (as the disk
|
|
356
|
+
// spells it, not as the caller typed it — see basenameOnDisk).
|
|
357
|
+
let nameSource;
|
|
358
|
+
let nameOrigin;
|
|
248
359
|
if (overrides.name) {
|
|
249
|
-
|
|
250
|
-
|
|
360
|
+
nameSource = overrides.name;
|
|
361
|
+
nameOrigin = '--name';
|
|
251
362
|
}
|
|
252
363
|
else if (pkg?.name) {
|
|
253
|
-
|
|
254
|
-
|
|
364
|
+
nameSource = pkg.name;
|
|
365
|
+
nameOrigin = 'package.json name';
|
|
255
366
|
}
|
|
256
367
|
else {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
368
|
+
const typed = path.basename(resolved);
|
|
369
|
+
nameSource = basenameOnDisk(resolved);
|
|
370
|
+
nameOrigin = nameSource === typed
|
|
371
|
+
? 'directory name'
|
|
372
|
+
: `directory name — the disk spells it "${nameSource}", the path said "${typed}"`;
|
|
373
|
+
}
|
|
374
|
+
const name = sanitizeName(nameSource);
|
|
375
|
+
reasons.push(`name: ${name} (${nameOrigin})`);
|
|
376
|
+
// Two ways the derived name is not the one the user expects. Both are
|
|
377
|
+
// reported here because `reasons` is the deploy plan (commands/deploy.ts
|
|
378
|
+
// prints every line), and neither is visible in the name itself.
|
|
379
|
+
if (derivesFallbackName(nameSource)) {
|
|
380
|
+
reasons.push(`name: "${nameSource}" has no [a-zA-Z0-9_-] character, so it derives the shared fallback ` +
|
|
381
|
+
`"${name}" — every such name derives it, and deploying two of them means the second ` +
|
|
382
|
+
'overwrites the first. Pass --name to keep them apart.');
|
|
383
|
+
}
|
|
384
|
+
const previousName = legacyName(nameSource);
|
|
385
|
+
if (previousName !== name) {
|
|
386
|
+
reasons.push(`name: CLI 0.2.2 and older derived "${previousName}" from the same source. If this app was ` +
|
|
387
|
+
`deployed by one of those, that function keeps its name and this deploy will not update ` +
|
|
388
|
+
`it — pass --name ${previousName} to keep deploying into it.`);
|
|
389
|
+
}
|
|
390
|
+
const legacyDerivedName = !overrides.name && previousName !== name ? previousName : undefined;
|
|
260
391
|
// Entry file.
|
|
261
392
|
let entryFile = null;
|
|
262
393
|
if (runtime === 'nodejs22')
|
|
@@ -271,6 +402,7 @@ export function detectApp(dir, overrides = {}) {
|
|
|
271
402
|
reasons.push(`handler: ${overrides.handler} (--handler)`);
|
|
272
403
|
return {
|
|
273
404
|
name,
|
|
405
|
+
...(legacyDerivedName ? { legacyName: legacyDerivedName } : {}),
|
|
274
406
|
runtime,
|
|
275
407
|
mode: 'handler',
|
|
276
408
|
handler: overrides.handler,
|
|
@@ -330,7 +462,15 @@ export function detectApp(dir, overrides = {}) {
|
|
|
330
462
|
startCommand = pythonStartCommand(resolved, entryPosix, reasons);
|
|
331
463
|
}
|
|
332
464
|
reasons.push('mode: web (server app — the platform will run it with PORT and proxy requests)');
|
|
333
|
-
return {
|
|
465
|
+
return {
|
|
466
|
+
name,
|
|
467
|
+
...(legacyDerivedName ? { legacyName: legacyDerivedName } : {}),
|
|
468
|
+
runtime,
|
|
469
|
+
mode: 'web',
|
|
470
|
+
entryFile: entryPosix,
|
|
471
|
+
startCommand,
|
|
472
|
+
reasons,
|
|
473
|
+
};
|
|
334
474
|
}
|
|
335
475
|
if (!hasHandlerExport) {
|
|
336
476
|
if (runtime === 'go122') {
|
|
@@ -348,6 +488,7 @@ export function detectApp(dir, overrides = {}) {
|
|
|
348
488
|
reasons.push('mode: handler');
|
|
349
489
|
return {
|
|
350
490
|
name,
|
|
491
|
+
...(legacyDerivedName ? { legacyName: legacyDerivedName } : {}),
|
|
351
492
|
runtime,
|
|
352
493
|
mode: 'handler',
|
|
353
494
|
handler: `${stripExtension(entryPosix)}.handler`,
|
package/dist/utils/detect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-auth.d.ts","sourceRoot":"","sources":["../../src/utils/ensure-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK/D;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,UAAU,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ensure-auth.d.ts","sourceRoot":"","sources":["../../src/utils/ensure-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK/D;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,UAAU,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBlF"}
|