{DESCRIPTION}.
- Main Repo: sane-fmt/sane-fmt
- Version: {VERSION}
Deno.version.deno
: {DENO_VERSION}Deno.version.v8
: {V8_VERSION}Deno.version.typescript
: {TYPESCRIPT_VERSION}
⚠ WARNING: Due to technical limitations, the main CLI currently does not support Windows. You may download the native version from the GitHub Release page of sane-fmt. The stdio CLI is still supported.
Installation:
deno install \
--allow-read \
--allow-write \
--allow-env \
--name=sane-fmt \
https://deno.land/x/sane_fmt@{VERSION}/main.js
Environment Variables:
SANE_FMT_DENO_PREOPENS
: A list of preopened directories. Its delimiter is colon (:
) on Linux/Unix and semicolon (;
) in Windows.
Usage:
{CLI_USAGE}
Unlike the feature-packed main CLI, the stdio CLI only function is to read TypeScript code from stdin and print formatted code to stdout.
Installation:
deno install --name=sane-fmt-stdio https://deno.land/x/sane_fmt@{VERSION}/stdio.js
Usage Example:
echo 'const message="hello world";' | sane-fmt-stdio
Expected Output:
const message = 'hello world'
import Context from 'https://deno.land/[email protected]/wasi/snapshot_preview1.ts'
import { u8v } from 'https://deno.land/x/sane_fmt@{VERSION}/index.ts'
const context = new Context({
args: ['sane-fmt', 'example-directory/example-file.ts'],
stdin: Deno.stdin.rid,
stdout: Deno.stdout.rid,
stderr: Deno.stderr.rid,
preopens: {
'example-directory': 'example-directory',
},
})
const module = await WebAssembly.compile(u8v)
const instance = await WebAssembly.instantiate(module, {
wasi_snapshot_preview1: context.exports,
})
const status = context.start(instance)
if (status) {
throw new Error(`Program exits with code ${status}`)
}
import Context from 'https://deno.land/[email protected]/wasi/snapshot_preview1.ts'
import { u8v } from 'https://deno.land/x/sane_fmt@{VERSION}/index.ts'
const context = new Context({
args: ['sane-fmt', '--stdio'],
stdin: Deno.stdin.rid,
stdout: Deno.stdout.rid,
stderr: Deno.stderr.rid,
})
const module = await WebAssembly.compile(u8v)
const instance = await WebAssembly.instantiate(module, {
wasi_snapshot_preview1: context.exports,
})
const status = context.start(instance)
if (status) {
throw new Error(`Program exits with code ${status}`)
}