@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 listAutenticaçã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 locaisComandos
| 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 releaseAntes 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.