DekaScript compiler. DekaScript goes in, JavaScript comes out.
dsc does not execute the emitted JavaScript. That task belongs to deka.
dsc --help
Commands (check, transpile, fmt, lsp) are registered in crates/cli/src/lib.rs.
dsc(no command) emitsapp/,api/, andsrc/todist/.dsc transpile <file-or-directory>writes per-module.js(--preserve), or one graph with--bundle.--treeshakeminifies.dsc check --as-package <dir>typechecks a local package through a scratch consumer +.deka/links.json. Registry install stays ondeka.
Same as deka: PR → merge commit → tag. Do not push to main. See CONTRIBUTING.md.
PR CI runs on GitHub-hosted runners with a read-only token and no secrets. The required Rust tests check skips cargo work for documentation-only changes, but runs the full gate when source, tests, scripts, or CI inputs change. Release-only R2 credentials are never available to CI.
Vercioning of dsc is independent of deka. There is no pinning in place. Deka is designed to be indifferent to which version of dsc is being used.
Bump on a branch (scripts/bump-version.sh minor), merge the PR, then push an annotated v* tag from main. That tag is the release. See VERSIONING.md and PUBLISH.md.
Browser artifacts: scripts/build-wasm.sh → dsc.wasm / dsc_diagnostics.wasm at https://dsc-wasm.deka.gg.
Copyright 2026 Sami Fouad < https://samifou.ad >. Licensed under the Apache License, Version 2.0.
