Compile livescript to JavaScript for Gulp
npm install gulp-ls[![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]
gulp-livescript by @tomchentw. gulp-ls is identical to gulp-livescript except the response to .js files. gulp-livescript throws an error when encountering .js files; while gulp-ls accepts .js files by doing nothing (outputing the original file). A typical gulpfile.ls``javascript
var gulpConcat = require('gulp-concat');
var gulpLivescript = require('gulp-livescript');
var streamqueue = require('streamqueue');
gulp.task('js', function(){
var js = gulp.src('some/js/files');
var ls = gulp.src('some/ls/files').pipe(gulpLivescript({bare: treu}));
return streamqueue({objectMode: true})
.done(js, ls)
.pipe(gulpConcat('app.js'))
.pipe(gulp.dest('./public/'));
});
`
could be reduced to
`javascript
var gulpConcat = require('gulp-concat');
var gulpLS = require('gulp-ls');
gulp.task('js', function(){
return gulp.src(['some/js/files','some/ls/files'])
.pipe(gulpLS({bare: treu}));
.pipe(gulpConcat('app.js'))
.pipe(gulp.dest('./public/'));
});
`
`sh`
npm i --save gulp-ls
| Package | gulp-ls |
| Description | Compile LiveScript to JavaScript for Gulp |
| Node Version | >= 0.10 |
| Gulp Version | >= 3.5.0 |
Notice: I used gulpfile to compile src to lib in the old days, now I use lsc compiler directly.
`javascript
var gulpLS = require('gulp-ls');
gulp.task('ls', function() {
return gulp.src('./src/*.ls')
.pipe(gulpLS({bare: true})
.on('error', gutil.log))
.pipe(gulp.dest('./public/'));
});
`
gulp-ls will emit an error 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-ls bare: true
.on 'error' -> throw it
.pipe gulp.dest '.'
The options object supports the same options as the standard LiveScript compiler.
gulp-livescript can be used in tandem with gulp-sourcemaps to generate source maps for the livescript to javascript transition. You will need to initialize 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 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
`
[![devDependency Status][david-dm-image]][david-dm-url]
1. Fork it
2. Create your feature branch (git checkout -b my-new-feature)git commit -am 'Add some feature'
3. Commit your changes ()git push origin my-new-feature
4. Push to the branch ()
5. Create new Pull Request
* gulp-coffee` by @wearefractal
[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