Sha256: c62923e7f0d24f7aede74014234613b3775d4afa61010f35b21ada1d81b7f7b7

Contents?: true

Size: 1.21 KB

Versions: 9

Compression:

Stored size: 1.21 KB

Contents

fs = require 'fs'
path = require 'path'
gulp = require 'gulp'
gulpUtil = require 'gulp-util'
gulpIf = require 'gulp-if'
source = require 'vinyl-source-stream'
browserify = require 'browserify'
watchify = require 'watchify'
uglify = require 'gulp-uglify'
streamify = require 'gulp-streamify'

module.exports = class Carte
  build: (options)->
    config = require(options.config)
    fs.writeFileSync(__dirname + '/carte/shared/config.json', JSON.stringify(config))
    dir = path.dirname config.script_path
    file = path.basename config.script_path
    minify = options.minify
    browserify = browserify
      cache: {}
      packageCache: {}
      fullPaths: true
      entries: [__dirname + '/carte/client.coffee']
      extensions: ['.coffee', '.js', '.cjsx']
    browserify
      .transform 'coffee-reactify'
      .transform 'debowerify'
    if options.watch
      watchified = watchify(browserify)
      watchified.on 'update', ()=> @bundle(browserify, dir, file, minify)
      watchified.on 'log', gulpUtil.log
    @bundle(browserify, dir, file, minify)
  
  bundle: (browserify, dir, file, minify)->
    browserify
      .bundle()
      .pipe source file
      .pipe gulpIf(minify, streamify(uglify()))
      .pipe gulp.dest dir

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
carte-server-0.0.11 lib/carte.coffee
carte-server-0.0.10 lib/carte.coffee
carte-server-0.0.9 lib/carte.coffee
carte-server-0.0.8 lib/carte.coffee
carte-server-0.0.7 lib/carte.coffee
carte-server-0.0.6 lib/carte.coffee
carte-server-0.0.5 lib/carte.coffee
carte-server-0.0.4 lib/carte.coffee
carte-server-0.0.3 lib/carte.coffee