Carpincho/empaquetarLinux.js
2026-09-29 02:56:47 -03:00

19 lines
744 B
JavaScript

import nwbuild from 'nw-builder';
import {readFileSync, renameSync, writeFileSync} from 'node:fs';
const runtime = JSON.parse(readFileSync(new URL('./src/runtime.json', import.meta.url)));
await nwbuild({
mode: 'build', srcDir: './src', glob: false,
platform: 'linux', arch: 'x64', version: runtime.nw, flavor: 'normal',
outDir: './build/emalibre', zip: false,
app: {name: 'emalibre'}
});
// Mantener el runtime junto a sus bibliotecas y arrancar desde la raíz de la app.
renameSync('./build/emalibre/emalibre', './build/emalibre/nw');
writeFileSync('./build/emalibre/emalibre', `#!/bin/sh
set -eu
APP_DIR=$(dirname "$(readlink -f "$0")")
cd "$APP_DIR/package.nw"
exec "$APP_DIR/nw" . "$@"
`, {mode: 0o755});
console.log('Correcto!');