(#2884) - upgrade browserify to version 6
diff --git a/bin/build-plugin.sh b/bin/build-plugin.sh
index a404e5d..90aa5b7 100755
--- a/bin/build-plugin.sh
+++ b/bin/build-plugin.sh
@@ -9,10 +9,11 @@
echo "Error: must specify OUTPUT_FILENAME parameter."
exit 1
fi
+DEREQUIRE=./node_modules/.bin/derequire
./node_modules/.bin/browserify lib/plugins/index.js \
-r $LEVEL_BACKEND:leveldown \
-r ./lib/plugins/config-$LEVEL_BACKEND.js:adapter-config \
- -r ./lib/plugins/migrate-browser.js:../deps/migrate \
- -r ./lib/plugins/migrate-browser.js:../adapters/../deps/migrate \
- -o ./dist/$OUTPUT_FILENAME
+ -r ./lib/plugins/migrate-browser.js:./lib/deps/migrate \
+ -r ./lib/plugins/migrate-browser.js:./lib/deps/migrate \
+ | $DEREQUIRE > ./dist/$OUTPUT_FILENAME
diff --git a/bin/dev-server.js b/bin/dev-server.js
index fd06fa7..04eea56 100755
--- a/bin/dev-server.js
+++ b/bin/dev-server.js
@@ -3,15 +3,25 @@
'use strict';
var fs = require('fs');
-var glob = require('glob');
var Promise = require('bluebird');
-var watchGlob = require('watch-glob');
+var through = require('through2');
+var _derequire = require('derequire');
var watchify = require('watchify');
var browserify = require('browserify');
var cors_proxy = require('corsproxy');
var http_proxy = require('pouchdb-http-proxy');
var http_server = require('http-server');
+function derequire() {
+ var out = new Buffer('');
+ return through(function (data, _, next) {
+ out = Buffer.concat([out, data]);
+ next();
+ }, function (next) {
+ this.push(_derequire(out.toString()));
+ next();
+ });
+}
var queryParams = {};
if (process.env.ES5_SHIM || process.env.ES5_SHIMS) {
@@ -26,37 +36,43 @@
var indexfile = "./lib/index.js";
var outfile = "./dist/pouchdb.js";
-var perfRoot = './tests/performance/*.js';
+var perfRoot = './tests/performance/';
var performanceBundle = './tests/performance-bundle.js';
-var w = watchify(indexfile).on('update', bundle);
-
-function writeFile(file, callback) {
- return function (err, data) {
- if (err) {
- console.log(err);
- } else {
- fs.writeFileSync(file, data);
- console.log('Updated: ', file);
- if (typeof callback === 'function') {
- callback();
- }
- }
- };
-}
+var w = watchify(browserify(indexfile, {
+ standalone: "PouchDB",
+ cache: {},
+ packageCache: {},
+ fullPaths: true
+})).on('update', bundle);
+var b = watchify(browserify({
+ entries: perfRoot,
+ cache: {},
+ packageCache: {},
+ fullPaths: true
+ })).on('update', bundlePerfTests);
function bundle(callback) {
- w.bundle({standalone: "PouchDB"}, writeFile(outfile, callback));
-}
-
-function bundlePerfTests(callback) {
- glob(perfRoot, function (err, files) {
- var b = browserify(files);
- b.bundle({}, writeFile(performanceBundle, callback));
+ w.bundle().pipe(derequire()).pipe(fs.createWriteStream(outfile))
+ .on('finish', function () {
+ console.log('Updated: ', outfile);
+ if (typeof callback === 'function') {
+ callback();
+ }
});
}
-watchGlob(perfRoot, bundlePerfTests);
+function bundlePerfTests(callback) {
+
+ b.bundle().pipe(fs.createWriteStream(performanceBundle))
+ .on('finish', function () {
+ console.log('Updated: ', performanceBundle);
+ if (typeof callback === 'function') {
+ callback();
+ }
+ });
+
+}
var filesWritten = false;
Promise.all([
diff --git a/package.json b/package.json
index 33d089d..dd8cd07 100644
--- a/package.json
+++ b/package.json
@@ -39,13 +39,11 @@
"rimraf": "2.2.8",
"pouchdb-server": "^0.5.1",
"commander": "~2.1.0",
- "watchify": "~0.8.2",
"uglify-js": "~2.4.6",
"jshint": "~2.3.0",
"pouchdb-http-proxy": "~0.10.3",
"corsproxy": "~0.2.13",
"http-server": "~0.5.5",
- "browserify": "~3.24.13",
"wd": "~0.2.8",
"tin": "~0.4.0",
"ncp": "~0.5.0",
@@ -63,11 +61,14 @@
"cordova": "~3.4.1-0.1.0",
"replace": "^0.2.9",
"es5-shim": "^3.1.1",
- "phantomjs": "^1.9.7-5"
+ "phantomjs": "^1.9.7-5",
+ "browserify": "^6.1.0",
+ "watchify": "^2.0.0",
+ "derequire": "^1.2.0"
},
"scripts": {
"build-js": "npm run build-main-js && npm run min && npm run build-plugins",
- "build-main-js": "browserify . -s PouchDB > dist/pouchdb.js",
+ "build-main-js": "browserify . -s PouchDB | derequire > dist/pouchdb.js",
"min": "uglifyjs dist/pouchdb.js -mc > dist/pouchdb.min.js",
"build-plugins": "./bin/build-all-plugins.sh",
"build": "npm run version && mkdirp dist && npm run build-js && npm run license",