Enviando uma nova aplicação
api.applications.create(file) envia um zip e cria uma aplicação nova. O argumento file aceita tanto um caminho local quanto um 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, "minha-app.zip"));
console.log(result.id); // ID da aplicação recém-criada
console.log(result.name); // nome de exibição
console.log(result.lang); // slug da linguagem (ex.: "javascript")
console.log(result.ram); // RAM alocada em MB
O zip deve conter pelo menos:
- Arquivo principal — ponto de entrada da sua aplicação
- Arquivo de dependências —
package.json, requirements.txt, etc.
squarecloud.app — arquivo de configuração com nome, descrição, arquivo principal, versão, etc. Veja o guia do arquivo de configuração
Fazendo commit de arquivos em uma aplicação existente
app.commit(file, fileName?) envia arquivos para uma aplicação já implantada. Passe um zip para substituir vários arquivos de uma vez, ou um único arquivo para atualizar apenas ele.
| Parâmetro | Tipo | Descrição |
|---|
file | string | Buffer | Caminho local do arquivo ou conteúdo em Buffer |
fileName | string? | Nome do arquivo de destino. Padrão: "commit.zip" |
Commit de um único arquivo (Buffer)
Commit de um zip do disco
Commit de um arquivo por caminho
const content = Buffer.from("console.log('olá')\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");
Na v3, commit() aceitava um terceiro argumento restart. Na v4 esse terceiro parâmetro foi removido — chame app.restart() manualmente após o commit, se precisar reiniciar.
await app.commit(zip, "dist.zip");
await app.restart();