@ajitems/devtools
v0.3.0
Published
Headless engines for common developer utilities. Compiled to WASM.
Downloads
356
Maintainers
Readme
devtools
Headless engines for common developer utilities, implemented in Rust and compiled to WebAssembly. Use them in the browser or any JS runtime that can load WASM (for example via wasm-bindgen).
Install
npm install @ajitems/devtoolsUsage
The package is built with wasm-pack for the web target. Initialize the module once, then call the exported functions. Each engine returns a JSON-shaped object with ok, optional data, and optional error (see ToolResult in the sources).
import init, { base64_encode, jwt_decode } from "@ajitems/devtools";
await init(); // WASM start (e.g. panic hook)
const encoded = base64_encode("hello", false);
// { ok: true, data: { output: "...", inputBytes: 5, outputBytes: ... }, error: null }
const decoded = jwt_decode("eyJ...");
// { ok: true | false, data: ..., error: ... }Exact import paths depend on how you bundle or serve the .wasm file; follow the wasm-pack web workflow for your toolchain.
What’s included
| Area | Functions (high level) |
|------|-------------------------|
| Encoding | base64_encode, base64_decode |
| JSON | json_format, json_diff |
| JWT | jwt_decode |
| URL | url_process |
| Regex | regex_test |
| Env files | env_validate |
| Docker | docker_convert |
| Tokens / prompts | tokens_estimate, prompt_analyse |
| SLA | sla_calculate |
| Payroll / tax (India-oriented) | ctc_calculate, freelance_calculate, gst_calculate, gstin_validate, pan_validate |
| India utilities | validate_ifsc, estimate_cloud_cost, calculate_working_days, calculate_automation_roi, calculate_sprint_velocity, calculate_retry_budget |
With the cron feature (enabled in published builds): cron_parse.
Build from source
Prerequisites: stable Rust, wasm32-unknown-unknown, and wasm-pack.
rustup target add wasm32-unknown-unknown
wasm-pack build --target web --release -- --features cron
cp package.npm.json pkg/package.jsonOptional Cargo features:
cron— cron expression parsing (cron_parse).minify— pulls in minify/CSS dependencies (seeCargo.toml; not required for the default npm build).
CI runs cargo clippy, cargo fmt --check, cargo test --all-features, and the WASM build above.
Publish
Releases are published to npm when a version tag v* is pushed (see .github/workflows/publish.yml).
License
MIT. See LICENSE.
