Repository navigation
Expand file tree
/
Copy pathruntime.json
More file actions
36 lines (36 loc) · 3.95 KB
/
Copy pathruntime.json
File metadata and controls
36 lines (36 loc) · 3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{
"$comment": "Single source of truth for the HydeCLI native runtime build. Read by bin/build-native.sh and by .github/workflows/build-native.yml. See ARCHITECTURE.md for the rationale behind every entry.",
"php": "8.4",
"spc": "2.8.6",
"extensions": {
"ctype": "Required by illuminate/support and symfony/console for character class checks.",
"curl": "Required by the self-update command and by Illuminate\\Http\\Client (Guzzle) for GitHub API access.",
"dom": "Required by hyde/framework for sitemap and RSS feed generation.",
"fileinfo": "Required by hyde/framework (Hyde\\Facades\\Filesystem) and Laravel's file helpers for MIME detection.",
"filter": "Required by symfony/yaml and Laravel validation helpers.",
"iconv": "Required by symfony/string and league/commonmark for character set conversion when mbstring cannot be used.",
"mbregex": "Required by illuminate/support (Str::ucsplit and the string helpers built on mb_split) and by symfony/string.",
"mbstring": "Required by illuminate/support (Str), league/commonmark, and symfony/string.",
"openssl": "Required for HTTPS transport in the self-update command and for release signature verification.",
"pcntl": "Required by symfony/process for signal handling when running `hyde serve` child processes. POSIX only.",
"phar": "Required to run the embedded application: the executable is a micro SAPI bound to a PHAR.",
"posix": "Required by symfony/console and laravel/prompts for TTY detection and interactive prompts. POSIX only.",
"session": "Required at install time by illuminate/session, which hyde/framework reaches through torchlight/torchlight-laravel and illuminate/http. The bundled Composer resolves platform requirements against the runtime it is running on, so without this every Hyde Composer project `hyde new --composer` creates is unresolvable.",
"simplexml": "Required by hyde/framework for sitemap and RSS feed generation.",
"tokenizer": "Required by the Blade compiler in illuminate/view.",
"xml": "Required as the base extension for dom, simplexml, xmlreader and xmlwriter.",
"xmlreader": "Required as a dependency of the XML extension family used by feed generation.",
"xmlwriter": "Required by hyde/framework for sitemap and RSS feed generation.",
"zip": "Required by the bundled Composer to extract dist packages. Without it Composer falls back to an `unzip` binary, and then to `git`, neither of which a machine that installed Hyde to avoid installing PHP can be assumed to have: `hyde composer install` fails outright there.",
"zlib": "Required to read the GZ-compressed PHAR that the executable embeds."
},
"composer": {
"$comment": "The Composer release bundled inside the executable, so that `hyde composer` and `hyde new --composer` work on a machine that has neither PHP nor Composer. Both build scripts download exactly this version and refuse to continue unless it hashes to the checksum below, which was taken from the one getcomposer.org publishes alongside that release. The executable distributes this, so keep it current: read the release notes before bumping it, and check a project can still be created with it. The archive is patched after verification and before it is embedded; see bin/lib/composer-patches.php for what is changed and why.",
"version": "2.10.2",
"sha256": "5ee7125f8a30a34d246cefdc0bc85b8a783b28f2aec968994118512350d28027"
},
"unsupported-extensions": {
"$comment": "Extensions that cannot be built for a platform, dropped from that platform's build rather than left to fail the environment check. No PHP on Windows has ever had pcntl or posix, so nothing that runs there can be relying on them: symfony/process and symfony/console take their Windows code paths instead. Read by both build scripts, so neither can drift from the other on what it builds.",
"windows": ["pcntl", "posix"]
}
}