0.4.2 • Published 5 months ago
sh-syntax v0.4.2
sh-syntax
A WASM shell parser and formatter with bash support, based on mvdan/sh
TOC
Usage
Install
# yarn
yarn add sh-syntax
# npm
npm i sh-syntax
API
// node
import { parse, print } from 'sh-syntax'
const text = "echo 'Hello World!'"
const ast = await parse(text)
const newText = await print(ast, {
// `originalText` is required for now, hope we will find better solution later
originalText: text,
})
// browser
import { getProcessor } from 'sh-syntax'
const processor = getProcessor(() =>
fetch('sh-syntax/main.wasm').then(res => res.arrayBuffer()),
)
const parse = (text, options) => processor(text, options)
const print = (textOrAst, options) => {
if (typeof textOrAst === 'string') {
return processor(textOrAst, {
...options,
print: true,
})
}
return processor(textOrAst, options)
}
// just like node again
const text = "echo 'Hello World!'"
const ast = await parse(text)
const newText = await print(ast, { originalText: text })
Sponsors
1stG | RxTS | UnTS |
---|---|---|
Backers
1stG | RxTS | UnTS |
---|---|---|
Changelog
Detailed changes for each release are documented in CHANGELOG.md.
License
0.4.2
5 months ago
0.4.1
10 months ago
0.4.0
1 year ago
0.3.6
2 years ago
0.3.5
2 years ago
0.3.7
2 years ago
0.3.2
2 years ago
0.3.1
2 years ago
0.3.4
2 years ago
0.3.3
2 years ago
0.3.0
2 years ago
0.2.1
2 years ago
0.2.0
2 years ago
0.1.4
2 years ago
0.1.3
2 years ago
0.1.2
2 years ago
0.1.1
2 years ago
0.1.0
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago
0.0.0
2 years ago