mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
install: skip incorrent esbuild platform downloads to speedup installation
This commit is contained in:
1 parent
91fc14f010
commit
19b47d1fb2
1 file changed
+23
-3
+23
-3
@@ -61,6 +61,7 @@ log.fatal = ((orig) => (str, ...args) => orig(locales[locale][str] || str, ...ar
|
|||||||
|
|
||||||
if (__user !== 'root') log.fatal('error.rootRequired');
|
if (__user !== 'root') log.fatal('error.rootRequired');
|
||||||
if (__arch !== 'amd64') log.fatal('error.unsupportedArch', __arch);
|
if (__arch !== 'amd64') log.fatal('error.unsupportedArch', __arch);
|
||||||
|
if (__os !== 'linux') log.fatal('error.unsupportedOS', __os);
|
||||||
if (!__env.HOME) log.fatal('$HOME not found');
|
if (!__env.HOME) log.fatal('$HOME not found');
|
||||||
if (!fs.exist('/etc/os-release')) log.fatal('error.osreleaseNotFound');
|
if (!fs.exist('/etc/os-release')) log.fatal('error.osreleaseNotFound');
|
||||||
const osinfoFile = fs.readfile('/etc/os-release');
|
const osinfoFile = fs.readfile('/etc/os-release');
|
||||||
@@ -120,6 +121,22 @@ uid: 1536
|
|||||||
gid: 1536
|
gid: 1536
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
function removeOptionalEsbuildDeps() {
|
||||||
|
const yarnGlobalPath = exec('yarn global dir').output?.trim() || '';
|
||||||
|
if (!yarnGlobalPath) return false;
|
||||||
|
const file = fs.readfile(`${yarnGlobalPath}/package.json`);
|
||||||
|
const data = JSON.parse(file);
|
||||||
|
data.resolutions = data.resolutions || {};
|
||||||
|
Object.assign(data.resolutions, Object.fromEntries([
|
||||||
|
'@esbuild/linux-loong64',
|
||||||
|
...['android', 'windows', 'darwin', 'freebsd'].flatMap((i) => [`${i}-64`, `${i}-arm64`, `${i}-32`]),
|
||||||
|
...['32', 'arm', 'arm64', 'mips64', 'ppc64', 'riscv64', 's390x'].map((i) => `esbuild-linux-${i}`),
|
||||||
|
...['netbsd', 'openbsd', 'sunos'].map((i) => `esbuild-${i}-64`),
|
||||||
|
].map((i) => [i, 'link:/dev/null'])));
|
||||||
|
fs.writefile(`${yarnGlobalPath}/package.json`, JSON.stringify(data, null, 2));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const steps = [
|
const steps = [
|
||||||
{
|
{
|
||||||
init: 'install.preparing',
|
init: 'install.preparing',
|
||||||
@@ -181,18 +198,20 @@ To disable this feature, checkout our sourcecode.`);
|
|||||||
init: 'install.nodejs',
|
init: 'install.nodejs',
|
||||||
skip: () => !exec('node -v').code && !exec('yarn -v').code,
|
skip: () => !exec('node -v').code && !exec('yarn -v').code,
|
||||||
operations: [
|
operations: [
|
||||||
'nix-env -iA nixpkgs.nodejs nixpkgs.yarn',
|
'nix-env -iA nixpkgs.nodejs nixpkgs.yarn nixpkgs.esbuild',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
init: 'install.pm2',
|
init: 'install.pm2',
|
||||||
skip: () => !exec('pm2 -v').code,
|
skip: () => !exec('pm2 -v').code,
|
||||||
operations: ['yarn global add pm2'],
|
operations: [
|
||||||
|
['yarn global add pm2', { retry: true }],
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
init: 'install.compiler',
|
init: 'install.compiler',
|
||||||
operations: [
|
operations: [
|
||||||
'nix-env -iA nixpkgs.gcc nixpkgs.fpc',
|
'nix-env -iA nixpkgs.gcc nixpkgs.fpc nixpkgs.python3',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -205,6 +224,7 @@ To disable this feature, checkout our sourcecode.`);
|
|||||||
{
|
{
|
||||||
init: 'install.hydro',
|
init: 'install.hydro',
|
||||||
operations: [
|
operations: [
|
||||||
|
() => removeOptionalEsbuildDeps(),
|
||||||
['yarn global add hydrooj @hydrooj/ui-default @hydrooj/hydrojudge', { retry: true }],
|
['yarn global add hydrooj @hydrooj/ui-default @hydrooj/hydrojudge', { retry: true }],
|
||||||
() => fs.writefile(`${__env.HOME}/.hydro/addon.json`, '["@hydrooj/ui-default","@hydrooj/hydrojudge"]'),
|
() => fs.writefile(`${__env.HOME}/.hydro/addon.json`, '["@hydrooj/ui-default","@hydrooj/hydrojudge"]'),
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in new issue
Block a user