3.0.0 • Published 8 years ago

gulp-ls v3.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

gulp-ls

Compile LiveScript to JavaScript for Gulp

Version Travis CI Quality Coverage Dependencies Gitter

Note

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/'));
});

Installation

npm i --save gulp-ls

Information

Example

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.

`gulpfile.ls`

Usage

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/'));
});

Error Handling

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 '.'

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 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

Contributing

devDependency Status

  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