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');
/**