UNPKG

check-es3-syntax

Version:

Check if contents of a file is es3-compatible

117 lines (91 loc) 4.37 kB
# check-es3-syntax > Check if contents of a file is es3-compatible [![NPM Version][npm-image]][npm-url] [![Linux build Status][travis-image]][travis-url] [![Windows Build Status][appveyor-image]][appveyor-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Codeclimate Status][codeclimate-image]][codeclimate-url] [![bitHound Dependencies][bithound-image]][bithound-url] [![Dependency Status][david-image]][david-url] [![Dev Dependency Status][david-dev-image]][david-dev-url] [![Peer Dependency Status][david-peer-image]][david-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 [es3ify][es3ify-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 ```js 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 [jsdiff][jsdiff-url], and have the following structure: ```js 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`. ```js 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`](https://www.npmjs.com/package/check-es3-syntax-cli). [travis-url]: https://travis-ci.org/SimenB/check-es3-syntax [travis-image]: https://img.shields.io/travis/SimenB/check-es3-syntax.svg [appveyor-url]: https://ci.appveyor.com/project/SimenB/check-es3-syntax [appveyor-image]: https://ci.appveyor.com/api/projects/status/9rusr82fifik4gm3?svg=true [coveralls-url]: https://coveralls.io/github/SimenB/check-es3-syntax [coveralls-image]: https://img.shields.io/coveralls/SimenB/check-es3-syntax.svg [codeclimate-url]: https://codeclimate.com/github/SimenB/check-es3-syntax [codeclimate-image]: https://img.shields.io/codeclimate/github/SimenB/check-es3-syntax.svg [npm-url]: https://npmjs.org/package/check-es3-syntax [npm-image]: https://img.shields.io/npm/v/check-es3-syntax.svg [bithound-url]: https://www.bithound.io/github/SimenB/check-es3-syntax/master/dependencies/npm [bithound-image]: https://www.bithound.io/github/SimenB/check-es3-syntax/badges/dependencies.svg [david-url]: https://david-dm.org/SimenB/check-es3-syntax [david-image]: https://img.shields.io/david/SimenB/check-es3-syntax.svg [david-dev-url]: https://david-dm.org/SimenB/check-es3-syntax#info=devDependencies [david-dev-image]: https://img.shields.io/david/dev/SimenB/check-es3-syntax.svg [david-peer-url]: https://david-dm.org/SimenB/check-es3-syntax#info=peerDependencies [david-peer-image]: https://img.shields.io/david/peer/SimenB/check-es3-syntax.svg [jsdiff-url]: https://github.com/kpdecker/jsdiff [es3ify-url]: https://github.com/spicyj/es3ify [bluebird-url]: https://github.com/petkaantonov/bluebird