@linaopenx/share

v0.2.0

Published

Publish HTML/zip to Lina Share from the command line.

Readme

@linaopenx/share

CLI para publicar HTML/zip no Lina Share e receber um link público — o mesmo fluxo do navegador, pela linha de comando.

npx  @linaopenx/share login
pnpm dlx @linaopenx/share publish ./site.zip --slug demo --private
bunx @linaopenx/share list

Autenticação

Funciona como o gcloud: abre o navegador, você escolhe sua conta @linaopenx.com.br, e o token fica salvo em ~/.config/lina-share/credentials.json (é renovado automaticamente). Só contas verificadas do Workspace conseguem usar — exatamente o mesmo controle do navegador (hd + email_verified).

lina-share login     # autentica
lina-share whoami    # mostra a conta
lina-share logout    # apaga as credenciais locais

Comandos

| Comando | Descrição | | --- | --- | | publish <arquivo> [--slug nome] [--private] | Publica um .html, .htm ou .zip (um .zip vira um mini site). | | list | Lista as páginas publicadas. | | delete <slug> | Exclui uma página (sai do ar; o nome fica livre para reuso). |

Arquivos grandes vão direto do seu disco para o Blob (igual ao navegador), então o limite de corpo da função não se aplica.

Configuração (override por env)

| Variável | Padrão | Uso | | --- | --- | --- | | LINA_SHARE_BASE_URL | https://app.share.linaopenx.com.br | Apontar para staging/dev. | | LINA_SHARE_CLIENT_ID | embutido | Cliente OAuth desktop. | | LINA_SHARE_CLIENT_SECRET | embutido | Segredo (não confidencial em apps desktop — PKCE). |

Desenvolvimento

cd cli
pnpm install
pnpm build          # gera dist/cli.js
node dist/cli.js --help

# publicar (primeira vez precisa de --access public; já está no script):
npm run release

Antes do primeiro release, troque os placeholders em src/config.ts (CLIENT_ID / CLIENT_SECRET) pelos valores do cliente Desktop do Google Cloud Console — ou exporte as variáveis LINA_SHARE_* no ambiente.