Targ Apps Docs

Build y empaquetado

Pipeline de producción, artefactos en dist/ y zip para Chroma Desktop.

Comandos

cd Targ-Apps-Finance
npm run build

npm run build ejecuta chroma build y luego scripts/finish-package.mjs, que:

  • Garantiza chroma.json en dist/
  • Copia las hojas de estilo referenciadas en index.html (p. ej. src/styles/*.css) — chroma build en modo dynamic no las incluye por defecto
  • Regenera Targ-Apps-Finance.zip desde dist/ completo (no solo un zip -u parcial)

Los plugins con manifest (chroma-fs, chroma-style, chroma-t2t) se cargan con import() document-relative desde plugins/loader.js para que funcione tanto en dev como con bundle.js en la raíz del zip.

finish-package.mjs además empaqueta chroma-t2t con esbuild (incluye logic/persist.js, export.js, import.js y dependencias) porque esos módulos no existen sueltos en dist/ tras el bundle principal.

Artefactos

RutaUso
dist/Build estático servible (bundle, WASM, plugins, manifests)
dist/chroma.jsonManifest de la app — lista de plugins y metadatos; lo pide plugins/loader.js y Chroma Desktop
dist/chroma-fs.jsonConfig de persistencia Chroma-Fs
Targ-Apps-Finance.zipPaquete para importar en Chroma Desktop (package.zip: true en chroma.json)

Los JSON estáticos del repo declaran "$schema" con URL absoluta a docs.targapps.xyz para validación en el editor (p. ej. chroma.json → targ-apps/chroma-app-manifest.schema.json). Catálogo completo en JSON Schemas.

Chroma Desktop extrae el zip bajo <app-data>/apps/<id>/ y sirve los archivos en http://127.0.0.1:47823/<id>/…. El loader hace fetch("./chroma.json") desde la raíz de la app; si falta, los plugins no cargan (404 en consola).

Verificar el zip

unzip -l Targ-Apps-Finance.zip | grep -E 'chroma.json|src/styles/|chroma.plugin.json'

Debe listar:

  • chroma.json en la raíz del archivo
  • src/styles/theme.css, layout.css, finance.css
  • plugins/chroma-fs/chroma.plugin.json, plugins/chroma-style/chroma.plugin.json, plugins/chroma-t2t/chroma.plugin.json (y sus index.js)

On this page