Skip to content

Repository files navigation

dsc

DekaScript logo

DekaScript compiler. DekaScript goes in, JavaScript comes out.

dsc does not execute the emitted JavaScript. That task belongs to deka.

CLI

dsc --help

Commands (check, transpile, fmt, lsp) are registered in crates/cli/src/lib.rs.

  • dsc (no command) emits app/, api/, and src/ to dist/.
  • dsc transpile <file-or-directory> writes per-module .js (--preserve), or one graph with --bundle. --treeshake minifies.
  • dsc check --as-package <dir> typechecks a local package through a scratch consumer + .deka/links.json. Registry install stays on deka.

Development

Same as deka: PR → merge commit → tag. Do not push to main. See CONTRIBUTING.md.

CI

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.

Versioning

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.shdsc.wasm / dsc_diagnostics.wasm at https://dsc-wasm.deka.gg.

License

Copyright 2026 Sami Fouad < https://samifou.ad >. Licensed under the Apache License, Version 2.0.

About

DekaScript Compiler

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages