UNPKG

waigo

Version:

Node.js ES6 framework for reactive, data-driven apps and APIs (Koa, RethinkDB)

65 lines (46 loc) 1.26 kB
_ = require 'lodash' path = require('path') fs = require 'fs' gulp = require('gulp') gutil = require 'gulp-util' args = require('yargs').argv console.log(args); options = minifiedBuild: !!args.minified dontExitOnError: false onlyTest: args.onlyTest || args.limitTest ci: !!args.ci if options.minifiedBuild console.log 'MINIFIED build' else console.log 'Non-MINIFIED build' # paths paths = npm: path.join(__dirname, 'node_modules') projectRoot: __dirname test: path.join(__dirname, 'test') frontend: src: path.join(__dirname, 'src', 'frontend') build: path.join(__dirname, 'public') lib: path.join(__dirname, 'public', 'lib') # initialisation # # find available gulp task files tasksFolder = path.join(__dirname, 'gulp') taskFiles = fs.readdirSync tasksFolder tasks = {} for tf in taskFiles if '.coffee' isnt path.extname(tf) continue taskName = path.basename(tf, '.coffee') tasks[taskName] = tf # setup gulp tasks _.each tasks, (file, name) -> # get task info constructorFn = require(path.join(tasksFolder, file)) { handler, deps } = constructorFn(paths, options, tasks) handler or= undefined deps or = [] gulp.task name, deps, handler # default task gulp.task 'default', ['dev']