diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index afa0d5a9..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,207 +0,0 @@ -'use strict'; - -require("harmonize")(); - -var gulp = require('gulp'); -var template = require('gulp-template'); -var gulpif = require('gulp-if'); -var sourcemaps = require('gulp-sourcemaps'); -var util = require('gulp-util'); -var source = require('vinyl-source-stream'); -var buffer = require('vinyl-buffer'); -var watchify = require('watchify'); -var browserify = require('browserify'); -var browserSync = require('browser-sync'); -var babelify = require('babelify'); -var notify = require('gulp-notify'); -var sass = require('gulp-sass'); -var concat = require('gulp-concat'); -var _ = require('lodash'); -var eslint = require('gulp-eslint'); -var jest = require('jest-cli'); -var argv = require('yargs').argv; -var server = require('./server.js').app; -var minifyCss = require('gulp-minify-css'); -var uglify = require('gulp-uglify'); -var opn = require('opn'); - - -var config = { - bootstrapDir: './node_modules/bootstrap-sass', - jestOptions: { - rootDir: 'js', - scriptPreprocessor: '../node_modules/babel-jest', - testFileExtensions: [ - 'es6', - 'js' - ], - unmockedModulePathPatterns: [ - '/node_modules/react', - '/node_modules/react-tools' - ], - moduleFileExtensions: [ - 'js', - 'json', - 'react', - 'es6' - ] - }, - filesToWatch: [ - 'build/css/*.css', - 'build/js/*.js' - ] -}; - -var SERVER_URL = process.env.ONION_SERVER_URL || 'https://staging.ascribe.io/'; - -var constants = { - BASE_URL: (function () { var baseUrl = process.env.ONION_BASE_URL || '/'; return baseUrl + (baseUrl.match(/\/$/) ? '' : '/'); })(), - SERVER_URL: SERVER_URL, - API_ENDPOINT: SERVER_URL + 'api/' || 'https://staging.ascribe.io/api/', - DEBUG: !argv.production, - CREDENTIALS: 'ZGltaUBtYWlsaW5hdG9yLmNvbTowMDAwMDAwMDAw' // dimi@mailinator:0000000000 -}; - - -gulp.task('build', ['js:build', 'sass:build', 'copy'], function() { -}); - -gulp.task('js:build', function() { - bundle(false); -}); - -gulp.task('serve', ['browser-sync', 'run-server', 'sass:build', 'sass:watch', 'copy'], function() { - bundle(true); - - // opens the browser window with the correct url, which is localhost.com - opn('http://www.localhost.com:3000'); -}); - -gulp.task('jest', function(done) { - jest.runCLI({ config : config.jestOptions }, ".", function() { - done(); - }); -}); - -gulp.task('jest:watch', function(done) { - gulp.watch([ config.jestOptions.rootDir + "/**/*.js" ], [ 'jest' ]); -}); - -gulp.task('run-server', function() { - server.listen(4000); -}); - -gulp.task('browser-sync', function() { - browserSync({ - files: config.filesToWatch, - proxy: 'http://localhost:4000', - port: 3000, - open: false, // does not open the browser-window anymore (handled manually) - ghostMode: false, - notify: false // stop showing the browsersync pop up - }); -}); - -gulp.task('sass:build', function () { - gulp.src('./sass/**/main.scss') - .pipe(template(constants)) - .pipe(gulpif(!argv.production, sourcemaps.init())) - .pipe(sass({ - includePaths: [ - config.bootstrapDir + '/assets/stylesheets' - ] - }).on('error', sass.logError)) - .pipe(gulpif(!argv.production, sourcemaps.write('./maps'))) - // We need to set `advanced` to false, as it merges - // some of the styles wrongly - .pipe(gulpif(argv.production, minifyCss({ - advanced: false - }))) - .pipe(gulp.dest('./build/css')) - .pipe(browserSync.stream()); -}); - -gulp.task('sass:watch', function () { - gulp.watch('./sass/**/*.scss', ['sass:build']); -}); - -gulp.task('copy', function () { - var staticAssets = [ - './fonts/**/*', - './img/**/*' - ]; - - gulp.src(staticAssets, {base: './'}) - .pipe(gulp.dest('./build')); - - gulp.src(config.bootstrapDir + '/assets/fonts/**/*') - .pipe(gulp.dest('./build/fonts')); - - gulp.src('./index.html') - .pipe(template(constants)) - .pipe(gulp.dest('./build')); -}); - -gulp.task('lint', function () { - return gulp.src(['js/**/*.js']) - // eslint() attaches the lint output to the eslint property - // of the file object so it can be used by other modules. - .pipe(eslint()) - // eslint.format() outputs the lint results to the console. - // Alternatively use eslint.formatEach() (see Docs). - .pipe(eslint.format()); - // To have the process exit with an error code (1) on - // lint error, return the stream and pipe to failOnError last. -}); - -gulp.task('lint:watch', function () { - gulp.watch('js/**/*.js', ['lint']); -}); - -function bundle(watch) { - var bro; - - if (watch) { - bro = watchify(browserify('./js/app.js', - // Assigning debug to have sourcemaps - _.assign(watchify.args, { - debug: true - }))); - bro.on('update', function() { - rebundle(bro, true); - }); - } else { - bro = browserify('./js/app.js', { - debug: true - }); - } - - bro.transform(babelify.configure({ - compact: false - })); - - function rebundle(bundler, watch) { - return bundler.bundle() - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(source('app.js')) - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(buffer()) - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(gulpif(!argv.production, sourcemaps.init({ - loadMaps: true - }))) // loads map from browserify file - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(gulpif(!argv.production, sourcemaps.write())) // writes .map file - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(gulpif(argv.production, uglify({ - mangle: true - }))) - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(gulp.dest('./build/js')) - .on('error', notify.onError('Error: <%= error.message %>')) - .pipe(browserSync.stream()) - .on('error', notify.onError('Error: <%= error.message %>')); - } - - return rebundle(bro); -} diff --git a/package.json b/package.json index 6fd3e0f4..64dd17d3 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "lint": "eslint ./js", "preinstall": "export SAUCE_CONNECT_DOWNLOAD_ON_INSTALL=true", "postinstall": "npm run build", - "build": "gulp build --production", - "start": "node server.js", + "build": "", + "start": "", "test": "npm run sauce-test", "sauce-test": "mocha ./test/integration/tests/", @@ -35,29 +35,11 @@ "vi-test:lumenus": "npm run -s vi-test:base -- --browser LumenusDesktop --browser LumenusMobile", "vi-test:23vivi": "npm run -s vi-test:base -- --browser 23viviDesktop --browser 23viviMobile" }, - "browser": { - "fineUploader": "./js/components/ascribe_uploader/vendor/s3.fine-uploader.js" - }, - "browserify-shim": { - "fineUploader": "qq" - }, - "browserify": { - "transform": [ - [ - "babelify", - { - "compact": false - } - ], - "browserify-shim" - ] - }, "devDependencies": { "babel-eslint": "^3.1.11", "babel-jest": "^5.2.0", "chai": "^3.4.1", "chai-as-promised": "^5.1.0", - "colors": "^1.1.2", "dotenv": "^1.2.0", "gemini": "^2.1.0", "jest-cli": "^0.4.0", @@ -70,40 +52,19 @@ "alt": "^0.16.5", "audiojs": "vrde/audiojs", "babel": "^5.6.14", - "babelify": "^6.1.2", "bootstrap-sass": "^3.3.4", - "browser-sync": "^2.7.5", - "browserify": "^9.0.8", - "browserify-shim": "^3.8.10", "camelcase": "^1.2.1", "classlist-polyfill": "^1.0.2", "classnames": "^1.2.2", - "compression": "^1.4.4", + "compression": "^1.6.2", "decamelize": "^1.1.1", - "envify": "^3.4.0", "eslint": "^0.22.1", "eslint-plugin-react": "^2.5.0", - "express": "^4.12.4", - "gulp": "^3.8.11", - "gulp-concat": "^2.5.2", - "gulp-eslint": "^0.13.2", - "gulp-if": "^1.2.5", - "gulp-minify-css": "^1.1.6", - "gulp-notify": "^2.2.0", - "gulp-sass": "^2.1.1", - "gulp-sourcemaps": "^1.5.2", - "gulp-template": "~3.0.0", - "gulp-uglify": "^1.2.0", - "gulp-util": "^3.0.4", - "harmonize": "^1.4.2", + "express": "^4.13.4", "history": "1.17.0", "invariant": "^2.1.1", "isomorphic-fetch": "^2.0.2", - "jest-cli": "^0.4.0", - "lodash": "^3.9.3", "moment": "^2.10.6", - "object-assign": "^2.0.0", - "opn": "^3.0.2", "q": "^1.4.1", "query-string": "^3.0.0", "raven-js": "^1.1.19", @@ -114,15 +75,9 @@ "react-router-bootstrap": "^0.19.0", "react-star-rating": "~1.3.2", "react-textarea-autosize": "^2.5.2", - "reactify": "^1.1.0", "shallow-equals": "0.0.0", "shmui": "^0.1.0", - "spark-md5": "~1.0.0", - "uglifyjs": "^2.4.10", - "vinyl-buffer": "^1.0.0", - "vinyl-source-stream": "^1.1.0", - "watchify": "^3.1.2", - "yargs": "^3.10.0" + "spark-md5": "~1.0.0" }, "jest": { "scriptPreprocessor": "node_modules/babel-jest", diff --git a/server.js b/server.js index 156b22f3..3cd54a27 100644 --- a/server.js +++ b/server.js @@ -1,4 +1,3 @@ -var argv = require('yargs').argv; var express = require('express'); var compression = require('compression');