UNPKG

react-crossroads

Version:

Client side router for web applications built with React and utilizing the Flux architecture. The backing routing engine is CrossroadsJs.

89 lines (66 loc) 2.56 kB
gulp = require 'gulp' util = require 'gulp-util' path = require 'path' mocha = require 'gulp-mocha' exit = require 'gulp-exit' cjsx = require 'gulp-cjsx' plumber = require 'gulp-plumber' rimraf = require 'gulp-rimraf' webpack = require 'webpack' WebpackDevServer = require 'webpack-dev-server' Ports = examples: 3000 examplesWebPack: 3001 integration: 3002 integrationWebPack: 3003 addressForPort = (port) -> "http://localhost:#{port}" runServer = (config, contentFolder, startServer, appPort, webPackPort, done) -> webpackServerAddress = addressForPort webPackPort webpackServer = new WebpackDevServer webpack(config), contentBase: path.join __dirname, contentFolder stats: colors: true hot: true server = startServer server: port: appPort webpackServerAddress: webpackServerAddress webpackServer.listen webPackPort, "localhost", (err) -> throw new util.PluginError "WebPack Server Startup", err if err util.log "[WebPack Server Startup]", "#{webpackServerAddress}/webpack-dev-server" done() gulp.task 'build', ['clean'], -> gulp.src './src/**/*' .pipe plumber() .pipe cjsx bare: true .pipe gulp.dest('./lib') gulp.task 'clean', -> gulp.src('./lib', {read: false}) .pipe plumber() .pipe rimraf() gulp.task 'test-ci', ['test'] #, 'integration-test'] # TODO: Punting on integration tests on travis for now reporter = 'spec' gulp.task 'test', -> require 'coffee-react/register' gulp.src './test/main.coffee', {read: false} .pipe mocha reporter: reporter gulp.task 'integration-test-ci', -> runSequence = require 'run-sequence' runSequence 'integration-test-server', 'integration-test' gulp.task 'integration-test', -> gulp.src './integration-test/integration-test.coffee', {read: false} .pipe mocha reporter: reporter gulp.task 'integration-test-server', (done) -> config = require './webpack.integration.test' startServer = require('./integration-test/server').startServer runServer config, 'integration-test', startServer, Ports.integration, Ports.integrationWebPack, done gulp.task 'examples', (done) -> config = require './webpack.examples' startServer = require('./examples/server').startServer runServer config, 'examples-build', startServer, Ports.examples, Ports.examplesWebPack, done gulp.task 'test-watch', -> reporter = 'min' gulp.watch ['src/**', 'test/**'], ['test'] gulp.task 'integration-test-watch', ['integration-test-server'], -> gulp.watch ['src/**', 'integration-test/**'], ['integration-test']