From 0bfef4a710d0cdd51687d005444bd19333ea2c00 Mon Sep 17 00:00:00 2001 From: Tankred Hase Date: Wed, 8 Oct 2014 18:36:00 +0200 Subject: [PATCH] Browserify runtime dependencies work --- .jshintrc | 1 + Gruntfile.js | 32 +++++++++++++++++++++++++------- package.json | 2 +- src/index.html | 2 ++ src/js/crypto/pbkdf2-worker.js | 2 ++ 5 files changed, 31 insertions(+), 8 deletions(-) diff --git a/.jshintrc b/.jshintrc index a3064a8..6c4c255 100644 --- a/.jshintrc +++ b/.jshintrc @@ -19,6 +19,7 @@ "predef": [ "self", + "importScripts", "console", "process", "chrome", diff --git a/Gruntfile.js b/Gruntfile.js index ce09983..01c6bc2 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -106,12 +106,17 @@ module.exports = function(grunt) { }, browserify: { - all: { + app: { files: { 'dist/js/app.min.js': ['src/js/app.js'] }, options: { - external: [] + external: ['openpgp', 'node-forge', 'net', 'tls', 'crypto'] // node.js apis not required at build time + } + }, + pbkdf2Worker: { + files: { + 'dist/js/pbkdf2-worker.min.js': ['src/js/crypto/pbkdf2-worker.js'] } }, unitTest: { @@ -122,27 +127,25 @@ module.exports = function(grunt) { external: [] } }, - /* + /* TODO: mailreader-worker: {}, - pbkdf2-worker: {}, integrationTest: {} */ }, uglify: { - all: { + app: { files: { 'dist/js/app.min.js': [ - 'src/lib/openpgp/openpgp.js', 'src/lib/underscore/underscore-min.js', 'node_modules/jquery/dist/jquery.min.js', 'src/lib/angular/angular.min.js', 'src/lib/angular/angular-route.min.js', 'src/lib/angular/angular-animate.min.js', 'src/lib/ngtagsinput/ng-tags-input.min.js', - 'src/lib/fastclick/fastclick.js', 'node_modules/ng-infinite-scroll/build/ng-infinite-scroll.min.js', + 'src/lib/fastclick/fastclick.js', 'src/lib/lawnchair/lawnchair-git.js', 'src/lib/lawnchair/lawnchair-adapter-webkit-sqlite-git.js', 'src/lib/lawnchair/lawnchair-adapter-indexed-db-git.js', @@ -151,6 +154,11 @@ module.exports = function(grunt) { ] } }, + pbkdf2Worker: { + files: { + 'dist/js/pbkdf2-worker.min.js': ['dist/js/pbkdf2-worker.min.js'] + } + }, unitTest: { files: { 'test/unit/index.js': [ @@ -171,6 +179,9 @@ module.exports = function(grunt) { 'test/lib/angular-mocks.js', 'test/unit/index.js' ] + }, + options: { + compress: false } }, options: { @@ -186,6 +197,13 @@ module.exports = function(grunt) { src: ['mocha/mocha.css', 'mocha/mocha.js', 'chai/chai.js', 'sinon/pkg/sinon.js', 'browsercrow/src/*.js', 'browsersmtp/src/*.js'], dest: 'test/lib/' }, + lib: { + expand: true, + flatten: true, + cwd: 'src/lib/', + src: ['openpgp/openpgp.js', 'openpgp/openpgp.worker.js', 'forge/forge.min.js'], + dest: 'dist/js/' + }, font: { expand: true, cwd: 'src/font/', diff --git a/package.json b/package.json index 8122c21..8b8a61c 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "pgpbuilder": "~0.4.0", "pgpmailer": "~0.4.0", "socket.io": "^1.0.6", - "tcp-socket": "^0.3.9", + "tcp-socket": "https://github.com/whiteout-io/tcp-socket/tarball/dev/browserify", "wo-smtpclient": "^0.3.8" }, "devDependencies": { diff --git a/src/index.html b/src/index.html index c1fad5b..7868cc7 100644 --- a/src/index.html +++ b/src/index.html @@ -26,6 +26,8 @@ + + diff --git a/src/js/crypto/pbkdf2-worker.js b/src/js/crypto/pbkdf2-worker.js index 665ddf0..d9107d0 100644 --- a/src/js/crypto/pbkdf2-worker.js +++ b/src/js/crypto/pbkdf2-worker.js @@ -1,5 +1,7 @@ 'use strict'; +importScripts('forge.min.js'); + var pbkdf2 = require('./pbkdf2'); /**