UNPKG

gulp-livescript-next

Version:

Compile livescript-next to JavaScript for Gulp

138 lines (95 loc) 4.79 kB
# gulp-livescript > Compile LiveScript to JavaScript for Gulp [![Version][npm-image]][npm-url] [![Travis CI][travis-image]][travis-url] [![Quality][codeclimate-image]][codeclimate-url] [![Coverage][codeclimate-coverage-image]][codeclimate-coverage-url] [![Dependencies][gemnasium-image]][gemnasium-url] [![Gitter][gitter-image]][gitter-url] ## Installation ```sh npm i --save gulp-livescript ``` ## Information <table> <tr> <td>Package</td><td>gulp-livescript</td> </tr> <tr> <td>Description</td> <td>Compile LiveScript to JavaScript for Gulp</td> </tr> <tr> <td>Node Version</td> <td>>= 0.10</td> </tr> <tr> <td>Gulp Version</td> <td>>= 3.5.0</td> </tr> </table> ## Example ### See how we compile [`src/index.ls`](https://github.com/tomchentw/gulp-livescript/blob/master/src/index.ls) to [`lib/index.js`](https://github.com/tomchentw/gulp-livescript/blob/master/lib/index.js) in [this project](https://github.com/tomchentw/gulp-livescript/blob/631b6f34e74133a595609732d724e98649ab48a6/gulpfile.ls). *Notice:* I used gulpfile to compile src to lib in the old days, now I use `lsc` compiler directly. ![`gulpfile.ls`](https://f.cloud.github.com/assets/922234/2353915/093164d2-a5ae-11e3-8016-d1191004acb2.png) ## Usage ```javascript var gulpLiveScript = require('gulp-livescript'); gulp.task('ls', function() { return gulp.src('./src/*.ls') .pipe(gulpLiveScript({bare: true}) .on('error', gutil.log)) .pipe(gulp.dest('./public/')); }); ``` ### Error Handling `gulp-livescript` will [emit an error](https://github.com/tomchentw/gulp-livescript/blob/master/test/main.ls#L45) for cases such as invalid LiveScript syntax. If you need to exit gulp with non-0 exit code, attatch a lister and throw the error: ```livescript gulp.task 'build' -> return gulp.src 'test/fixtures/illegal.ls' .pipe gulp-livescript bare: true .on 'error' -> throw it .pipe gulp.dest '.' ``` ### Options The options object supports the same options as the standard LiveScript compiler. ## Source maps gulp-livescript can be used in tandem with [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) to generate source maps for the livescript to javascript transition. You will need to initialize [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) prior to running the gulp-livescript compiler and write the source maps after. ```javascript var sourcemaps = require('gulp-sourcemaps'); gulp.src('./src/*.ls') .pipe(sourcemaps.init()) .pipe(livescript()) .pipe(sourcemaps.write()) .pipe(gulp.dest('./dest/js')); // will write the source maps inline in the compiled javascript files ``` By default, [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) writes the source maps inline in the compiled javascript files. To write them to a separate file, specify a relative file path in the `sourcemaps.write()` function. ```javascript var sourcemaps = require('gulp-sourcemaps'); gulp.src('./src/*.ls') .pipe(sourcemaps.init()) .pipe(livescript({ bare: true })).on('error', gutil.log) .pipe(sourcemaps.write('./maps')) .pipe(gulp.dest('./dest/js')); // will write the source maps to ./dest/js/maps ``` ## Contributing [![devDependency Status][david-dm-image]][david-dm-url] 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request ## Credits * [`gulp-coffee` by @wearefractal](https://github.com/wearefractal/gulp-coffee) [npm-image]: https://img.shields.io/npm/v/gulp-livescript.svg?style=flat-square [npm-url]: https://www.npmjs.org/package/gulp-livescript [travis-image]: https://img.shields.io/travis/tomchentw/gulp-livescript.svg?style=flat-square [travis-url]: https://travis-ci.org/tomchentw/gulp-livescript [codeclimate-image]: https://img.shields.io/codeclimate/github/tomchentw/gulp-livescript.svg?style=flat-square [codeclimate-url]: https://codeclimate.com/github/tomchentw/gulp-livescript [codeclimate-coverage-image]: https://img.shields.io/codeclimate/coverage/github/tomchentw/gulp-livescript.svg?style=flat-square [codeclimate-coverage-url]: https://codeclimate.com/github/tomchentw/gulp-livescript [gemnasium-image]: https://img.shields.io/gemnasium/tomchentw/gulp-livescript.svg?style=flat-square [gemnasium-url]: https://gemnasium.com/tomchentw/gulp-livescript [gitter-image]: https://badges.gitter.im/Join%20Chat.svg [gitter-url]: https://gitter.im/tomchentw/gulp-livescript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge [david-dm-image]: https://img.shields.io/david/dev/tomchentw/gulp-livescript.svg?style=flat-square [david-dm-url]: https://david-dm.org/tomchentw/gulp-livescript#info=devDependencies