quick-outerbase 0.1.0 → 0.3.5
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 +2 -2
- package/launcher.mjs +10 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,8 +36,8 @@ También podés pasar el URL por la env `DATABASE_URL`. Flags: `--port <n>` (def
|
|
|
36
36
|
## Requisitos
|
|
37
37
|
|
|
38
38
|
- **Node 20.9+** y `tar` en el PATH (Windows 10+ lo trae como `tar.exe`).
|
|
39
|
-
- Plataformas con runtime precompilado: `win32-x64`, `linux-x64
|
|
40
|
-
Para otras, corré desde el código: `npx github:joajo13/quick-outerbase --url "..."`.
|
|
39
|
+
- Plataformas con runtime precompilado: `win32-x64`, `linux-x64`.
|
|
40
|
+
Para otras (incluido macOS), corré desde el código: `npx github:joajo13/quick-outerbase --url "..."`.
|
|
41
41
|
|
|
42
42
|
## Variables de entorno útiles
|
|
43
43
|
|
package/launcher.mjs
CHANGED
|
@@ -90,12 +90,14 @@ console.log(`▶ quick-outerbase v${VERSION} → ${scheme} (${redacted})`);
|
|
|
90
90
|
// --- Plataforma → nombre del asset del release ---
|
|
91
91
|
const ARCH = process.arch; // x64 | arm64
|
|
92
92
|
const PLAT = process.platform; // win32 | linux | darwin
|
|
93
|
-
|
|
93
|
+
// Bundles precompilados: solo Linux y Windows. macOS quedó fuera a propósito
|
|
94
|
+
// (los runners de macOS alargan mucho el CI). En Mac, corré desde el código.
|
|
95
|
+
const SUPPORTED_TARGETS = new Set(["win32-x64", "linux-x64"]);
|
|
94
96
|
const target = `${PLAT}-${ARCH}`;
|
|
95
97
|
if (!SUPPORTED_TARGETS.has(target)) {
|
|
96
98
|
fail(
|
|
97
99
|
`No hay bundle precompilado para tu plataforma (${target}).\n` +
|
|
98
|
-
"Soportadas: win32-x64, linux-x64
|
|
100
|
+
"Soportadas: win32-x64, linux-x64.\n" +
|
|
99
101
|
"Alternativa: corré desde el código con `npx github:" + REPO + "`."
|
|
100
102
|
);
|
|
101
103
|
}
|
|
@@ -119,12 +121,9 @@ async function ensureBundle() {
|
|
|
119
121
|
const localOverride = process.env.QUICK_OUTERBASE_BUNDLE;
|
|
120
122
|
if (localOverride) {
|
|
121
123
|
if (!existsSync(localOverride)) fail(`QUICK_OUTERBASE_BUNDLE no existe: ${localOverride}`);
|
|
122
|
-
console.log(`• Usando bundle local: ${localOverride}`);
|
|
123
124
|
copyFileSync(localOverride, innerTgz);
|
|
124
125
|
} else {
|
|
125
|
-
console.log(`• Descargando runtime (${assetName}, ~28MB, una sola vez)…`);
|
|
126
126
|
await download(assetUrl, innerTgz);
|
|
127
|
-
console.log("• Extrayendo…");
|
|
128
127
|
}
|
|
129
128
|
extractInDir(bundleDir, "_bundle.tar.gz");
|
|
130
129
|
try {
|
|
@@ -217,6 +216,10 @@ async function main() {
|
|
|
217
216
|
if (!noOpen) {
|
|
218
217
|
const targetUrl = `http://localhost:${port}/env`;
|
|
219
218
|
const started = Date.now();
|
|
219
|
+
// Puede haber varios requests del poll en vuelo a la vez (el server tarda más
|
|
220
|
+
// que el intervalo en responder el primero). Sin este guard, dos respuestas OK
|
|
221
|
+
// abrían el navegador dos veces. `opened` asegura una sola apertura.
|
|
222
|
+
let opened = false;
|
|
220
223
|
const poll = setInterval(() => {
|
|
221
224
|
if (tearingDown) return clearInterval(poll);
|
|
222
225
|
const req = http.get(
|
|
@@ -224,6 +227,8 @@ async function main() {
|
|
|
224
227
|
(res) => {
|
|
225
228
|
res.destroy();
|
|
226
229
|
clearInterval(poll);
|
|
230
|
+
if (opened) return;
|
|
231
|
+
opened = true;
|
|
227
232
|
console.log(`✔ Listo en ${targetUrl}`);
|
|
228
233
|
openBrowser(targetUrl);
|
|
229
234
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quick-outerbase",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Launcher de quick-outerbase: baja un runtime precompilado y levanta una UI web local para tu DATABASE_URL (postgres/mysql/sqlite/libsql) en segundos. Fork de Outerbase Studio (AGPL-3.0).",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"bin": {
|