rscute
v1.1.5
Published
Rust transform: TypeScript ESM・CJS faster execution in memory with swc
Maintainers
Readme
rscute · 
Faster Executor for TypeScript using @swc/core
Installation
npm:
npm i -D rscutepnpm:
pnpm add -D rscuteWhen using pnpm, use pnpm exec instead of npx for running commands.
Usage
CLI
Run TypeScript files directly from the command line.
npx rscute script.tsRun multiple files (sequential by default):
npx rscute script-a.ts script-b.tsRun multiple files in parallel(-p or --parallel):
npx rscute script-a.ts script-b.ts -pRequire Hook
Enable on-the-fly TypeScript compilation for require().
From the command line:
node -r rscute script.tsFrom within your code:
const { register } = require('rscute/register');
register();
require('./filename.ts');Programmatic API
run(files, options)
Runs multiple TypeScript files with relative path resolution. Supports parallel or sequential execution.
import { run } from 'rscute/cli';
await run(['./script-a.ts', './script-b.ts'], { mode: 'parallel' });Parameters:
files- Array of file paths to executeoptions- Execution options:{ mode: 'parallel' | 'sequential' }
execute(absolutePath)
Executes an absolute TypeScript/JavaScript file and returns the module exports.
import { execute } from 'rscute/execute';
import path from 'path';
const absolutePath = path.resolve(__dirname, './script.ts');
const module = await execute(absolutePath);
module.func(); // Use exported functionsexecuteCode(code, options)
Executes a code string. Relative paths can be resolved by specifying a filePath.
import { executeCode } from 'rscute/execute';
const code = `export function func() { return 123; }`;
const module = await executeCode(code);
console.log(module.func()); // 123Parameters:
code- Code string to executeoptions- Optional:{ filePath?: string }for relative path resolution
How It Works
rscute executes code that resolves paths dynamically (supporting both ESM and CJS) inside the JavaScript Function constructor, keeping execution entirely in-memory without disk writes.
Supported extensions: .js, .ts, .mjs, .mts, .cjs, .cts, .jsx, .tsx
License
rscute is MIT licensed.
