(#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",