tasks/joosy.coffee in joosy-1.2.0.alpha.20 vs tasks/joosy.coffee in joosy-1.2.0.alpha.21

- old
+ new

@@ -1,9 +1,7 @@ module.exports = (grunt) -> - Path = require('path') - grunt.loadNpmTasks 'grunt-mincer' grunt.loadNpmTasks 'grunt-contrib-connect' grunt.loadNpmTasks 'grunt-contrib-uglify' grunt.loadNpmTasks 'grunt-contrib-cssmin' grunt.loadNpmTasks 'grunt-bower-task' @@ -12,20 +10,24 @@ grunt.registerTask 'joosy:compile:code', ['mince:code', 'uglify:application'] grunt.registerTask 'joosy:compile:styles', ['mince:styles', 'cssmin:application'] grunt.registerTask 'joosy:compile:playground', -> hamlc = require 'haml-coffee' - grunt.file.write 'public/index.html', hamlc.compile(grunt.file.read 'source/index.haml')(environment: 'production') + grunt.file.write 'public/index.html', hamlc.compile(grunt.file.read 'source/index.haml')( + environment: 'production' + config: grunt.config.get('joosy.config') || {} + ) grunt.registerTask 'joosy:server', -> @async() - connect = require('connect') - mincer = require('mincer') - hamlc = require('haml-coffee') + connect = require 'connect' + mincer = require 'mincer' + hamlc = require 'haml-coffee' + path = require 'path' mincer.StylusEngine.registerConfigurator (stylus) -> - stylus.options.paths.push Path.join(process.cwd(), 'public') + stylus.options.paths.push path.join(process.cwd(), 'public') stylus.use require('nib')() server = connect() assets = new mincer.Environment(process.cwd()) assets.appendPath 'source', @@ -36,15 +38,27 @@ server.use '/assets', mincer.createServer(assets) server.use '/', (req, res, next) -> if req.url == '/' - res.end hamlc.compile(grunt.file.read 'source/index.haml')(environment: 'development') + res.end hamlc.compile(grunt.file.read 'source/index.haml')( + environment: 'development' + config: grunt.config.get('joosy.config') || {} + ) else next() - + + if grunt.config.get('joosy.proxy') + proxy = require 'proxy-middleware' + url = require 'url' + + for from, to of grunt.config.get('joosy.proxy') + console.log "-> Proxying #{from} to #{to}" + server.use from, proxy(url.parse to) + server.use connect.static('public') server.listen 4000 + console.log "-> Started on 4000\n" grunt.registerTask 'joosy:server:production', -> @async() connect = require('connect') server = connect()