Pular para o conteúdo
SparquetSparquet

Sparquet Studio

O Studio é uma aplicação de navegador que edita Jobs Sparquet num canvas de nós — um Job sendo um JSON de pipeline. Não é um produto separado com formato próprio: ele lê o JSON do pipeline e escreve o JSON do pipeline.

Terminal window
cd sparquet-studio
npm install
npm run dev # http://localhost:5273

Local first

Workflows, Jobs e Pipelines vivem no IndexedDB do seu navegador. Sem conta, sem servidor, sem telemetria. Exporte o workspace inteiro como um JSON.

Sem lock-in

O canvas compila para o arquivo que a CLI roda. Delete o Studio e todo Job continua funcionando.

Documentado no lugar

Todo campo carrega as mesmas notas desta referência, incluindo os comportamentos que normalmente vivem só no código-fonte do framework.

Runner opcional

Aponte para um pequeno serviço local e execute um Job — ou um Pipeline inteiro — pelo canvas, com contadores, validações e um preview dos dados.

Área O que faz
Palette (esquerda) Toda fonte, transformação, validator e destino. Arraste para o canvas, ou clique para anexar após o último nó.
Canvas (centro) O Job como nós conectados. Da esquerda para a direita é a ordem de execução.
Inspector (direita) Os campos do nó selecionado, com ajuda, exemplos e gotchas.
JSON panel O JSON do pipeline compilado, ao vivo. Também a superfície de import.
Issues panel Resultados de lint enquanto você digita, cada um linkando o nó e o campo.
Run panel Execução pelo runner local.
Status bar Contagem de nós, validade, estado de salvamento.

Os painéis compartilham uma coluna à direita, em abas e redimensionável — Ctrl/⌘+J, Ctrl/⌘+E, Ctrl/⌘+/ e Ctrl/⌘+Enter alternam entre eles.

O Studio aninha três coisas:

Conceito O que é Onde vive
Workflow O container. Geralmente um por domínio: Sales, Billing, CRM. /workflows/:id
Job Um JSON de pipeline, desenhado no canvas de nós. /jobs/:id
Pipeline Um conjunto ordenado de Jobs, executados em sequência. /pipelines/:id

A tela de um Workflow tem duas abas. Jobs lista os Jobs que ele guarda, junto com os Pipelines montados a partir deles. Pipeline desenha como esses Jobs se conectam — inferido, somente leitura, pelos paths e temp views que compartilham — e é por onde você começa um Pipeline executável.

Tudo isso vive no seu navegador. Settings → Data exporta tudo como um único bundle JSON e o reimporta, que é como você move um workspace entre máquinas ou compartilha um conjunto de Jobs com um colega.

Duas regras definem todo o mapeamento:

A cadeia compartilhada é a principal. O que todo destino tem em comum vira o transformations de topo. Depois que o grafo se ramifica, cada branch vira o transformations daquele destino.

Um join ou union pega a segunda fonte do seu segundo input. A cadeia que alimenta aquele handle vira with mais with_transformations.

Todo o resto é campo de nó. Sticky notes nunca compilam; nós mutados são pulados.

Abra o painel JSON, mude para Edit, cole um JSON de pipeline e clique em Apply to canvas. O Studio o organiza automaticamente. Tipos de transformação desconhecidos — os customizados que você registrou — são preservados intactos no import e export.

O Studio traz suas próprias checagens:

Terminal window
npm run typecheck # TypeScript, zero erros esperados
npm run test # testes unitários, incluindo round-trips do compiler
npm run lint # eslint
npm run smoke # passada end-to-end num Chrome real

O compiler é coberto por testes de round-trip sobre os pipelines de exemplo do próprio framework: importa cada um, compila de volta e compara. Esse teste é o que garante que o canvas nunca muda seu arquivo silenciosamente.