Compile LiveScript to JavaScript for Gulp
This is a clone of 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
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
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/'));
});
npm i --save gulp-ls
Package | gulp-ls |
Description | Compile LiveScript to JavaScript for Gulp |
Node Version | >= 0.10 |
Gulp Version | >= 3.5.0 |
See how we compile src/index.ls
to lib/index.js
in this project.
Notice: I used gulpfile to compile src to lib in the old days, now I use lsc
compiler directly.
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:
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.
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.
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
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request