openeditorcode.devMANUAL DE CAMPO / 0.2.41English
releases.md DOCUMENTACIÓN

20 — Por dentro

Compilación y publicación

Cómo se producen los binarios, se empaqueta npm y se publica una release del editor.

v0.2.41Revisión de código ·
En esta página

Novedades de distribución 0.2.39–0.2.40

  • El workflow prueba el instalador PowerShell y adjunta install.ps1 a GitHub Releases, junto con los binarios y SHA256SUMS. La documentación incluye capturas reales del plugin; su versión 0.3.0 se publica por un tag/workflow independiente.
  • Antes de publicar el launcher, verify-registry-release.ts espera metadatos y archivos públicos de ambas plataformas; después comprueba los tres paquetes. El runtime y launcher verifican disponibilidad completa para la plataforma antes de ofrecer/instalar una actualización.
  • La CI de distribución comprueba guardados Windows/WSL, permisos y fallos de instaladores. La prueba de imágenes del workbench comprueba altura real y decodificación; un smoke gráfico específico verifica interacción con el ejecutable. Esto no certifica todos los protocolos o terminales.

Compilar por plataforma

build.ts compila bootstrap/executable.ts con plugin Solid, minificación y Bun compile. Bytecode se usa en Windows, pero está desactivado para Linux x64 por fallos observados con Bun 1.3.14. Windows genera packages/oec-win32-x64/bin/oec.exe; Linux, packages/oec-linux-x64/bin/oec. La salida actual no es dist/oec.exe.

build sin target elige Windows en host win32 y Linux en el resto. No detecta arquitecturas alternativas. package-check requiere ambos binarios y verifica archivos mínimos de los tres paquetes.

Targets explícitos y validación de paquetesshell
bun run build:windows
bun run build:linux
bun run pack:check

Tres paquetes npm

openeditorcode contiene launcher, README, manuales y licencia. @2jmalvarez/oec-win32-x64 y @2jmalvarez/oec-linux-x64 contienen el ejecutable correspondiente. La raíz los declara opcionales con versión exacta y el launcher resuelve el apropiado.

Procedimiento de release

  1. Actualiza versión raíz, ambos paquetes de plataforma y bun.lock. Revisa la documentación de la nueva versión.
  2. Ejecuta typecheck, test, build de Windows/Linux, preflight v<VERSION> y pack:check. Los workflows repiten las verificaciones de distribución.
  3. Después de validar la release, publica commit y tag anotado v<VERSION>. El tag activa publish.yml.
  4. El workflow compila y prueba ambas plataformas; verifica el permiso ejecutable Linux del tarball y publica primero paquetes de plataforma y después la raíz con npm trusted publishing (OIDC, Node 24). La release GitHub adjunta binarios y SHA256SUMS.
  5. Comprueba el resultado de Actions y las tres versiones en npm antes de anunciar la publicación.

Detalles del workflow actual

publish.yml admite tags v* y workflow_dispatch. Los jobs de release GitHub y npm son independientes tras compilar; uno puede completar aunque el otro falle. Un prerelease GitHub no configura por sí solo un dist-tag npm alternativo.

Las sumas son verificaciones de integridad, no firmas independientes. El workflow usa publicación npm OIDC sin NPM_TOKEN explícito; no configura SBOM ni attestations adicionales. Preflight verifica versiones y tag, no sincronía del contenido documental.

Fuentes del capítulo

Enlaces fijados al commit revisado; no siguen main.

Documentación estática · ES / ENVer cobertura ↗