check-es3-syntax

Check if contents of a file is es3-compatible

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
check-es3-syntax
1.0.26 years ago6 years agoMinified + gzip package size for check-es3-syntax in KB

Readme

check-es3-syntax
Check if contents of a file is es3-compatible

!NPM Versionnpm-imagenpm-url !Linux build Statustravis-imagetravis-url !Windows Build Statusappveyor-imageappveyor-url !Coverage Statuscoveralls-imagecoveralls-url !Codeclimate Statuscodeclimate-imagecodeclimate-url
!bitHound Dependenciesbithound-imagebithound-url !Dependency Statusdavid-imagedavid-url !Dev Dependency Statusdavid-dev-imagedavid-dev-url !Peer Dependency Statusdavid-peer-imagedavid-peer-url

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 es3ifyes3ify-url
Note that if you're using CommonJS, you have to do require('check-es3-syntax').default;
  • 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
bluebird-url, so you can use all the sugar it provides, like map, filter and each.
The resolved array contains objects with diffs using jsdiffjsdiff-url, 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.