Subir una nueva aplicación
api.applications.create(file) sube un zip y crea una aplicación totalmente nueva. El argumento file es una ruta de archivo local o un Buffer.
import { SquareCloudAPI } from "@squarecloud/api";
import { join } from "node:path";
const api = new SquareCloudAPI(process.env.SQUARE_API_KEY!);
const result = await api.applications.create(join(__dirname, "my-app.zip"));
console.log(result.id); // ID de la aplicación recién creada
console.log(result.name); // nombre para mostrar
console.log(result.lang); // slug del lenguaje (e.g. "javascript")
console.log(result.ram); // RAM asignada en MB
El zip debe contener al menos:
- Archivo principal — punto de entrada de tu aplicación
- Archivo de dependencias —
package.json, requirements.txt, etc.
squarecloud.app — archivo de configuración con nombre, descripción, archivo principal, versión, etc. Consulta la guía del archivo de configuración
Hacer commit de archivos a una aplicación existente
app.commit(file, fileName?) sube archivos a una aplicación ya desplegada. Pasa un zip para reemplazar varios archivos a la vez, o un solo archivo para actualizar únicamente ese.
| Parámetro | Tipo | Descripción |
|---|
file | string | Buffer | Ruta de archivo local o contenido de un Buffer |
fileName | string? | Nombre adjuntado a la subida. .zip se extrae en el servidor; cualquier otra extensión se escribe como un único archivo. |
Commit de un solo archivo (Buffer)
Commit de un zip desde disco
Commit de un archivo por ruta
const content = Buffer.from("console.log('hello')\n");
await app.commit(content, "index.js");
import { readFile } from "node:fs/promises";
const zip = await readFile("./dist.zip");
await app.commit(zip, "dist.zip");
import { join } from "node:path";
const filePath = join(__dirname, "index.js");
await app.commit(filePath, "index.js");
En la v3, commit() aceptaba un tercer argumento restart. En la v4 el tercer parámetro se ha eliminado — usa app.restart() después del commit si necesitas un reinicio.
await app.commit(zip, "dist.zip");
await app.restart();