Files
dat-thang/docs/source-distribution.md
T
divorce b735900f2e 0.0.002
ddat interop with dat js
cable interop with cabal js
ddat's frontend = dat-thang
cable fe = cable-thang
dillo support based on cel's dillo-dat
bootstrap node
xplatform support

Signed-off-by: divo <418@cryspace.space>
2026-10-19 00:17:02 -04:00

1.8 KiB

Source and release layout

The repository has one source tree for both platforms. Generated files have separate destinations:

  • GNU/Linux compiler outputs: build/linux/
  • Windows compiler outputs: build/windows/
  • Windows portable runtime staging: dist/windows-x64/
  • Installers and platform packages: dist/installers/ and dist/linux-*/
  • Source archive: dist/source/

build/ is disposable compiler output and is ignored by Git. External Dillo checkouts live in test-deps/; machine keys and test-run output live in local-data/. Both are local-only and ignored. Reusable tests and archive fixtures live under tests/, so a clean operation cannot remove them. Do not zip the working directory directly. To make a source-only archive that retains the historical fixtures and interoperability tests while excluding machine data and generated outputs, run from PowerShell at the repository root:

.\package-source.ps1

The script writes dist\source\dat-gpt-v0.0.002-source.zip (the version comes from VERSION). It includes project sources, documentation, assets, the historical code under extra/, third_party/, the complete tests/ tree, and the root historical .dat verifier fixture. It excludes installed node_modules/, build/, dist/, local-data/, test-deps/, .git/, per-machine Dillo keys, and generated configure files. It also skips local identity keys, cookie jars, SSH private keys, and .env files by name. It does not compile or bundle executables.

Keep persistent node identity files in per-user application data outside the checkout. The source ZIP excludes local runtime state.

For target packages, use make package on GNU/Linux and build-windows-installer.ps1 on Windows. The Windows build-windows.ps1 also creates a portable ZIP without requiring Inno Setup.