MinTok AST Virtualization for JavaScript
Compile JavaScript codebases into high-density Intermediate Representation (IR). MinTok parses concrete syntax trees via Tree-sitter, strips syntactic boilerplate, and preserves complete architectural invariants so models reason faster with 77.8% fewer prompt tokens.
Why JavaScript Inflates LLM Context Windows
The JavaScript programming language possesses rich syntactic conventions that provide high human readability but introduce substantial token inflation when fed into large language models. Repetitive import statements, verbose type annotations, boilerplate constructors, and extensive docstrings often consume between 65% and 80% of an agent's context window.
MinTok's JavaScript compiler leverages native `tree-sitter-javascript` grammar parsers to tokenize source files into concrete syntax trees. By analyzing node hierarchies, MinTok identifies unreferenced symbol declarations, dead variable bindings, and unused module imports. These nodes are surgically elided before tokenization, achieving an average of 77.8% token reduction while preserving 100% of functional contracts and type bounds.
JavaScript AST Slicing Pipeline
Four-stage deterministic AST compaction executed inside Cloudflare V8 WebAssembly isolates in <3ms.
ESM & CJS Unification
Normalizes require and import patterns into a single canonical dependency map.
Prototype & Class Flattening
Extracts method signatures while pruning internal closure bindings.
Event Listener Graphing
Builds event-to-handler maps to provide context without dumping handler implementations.
Dead Utility Stripping
Prunes helper functions that are not in the active call stack.
AST Transformation Benchmark
Compare raw source code tokens against MinTok compiled IR for JavaScript.
// Raw JavaScript (295 Tokens)
const express = require('express');
const router = express.Router();
const db = require('../lib/database');
router.get('/api/users/:id', async (req, res) => {
try {
const user = await db.users.findById(req.params.id);
if (!user) return res.status(404).json({ error: 'User not found' });
res.json({ id: user.id, username: user.username });
} catch (err) {
res.status(500).json({ error: err.message });
}
});
module.exports = router;
// MinTok IR (64 Tokens — 77.8% Saved)
@route GET /api/users/:id -> {id:str, username:str} | 404 | 500
Core JavaScript Compiler Invariants
MinTok never truncates or guesses. These four structural invariants guarantee zero hallucinated imports and 100% type soundness.
Contract & Type Invariant
Public type signatures, trait boundaries, and function interfaces in .js, .mjs, .cjs files are strictly preserved so downstream callers compile without type errors.
Exception & Error Boundary
Try/catch blocks, error return values, and panic/raise declarations are maintained to ensure models reason accurately about failure states.
Namespace & Module Path
Canonical import paths and symbol namespaces are preserved, preventing hallucinated relative import paths.
Deterministic Serialization
MinTok IR serializes deterministically across identical AST inputs, maximizing edge KV cache hit rates.
CLI Flags for JavaScript
mintok compile src/ --lang javascript
Compiles all .js, .mjs, .cjs files into high-density MinTok IR format.
mintok check --lang javascript --strict
Validates AST syntax invariants and verifies that no syntax errors were introduced.
mintok run --lang javascript --ratio 0.20
Targets a strict 80% context compression ratio during autonomous execution.
JavaScript AST Compilation Questions
Does MinTok break JavaScript syntax when editing code?
No. MinTok uses Tree-sitter parsers to validate syntax before and after every modification, guaranteeing that emitted patches are syntactically sound.
How does MinTok handle JavaScript macros and metaprogramming?
MinTok expands local utility macros into structural type invariants while preserving the underlying macro definition for caller safety.
Can I use MinTok with large multi-file JavaScript projects?
Yes. MinTok builds a project-wide symbol dependency graph across all .js, .mjs, .cjs files, enabling surgical cross-file refactoring without context blowouts.
What is the compression speed?
MinTok compiles JavaScript ASTs in less than 3 milliseconds per file inside Cloudflare V8 WebAssembly isolates.