Giter VIP home page Giter VIP logo

gulp-livescript's Introduction

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

Packagegulp-ls
Description Compile LiveScript to JavaScript for Gulp
Node Version >= 0.10
Gulp Version >= 3.5.0

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

gulp-livescript's People

Contributors

appleboy avatar chikei avatar darbychang avatar freehaha avatar gitter-badger avatar jessy1092 avatar tomchentw avatar unclechu avatar yhsiang avatar zbryikt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.