@pixelbyte-software/pixcode 1.41.3 → 1.41.4
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/dist/assets/{index-Bq2twGSW.js → index-CIEN0bZ-.js} +1 -1
- package/dist/index.html +1 -1
- package/dist-server/server/services/live-view.js +19 -94
- package/dist-server/server/services/live-view.js.map +1 -1
- package/dist-server/server/services/runtime-manager.js +312 -0
- package/dist-server/server/services/runtime-manager.js.map +1 -0
- package/package.json +1 -1
- package/scripts/smoke/live-view-diagnostics.mjs +2 -2
- package/scripts/smoke/live-view-integration.mjs +58 -46
- package/scripts/smoke/runtime-manager.mjs +99 -0
- package/server/services/live-view.js +20 -101
- package/server/services/runtime-manager.js +323 -0
package/dist/index.html
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
<!-- Prevent zoom on iOS -->
|
|
37
37
|
<meta name="format-detection" content="telephone=no" />
|
|
38
|
-
<script type="module" crossorigin src="/assets/index-
|
|
38
|
+
<script type="module" crossorigin src="/assets/index-CIEN0bZ-.js"></script>
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-D7WwDXvu.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CzYAOTxS.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/vendor-xterm-CJZjLICi.js">
|
|
@@ -4,12 +4,12 @@ import { promises as fs } from 'node:fs';
|
|
|
4
4
|
import net from 'node:net';
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import { buildCliSpawnEnv } from './install-jobs.js';
|
|
7
|
-
import { ensureManagedRuntime
|
|
7
|
+
import { ensureManagedRuntime } from './managed-runtimes.js';
|
|
8
|
+
import { resolveLiveViewRuntime } from './runtime-manager.js';
|
|
8
9
|
const sessionsByProject = new Map();
|
|
9
10
|
const sessionsByShareId = new Map();
|
|
10
11
|
const READY_TIMEOUT_MS = 12000;
|
|
11
12
|
const LOG_LIMIT = 200;
|
|
12
|
-
const RUNTIME_CHECK_TIMEOUT_MS = 1800;
|
|
13
13
|
const localUrlRegex = /https?:\/\/(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[[^\]]+\])(?::(\d+))?[^\s"'<>]*/i;
|
|
14
14
|
function normalizeHost(host) {
|
|
15
15
|
if (!host || host === '0.0.0.0' || host === '::')
|
|
@@ -79,81 +79,6 @@ function packageRunArgs(packageManager, scriptName, extraArgs = []) {
|
|
|
79
79
|
function buildDisplayCommand(command, args) {
|
|
80
80
|
return [command, ...args].join(' ');
|
|
81
81
|
}
|
|
82
|
-
function quoteForPosixShell(value) {
|
|
83
|
-
return `'${String(value).replaceAll("'", "'\\''")}'`;
|
|
84
|
-
}
|
|
85
|
-
function quoteForWindowsShell(value) {
|
|
86
|
-
return `"${String(value).replaceAll('"', '""')}"`;
|
|
87
|
-
}
|
|
88
|
-
function isPathLikeCommand(command) {
|
|
89
|
-
return path.isAbsolute(command) || command.includes('/') || command.includes('\\');
|
|
90
|
-
}
|
|
91
|
-
function runtimeMissingReason(command, framework) {
|
|
92
|
-
const base = `${command} is not available on this machine.`;
|
|
93
|
-
if (framework === 'PHP' || command === 'php') {
|
|
94
|
-
return 'Pixcode can prepare a local PHP runtime automatically before starting this project.';
|
|
95
|
-
}
|
|
96
|
-
if (command === 'npm' || command === 'pnpm' || command === 'yarn' || command === 'bun') {
|
|
97
|
-
return `${base} Pixcode can prepare a local Node package runner automatically before starting this project.`;
|
|
98
|
-
}
|
|
99
|
-
if (command === 'python' || command === 'python3') {
|
|
100
|
-
return `${base} Pixcode does not have a managed Python runtime for this stack yet.`;
|
|
101
|
-
}
|
|
102
|
-
return `${base} Pixcode does not have a managed ${framework || command} runtime for this stack yet.`;
|
|
103
|
-
}
|
|
104
|
-
async function checkCommandAvailability(command, env = process.env) {
|
|
105
|
-
if (!command || command.includes('\n') || command.includes('\r'))
|
|
106
|
-
return true;
|
|
107
|
-
if (isPathLikeCommand(command)) {
|
|
108
|
-
try {
|
|
109
|
-
await fs.access(command);
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
const checker = process.platform === 'win32'
|
|
117
|
-
? {
|
|
118
|
-
command: process.env.ComSpec || 'cmd.exe',
|
|
119
|
-
args: ['/d', '/s', '/c', `where ${quoteForWindowsShell(command)}`],
|
|
120
|
-
}
|
|
121
|
-
: {
|
|
122
|
-
command: '/bin/sh',
|
|
123
|
-
args: ['-lc', `command -v ${quoteForPosixShell(command)}`],
|
|
124
|
-
};
|
|
125
|
-
return new Promise((resolve) => {
|
|
126
|
-
let settled = false;
|
|
127
|
-
let child = null;
|
|
128
|
-
const finish = (available) => {
|
|
129
|
-
if (settled)
|
|
130
|
-
return;
|
|
131
|
-
settled = true;
|
|
132
|
-
clearTimeout(timer);
|
|
133
|
-
resolve(available);
|
|
134
|
-
};
|
|
135
|
-
const timer = setTimeout(() => {
|
|
136
|
-
try {
|
|
137
|
-
child?.kill();
|
|
138
|
-
}
|
|
139
|
-
catch {
|
|
140
|
-
// Ignore a raced process exit.
|
|
141
|
-
}
|
|
142
|
-
finish(true);
|
|
143
|
-
}, RUNTIME_CHECK_TIMEOUT_MS);
|
|
144
|
-
child = spawn(checker.command, checker.args, {
|
|
145
|
-
env,
|
|
146
|
-
stdio: 'ignore',
|
|
147
|
-
windowsHide: true,
|
|
148
|
-
});
|
|
149
|
-
child.on('error', (error) => {
|
|
150
|
-
finish(error?.code === 'ENOENT' ? false : true);
|
|
151
|
-
});
|
|
152
|
-
child.on('exit', (code) => {
|
|
153
|
-
finish(code === 0);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
82
|
function buildPackageCommand(packageManager, scriptName, id, label, framework, extraArgs = []) {
|
|
158
83
|
const args = packageRunArgs(packageManager, scriptName, extraArgs);
|
|
159
84
|
return {
|
|
@@ -553,11 +478,12 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
|
|
|
553
478
|
}
|
|
554
479
|
const processCommand = await detectProcessCommand(projectPath);
|
|
555
480
|
if (processCommand) {
|
|
481
|
+
const runtimeResolution = await resolveLiveViewRuntime(processCommand, {
|
|
482
|
+
env: options.env || process.env,
|
|
483
|
+
preferManaged: true,
|
|
484
|
+
});
|
|
556
485
|
if (isPackageManagerCommand(processCommand.command)) {
|
|
557
|
-
const managedRuntime =
|
|
558
|
-
env: options.env || process.env,
|
|
559
|
-
preferManaged: true,
|
|
560
|
-
});
|
|
486
|
+
const managedRuntime = runtimeResolution.managedRuntime;
|
|
561
487
|
const command = buildManagedPackageCommand(processCommand, managedRuntime);
|
|
562
488
|
return {
|
|
563
489
|
available: true,
|
|
@@ -566,16 +492,12 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
|
|
|
566
492
|
framework: processCommand.framework,
|
|
567
493
|
command,
|
|
568
494
|
managedRuntime,
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
: 'Pixcode will run this project with its managed Node package runner.',
|
|
495
|
+
runtime: runtimeResolution.runtime,
|
|
496
|
+
reason: runtimeResolution.reason,
|
|
572
497
|
};
|
|
573
498
|
}
|
|
574
499
|
if (processCommand.framework === 'PHP' || processCommand.command === 'php') {
|
|
575
|
-
const managedRuntime =
|
|
576
|
-
env: options.env || process.env,
|
|
577
|
-
preferManaged: true,
|
|
578
|
-
});
|
|
500
|
+
const managedRuntime = runtimeResolution.managedRuntime;
|
|
579
501
|
const command = buildManagedPhpCommand(managedRuntime);
|
|
580
502
|
return {
|
|
581
503
|
available: true,
|
|
@@ -584,13 +506,11 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
|
|
|
584
506
|
framework: command.framework,
|
|
585
507
|
command,
|
|
586
508
|
managedRuntime,
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
: 'Pixcode will run this project with its managed PHP runtime.',
|
|
509
|
+
runtime: runtimeResolution.runtime,
|
|
510
|
+
reason: runtimeResolution.reason,
|
|
590
511
|
};
|
|
591
512
|
}
|
|
592
|
-
|
|
593
|
-
if (!runtimeAvailable) {
|
|
513
|
+
if (!runtimeResolution.available) {
|
|
594
514
|
return {
|
|
595
515
|
available: false,
|
|
596
516
|
kind: 'process',
|
|
@@ -598,7 +518,8 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
|
|
|
598
518
|
framework: processCommand.framework,
|
|
599
519
|
command: processCommand,
|
|
600
520
|
missingRuntime: processCommand.command,
|
|
601
|
-
|
|
521
|
+
runtime: runtimeResolution.runtime,
|
|
522
|
+
reason: runtimeResolution.reason,
|
|
602
523
|
};
|
|
603
524
|
}
|
|
604
525
|
return {
|
|
@@ -607,6 +528,7 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
|
|
|
607
528
|
label: processCommand.label,
|
|
608
529
|
framework: processCommand.framework,
|
|
609
530
|
command: processCommand,
|
|
531
|
+
runtime: runtimeResolution.runtime,
|
|
610
532
|
};
|
|
611
533
|
}
|
|
612
534
|
const staticRoot = await detectStaticRoot(projectPath);
|
|
@@ -689,6 +611,7 @@ function publicSession(session) {
|
|
|
689
611
|
label: session.command.label,
|
|
690
612
|
displayCommand: session.command.displayCommand,
|
|
691
613
|
} : null,
|
|
614
|
+
runtime: session.runtime || null,
|
|
692
615
|
managedRuntime: session.managedRuntime || null,
|
|
693
616
|
port: session.port,
|
|
694
617
|
upstreamUrl: session.upstreamUrl,
|
|
@@ -750,6 +673,7 @@ export async function startLiveView(projectName, projectPath, options = {}) {
|
|
|
750
673
|
label: target.label,
|
|
751
674
|
staticRoot: target.staticRoot,
|
|
752
675
|
command: null,
|
|
676
|
+
runtime: null,
|
|
753
677
|
port: null,
|
|
754
678
|
upstreamUrl: null,
|
|
755
679
|
startedAt: new Date().toISOString(),
|
|
@@ -788,6 +712,7 @@ export async function startLiveView(projectName, projectPath, options = {}) {
|
|
|
788
712
|
framework: target.framework,
|
|
789
713
|
label: target.label,
|
|
790
714
|
command,
|
|
715
|
+
runtime: target.runtime || null,
|
|
791
716
|
managedRuntime: runtimeStatus,
|
|
792
717
|
port,
|
|
793
718
|
host: '127.0.0.1',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-view.js","sourceRoot":"","sources":["../../../server/services/live-view.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"live-view.js","sourceRoot":"","sources":["../../../server/services/live-view.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { buildCliSpawnEnv, findExecutableOnPath, resolveNpmCommand } from './install-jobs.js';
|
|
5
|
+
import { getManagedRuntimeStatus } from './managed-runtimes.js';
|
|
6
|
+
const RUNTIME_CHECK_TIMEOUT_MS = 1800;
|
|
7
|
+
export const RUNTIME_DEFINITIONS = {
|
|
8
|
+
node: {
|
|
9
|
+
id: 'node',
|
|
10
|
+
name: 'Node.js',
|
|
11
|
+
commands: ['node'],
|
|
12
|
+
versionArgs: ['--version'],
|
|
13
|
+
installAction: 'Install Node.js 22 or newer and ensure node is available on PATH.',
|
|
14
|
+
},
|
|
15
|
+
npm: {
|
|
16
|
+
id: 'npm',
|
|
17
|
+
name: 'Node package runner',
|
|
18
|
+
commands: ['npm'],
|
|
19
|
+
versionArgs: ['--version'],
|
|
20
|
+
managedRuntimeId: 'npm',
|
|
21
|
+
installAction: 'Install Node.js/npm or let Pixcode prepare its managed Node package runner.',
|
|
22
|
+
},
|
|
23
|
+
php: {
|
|
24
|
+
id: 'php',
|
|
25
|
+
name: 'PHP',
|
|
26
|
+
commands: ['php'],
|
|
27
|
+
versionArgs: ['--version'],
|
|
28
|
+
managedRuntimeId: 'frankenphp',
|
|
29
|
+
installAction: 'Install PHP or let Pixcode prepare its managed PHP runtime.',
|
|
30
|
+
},
|
|
31
|
+
python: {
|
|
32
|
+
id: 'python',
|
|
33
|
+
name: 'Python',
|
|
34
|
+
commands: process.platform === 'win32' ? ['python', 'py'] : ['python3', 'python'],
|
|
35
|
+
versionArgs: ['--version'],
|
|
36
|
+
installAction: 'Install Python 3 and ensure python3 or python is available on PATH.',
|
|
37
|
+
},
|
|
38
|
+
go: {
|
|
39
|
+
id: 'go',
|
|
40
|
+
name: 'Go',
|
|
41
|
+
commands: ['go'],
|
|
42
|
+
versionArgs: ['version'],
|
|
43
|
+
installAction: 'Install Go and ensure go is available on PATH.',
|
|
44
|
+
},
|
|
45
|
+
java: {
|
|
46
|
+
id: 'java',
|
|
47
|
+
name: 'Java',
|
|
48
|
+
commands: ['java'],
|
|
49
|
+
versionArgs: ['-version'],
|
|
50
|
+
installAction: 'Install a JDK and ensure java is available on PATH.',
|
|
51
|
+
},
|
|
52
|
+
rust: {
|
|
53
|
+
id: 'rust',
|
|
54
|
+
name: 'Rust',
|
|
55
|
+
commands: ['cargo', 'rustc'],
|
|
56
|
+
versionArgs: ['--version'],
|
|
57
|
+
installAction: 'Install Rust with rustup and ensure cargo is available on PATH.',
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
function runtimeDiagnostic(definition, status, detail) {
|
|
61
|
+
if (status === 'available') {
|
|
62
|
+
return {
|
|
63
|
+
message: `${definition.name} is available.`,
|
|
64
|
+
action: 'No action needed.',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (status === 'too_old') {
|
|
68
|
+
return {
|
|
69
|
+
message: `${definition.name} is installed but does not meet the required version.`,
|
|
70
|
+
action: definition.installAction,
|
|
71
|
+
detail,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (status === 'error') {
|
|
75
|
+
return {
|
|
76
|
+
message: `${definition.name} was found but could not be started.`,
|
|
77
|
+
action: definition.installAction,
|
|
78
|
+
detail,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
message: `${definition.name} is not available on this machine.`,
|
|
83
|
+
action: definition.installAction,
|
|
84
|
+
detail,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function normalizeVersion(output) {
|
|
88
|
+
const match = String(output || '').match(/(?:v|version\s*)?(\d+\.\d+\.\d+)/i);
|
|
89
|
+
return match?.[1];
|
|
90
|
+
}
|
|
91
|
+
function runVersion(command, args, env) {
|
|
92
|
+
return new Promise((resolve) => {
|
|
93
|
+
let output = '';
|
|
94
|
+
let settled = false;
|
|
95
|
+
const child = spawn(command, args, {
|
|
96
|
+
env,
|
|
97
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
98
|
+
windowsHide: true,
|
|
99
|
+
});
|
|
100
|
+
const finish = (result) => {
|
|
101
|
+
if (settled)
|
|
102
|
+
return;
|
|
103
|
+
settled = true;
|
|
104
|
+
clearTimeout(timer);
|
|
105
|
+
resolve(result);
|
|
106
|
+
};
|
|
107
|
+
const timer = setTimeout(() => {
|
|
108
|
+
try {
|
|
109
|
+
child.kill();
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Ignore a raced process exit.
|
|
113
|
+
}
|
|
114
|
+
finish({ ok: false, error: `${command} version check timed out.` });
|
|
115
|
+
}, RUNTIME_CHECK_TIMEOUT_MS);
|
|
116
|
+
child.stdout.on('data', (chunk) => {
|
|
117
|
+
output += chunk.toString();
|
|
118
|
+
});
|
|
119
|
+
child.stderr.on('data', (chunk) => {
|
|
120
|
+
output += chunk.toString();
|
|
121
|
+
});
|
|
122
|
+
child.on('error', (error) => {
|
|
123
|
+
finish({ ok: false, error: error.message });
|
|
124
|
+
});
|
|
125
|
+
child.on('exit', (code) => {
|
|
126
|
+
finish({
|
|
127
|
+
ok: code === 0,
|
|
128
|
+
output,
|
|
129
|
+
error: code === 0 ? undefined : `${command} exited with code ${code}.`,
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
function findExecutableOnDeclaredPath(name, env = process.env) {
|
|
135
|
+
const separator = process.platform === 'win32' ? ';' : ':';
|
|
136
|
+
const extensions = process.platform === 'win32'
|
|
137
|
+
? ['.cmd', '.exe', '.bat', '.ps1', '']
|
|
138
|
+
: [''];
|
|
139
|
+
const pathDirs = (env.PATH || env.Path || '').split(separator).filter(Boolean);
|
|
140
|
+
for (const dir of pathDirs) {
|
|
141
|
+
for (const extension of extensions) {
|
|
142
|
+
const candidate = path.join(dir, `${name}${extension}`);
|
|
143
|
+
try {
|
|
144
|
+
if (candidate && fs.existsSync(candidate))
|
|
145
|
+
return candidate;
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// Ignore invalid PATH entries.
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
function commandPathForRuntime(id, definition, env, strictPath = false) {
|
|
155
|
+
const spawnEnv = buildCliSpawnEnv(env);
|
|
156
|
+
if (id === 'node')
|
|
157
|
+
return process.execPath;
|
|
158
|
+
if (id === 'npm')
|
|
159
|
+
return resolveNpmCommand(spawnEnv);
|
|
160
|
+
for (const command of definition.commands) {
|
|
161
|
+
const executable = strictPath
|
|
162
|
+
? findExecutableOnDeclaredPath(command, env)
|
|
163
|
+
: findExecutableOnPath(command, spawnEnv);
|
|
164
|
+
if (executable)
|
|
165
|
+
return executable;
|
|
166
|
+
}
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
async function discoverSystemRuntime(id, definition, env, options = {}) {
|
|
170
|
+
const executable = commandPathForRuntime(id, definition, env, Boolean(options.strictPath));
|
|
171
|
+
if (!executable) {
|
|
172
|
+
return {
|
|
173
|
+
id,
|
|
174
|
+
name: definition.name,
|
|
175
|
+
status: 'missing',
|
|
176
|
+
source: 'none',
|
|
177
|
+
installStatus: 'missing',
|
|
178
|
+
diagnostic: runtimeDiagnostic(definition, 'missing'),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
const versionResult = await runVersion(executable, definition.versionArgs, env);
|
|
182
|
+
if (!versionResult.ok) {
|
|
183
|
+
return {
|
|
184
|
+
id,
|
|
185
|
+
name: definition.name,
|
|
186
|
+
status: 'error',
|
|
187
|
+
source: 'system',
|
|
188
|
+
path: executable,
|
|
189
|
+
installStatus: 'installed',
|
|
190
|
+
diagnostic: runtimeDiagnostic(definition, 'error', versionResult.error),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
id,
|
|
195
|
+
name: definition.name,
|
|
196
|
+
status: 'available',
|
|
197
|
+
source: 'system',
|
|
198
|
+
path: executable,
|
|
199
|
+
version: normalizeVersion(versionResult.output),
|
|
200
|
+
installStatus: 'installed',
|
|
201
|
+
diagnostic: runtimeDiagnostic(definition, 'available'),
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
async function discoverManagedRuntime(id, definition, env, preferManaged) {
|
|
205
|
+
if (!definition.managedRuntimeId || !preferManaged)
|
|
206
|
+
return null;
|
|
207
|
+
const managedRuntime = await getManagedRuntimeStatus(definition.managedRuntimeId, {
|
|
208
|
+
env,
|
|
209
|
+
preferManaged: true,
|
|
210
|
+
});
|
|
211
|
+
const available = managedRuntime.status === 'installed' || managedRuntime.status === 'system';
|
|
212
|
+
return {
|
|
213
|
+
id,
|
|
214
|
+
name: definition.name,
|
|
215
|
+
status: available ? 'available' : 'missing',
|
|
216
|
+
source: 'managed',
|
|
217
|
+
path: managedRuntime.executablePath,
|
|
218
|
+
version: managedRuntime.version,
|
|
219
|
+
installStatus: managedRuntime.status,
|
|
220
|
+
installable: managedRuntime.installable,
|
|
221
|
+
managedRuntime,
|
|
222
|
+
diagnostic: runtimeDiagnostic(definition, available ? 'available' : 'missing', managedRuntime.reason),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export async function discoverRuntime(id, options = {}) {
|
|
226
|
+
const definition = RUNTIME_DEFINITIONS[id];
|
|
227
|
+
if (!definition) {
|
|
228
|
+
return {
|
|
229
|
+
id,
|
|
230
|
+
name: id,
|
|
231
|
+
status: 'unsupported',
|
|
232
|
+
source: 'none',
|
|
233
|
+
installStatus: 'unsupported',
|
|
234
|
+
diagnostic: {
|
|
235
|
+
message: `${id} is not registered in the Pixcode runtime manager.`,
|
|
236
|
+
action: 'Add a runtime definition before using this stack.',
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
const env = options.env || process.env;
|
|
241
|
+
const managed = await discoverManagedRuntime(id, definition, env, Boolean(options.preferManaged));
|
|
242
|
+
if (managed)
|
|
243
|
+
return managed;
|
|
244
|
+
return discoverSystemRuntime(id, definition, env, options);
|
|
245
|
+
}
|
|
246
|
+
function isPackageManagerCommand(command) {
|
|
247
|
+
return command === 'npm' || command === 'pnpm' || command === 'yarn' || command === 'bun';
|
|
248
|
+
}
|
|
249
|
+
function runtimeIdForLiveViewCommand(command) {
|
|
250
|
+
if (!command)
|
|
251
|
+
return null;
|
|
252
|
+
if (isPackageManagerCommand(command.command) || command.packageManager)
|
|
253
|
+
return 'node';
|
|
254
|
+
if (command.framework === 'PHP' || command.command === 'php')
|
|
255
|
+
return 'php';
|
|
256
|
+
if (command.framework === 'Django' || command.framework === 'FastAPI' || command.framework === 'Flask')
|
|
257
|
+
return 'python';
|
|
258
|
+
if (command.framework === 'Go' || command.command === 'go')
|
|
259
|
+
return 'go';
|
|
260
|
+
if (command.framework === 'Rust' || command.command === 'cargo')
|
|
261
|
+
return 'rust';
|
|
262
|
+
if (command.framework === 'Java' || command.command === 'java')
|
|
263
|
+
return 'java';
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
export async function resolveLiveViewRuntime(command, options = {}) {
|
|
267
|
+
const env = options.env || process.env;
|
|
268
|
+
const runtimeId = runtimeIdForLiveViewCommand(command);
|
|
269
|
+
if (!runtimeId) {
|
|
270
|
+
return {
|
|
271
|
+
available: true,
|
|
272
|
+
reason: 'No dedicated runtime check is required for this Live View command.',
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
if (runtimeId === 'node') {
|
|
276
|
+
const runtime = await discoverRuntime('node', { env });
|
|
277
|
+
const managedRuntime = await getManagedRuntimeStatus('npm', {
|
|
278
|
+
env,
|
|
279
|
+
preferManaged: Boolean(options.preferManaged),
|
|
280
|
+
});
|
|
281
|
+
return {
|
|
282
|
+
available: true,
|
|
283
|
+
runtime,
|
|
284
|
+
managedRuntime,
|
|
285
|
+
reason: managedRuntime.reason || 'Pixcode will run this project with its managed Node package runner.',
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
if (runtimeId === 'php') {
|
|
289
|
+
const runtime = await discoverRuntime('php', {
|
|
290
|
+
env,
|
|
291
|
+
preferManaged: Boolean(options.preferManaged),
|
|
292
|
+
});
|
|
293
|
+
return {
|
|
294
|
+
available: Boolean(runtime.managedRuntime?.installable) || runtime.status === 'available',
|
|
295
|
+
runtime,
|
|
296
|
+
managedRuntime: runtime.managedRuntime,
|
|
297
|
+
reason: runtime.managedRuntime?.reason || runtime.diagnostic.message,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
const runtime = await discoverRuntime(runtimeId, { env });
|
|
301
|
+
return {
|
|
302
|
+
available: runtime.status === 'available',
|
|
303
|
+
runtime,
|
|
304
|
+
reason: runtime.status === 'available' ? runtime.diagnostic.message : runtime.diagnostic.action,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
export const runtimeManager = {
|
|
308
|
+
definitions: RUNTIME_DEFINITIONS,
|
|
309
|
+
discover: discoverRuntime,
|
|
310
|
+
resolveLiveViewRuntime,
|
|
311
|
+
};
|
|
312
|
+
//# sourceMappingURL=runtime-manager.js.map
|