Checkpoint.ts

Checkpoint.ts

codecov CI Crates.io License: GPL-3.0-or-later Rust Version Downloads

Interactive checkpoint system for TypeScript/JavaScript.

Quick Start

See INSTALLATION.md

Key Features

When you run the program, it first parses your code using ASTs and injects checkpointing functions. Then it injects runtime code, and a TUI appears for you to interact with. When you set a checkpoint, the function name along with its parameters and variables are written to the cache (in your .checkpoint folder). To run the checkpointed function, simply do so—you can edit the parameters and variables beforehand. You can also profile execution times for each function. Edit anything you want—try it yourself!

Usage

Basic Usage

Currently, only Bun is available. Check again in future for more runtimes.

checkpoint -i script.ts

Supported Features

Covers approximately 85% of TypeScript/JavaScript ecosystem code.

Future Optimizations

  • Migration to oxc from swc for improved performance.
  • Dead-code elimination using jsshaker for O(n) to O(1) optimization.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

Copyright (c) ErenayDev erenaydev@proton.me

This project is licensed under the GPL-3.0-or-later license (LICENSE or https://www.gnu.org/licenses/gpl-3.0.html)

Sponsors

Special thanks to our sponsors who make this project possible:

ErenayDev's sponsors

Acknowledgments

Built with:

  • SWC for TypeScript/JavaScript parsing
  • Ratatui for terminal user interface
  • Tokio for async runtime support