check-es3-syntax
v1.0.2
Published
Check if contents of a file is es3-compatible
Downloads
2,336
Readme
check-es3-syntax
Check if contents of a file is es3-compatible
Usage
The module exports 2 functions:
a default function accepting an array of filenames, and returns a promise resolved with an array of the same files if they are transformed by es3ify
- Note that if you're using CommonJS, you have to do
require('check-es3-syntax').default;
- Note that if you're using CommonJS, you have to do
a named function
checkString
, which takes a string as it's first argument, and performs the same check, but only returns a single result
import checkEs3Syntax, { checkString } from 'check-es3-syntax';
checkEs3Syntax(['filename1.js', 'filename2.js'])
.then(arr => {
arr.forEach(res => {
console.log(res.filename);
console.log(res.textDiff);
});
});
checkString('var o = { class: "Name" }')
.then(res => {
console.log(res.filename);
console.log(res.textDiff);
});
The promise returned is a bluebird promise, so you can use all
the sugar it provides, like map
, filter
and each
.
The resolved array contains objects with diffs using jsdiff, and have the following structure:
const returnValues = {
filename: 'name-of-file-passed-in.js',
patch: 'string', // A string with patch conent, as generated by `jsdiff.createPatch`
textDiff: 'object', // An object with diff objects, as generated by `jsdiff.diffChars`
}
Options
Options are the second argument provided to checkEs3Syntax
.
import checkEs3Syntax, { checkString } from 'check-es3-syntax';
checkEs3Syntax(['filename1.js', 'filename2.js'], { savePatchToDisk: true, directory: process.cwd() })
.then(arr => {
// ...
});
checkString('var o = { class: "Name" }', { savePatchToDisk: true, directory: process.cwd(), filename: 'some file name' })
.then(res => {
// ...
});
savePatchToDisk
Type: boolean
, default: false
Whether or not to save the patch file to disk.
directory
Type: string
, default: undefined
If savePatchToDisk
is set, this is the directory the file is saved to.
filename
Type: string
, default: inputString
Only available when using checkString
, this is the name used in the diffs and
generated patches.
CLI
Use check-es3-syntax-cli
.