couchdb-bootstrap
Advanced tools
Comparing version 14.2.1 to 15.0.0
10
cli.js
#!/usr/bin/env node | ||
var minimist = require('minimist') | ||
var bootstrap = require('./') | ||
const minimist = require('minimist') | ||
const bootstrap = require('./') | ||
var options = minimist(process.argv.slice(2), { | ||
const options = minimist(process.argv.slice(2), { | ||
boolean: ['multipart', 'watch'], | ||
@@ -15,4 +15,4 @@ string: ['concurrency', 'mapDbName'] | ||
var url = options._[0] | ||
var source = options._[1] || process.cwd() | ||
const url = options._[0] | ||
const source = options._[1] || process.cwd() | ||
@@ -19,0 +19,0 @@ if (options.mapDbName) { |
48
index.js
@@ -1,13 +0,13 @@ | ||
var path = require('path') | ||
var async = require('async') | ||
var nanoOption = require('nano-option') | ||
var assert = require('assert') | ||
const path = require('path') | ||
const async = require('async') | ||
const nanoOption = require('nano-option') | ||
const assert = require('assert') | ||
var compile = require('couchdb-compile') | ||
var couchdbConfigure = require('couchdb-configure') | ||
var couchdbSecure = require('couchdb-secure') | ||
var couchdbPush = require('couchdb-push') | ||
const compile = require('couchdb-compile') | ||
const couchdbConfigure = require('couchdb-configure') | ||
const couchdbSecure = require('couchdb-secure') | ||
const couchdbPush = require('couchdb-push') | ||
var DOCS_REGEX = /^(_design|_local|[^_].*)$/ | ||
var DBS_REGEX = /^(_users|_dbs|_global_changes|_replicator|[^_].*)$/ | ||
const DOCS_REGEX = /^(_design|_local|[^_].*)$/ | ||
const DBS_REGEX = /^(_users|_dbs|_global_changes|_replicator|[^_].*)$/ | ||
@@ -26,3 +26,3 @@ function isDb (key) { | ||
var result = {} | ||
const result = {} | ||
result[dbname] = results | ||
@@ -38,3 +38,3 @@ | ||
var result = results.reduce(function (memo, res) { | ||
const result = results.reduce(function (memo, res) { | ||
if (typeof res !== 'object') return memo | ||
@@ -67,3 +67,3 @@ | ||
var couch = nanoOption(url) | ||
const couch = nanoOption(url) | ||
@@ -84,13 +84,13 @@ assert(typeof couch.request === 'function', | ||
var series = {} | ||
const series = {} | ||
if ('_config' in source) series.configure = couchdbConfigure.bind(null, couch, source._config) | ||
var dbs = Object.keys(source).filter(isDb) | ||
const dbs = Object.keys(source).filter(isDb) | ||
var dbsWithSecurity = dbs.filter(dbname => '_security' in source[dbname]) | ||
const dbsWithSecurity = dbs.filter(dbname => '_security' in source[dbname]) | ||
if (dbsWithSecurity.length) { | ||
series.secure = done => { | ||
async.map(dbsWithSecurity, (dbname, next) => { | ||
var db = mapDbName(options, dbname) | ||
const db = mapDbName(options, dbname) | ||
couchdbSecure(couch.use(db), source[dbname]._security, groupByDatabase(db, next)) | ||
@@ -101,10 +101,10 @@ }, reduceGroupedResult(done)) | ||
var dbsWithDocs = dbs.filter(dbname => Object.keys(source[dbname]).filter(isDoc).length) | ||
const dbsWithDocs = dbs.filter(dbname => Object.keys(source[dbname]).filter(isDoc).length) | ||
if (dbsWithDocs.length) { | ||
series.push = done => { | ||
async.map(dbsWithDocs, (dbname, next) => { | ||
var docs = Object.keys(source[dbname]) | ||
const docs = Object.keys(source[dbname]) | ||
.filter(isDoc) | ||
.reduce((memo, id) => { | ||
var docs = [] | ||
let docs = [] | ||
@@ -114,3 +114,3 @@ if (id === '_local') { | ||
.map(name => { | ||
var doc = source[dbname]._local[name] | ||
const doc = source[dbname]._local[name] | ||
if (!('_id' in doc)) doc._id = '_local/' + name | ||
@@ -126,3 +126,3 @@ return doc | ||
.map(name => { | ||
var doc = source[dbname]._design[name] | ||
const doc = source[dbname]._design[name] | ||
if (!('_id' in doc)) doc._id = '_design/' + name | ||
@@ -135,3 +135,3 @@ return doc | ||
var doc = source[dbname][id] | ||
const doc = source[dbname][id] | ||
@@ -143,3 +143,3 @@ if (!('_id' in doc)) doc._id = id | ||
var db = mapDbName(options, dbname) | ||
const db = mapDbName(options, dbname) | ||
async.mapLimit(docs, options.concurrency, (doc, next) => { | ||
@@ -146,0 +146,0 @@ couchdbPush(couch.use(db), doc, options, next) |
@@ -5,3 +5,2 @@ { | ||
"main": "index.js", | ||
"version": "14.2.1", | ||
"bin": { | ||
@@ -13,5 +12,4 @@ "couchdb-bootstrap": "cli.js", | ||
"pretest": "standard", | ||
"test": "tap --reporter=spec test/test-*.js", | ||
"semantic-release": "semantic-release", | ||
"travis-deploy-once": "travis-deploy-once" | ||
"test": "tap --reporter=spec test/test-*.js --jobs=1", | ||
"semantic-release": "semantic-release" | ||
}, | ||
@@ -35,18 +33,18 @@ "repository": { | ||
"devDependencies": { | ||
"nano": "^6.4.3", | ||
"nano": "^8.2.3", | ||
"semantic-release": "^17.4.0", | ||
"standard": "^11.0.0", | ||
"tap": "^11.1.2", | ||
"tap-spec": "^4.1.1", | ||
"tape": "^4.9.0" | ||
"standard": "^16.0.3", | ||
"tap": "^14.11.0", | ||
"tap-spec": "^5.0.0", | ||
"tape": "^5.2.1" | ||
}, | ||
"dependencies": { | ||
"async": "^2.6.0", | ||
"couchdb-compile": "^1.10.0", | ||
"async": "^3.2.0", | ||
"couchdb-compile": "^1.11.0", | ||
"couchdb-configure": "^2.0.1", | ||
"couchdb-push": "^2.5.0", | ||
"couchdb-secure": "^1.5.0", | ||
"glob": "^7.1.2", | ||
"minimist": "^1.2.0", | ||
"nano-option": "^1.3.0" | ||
"couchdb-push": "^3.0.0", | ||
"couchdb-secure": "^2.0.0", | ||
"glob": "^7.1.6", | ||
"minimist": "^1.2.5", | ||
"nano-option": "^2.0.1" | ||
}, | ||
@@ -57,3 +55,9 @@ "standard": { | ||
] | ||
}, | ||
"version": "15.0.0", | ||
"release": { | ||
"branches": [ | ||
"main" | ||
] | ||
} | ||
} |
@@ -1,6 +0,6 @@ | ||
var path = require('path') | ||
var async = require('async') | ||
const path = require('path') | ||
const async = require('async') | ||
exports.docs = { | ||
'_users': [ | ||
_users: [ | ||
'org.couchdb.user:alice@example.com', | ||
@@ -7,0 +7,0 @@ 'org.couchdb.user:bob@example.com' |
@@ -1,12 +0,12 @@ | ||
var exec = require('child_process').exec | ||
var test = require('tap').test | ||
var helper = require('./helper') | ||
const exec = require('child_process').exec | ||
const test = require('tap').test | ||
const helper = require('./helper') | ||
test('cli with directory', function (t) { | ||
var dbName = 'test-cli-bootstrap' | ||
var mapDbName = JSON.stringify({'test-couchdb-bootstrap': dbName}) | ||
var cmd = ['./cli.js', helper.url, helper.source, '--mapDbName=\'' + mapDbName + '\''] | ||
const dbName = 'test-cli-bootstrap' | ||
const mapDbName = JSON.stringify({ 'test-couchdb-bootstrap': dbName }) | ||
const cmd = ['./cli.js', helper.url, helper.source, '--mapDbName=\'' + mapDbName + '\''] | ||
exec(cmd.join(' '), function (err, stdout) { | ||
t.error(err) | ||
var j = JSON.parse(stdout) | ||
const j = JSON.parse(stdout) | ||
t.ok(!!j.push[dbName]) | ||
@@ -18,8 +18,8 @@ t.end() | ||
test('cli with js file', function (t) { | ||
var dbName = 'test-cli-bootstrap' | ||
var mapDbName = JSON.stringify({'test-couchdb-bootstrap': dbName}) | ||
var cmd = ['./cli.js', helper.url, './test/fixtures/bootstrap.js', '--mapDbName=\'' + mapDbName + '\''] | ||
const dbName = 'test-cli-bootstrap' | ||
const mapDbName = JSON.stringify({ 'test-couchdb-bootstrap': dbName }) | ||
const cmd = ['./cli.js', helper.url, './test/fixtures/bootstrap.js', '--mapDbName=\'' + mapDbName + '\''] | ||
exec(cmd.join(' '), function (err, stdout) { | ||
t.error(err) | ||
var j = JSON.parse(stdout) | ||
const j = JSON.parse(stdout) | ||
t.ok(!!j.push[dbName]) | ||
@@ -26,0 +26,0 @@ t.end() |
const async = require('async') | ||
var test = require('tap').test | ||
var helper = require('./helper') | ||
var bootstrap = require('..') | ||
var config = require('./fixtures/bootstrap') | ||
const test = require('tap').test | ||
const helper = require('./helper') | ||
const bootstrap = require('..') | ||
const config = require('./fixtures/bootstrap') | ||
@@ -49,4 +49,4 @@ function check (t, response, done) { | ||
var responses = response.push[db] | ||
var docs = helper.docs[db] | ||
const responses = response.push[db] | ||
const docs = helper.docs[db] | ||
@@ -53,0 +53,0 @@ s.equal(responses.length, docs.length, 'correct # of docs pushed') |
@@ -1,4 +0,4 @@ | ||
var test = require('tap').test | ||
var helper = require('./helper') | ||
var bootstrap = require('..') | ||
const test = require('tap').test | ||
const helper = require('./helper') | ||
const bootstrap = require('..') | ||
@@ -5,0 +5,0 @@ test('options.mapDbName is object', function (t) { |
Sorry, the diff of this file is not supported yet
22231
+ Addedanymatch@3.1.3(transitive)
+ Addedbinary-extensions@2.3.0(transitive)
+ Addedbraces@3.0.2(transitive)
+ Addedchokidar@3.6.0(transitive)
+ Addedcouchdb-ensure@2.1.0(transitive)
+ Addedcouchdb-push@3.1.0(transitive)
+ Addedcouchdb-secure@2.1.0(transitive)
+ Addedfill-range@7.0.1(transitive)
+ Addedfsevents@2.3.3(transitive)
+ Addedglob-parent@5.1.2(transitive)
+ Addedis-binary-path@2.1.0(transitive)
+ Addedis-number@7.0.0(transitive)
+ Addedpicomatch@2.3.1(transitive)
+ Addedreaddirp@3.6.0(transitive)
+ Addedto-regex-range@5.0.1(transitive)
- Removed@types/caseless@0.12.5(transitive)
- Removed@types/node@20.12.11(transitive)
- Removed@types/request@2.48.12(transitive)
- Removedajv@6.12.6(transitive)
- Removedanymatch@2.0.0(transitive)
- Removedarr-diff@4.0.0(transitive)
- Removedarr-flatten@1.1.0(transitive)
- Removedarr-union@3.1.0(transitive)
- Removedarray-unique@0.3.2(transitive)
- Removedasn1@0.2.6(transitive)
- Removedassert-plus@1.0.0(transitive)
- Removedassign-symbols@1.0.0(transitive)
- Removedasync@2.6.4(transitive)
- Removedasync-each@1.0.6(transitive)
- Removedasynckit@0.4.0(transitive)
- Removedatob@2.1.2(transitive)
- Removedaws-sign2@0.7.0(transitive)
- Removedaws4@1.12.0(transitive)
- Removedbase@0.11.2(transitive)
- Removedbcrypt-pbkdf@1.0.2(transitive)
- Removedbinary-extensions@1.13.1(transitive)
- Removedbindings@1.5.0(transitive)
- Removedbraces@2.3.2(transitive)
- Removedbrowser-request@0.3.3(transitive)
- Removedcache-base@1.0.1(transitive)
- Removedcaseless@0.12.0(transitive)
- Removedchokidar@2.1.8(transitive)
- Removedclass-utils@0.3.6(transitive)
- Removedcloudant-follow@0.18.2(transitive)
- Removedcollection-visit@1.0.0(transitive)
- Removedcombined-stream@1.0.8(transitive)
- Removedcomponent-emitter@1.3.1(transitive)
- Removedcopy-descriptor@0.1.1(transitive)
- Removedcore-util-is@1.0.21.0.3(transitive)
- Removedcouchdb-ensure@1.4.0(transitive)
- Removedcouchdb-push@2.5.0(transitive)
- Removedcouchdb-secure@1.5.0(transitive)
- Removeddashdash@1.14.1(transitive)
- Removeddebug@2.6.94.3.4(transitive)
- Removeddecode-uri-component@0.2.2(transitive)
- Removeddefine-property@0.2.51.0.02.0.2(transitive)
- Removeddelayed-stream@1.0.0(transitive)
- Removedecc-jsbn@0.1.2(transitive)
- Removederrs@0.3.2(transitive)
- Removedexpand-brackets@2.1.4(transitive)
- Removedextend@3.0.2(transitive)
- Removedextend-shallow@2.0.13.0.2(transitive)
- Removedextglob@2.0.4(transitive)
- Removedextsprintf@1.3.0(transitive)
- Removedfast-deep-equal@3.1.3(transitive)
- Removedfast-json-stable-stringify@2.1.0(transitive)
- Removedfile-uri-to-path@1.0.0(transitive)
- Removedfill-range@4.0.0(transitive)
- Removedfor-in@1.0.2(transitive)
- Removedforever-agent@0.6.1(transitive)
- Removedform-data@2.3.32.5.1(transitive)
- Removedfragment-cache@0.2.1(transitive)
- Removedfsevents@1.2.13(transitive)
- Removedget-value@2.0.6(transitive)
- Removedgetpass@0.1.7(transitive)
- Removedglob-parent@3.1.0(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedhar-schema@2.0.0(transitive)
- Removedhar-validator@5.1.5(transitive)
- Removedhas-value@0.3.11.0.0(transitive)
- Removedhas-values@0.1.41.0.0(transitive)
- Removedhttp-signature@1.2.0(transitive)
- Removedis-accessor-descriptor@1.0.1(transitive)
- Removedis-binary-path@1.0.1(transitive)
- Removedis-buffer@1.1.6(transitive)
- Removedis-data-descriptor@1.0.1(transitive)
- Removedis-descriptor@0.1.71.0.3(transitive)
- Removedis-extendable@0.1.11.0.1(transitive)
- Removedis-glob@3.1.0(transitive)
- Removedis-number@3.0.0(transitive)
- Removedis-plain-object@2.0.4(transitive)
- Removedis-typedarray@1.0.0(transitive)
- Removedis-windows@1.0.2(transitive)
- Removedisarray@1.0.0(transitive)
- Removedisobject@2.1.03.0.1(transitive)
- Removedisstream@0.1.2(transitive)
- Removedjsbn@0.1.1(transitive)
- Removedjson-schema@0.4.0(transitive)
- Removedjson-schema-traverse@0.4.1(transitive)
- Removedjson-stringify-safe@5.0.1(transitive)
- Removedjsprim@1.4.2(transitive)
- Removedkind-of@3.2.24.0.06.0.3(transitive)
- Removedmap-cache@0.2.2(transitive)
- Removedmap-visit@1.0.0(transitive)
- Removedmicromatch@3.1.10(transitive)
- Removedmime-db@1.52.0(transitive)
- Removedmime-types@2.1.35(transitive)
- Removedmixin-deep@1.3.2(transitive)
- Removedms@2.0.02.1.2(transitive)
- Removednan@2.19.0(transitive)
- Removednano@8.2.3(transitive)
- Removednano-option@1.4.0(transitive)
- Removednanomatch@1.2.13(transitive)
- Removednormalize-path@2.1.1(transitive)
- Removedoauth-sign@0.9.0(transitive)
- Removedobject-copy@0.1.0(transitive)
- Removedobject-visit@1.0.1(transitive)
- Removedobject.pick@1.3.0(transitive)
- Removedpascalcase@0.1.1(transitive)
- Removedpath-dirname@1.0.2(transitive)
- Removedperformance-now@2.1.0(transitive)
- Removedposix-character-classes@0.1.1(transitive)
- Removedprocess-nextick-args@2.0.1(transitive)
- Removedqs@6.5.3(transitive)
- Removedreadable-stream@2.3.8(transitive)
- Removedreaddirp@2.2.1(transitive)
- Removedregex-not@1.0.2(transitive)
- Removedremove-trailing-separator@1.1.0(transitive)
- Removedrepeat-element@1.1.4(transitive)
- Removedrepeat-string@1.6.1(transitive)
- Removedrequest@2.88.2(transitive)
- Removedresolve-url@0.2.1(transitive)
- Removedret@0.1.15(transitive)
- Removedsafe-buffer@5.1.2(transitive)
- Removedsafe-regex@1.1.0(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedset-value@2.0.1(transitive)
- Removedsnapdragon@0.8.2(transitive)
- Removedsnapdragon-node@2.1.1(transitive)
- Removedsnapdragon-util@3.0.1(transitive)
- Removedsource-map@0.5.7(transitive)
- Removedsource-map-resolve@0.5.3(transitive)
- Removedsource-map-url@0.4.1(transitive)
- Removedsplit-string@3.1.0(transitive)
- Removedsshpk@1.18.0(transitive)
- Removedstatic-extend@0.1.2(transitive)
- Removedstring_decoder@1.1.1(transitive)
- Removedto-object-path@0.3.0(transitive)
- Removedto-regex@3.0.2(transitive)
- Removedto-regex-range@2.1.1(transitive)
- Removedtough-cookie@2.5.0(transitive)
- Removedtunnel-agent@0.6.0(transitive)
- Removedtweetnacl@0.14.5(transitive)
- Removedundici-types@5.26.5(transitive)
- Removedunion-value@1.0.1(transitive)
- Removedunset-value@1.0.0(transitive)
- Removedupath@1.2.0(transitive)
- Removeduri-js@4.4.1(transitive)
- Removedurix@0.1.0(transitive)
- Removeduse@3.1.1(transitive)
- Removedutil-deprecate@1.0.2(transitive)
- Removeduuid@3.4.0(transitive)
- Removedverror@1.10.0(transitive)
Updatedasync@^3.2.0
Updatedcouchdb-compile@^1.11.0
Updatedcouchdb-push@^3.0.0
Updatedcouchdb-secure@^2.0.0
Updatedglob@^7.1.6
Updatedminimist@^1.2.5
Updatednano-option@^2.0.1