diff --git a/.eslintignore b/.eslintignore index bf59002477..b8349da881 100644 --- a/.eslintignore +++ b/.eslintignore @@ -8,16 +8,13 @@ dist/ dist-client/ # Not linted -migrations/* website/client-old/ -scripts/* -test/server_side/**/* test/client-old/spec/**/* # Temporarilly disabled. These should be removed when the linting errors are fixed TODO -website/common/script/content/index.js +migrations/* +scripts/* website/common/browserify.js -test/content/**/* Gruntfile.js gulpfile.js gulp \ No newline at end of file diff --git a/gulp/gulp-transifex-test.js b/gulp/gulp-transifex-test.js index c9cb6d4a7a..d6d8594f70 100644 --- a/gulp/gulp-transifex-test.js +++ b/gulp/gulp-transifex-test.js @@ -67,7 +67,7 @@ gulp.task('transifex:malformedStrings', () => { let stringsWithIncorrectNumberOfInterpolations = []; let count = 0; - _(ALL_LANGUAGES).each(function (lang) { + _.each(ALL_LANGUAGES, function (lang) { _.each(stringsToLookFor, function (strings, file) { let translationFile = fs.readFileSync(LOCALES + lang + '/' + file); @@ -89,7 +89,7 @@ gulp.task('transifex:malformedStrings', () => { } }); }); - }).value(); + }); if (!_.isEmpty(stringsWithMalformedInterpolations)) { let message = 'The following strings have malformed or missing interpolations'; @@ -114,7 +114,7 @@ function getArrayOfLanguages () { function eachTranslationFile (languages, cb) { let jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE)); - _(languages).each((lang) => { + _.each(languages, (lang) => { _.each(jsonFiles, (filename) => { try { var translationFile = fs.readFileSync(LOCALES + lang + '/' + filename); @@ -128,7 +128,7 @@ function eachTranslationFile (languages, cb) { cb(null, lang, filename, parsedEnglishFile, parsedTranslationFile); }); - }).value(); + }); } function eachTranslationString (languages, cb) { @@ -153,7 +153,7 @@ function formatMessageForPosting (msg, items) { function getStringsWith (json, interpolationRegex) { var strings = {}; - _(json).each(function (file_name) { + _.each(json, function (file_name) { var raw_file = fs.readFileSync(ENGLISH_LOCALE + file_name); var parsed_json = JSON.parse(raw_file); @@ -162,7 +162,7 @@ function getStringsWith (json, interpolationRegex) { var match = value.match(interpolationRegex); if (match) strings[file_name][key] = match; }); - }).value(); + }); return strings; } diff --git a/migrations/20130204_count_habits.js b/migrations/20130204_count_habits.js index 1459a97133..172bee9e60 100644 --- a/migrations/20130204_count_habits.js +++ b/migrations/20130204_count_habits.js @@ -1,5 +1,12 @@ // %mongo server:27017/dbname underscore.js my_commands.js // %mongo server:27017/dbname underscore.js --shell + +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var habits = 0, dailies = 0, todos = 0, diff --git a/migrations/20130326_migrate_pets.js b/migrations/20130326_migrate_pets.js index 5ded28814a..2e0f0a395b 100644 --- a/migrations/20130326_migrate_pets.js +++ b/migrations/20130326_migrate_pets.js @@ -3,6 +3,12 @@ */ // mongo habitrpg ./node_modules/underscore/underscore.js ./migrations/20130326_migrate_pets.js +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mapping = { bearcub: {name:'BearCub', modifier: 'Base'}, cactus: {name:'Cactus', modifier:'Base'}, diff --git a/migrations/20130327_apply_tokens.js b/migrations/20130327_apply_tokens.js index c4ae5c7c7f..e277db38fd 100644 --- a/migrations/20130327_apply_tokens.js +++ b/migrations/20130327_apply_tokens.js @@ -4,6 +4,12 @@ // mongo habitrpg ./node_modules/underscore/underscore.js migrations/20130327_apply_tokens.js +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mapping = [ { tier: 1, diff --git a/migrations/20130508_fix_duff_party_subscriptions.js b/migrations/20130508_fix_duff_party_subscriptions.js index cd218e785b..918e323e42 100644 --- a/migrations/20130508_fix_duff_party_subscriptions.js +++ b/migrations/20130508_fix_duff_party_subscriptions.js @@ -6,6 +6,11 @@ * mongo habitrpg ./node_modules/underscore/underscore.js ./migrations/20130508_fix_duff_party_subscriptions.js */ +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 // since our primary subscription will first hit parties now, we *definitely* need an index there db.parties.ensureIndex( { 'members': 1}, {background: true} ); diff --git a/migrations/20130602_survey_rewards.js b/migrations/20130602_survey_rewards.js index 5f883f7ad1..98ae8106c2 100644 --- a/migrations/20130602_survey_rewards.js +++ b/migrations/20130602_survey_rewards.js @@ -1,5 +1,11 @@ //mongo habitrpg ./node_modules/lodash/lodash.js migrations/20130602_survey_rewards.js +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var members = [] members = _.uniq(members); diff --git a/migrations/20130908_cleanup_derby_corruption.js b/migrations/20130908_cleanup_derby_corruption.js index 49c28141bd..6cac534587 100644 --- a/migrations/20130908_cleanup_derby_corruption.js +++ b/migrations/20130908_cleanup_derby_corruption.js @@ -3,6 +3,12 @@ // Racer was notorious for adding duplicates, randomly deleting documents, etc. Once we pull the plug on old.habit, // run this migration to cleanup all the corruption +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + db.users.find().forEach(function(user){ // remove corrupt tasks, which will either be null-value or no id diff --git a/migrations/20131028_task_subdocs_tags_invites.js b/migrations/20131028_task_subdocs_tags_invites.js index 8b8cdeced0..f4a8b720c2 100644 --- a/migrations/20131028_task_subdocs_tags_invites.js +++ b/migrations/20131028_task_subdocs_tags_invites.js @@ -5,6 +5,12 @@ // @see http://stackoverflow.com/questions/14867697/mongoose-full-collection-scan //Also, what do we think of a Mongoose Migration module? something like https://github.com/madhums/mongoose-migrate +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + db.users.find().forEach(function(user){ // Add invites to groups diff --git a/migrations/20131104_restore_lost_task_data.js b/migrations/20131104_restore_lost_task_data.js index 9312ae8a76..e77f57de3f 100644 --- a/migrations/20131104_restore_lost_task_data.js +++ b/migrations/20131104_restore_lost_task_data.js @@ -8,6 +8,12 @@ var mongo = require('mongoskin'); var _ = require('lodash'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var backupUsers = mongo.db('localhost:27017/habitrpg_old?auto_reconnect').collection('users'); var liveUsers = mongo.db('localhost:27017/habitrpg_new?auto_reconnect').collection('users'); diff --git a/migrations/20131127_restore_dayStart.js b/migrations/20131127_restore_dayStart.js index 41b3774eed..fd9aba3618 100644 --- a/migrations/20131127_restore_dayStart.js +++ b/migrations/20131127_restore_dayStart.js @@ -1,5 +1,11 @@ // node .migrations/20131127_restore_dayStart.js +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); diff --git a/migrations/20131214_classes.coffee b/migrations/20131214_classes.coffee index 152a30f669..e04653d4cd 100644 --- a/migrations/20131214_classes.coffee +++ b/migrations/20131214_classes.coffee @@ -8,6 +8,12 @@ mongo = require('mongoskin') _ = require('lodash') async = require('async') +# IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +# We've now upgraded to lodash v4 but the code used in this migration has not been +# adapted to work with it. Before this migration is used again any lodash method should +# be checked for compatibility against the v4 changelog and changed if necessary. +# https://github.com/lodash/lodash/wiki/Changelog#v400 + db = mongo.db('localhost:27017/habitrpg?auto_reconnect') ### diff --git a/migrations/20131221_restore_NaN_history.js b/migrations/20131221_restore_NaN_history.js index b96af1462c..f0d6d90093 100644 --- a/migrations/20131221_restore_NaN_history.js +++ b/migrations/20131221_restore_NaN_history.js @@ -1,5 +1,11 @@ // node .migrations/20131221_restore_NaN_history.js +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + /** * After the classes migration, users lost some history entries */ diff --git a/migrations/20131225_restore_streaks.js b/migrations/20131225_restore_streaks.js index a4817ada83..c07a3828f3 100644 --- a/migrations/20131225_restore_streaks.js +++ b/migrations/20131225_restore_streaks.js @@ -1,5 +1,11 @@ // node .migrations/20131225_restore_streaks.js +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + /** * After the classes migration, users lost some history entries */ diff --git a/migrations/20140823_remove_undefined_and_false_notifications.js b/migrations/20140823_remove_undefined_and_false_notifications.js index 27ee15f924..a6eed2b838 100644 --- a/migrations/20140823_remove_undefined_and_false_notifications.js +++ b/migrations/20140823_remove_undefined_and_false_notifications.js @@ -5,6 +5,12 @@ var migrationName = '20140823_remove_undefined_and_false_notifications'; var authorName = 'Alys'; // in case script author needs to know when their ... var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + /** * https://github.com/HabitRPG/habitrpg/pull/3907 */ diff --git a/migrations/20140829_change_headAccessory_to_eyewear.js b/migrations/20140829_change_headAccessory_to_eyewear.js index a801e40a98..9940fb5013 100644 --- a/migrations/20140829_change_headAccessory_to_eyewear.js +++ b/migrations/20140829_change_headAccessory_to_eyewear.js @@ -4,6 +4,12 @@ var migrationName = '20140829_change_headAccessory_to_eyewear'; var authorName = 'Alys'; // in case script author needs to know when their ... var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + /** * https://github.com/HabitRPG/habitrpg/issues/3645 */ diff --git a/migrations/20140831_increase_gems_for_previous_contributions.js b/migrations/20140831_increase_gems_for_previous_contributions.js index 694409a5b7..2bdc5dd5eb 100644 --- a/migrations/20140831_increase_gems_for_previous_contributions.js +++ b/migrations/20140831_increase_gems_for_previous_contributions.js @@ -4,6 +4,11 @@ // // node 20140831_increase_gems_for_previous_contributions.js > 20140831_increase_gems_for_previous_contributions_output.txt +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 var migrationName = '20140831_increase_gems_for_previous_contributions'; diff --git a/migrations/20140914_upgrade_admin_contrib_tiers.js b/migrations/20140914_upgrade_admin_contrib_tiers.js index 1665bba1bc..7962b7dfde 100644 --- a/migrations/20140914_upgrade_admin_contrib_tiers.js +++ b/migrations/20140914_upgrade_admin_contrib_tiers.js @@ -8,6 +8,12 @@ var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done * Convert Tier 7 contributors with admin flag to Tier 8 (moderators). */ +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); diff --git a/migrations/20141117_consecutive_months.js b/migrations/20141117_consecutive_months.js index 312e6734de..7b2f418d94 100644 --- a/migrations/20141117_consecutive_months.js +++ b/migrations/20141117_consecutive_months.js @@ -1,3 +1,9 @@ +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + // require moment, lodash db.users.find( {'purchased.plan.customerId':{$ne:null}}, diff --git a/migrations/20150124_mountmaster_fix.js b/migrations/20150124_mountmaster_fix.js index 842b51c4b1..874faea22c 100644 --- a/migrations/20150124_mountmaster_fix.js +++ b/migrations/20150124_mountmaster_fix.js @@ -9,6 +9,12 @@ var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done var dbserver = 'localhost:27017' // CHANGE THIS FOR PRODUCTION DATABASE +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); diff --git a/migrations/20150131_birthday_goodies_fix_remove_robe.js b/migrations/20150131_birthday_goodies_fix_remove_robe.js index 879a4dbc98..54b39030ba 100644 --- a/migrations/20150131_birthday_goodies_fix_remove_robe.js +++ b/migrations/20150131_birthday_goodies_fix_remove_robe.js @@ -8,6 +8,12 @@ var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done var dbserver = 'localhost:27017' // CHANGE THIS FOR PRODUCTION DATABASE +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); diff --git a/migrations/20150201_convert_creation_date_from_string_to_object.js b/migrations/20150201_convert_creation_date_from_string_to_object.js index bc3a98bb02..72a31e8020 100644 --- a/migrations/20150201_convert_creation_date_from_string_to_object.js +++ b/migrations/20150201_convert_creation_date_from_string_to_object.js @@ -19,6 +19,12 @@ var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done var dbserver = 'localhost:27017' // CHANGE THIS FOR PRODUCTION DATABASE +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); var moment = require('moment'); diff --git a/migrations/20150224_force_resting_in_inn.js b/migrations/20150224_force_resting_in_inn.js index 299b6392a6..1b704fb411 100644 --- a/migrations/20150224_force_resting_in_inn.js +++ b/migrations/20150224_force_resting_in_inn.js @@ -6,6 +6,12 @@ var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done * force all active players to rest in the inn due to massive server fail */ +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var dbserver = 'localhost:27017' // CHANGE THIS FOR PRODUCTION DATABASE var mongo = require('mongoskin'); diff --git a/migrations/20150604_ultimateGearSets.js b/migrations/20150604_ultimateGearSets.js index 3e3c53997b..64ff0142d3 100644 --- a/migrations/20150604_ultimateGearSets.js +++ b/migrations/20150604_ultimateGearSets.js @@ -19,6 +19,12 @@ var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done * means minimal new testing. */ +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var dbserver = 'localhost:27017' // FOR TEST DATABASE // var dbserver = 'username:password@ds031379-a0.mongolab.com:31379' // FOR PRODUCTION DATABASE var dbname = 'habitrpg'; diff --git a/migrations/20160111_challenges_condense_same_day_history_entries.js b/migrations/20160111_challenges_condense_same_day_history_entries.js index de5f719020..69411e8530 100644 --- a/migrations/20160111_challenges_condense_same_day_history_entries.js +++ b/migrations/20160111_challenges_condense_same_day_history_entries.js @@ -7,6 +7,12 @@ var migrationName = '20160111_challenges_condense_same_day_history_entries.js'; var dbserver = ''; var dbname = ''; +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); var moment = require('moment'); diff --git a/migrations/20160129_habit_birthday.js b/migrations/20160129_habit_birthday.js index d595fa2abe..f4be13c50e 100644 --- a/migrations/20160129_habit_birthday.js +++ b/migrations/20160129_habit_birthday.js @@ -11,6 +11,12 @@ var dbserver = 'localhost:27017'; // FOR TEST DATABASE // var dbserver = 'username:password@ds031379-a0.mongolab.com:31379'; // FOR PRODUCTION DATABASE var dbname = 'habitrpg'; +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var mongo = require('mongoskin'); var _ = require('lodash'); diff --git a/migrations/20160521_veteran_ladder.js b/migrations/20160521_veteran_ladder.js index cf92ff5375..0cc19e4514 100644 --- a/migrations/20160521_veteran_ladder.js +++ b/migrations/20160521_veteran_ladder.js @@ -14,6 +14,12 @@ var dbname = 'habitrpg'; var mongo = require('mongoskin'); var _ = require('lodash'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var dbUsers = mongo.db(dbserver + '/' + dbname + '?auto_reconnect').collection('users'); // specify a query to limit the affected users (empty for all users): diff --git a/migrations/20160527_fix_empty_checklist_id.js b/migrations/20160527_fix_empty_checklist_id.js index 0aaa36d1ac..0276d3241e 100644 --- a/migrations/20160527_fix_empty_checklist_id.js +++ b/migrations/20160527_fix_empty_checklist_id.js @@ -2,6 +2,12 @@ var uuid = require('uuid').v4; var mongo = require('mongodb').MongoClient; var _ = require('lodash'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + var taskIds = require('checklists-no-id.json').map(function (obj) { return obj._id; }); diff --git a/migrations/api_v3/challenges.js b/migrations/api_v3/challenges.js index 009c205e33..94adbed6e5 100644 --- a/migrations/api_v3/challenges.js +++ b/migrations/api_v3/challenges.js @@ -6,6 +6,12 @@ // Due to some big user profiles it needs more RAM than is allowed by default by v8 (arounf 1.7GB). // Run the script with --max-old-space-size=4096 to allow up to 4GB of RAM + +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 console.log('Starting migrations/api_v3/challenges.js.'); require('babel-register'); diff --git a/migrations/api_v3/challengesMembers.js b/migrations/api_v3/challengesMembers.js index 971119831a..349abde57b 100644 --- a/migrations/api_v3/challengesMembers.js +++ b/migrations/api_v3/challengesMembers.js @@ -9,6 +9,12 @@ // Run the script with --max-old-space-size=4096 to allow up to 4GB of RAM console.log('Starting migrations/api_v3/challengesMembers.js.'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + require('babel-register'); require('babel-polyfill'); diff --git a/migrations/api_v3/coupons.js b/migrations/api_v3/coupons.js index 64071faffe..8b79deba8d 100644 --- a/migrations/api_v3/coupons.js +++ b/migrations/api_v3/coupons.js @@ -8,6 +8,12 @@ // Run the script with --max-old-space-size=4096 to allow up to 4GB of RAM console.log('Starting migrations/api_v3/coupons.js.'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + require('babel-register'); require('babel-polyfill'); diff --git a/migrations/api_v3/emailUnsubscriptions.js b/migrations/api_v3/emailUnsubscriptions.js index d90525db16..3e1629563e 100644 --- a/migrations/api_v3/emailUnsubscriptions.js +++ b/migrations/api_v3/emailUnsubscriptions.js @@ -8,6 +8,12 @@ // Run the script with --max-old-space-size=4096 to allow up to 4GB of RAM console.log('Starting migrations/api_v3/unsubscriptions.js.'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + require('babel-register'); require('babel-polyfill'); diff --git a/migrations/api_v3/groups.js b/migrations/api_v3/groups.js index c6582e6b68..e623b9d062 100644 --- a/migrations/api_v3/groups.js +++ b/migrations/api_v3/groups.js @@ -16,6 +16,12 @@ // Run the script with --max-old-space-size=4096 to allow up to 4GB of RAM console.log('Starting migrations/api_v3/groups.js.'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + require('babel-register'); require('babel-polyfill'); diff --git a/migrations/api_v3/users.js b/migrations/api_v3/users.js index 656b8f498a..f2c8e2f52f 100644 --- a/migrations/api_v3/users.js +++ b/migrations/api_v3/users.js @@ -9,6 +9,12 @@ // Run the script with --max-old-space-size=4096 to allow up to 4GB of RAM console.log('Starting migrations/api_v3/users.js.'); +// IMPORTANT NOTE: this migration was written when we were using version 3 of lodash. +// We've now upgraded to lodash v4 but the code used in this migration has not been +// adapted to work with it. Before this migration is used again any lodash method should +// be checked for compatibility against the v4 changelog and changed if necessary. +// https://github.com/lodash/lodash/wiki/Changelog#v400 + require('babel-register'); require('babel-polyfill'); diff --git a/migrations/find_unique_user.js b/migrations/find_unique_user.js index 5b10f04374..014933ac1f 100644 --- a/migrations/find_unique_user.js +++ b/migrations/find_unique_user.js @@ -7,6 +7,6 @@ db.users.find().forEach(function(user){ user.tasks = user.habits.concat(user.dailys).concat(user.todos).concat(user.rewards); - var found = _.any(user.tasks, {text: ""}) + var found = _.some(user.tasks, {text: ""}) if (found) printjson({id:user._id, auth:user.auth}); }) \ No newline at end of file diff --git a/migrations/manual_password_reset.js b/migrations/manual_password_reset.js index 622e16913b..6e84673eaa 100644 --- a/migrations/manual_password_reset.js +++ b/migrations/manual_password_reset.js @@ -1,6 +1,9 @@ // EMAIL="x@y.com" node ./migrations/manual_password_reset.js // Be sure to have PRODUCTION_DB in your config.json +// IMPORTANT: this script isn't updated to use the new password encryption that uses bcrypt +// using it will break accounts and should not be used until upgraded + var nconf = require('nconf'), path = require('path'); nconf.argv().env().file('user', path.join(path.resolve(__dirname, '../config.json'))); diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 986c289664..76beda5386 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -5,19 +5,12 @@ "@slack/client": { "version": "3.8.1", "from": "@slack/client@>=3.8.1 <4.0.0", - "resolved": "http://registry.npmjs.org/@slack/client/-/client-3.8.1.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.13.1 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/@slack/client/-/client-3.8.1.tgz" }, "abbrev": { "version": "1.1.0", "from": "abbrev@>=1.0.0 <2.0.0", - "resolved": "http://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz" + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz" }, "accepts": { "version": "1.3.3", @@ -37,7 +30,7 @@ "acorn": { "version": "4.0.11", "from": "acorn@>=4.0.3 <5.0.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" } } }, @@ -53,11 +46,37 @@ } } }, + "acorn-jsx": { + "version": "3.0.1", + "from": "acorn-jsx@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "3.3.0", + "from": "acorn@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "dev": true + } + } + }, "addressparser": { "version": "1.0.1", "from": "addressparser@1.0.1", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz" }, + "adm-zip": { + "version": "0.4.7", + "from": "adm-zip@>=0.4.7 <0.5.0", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", + "dev": true + }, + "after": { + "version": "0.8.2", + "from": "after@0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "dev": true + }, "agent-base": { "version": "2.0.1", "from": "agent-base@>=2.0.0 <3.0.0", @@ -66,7 +85,7 @@ "ajv": { "version": "4.11.3", "from": "ajv@>=4.11.2 <5.0.0", - "resolved": "http://registry.npmjs.org/ajv/-/ajv-4.11.3.tgz", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.3.tgz", "dependencies": { "json-stable-stringify": { "version": "1.0.1", @@ -90,6 +109,12 @@ "from": "alphanum-sort@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" }, + "alter": { + "version": "0.2.0", + "from": "alter@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "dev": true + }, "amazon-payments": { "version": "0.0.4", "from": "amazon-payments@0.0.4", @@ -237,6 +262,18 @@ } } }, + "ansi-escapes": { + "version": "1.4.0", + "from": "ansi-escapes@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "from": "ansi-html@0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "from": "ansi-regex@>=2.0.0 <3.0.0", @@ -260,30 +297,18 @@ "apidoc": { "version": "0.17.5", "from": "apidoc@>=0.17.5 <0.18.0", - "resolved": "http://registry.npmjs.org/apidoc/-/apidoc-0.17.5.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.17.4 <4.18.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.17.5.tgz" }, "apidoc-core": { "version": "0.8.2", "from": "apidoc-core@>=0.8.1 <0.9.0", - "resolved": "http://registry.npmjs.org/apidoc-core/-/apidoc-core-0.8.2.tgz", + "resolved": "https://registry.npmjs.org/apidoc-core/-/apidoc-core-0.8.2.tgz", "dependencies": { "glob": { "version": "7.1.1", "from": "glob@>=7.1.1 <8.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.17.4 <4.18.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - }, "semver": { "version": "5.3.0", "from": "semver@>=5.3.0 <5.4.0", @@ -299,7 +324,7 @@ "aproba": { "version": "1.1.1", "from": "aproba@>=1.0.3 <2.0.0", - "resolved": "http://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz" + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz" }, "archive-type": { "version": "3.2.0", @@ -361,6 +386,12 @@ "from": "array-reduce@>=0.0.0 <0.1.0", "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz" }, + "array-slice": { + "version": "0.2.3", + "from": "array-slice@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "dev": true + }, "array-union": { "version": "1.0.2", "from": "array-union@>=1.0.1 <2.0.0", @@ -376,6 +407,12 @@ "from": "array-unique@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" }, + "arraybuffer.slice": { + "version": "0.0.6", + "from": "arraybuffer.slice@0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "dev": true + }, "arrify": { "version": "1.0.1", "from": "arrify@>=1.0.0 <2.0.0", @@ -406,6 +443,24 @@ "from": "assert-plus@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" }, + "assertion-error": { + "version": "1.0.2", + "from": "assertion-error@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "dev": true + }, + "ast-traverse": { + "version": "0.1.1", + "from": "ast-traverse@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", + "dev": true + }, + "ast-types": { + "version": "0.9.5", + "from": "ast-types@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.5.tgz", + "dev": true + }, "astw": { "version": "2.0.0", "from": "astw@>=2.0.0 <3.0.0", @@ -438,14 +493,14 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz" }, "autoprefixer": { - "version": "6.7.3", + "version": "6.7.6", "from": "autoprefixer@>=6.4.0 <7.0.0", - "resolved": "http://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.3.tgz" + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.6.tgz" }, "aws-sdk": { - "version": "2.13.0", + "version": "2.22.0", "from": "aws-sdk@>=2.0.25 <3.0.0", - "resolved": "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.13.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.22.0.tgz", "dependencies": { "lodash": { "version": "3.5.0", @@ -482,7 +537,7 @@ "aws4": { "version": "1.6.0", "from": "aws4@>=1.2.1 <2.0.0", - "resolved": "http://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" }, "axios": { "version": "0.15.3", @@ -497,26 +552,12 @@ "babel-core": { "version": "6.23.1", "from": "babel-core@>=6.0.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz" }, "babel-generator": { "version": "6.23.0", "from": "babel-generator@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-generator/-/babel-generator-6.23.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.23.0.tgz" }, "babel-helper-call-delegate": { "version": "6.22.0", @@ -526,19 +567,12 @@ "babel-helper-define-map": { "version": "6.23.0", "from": "babel-helper-define-map@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz" }, "babel-helper-function-name": { "version": "6.23.0", "from": "babel-helper-function-name@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz" }, "babel-helper-get-function-arity": { "version": "6.22.0", @@ -553,19 +587,12 @@ "babel-helper-optimise-call-expression": { "version": "6.23.0", "from": "babel-helper-optimise-call-expression@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz" }, "babel-helper-regex": { "version": "6.22.0", "from": "babel-helper-regex@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz" }, "babel-helper-remap-async-to-generator": { "version": "6.22.0", @@ -575,28 +602,42 @@ "babel-helper-replace-supers": { "version": "6.23.0", "from": "babel-helper-replace-supers@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz" }, "babel-helpers": { "version": "6.23.0", "from": "babel-helpers@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-helpers/-/babel-helpers-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.23.0.tgz" }, "babel-loader": { - "version": "6.3.1", + "version": "6.3.2", "from": "babel-loader@>=6.0.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-loader/-/babel-loader-6.3.1.tgz" + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.3.2.tgz" }, "babel-messages": { "version": "6.23.0", "from": "babel-messages@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" }, "babel-plugin-check-es2015-constants": { "version": "6.22.0", "from": "babel-plugin-check-es2015-constants@>=6.22.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz" }, + "babel-plugin-istanbul": { + "version": "4.0.0", + "from": "babel-plugin-istanbul@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.0.0.tgz", + "dev": true, + "dependencies": { + "find-up": { + "version": "2.1.0", + "from": "find-up@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "dev": true + } + } + }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", "from": "babel-plugin-syntax-async-functions@>=6.13.0 <7.0.0", @@ -625,19 +666,12 @@ "babel-plugin-transform-es2015-block-scoping": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-block-scoping@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz" }, "babel-plugin-transform-es2015-classes": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-classes@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz" }, "babel-plugin-transform-es2015-computed-properties": { "version": "6.22.0", @@ -647,7 +681,7 @@ "babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-destructuring@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz" }, "babel-plugin-transform-es2015-duplicate-keys": { "version": "6.22.0", @@ -657,7 +691,7 @@ "babel-plugin-transform-es2015-for-of": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-for-of@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz" }, "babel-plugin-transform-es2015-function-name": { "version": "6.22.0", @@ -677,17 +711,17 @@ "babel-plugin-transform-es2015-modules-commonjs": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz" }, "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz" }, "babel-plugin-transform-es2015-modules-umd": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-modules-umd@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz" }, "babel-plugin-transform-es2015-object-super": { "version": "6.22.0", @@ -697,7 +731,7 @@ "babel-plugin-transform-es2015-parameters": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-parameters@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz" }, "babel-plugin-transform-es2015-shorthand-properties": { "version": "6.22.0", @@ -722,7 +756,7 @@ "babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.22.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz" }, "babel-plugin-transform-es2015-unicode-regex": { "version": "6.22.0", @@ -732,7 +766,7 @@ "babel-plugin-transform-object-rest-spread": { "version": "6.23.0", "from": "babel-plugin-transform-object-rest-spread@>=6.16.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz" }, "babel-plugin-transform-regenerator": { "version": "6.22.0", @@ -747,7 +781,7 @@ "babel-polyfill": { "version": "6.23.0", "from": "babel-polyfill@>=6.6.1 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz" }, "babel-preset-es2015": { "version": "6.22.0", @@ -757,55 +791,27 @@ "babel-register": { "version": "6.23.0", "from": "babel-register@>=6.6.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-register/-/babel-register-6.23.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.23.0.tgz" }, "babel-runtime": { "version": "6.23.0", "from": "babel-runtime@>=6.11.6 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" }, "babel-template": { "version": "6.23.0", "from": "babel-template@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz" }, "babel-traverse": { "version": "6.23.1", "from": "babel-traverse@>=6.23.1 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz" }, "babel-types": { "version": "6.23.0", "from": "babel-types@>=6.23.0 <7.0.0", - "resolved": "http://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz" }, "babelify": { "version": "7.3.0", @@ -813,15 +819,27 @@ "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz" }, "babylon": { - "version": "6.15.0", + "version": "6.16.1", "from": "babylon@>=6.11.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.15.0.tgz" + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz" + }, + "backo2": { + "version": "1.0.2", + "from": "backo2@1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "dev": true }, "balanced-match": { "version": "0.4.2", "from": "balanced-match@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, + "base64-arraybuffer": { + "version": "0.1.5", + "from": "base64-arraybuffer@0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "dev": true + }, "base64-js": { "version": "1.2.0", "from": "base64-js@>=1.0.2 <2.0.0", @@ -832,10 +850,16 @@ "from": "base64-stream@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/base64-stream/-/base64-stream-0.1.3.tgz" }, + "base64id": { + "version": "1.0.0", + "from": "base64id@1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "dev": true + }, "basic-auth": { "version": "1.1.0", "from": "basic-auth@>=1.1.0 <1.2.0", - "resolved": "http://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz" + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz" }, "bcrypt": { "version": "1.0.2", @@ -853,6 +877,12 @@ "from": "beeper@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz" }, + "better-assert": { + "version": "1.0.2", + "from": "better-assert@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "dev": true + }, "big.js": { "version": "3.1.3", "from": "big.js@>=3.1.3 <4.0.0", @@ -927,6 +957,12 @@ "from": "bl@>=1.1.2 <1.2.0", "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz" }, + "blob": { + "version": "0.0.4", + "from": "blob@0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "dev": true + }, "block-stream": { "version": "0.0.9", "from": "block-stream@*", @@ -945,7 +981,14 @@ "body-parser": { "version": "1.16.1", "from": "body-parser@>=1.15.0 <2.0.0", - "resolved": "http://registry.npmjs.org/body-parser/-/body-parser-1.16.1.tgz" + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.16.1.tgz", + "dependencies": { + "qs": { + "version": "6.2.1", + "from": "qs@6.2.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz" + } + } }, "boolbase": { "version": "1.0.0", @@ -1379,10 +1422,16 @@ "from": "braces@>=1.8.2 <2.0.0", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" }, + "breakable": { + "version": "1.0.0", + "from": "breakable@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "dev": true + }, "brorand": { - "version": "1.0.7", + "version": "1.1.0", "from": "brorand@>=1.0.1 <2.0.0", - "resolved": "http://registry.npmjs.org/brorand/-/brorand-1.0.7.tgz" + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" }, "browser-pack": { "version": "6.0.2", @@ -1483,9 +1532,9 @@ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" }, "browserslist": { - "version": "1.7.3", - "from": "browserslist@>=1.7.2 <2.0.0", - "resolved": "http://registry.npmjs.org/browserslist/-/browserslist-1.7.3.tgz" + "version": "1.7.5", + "from": "browserslist@>=1.7.5 <2.0.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.5.tgz" }, "bson": { "version": "1.0.4", @@ -1562,7 +1611,25 @@ "cached-path-relative": { "version": "1.0.1", "from": "cached-path-relative@>=1.0.0 <2.0.0", - "resolved": "http://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz" + }, + "caller-path": { + "version": "0.1.0", + "from": "caller-path@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "dev": true + }, + "callsite": { + "version": "1.0.0", + "from": "callsite@1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "dev": true + }, + "callsites": { + "version": "0.2.0", + "from": "callsites@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "dev": true }, "camel-case": { "version": "3.0.0", @@ -1592,9 +1659,9 @@ } }, "caniuse-db": { - "version": "1.0.30000623", - "from": "caniuse-db@>=1.0.30000623 <2.0.0", - "resolved": "http://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000623.tgz" + "version": "1.0.30000628", + "from": "caniuse-db@>=1.0.30000628 <2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000628.tgz" }, "capture-stack-trace": { "version": "1.0.0", @@ -1628,6 +1695,50 @@ "from": "center-align@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" }, + "chai": { + "version": "3.5.0", + "from": "chai@>=3.4.0 <4.0.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "dev": true + }, + "chai-as-promised": { + "version": "5.3.0", + "from": "chai-as-promised@>=5.1.0 <6.0.0", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.3.0.tgz", + "dev": true + }, + "chai-dom": { + "version": "1.2.2", + "from": "chai-dom@1.2.2", + "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.2.2.tgz", + "dev": true + }, + "chai-jquery": { + "version": "2.0.0", + "from": "chai-jquery@2.0.0", + "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.0.0.tgz", + "dev": true + }, + "chai-nightwatch": { + "version": "0.1.1", + "from": "chai-nightwatch@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz", + "dev": true, + "dependencies": { + "assertion-error": { + "version": "1.0.0", + "from": "assertion-error@1.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", + "dev": true + } + } + }, + "chai-things": { + "version": "0.2.0", + "from": "chai-things@0.2.0", + "resolved": "https://registry.npmjs.org/chai-things/-/chai-things-0.2.0.tgz", + "dev": true + }, "chainsaw": { "version": "0.1.0", "from": "chainsaw@>=0.1.0 <0.2.0", @@ -1690,6 +1801,11 @@ "from": "isarray@0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + }, "readable-stream": { "version": "1.1.14", "from": "readable-stream@>=1.1.0 <1.2.0", @@ -1707,11 +1823,23 @@ "from": "chokidar@>=1.4.3 <2.0.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz" }, + "chromedriver": { + "version": "2.27.3", + "from": "chromedriver@>=2.27.2 <3.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.27.3.tgz", + "dev": true + }, "cipher-base": { "version": "1.0.3", "from": "cipher-base@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz" }, + "circular-json": { + "version": "0.3.1", + "from": "circular-json@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", + "dev": true + }, "clap": { "version": "1.1.2", "from": "clap@>=1.0.9 <2.0.0", @@ -1737,12 +1865,18 @@ "cli-cursor": { "version": "2.1.0", "from": "cli-cursor@>=2.1.0 <3.0.0", - "resolved": "http://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" }, "cli-spinners": { "version": "1.0.0", "from": "cli-spinners@>=1.0.0 <2.0.0", - "resolved": "http://registry.npmjs.org/cli-spinners/-/cli-spinners-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.0.0.tgz" + }, + "cli-width": { + "version": "2.1.0", + "from": "cli-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", + "dev": true }, "cliui": { "version": "2.1.0", @@ -1816,6 +1950,12 @@ "from": "colors@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" }, + "combine-lists": { + "version": "1.0.1", + "from": "combine-lists@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "dev": true + }, "combine-source-map": { "version": "0.7.2", "from": "combine-source-map@>=0.7.1 <0.8.0", @@ -1843,11 +1983,49 @@ "from": "commondir@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" }, + "commoner": { + "version": "0.10.8", + "from": "commoner@>=0.10.3 <0.11.0", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "3.1.3", + "from": "esprima@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "dev": true + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.15 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "recast": { + "version": "0.11.22", + "from": "recast@>=0.11.17 <0.12.0", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.22.tgz", + "dev": true + } + } + }, + "component-bind": { + "version": "1.0.0", + "from": "component-bind@1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "dev": true + }, "component-emitter": { "version": "1.2.1", "from": "component-emitter@>=1.2.0 <2.0.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz" }, + "component-inherit": { + "version": "0.0.3", + "from": "component-inherit@0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "dev": true + }, "compressible": { "version": "2.0.9", "from": "compressible@>=2.0.8 <2.1.0", @@ -1912,6 +2090,26 @@ } } }, + "connect": { + "version": "3.6.0", + "from": "connect@>=3.6.0 <4.0.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz", + "dev": true, + "dependencies": { + "finalhandler": { + "version": "1.0.0", + "from": "finalhandler@1.0.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.3.0", + "from": "connect-history-api-fallback@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", + "dev": true + }, "connect-ratelimit": { "version": "0.0.7", "from": "connect-ratelimit@0.0.7", @@ -1985,7 +2183,7 @@ "convert-source-map": { "version": "1.4.0", "from": "convert-source-map@>=1.1.0 <2.0.0", - "resolved": "http://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz" + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz" }, "cookie": { "version": "0.3.1", @@ -2051,6 +2249,50 @@ "from": "coupon-code@>=0.4.5 <0.5.0", "resolved": "https://registry.npmjs.org/coupon-code/-/coupon-code-0.4.5.tgz" }, + "coveralls": { + "version": "2.11.16", + "from": "coveralls@>=2.11.2 <3.0.0", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.11.16.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "2.7.3", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "dev": true + }, + "form-data": { + "version": "2.1.2", + "from": "form-data@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "dev": true + }, + "js-yaml": { + "version": "3.6.1", + "from": "js-yaml@3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "dev": true + }, + "qs": { + "version": "6.3.1", + "from": "qs@>=6.3.0 <6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz", + "dev": true + }, + "request": { + "version": "2.79.0", + "from": "request@2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "dev": true + } + } + }, "create-ecdh": { "version": "4.0.0", "from": "create-ecdh@>=4.0.0 <5.0.0", @@ -2071,6 +2313,52 @@ "from": "create-hmac@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz" }, + "cross-env": { + "version": "3.1.4", + "from": "cross-env@>=3.1.4 <4.0.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-3.1.4.tgz", + "dev": true, + "dependencies": { + "cross-spawn": { + "version": "3.0.1", + "from": "cross-spawn@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "dev": true + }, + "lru-cache": { + "version": "4.0.2", + "from": "lru-cache@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", + "dev": true + }, + "which": { + "version": "1.2.12", + "from": "which@>=1.2.9 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", + "dev": true + } + } + }, + "cross-spawn": { + "version": "5.1.0", + "from": "cross-spawn@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "dev": true, + "dependencies": { + "lru-cache": { + "version": "4.0.2", + "from": "lru-cache@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", + "dev": true + }, + "which": { + "version": "1.2.12", + "from": "which@>=1.2.9 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", + "dev": true + } + } + }, "cryptiles": { "version": "2.0.5", "from": "cryptiles@>=2.0.0 <3.0.0", @@ -2099,9 +2387,16 @@ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" }, "css-loader": { - "version": "0.26.1", + "version": "0.26.2", "from": "css-loader@>=0.26.1 <0.27.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.1.tgz" + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.2.tgz", + "dependencies": { + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz" + } + } }, "css-parse": { "version": "1.7.0", @@ -2150,6 +2445,12 @@ "from": "csso@>=2.3.1 <2.4.0", "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.1.tgz" }, + "csv": { + "version": "0.3.7", + "from": "csv@>=0.3.6 <0.4.0", + "resolved": "https://registry.npmjs.org/csv/-/csv-0.3.7.tgz", + "dev": true + }, "csv-stringify": { "version": "1.0.4", "from": "csv-stringify@>=1.0.2 <2.0.0", @@ -2165,6 +2466,12 @@ "from": "currently-unhandled@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" }, + "custom-event": { + "version": "1.0.1", + "from": "custom-event@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "dev": true + }, "cwait": { "version": "1.0.1", "from": "cwait@>=1.0.0 <2.0.0", @@ -2181,9 +2488,9 @@ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "uglify-js": { - "version": "2.7.5", + "version": "2.8.0", "from": "uglify-js@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz" + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz" } } }, @@ -2247,7 +2554,7 @@ "debug": { "version": "2.6.1", "from": "debug@>=2.0.0 <3.0.0", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.1.tgz" + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz" }, "debug-fabulous": { "version": "0.0.4", @@ -2521,11 +2828,37 @@ } } }, + "deep-diff": { + "version": "0.1.7", + "from": "deep-diff@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.1.7.tgz", + "dev": true + }, + "deep-eql": { + "version": "0.1.3", + "from": "deep-eql@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "dev": true, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "from": "type-detect@0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "dev": true + } + } + }, "deep-extend": { "version": "0.4.1", "from": "deep-extend@>=0.4.0 <0.5.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" }, + "deep-is": { + "version": "0.1.3", + "from": "deep-is@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "dev": true + }, "defaults": { "version": "1.0.3", "from": "defaults@>=1.0.0 <2.0.0", @@ -2536,6 +2869,72 @@ "from": "defined@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" }, + "defs": { + "version": "1.1.1", + "from": "defs@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "dev": true, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "from": "camelcase@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "dev": true + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "from": "esprima-fb@~15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "dev": true + }, + "window-size": { + "version": "0.1.4", + "from": "window-size@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "dev": true + }, + "yargs": { + "version": "3.27.0", + "from": "yargs@>=3.27.0 <3.28.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "dev": true + } + } + }, + "degenerator": { + "version": "1.0.4", + "from": "degenerator@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "3.1.3", + "from": "esprima@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "dev": true + } + } + }, + "del": { + "version": "2.2.2", + "from": "del@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "7.1.1", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "dev": true + }, + "globby": { + "version": "5.0.0", + "from": "globby@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "dev": true + } + } + }, "delayed-stream": { "version": "1.0.0", "from": "delayed-stream@>=1.0.0 <1.1.0", @@ -2598,11 +2997,29 @@ } } }, + "di": { + "version": "0.0.1", + "from": "di@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "dev": true + }, + "diff": { + "version": "1.4.0", + "from": "diff@1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "dev": true + }, "diffie-hellman": { "version": "5.0.2", "from": "diffie-hellman@>=5.0.0 <6.0.0", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz" }, + "doctrine": { + "version": "1.5.0", + "from": "doctrine@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "dev": true + }, "doctypes": { "version": "1.1.0", "from": "doctypes@>=1.1.0 <2.0.0", @@ -2620,6 +3037,12 @@ } } }, + "dom-serialize": { + "version": "2.2.1", + "from": "dom-serialize@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "dev": true + }, "dom-serializer": { "version": "0.1.0", "from": "dom-serializer@>=0.0.0 <1.0.0", @@ -2804,15 +3227,27 @@ "from": "ee-first@1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" }, + "ejs": { + "version": "0.8.8", + "from": "ejs@>=0.8.3 <0.9.0", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-0.8.8.tgz", + "dev": true + }, "electron-to-chromium": { - "version": "1.2.2", - "from": "electron-to-chromium@>=1.2.2 <2.0.0", - "resolved": "http://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.2.2.tgz" + "version": "1.2.4", + "from": "electron-to-chromium@>=1.2.3 <2.0.0", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.2.4.tgz" }, "elliptic": { - "version": "6.3.3", + "version": "6.4.0", "from": "elliptic@>=6.0.0 <7.0.0", - "resolved": "http://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz" + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz" + }, + "emitter-component": { + "version": "1.0.1", + "from": "emitter-component@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.1.tgz", + "dev": true }, "emojis-list": { "version": "2.1.0", @@ -2836,10 +3271,50 @@ } } }, + "engine.io": { + "version": "1.8.3", + "from": "engine.io@1.8.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + } + } + }, + "engine.io-client": { + "version": "1.8.3", + "from": "engine.io-client@1.8.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "1.3.2", + "from": "engine.io-parser@1.3.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", + "dev": true + }, "enhanced-resolve": { "version": "3.1.0", "from": "enhanced-resolve@>=3.0.0 <4.0.0", - "resolved": "http://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz" + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz" + }, + "ent": { + "version": "2.2.0", + "from": "ent@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "dev": true }, "entities": { "version": "1.1.1", @@ -2866,11 +3341,23 @@ "from": "es6-iterator@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" }, + "es6-map": { + "version": "0.1.4", + "from": "es6-map@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", + "dev": true + }, "es6-promise": { "version": "3.3.1", "from": "es6-promise@>=3.0.2 <4.0.0", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz" }, + "es6-set": { + "version": "0.1.4", + "from": "es6-set@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", + "dev": true + }, "es6-symbol": { "version": "3.1.0", "from": "es6-symbol@>=3.1.0 <3.2.0", @@ -2931,11 +3418,182 @@ } } }, + "escope": { + "version": "3.6.0", + "from": "escope@>=3.6.0 <4.0.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "dev": true, + "dependencies": { + "es6-weak-map": { + "version": "2.0.1", + "from": "es6-weak-map@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", + "dev": true + } + } + }, + "eslint": { + "version": "3.16.1", + "from": "eslint@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.16.1.tgz", + "dev": true, + "dependencies": { + "cli-cursor": { + "version": "1.0.2", + "from": "cli-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "dev": true + }, + "glob": { + "version": "7.1.1", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "from": "inquirer@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "dev": true + }, + "mute-stream": { + "version": "0.0.5", + "from": "mute-stream@0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "dev": true + }, + "readline2": { + "version": "1.0.1", + "from": "readline2@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "from": "restore-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "from": "strip-bom@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "from": "user-home@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "dev": true + } + } + }, + "eslint-config-habitrpg": { + "version": "3.0.0", + "from": "eslint-config-habitrpg@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-3.0.0.tgz", + "dev": true + }, + "eslint-friendly-formatter": { + "version": "2.0.7", + "from": "eslint-friendly-formatter@>=2.0.5 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-friendly-formatter/-/eslint-friendly-formatter-2.0.7.tgz", + "dev": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "dev": true + } + } + }, + "eslint-loader": { + "version": "1.6.3", + "from": "eslint-loader@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.6.3.tgz", + "dev": true, + "dependencies": { + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz", + "dev": true + } + } + }, + "eslint-plugin-html": { + "version": "2.0.1", + "from": "eslint-plugin-html@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-2.0.1.tgz", + "dev": true, + "dependencies": { + "domhandler": { + "version": "2.3.0", + "from": "domhandler@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "from": "htmlparser2@>=3.8.2 <4.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "dev": true + } + } + }, + "eslint-plugin-lodash": { + "version": "2.3.5", + "from": "eslint-plugin-lodash@>=2.3.5 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-2.3.5.tgz", + "dev": true, + "optional": true + }, + "eslint-plugin-mocha": { + "version": "4.8.0", + "from": "eslint-plugin-mocha@>=4.7.0 <5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.8.0.tgz", + "dev": true + }, + "espree": { + "version": "3.4.0", + "from": "espree@>=3.4.0 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "4.0.4", + "from": "acorn@4.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz", + "dev": true + } + } + }, "esprima": { "version": "1.0.4", "from": "esprima@>=1.0.4 <1.1.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" }, + "esrecurse": { + "version": "4.1.0", + "from": "esrecurse@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", + "dev": true, + "dependencies": { + "estraverse": { + "version": "4.1.1", + "from": "estraverse@>=4.1.0 <4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", + "dev": true + } + } + }, "estraverse": { "version": "4.2.0", "from": "estraverse@>=4.1.1 <5.0.0", @@ -2976,6 +3634,12 @@ "from": "events@>=1.1.0 <1.2.0", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz" }, + "eventsource-polyfill": { + "version": "0.9.6", + "from": "eventsource-polyfill@>=0.9.6 <0.10.0", + "resolved": "https://registry.npmjs.org/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz", + "dev": true + }, "evp_bytestokey": { "version": "1.0.0", "from": "evp_bytestokey@>=1.0.0 <2.0.0", @@ -3004,6 +3668,44 @@ "from": "exit@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" }, + "exit-hook": { + "version": "1.1.1", + "from": "exit-hook@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "from": "expand-braces@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "dev": true, + "dependencies": { + "braces": { + "version": "0.1.5", + "from": "braces@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "dev": true + }, + "expand-range": { + "version": "0.1.1", + "from": "expand-range@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "dev": true + }, + "is-number": { + "version": "0.1.1", + "from": "is-number@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "from": "repeat-string@>=0.2.2 <0.3.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "dev": true + } + } + }, "expand-brackets": { "version": "0.1.5", "from": "expand-brackets@>=0.1.4 <0.2.0", @@ -3019,6 +3721,12 @@ "from": "expand-tilde@>=1.2.2 <2.0.0", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz" }, + "expect.js": { + "version": "0.2.0", + "from": "expect.js@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.2.0.tgz", + "dev": true + }, "express": { "version": "4.14.1", "from": "express@>=4.14.0 <4.15.0", @@ -3079,19 +3787,19 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" }, "extract-text-webpack-plugin": { - "version": "2.0.0-rc.3", + "version": "2.0.0", "from": "extract-text-webpack-plugin@>=2.0.0-rc.3 <3.0.0", - "resolved": "http://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.0.0-rc.3.tgz", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.0.0.tgz", "dependencies": { "async": { - "version": "2.1.4", + "version": "2.1.5", "from": "async@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz" + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz" }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.14.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz" } } }, @@ -3149,6 +3857,12 @@ "from": "fancy-log@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz" }, + "fast-levenshtein": { + "version": "2.0.6", + "from": "fast-levenshtein@>=2.0.4 <2.1.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "dev": true + }, "fastparse": { "version": "1.1.1", "from": "fastparse@>=1.1.1 <2.0.0", @@ -3169,16 +3883,35 @@ "from": "figures@>=1.3.2 <2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" }, + "file-entry-cache": { + "version": "2.0.0", + "from": "file-entry-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "dev": true + }, "file-loader": { - "version": "0.10.0", + "version": "0.10.1", "from": "file-loader@>=0.10.0 <0.11.0", - "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-0.10.0.tgz" + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.10.1.tgz", + "dependencies": { + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz" + } + } }, "file-type": { "version": "3.9.0", "from": "file-type@>=3.1.0 <4.0.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" }, + "file-uri-to-path": { + "version": "0.0.2", + "from": "file-uri-to-path@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-0.0.2.tgz", + "dev": true + }, "file-url": { "version": "1.1.0", "from": "file-url@>=1.0.0 <2.0.0", @@ -3204,6 +3937,32 @@ "from": "filenamify-url@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz" }, + "fileset": { + "version": "0.2.1", + "from": "fileset@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-0.2.1.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "from": "minimatch@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "dev": true + } + } + }, + "filesize": { + "version": "3.5.5", + "from": "filesize@>=3.5.4 <4.0.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.5.tgz", + "dev": true + }, "fill-range": { "version": "2.2.3", "from": "fill-range@>=2.1.0 <3.0.0", @@ -3284,6 +4043,12 @@ "from": "flagged-respawn@>=0.3.2 <0.4.0", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz" }, + "flat-cache": { + "version": "1.2.2", + "from": "flat-cache@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "dev": true + }, "flatten": { "version": "1.0.2", "from": "flatten@>=1.0.2 <2.0.0", @@ -3295,14 +4060,14 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz" }, "for-in": { - "version": "0.1.6", - "from": "for-in@>=0.1.5 <0.2.0", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz" + "version": "1.0.2", + "from": "for-in@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" }, "for-own": { - "version": "0.1.4", + "version": "0.1.5", "from": "for-own@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz" + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz" }, "foreach": { "version": "2.0.5", @@ -3320,17 +4085,18 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", "dependencies": { "async": { - "version": "2.1.4", + "version": "2.1.5", "from": "async@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz" - }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.14.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz" } } }, + "formatio": { + "version": "1.1.1", + "from": "formatio@1.1.1", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "dev": true + }, "formidable": { "version": "1.1.1", "from": "formidable@>=1.0.17 <2.0.0", @@ -3359,7 +4125,7 @@ "fs-extra": { "version": "2.0.0", "from": "fs-extra@>=2.0.0 <2.1.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.0.0.tgz" }, "fs-write-stream-atomic": { "version": "1.0.8", @@ -3371,6 +4137,700 @@ "from": "fs.realpath@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" }, + "fsevents": { + "version": "1.1.1", + "from": "fsevents@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz", + "optional": true, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "from": "abbrev@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + }, + "ansi-styles": { + "version": "2.2.1", + "from": "ansi-styles@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "optional": true + }, + "aproba": { + "version": "1.1.1", + "from": "aproba@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.2", + "from": "are-we-there-yet@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "optional": true + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "from": "asynckit@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "optional": true + }, + "aws4": { + "version": "1.6.0", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "from": "balanced-match@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "optional": true + }, + "block-stream": { + "version": "0.0.9", + "from": "block-stream@*", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "brace-expansion": { + "version": "1.1.6", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" + }, + "buffer-shims": { + "version": "1.0.0", + "from": "buffer-shims@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "optional": true + }, + "chalk": { + "version": "1.1.3", + "from": "chalk@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + }, + "commander": { + "version": "2.9.0", + "from": "commander@>=2.9.0 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + }, + "console-control-strings": { + "version": "1.1.0", + "from": "console-control-strings@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "optional": true + }, + "dashdash": { + "version": "1.14.1", + "from": "dashdash@>=1.12.0 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "debug": { + "version": "2.2.0", + "from": "debug@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "optional": true + }, + "deep-extend": { + "version": "0.4.1", + "from": "deep-extend@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + }, + "delegates": { + "version": "1.0.0", + "from": "delegates@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "optional": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "optional": true + }, + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "optional": true + }, + "form-data": { + "version": "2.1.2", + "from": "form-data@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "optional": true + }, + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, + "fstream": { + "version": "1.0.10", + "from": "fstream@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" + }, + "fstream-ignore": { + "version": "1.0.5", + "from": "fstream-ignore@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "optional": true + }, + "gauge": { + "version": "2.7.3", + "from": "gauge@>=2.7.1 <2.8.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz", + "optional": true + }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "optional": true + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "glob": { + "version": "7.1.1", + "from": "glob@>=7.0.5 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" + }, + "graceful-fs": { + "version": "4.1.11", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + }, + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "optional": true + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "optional": true + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "from": "has-unicode@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "optional": true + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.3 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "optional": true + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "optional": true + }, + "inflight": { + "version": "1.0.6", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "ini": { + "version": "1.3.4", + "from": "ini@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + }, + "is-my-json-valid": { + "version": "2.15.0", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "optional": true + }, + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "optional": true + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "optional": true + }, + "jsbn": { + "version": "0.1.1", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "from": "json-schema@0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "optional": true + }, + "jsonpointer": { + "version": "4.0.1", + "from": "jsonpointer@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "optional": true + }, + "jsprim": { + "version": "1.3.1", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "optional": true + }, + "mime-db": { + "version": "1.26.0", + "from": "mime-db@>=1.26.0 <1.27.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz" + }, + "mime-types": { + "version": "2.1.14", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz" + }, + "minimatch": { + "version": "3.0.3", + "from": "minimatch@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.33", + "from": "node-pre-gyp@>=0.6.29 <0.7.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz", + "optional": true + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=3.0.6 <3.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "optional": true + }, + "npmlog": { + "version": "4.0.2", + "from": "npmlog@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz", + "optional": true + }, + "number-is-nan": { + "version": "1.0.1", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "from": "object-assign@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "optional": true + }, + "once": { + "version": "1.4.0", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + }, + "path-is-absolute": { + "version": "1.0.1", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "punycode": { + "version": "1.4.1", + "from": "punycode@>=1.4.1 <2.0.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "optional": true + }, + "qs": { + "version": "6.3.1", + "from": "qs@>=6.3.0 <6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz", + "optional": true + }, + "rc": { + "version": "1.1.7", + "from": "rc@>=1.1.6 <1.2.0", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", + "optional": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.2", + "from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", + "optional": true + }, + "request": { + "version": "2.79.0", + "from": "request@>=2.79.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "optional": true + }, + "rimraf": { + "version": "2.5.4", + "from": "rimraf@>=2.5.4 <2.6.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" + }, + "semver": { + "version": "5.3.0", + "from": "semver@>=5.3.0 <5.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "from": "set-blocking@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "from": "signal-exit@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "optional": true + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "optional": true + }, + "sshpk": { + "version": "1.10.2", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "string-width": { + "version": "1.0.2", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "strip-json-comments": { + "version": "2.0.1", + "from": "strip-json-comments@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "optional": true + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "optional": true + }, + "tar": { + "version": "2.2.1", + "from": "tar@>=2.2.1 <2.3.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" + }, + "tar-pack": { + "version": "3.3.0", + "from": "tar-pack@>=3.3.0 <3.4.0", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz", + "optional": true, + "dependencies": { + "once": { + "version": "1.3.3", + "from": "once@>=1.3.3 <1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "optional": true + }, + "readable-stream": { + "version": "2.1.5", + "from": "readable-stream@>=2.1.4 <2.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "optional": true + } + } + }, + "tough-cookie": { + "version": "2.3.2", + "from": "tough-cookie@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "optional": true + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "from": "tweetnacl@>=0.14.0 <0.15.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "from": "uid-number@>=0.0.6 <0.1.0", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "uuid": { + "version": "3.0.1", + "from": "uuid@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "optional": true + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "optional": true + }, + "wide-align": { + "version": "1.1.0", + "from": "wide-align@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", + "optional": true + }, + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "optional": true + } + } + }, "fstream": { "version": "1.0.10", "from": "fstream@>=1.0.2 <2.0.0", @@ -3381,6 +4841,26 @@ "from": "fstream-ignore@>=1.0.5 <1.1.0", "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz" }, + "ftp": { + "version": "0.3.10", + "from": "ftp@>=0.3.5 <0.4.0", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dev": true + } + } + }, "function-bind": { "version": "1.1.0", "from": "function-bind@>=1.0.2 <2.0.0", @@ -3389,7 +4869,7 @@ "gauge": { "version": "2.7.3", "from": "gauge@>=2.7.1 <2.8.0", - "resolved": "http://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz" + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz" }, "gaze": { "version": "0.5.2", @@ -3436,6 +4916,12 @@ "from": "get-stream@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" }, + "get-uri": { + "version": "1.1.0", + "from": "get-uri@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-1.1.0.tgz", + "dev": true + }, "getobject": { "version": "0.1.0", "from": "getobject@>=0.1.0 <0.2.0", @@ -3553,14 +5039,14 @@ } }, "globals": { - "version": "9.15.0", + "version": "9.16.0", "from": "globals@>=9.0.0 <10.0.0", - "resolved": "http://registry.npmjs.org/globals/-/globals-9.15.0.tgz" + "resolved": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz" }, "globby": { "version": "6.1.0", "from": "globby@>=6.1.0 <7.0.0", - "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "dependencies": { "glob": { "version": "7.1.1", @@ -3621,6 +5107,12 @@ "from": "graceful-readlink@>=1.0.0", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" }, + "growl": { + "version": "1.9.2", + "from": "growl@1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "dev": true + }, "grunt": { "version": "0.4.5", "from": "grunt@>=0.4.1 <0.5.0", @@ -3960,9 +5452,9 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" }, "uglify-js": { - "version": "2.7.5", + "version": "2.8.0", "from": "uglify-js@>=2.4.0 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz" + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz" } } }, @@ -3988,6 +5480,20 @@ "from": "grunt-hashres@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/grunt-hashres/-/grunt-hashres-0.4.1.tgz" }, + "grunt-karma": { + "version": "0.12.2", + "from": "grunt-karma@>=0.12.1 <0.13.0", + "resolved": "https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.12.2.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.10.1 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + } + } + }, "grunt-known-options": { "version": "1.1.0", "from": "grunt-known-options@>=1.1.0 <1.2.0", @@ -4174,6 +5680,11 @@ "from": "js-yaml@>=3.5.2 <3.6.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz" }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.10.1 <3.11.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + }, "resolve": { "version": "1.1.7", "from": "resolve@>=1.1.0 <1.2.0", @@ -4221,12 +5732,12 @@ "gulp-sourcemaps": { "version": "1.11.1", "from": "gulp-sourcemaps@>=1.6.0 <2.0.0", - "resolved": "http://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.11.1.tgz", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.11.1.tgz", "dependencies": { "acorn": { "version": "4.0.11", "from": "acorn@>=4.0.0 <5.0.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" }, "vinyl": { "version": "1.2.0", @@ -4464,11 +5975,31 @@ "from": "has-ansi@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" }, + "has-binary": { + "version": "0.1.7", + "from": "has-binary@0.1.7", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + } + } + }, "has-color": { "version": "0.1.7", "from": "has-color@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" }, + "has-cors": { + "version": "1.1.0", + "from": "has-cors@1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "dev": true + }, "has-flag": { "version": "1.0.0", "from": "has-flag@>=1.0.0 <2.0.0", @@ -4509,6 +6040,11 @@ "from": "he@>=1.1.0 <1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz" }, + "hmac-drbg": { + "version": "1.0.0", + "from": "hmac-drbg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.0.tgz" + }, "hoek": { "version": "2.16.3", "from": "hoek@>=2.0.0 <3.0.0", @@ -4537,17 +6073,23 @@ "hosted-git-info": { "version": "2.2.0", "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz" }, "html-comment-regex": { "version": "1.1.1", "from": "html-comment-regex@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz" }, + "html-entities": { + "version": "1.2.0", + "from": "html-entities@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.0.tgz", + "dev": true + }, "html-minifier": { - "version": "3.3.1", + "version": "3.4.0", "from": "html-minifier@>=3.2.3 <4.0.0", - "resolved": "http://registry.npmjs.org/html-minifier/-/html-minifier-3.3.1.tgz", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.4.0.tgz", "dependencies": { "async": { "version": "0.2.10", @@ -4555,28 +6097,21 @@ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "clean-css": { - "version": "4.0.7", + "version": "4.0.8", "from": "clean-css@>=4.0.0 <4.1.0", - "resolved": "http://registry.npmjs.org/clean-css/-/clean-css-4.0.7.tgz" + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.0.8.tgz" }, "uglify-js": { - "version": "2.7.5", - "from": "uglify-js@>=2.7.0 <2.8.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz" + "version": "2.8.0", + "from": "uglify-js@>=2.8.0 <2.9.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz" } } }, "html-webpack-plugin": { "version": "2.28.0", "from": "html-webpack-plugin@>=2.8.1 <3.0.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.17.3 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz" }, "htmlescape": { "version": "1.1.1", @@ -4610,6 +6145,38 @@ "from": "http-errors@>=1.5.1 <1.6.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz" }, + "http-proxy": { + "version": "1.16.2", + "from": "http-proxy@>=1.16.2 <2.0.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", + "dev": true + }, + "http-proxy-agent": { + "version": "1.0.0", + "from": "http-proxy-agent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz", + "dev": true + }, + "http-proxy-middleware": { + "version": "0.17.3", + "from": "http-proxy-middleware@>=0.17.0 <0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.3.tgz", + "dev": true, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "from": "is-extglob@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "from": "is-glob@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "dev": true + } + } + }, "http-signature": { "version": "1.1.1", "from": "http-signature@>=1.1.0 <1.2.0", @@ -4628,9 +6195,9 @@ } }, "httpreq": { - "version": "0.4.22", + "version": "0.4.23", "from": "httpreq@>=0.4.22", - "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.22.tgz" + "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.23.tgz" }, "https-browserify": { "version": "0.0.1", @@ -4667,6 +6234,12 @@ "from": "iferr@>=0.1.5 <0.2.0", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" }, + "ignore": { + "version": "3.2.4", + "from": "ignore@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz", + "dev": true + }, "ignore-by-default": { "version": "1.0.1", "from": "ignore-by-default@>=1.0.0 <2.0.0", @@ -4853,7 +6426,7 @@ "sax": { "version": "1.2.2", "from": "sax@>=1.2.1 <1.3.0", - "resolved": "http://registry.npmjs.org/sax/-/sax-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz", "optional": true }, "svgo": { @@ -4870,9 +6443,9 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" }, "in-app-purchase": { - "version": "1.1.11", + "version": "1.2.0", "from": "in-app-purchase@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/in-app-purchase/-/in-app-purchase-1.1.11.tgz", + "resolved": "https://registry.npmjs.org/in-app-purchase/-/in-app-purchase-1.2.0.tgz", "dependencies": { "form-data": { "version": "2.0.0", @@ -4926,6 +6499,12 @@ "from": "ini@>=1.3.0 <1.4.0", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" }, + "inject-loader": { + "version": "3.0.0-beta4", + "from": "inject-loader@>=3.0.0-beta4 <4.0.0", + "resolved": "https://registry.npmjs.org/inject-loader/-/inject-loader-3.0.0-beta4.tgz", + "dev": true + }, "inline-source-map": { "version": "0.6.2", "from": "inline-source-map@>=0.6.0 <0.7.0", @@ -5139,7 +6718,7 @@ "acorn": { "version": "4.0.11", "from": "acorn@>=4.0.2 <4.1.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" } } }, @@ -5186,9 +6765,9 @@ "optional": true }, "is-my-json-valid": { - "version": "2.15.0", + "version": "2.16.0", "from": "is-my-json-valid@>=2.12.4 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz" + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz" }, "is-natural-number": { "version": "2.1.1", @@ -5210,6 +6789,24 @@ "from": "is-obj@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" }, + "is-path-cwd": { + "version": "1.0.0", + "from": "is-path-cwd@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "from": "is-path-in-cwd@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "dev": true + }, + "is-path-inside": { + "version": "1.0.0", + "from": "is-path-inside@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "dev": true + }, "is-plain-obj": { "version": "1.1.0", "from": "is-plain-obj@>=1.0.0 <2.0.0", @@ -5247,15 +6844,21 @@ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz" }, "is-regex": { - "version": "1.0.3", + "version": "1.0.4", "from": "is-regex@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.3.tgz" + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz" }, "is-relative": { "version": "0.2.1", "from": "is-relative@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz" }, + "is-resolvable": { + "version": "1.0.0", + "from": "is-resolvable@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "dev": true + }, "is-retry-allowed": { "version": "1.1.0", "from": "is-retry-allowed@>=1.0.0 <2.0.0", @@ -5321,6 +6924,12 @@ "from": "isarray@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, + "isbinaryfile": { + "version": "3.0.2", + "from": "isbinaryfile@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "dev": true + }, "isexe": { "version": "1.1.2", "from": "isexe@>=1.1.1 <2.0.0", @@ -5336,6 +6945,160 @@ "from": "isstream@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, + "istanbul": { + "version": "0.3.22", + "from": "istanbul@>=0.3.14 <0.4.0", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.3.22.tgz", + "dev": true, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "dev": true + }, + "escodegen": { + "version": "1.7.1", + "from": "escodegen@>=1.7.0 <1.8.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.7.1.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "1.2.5", + "from": "esprima@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "dev": true + } + } + }, + "esprima": { + "version": "2.5.0", + "from": "esprima@>=2.5.0 <2.6.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.5.0.tgz", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "from": "estraverse@>=1.9.1 <2.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "dev": true + }, + "fast-levenshtein": { + "version": "1.0.7", + "from": "fast-levenshtein@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", + "dev": true + }, + "handlebars": { + "version": "4.0.6", + "from": "handlebars@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.4.4", + "from": "source-map@>=0.4.4 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "dev": true + } + } + }, + "levn": { + "version": "0.2.5", + "from": "levn@>=0.2.5 <0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", + "dev": true + }, + "optionator": { + "version": "0.5.0", + "from": "optionator@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz", + "dev": true, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "from": "wordwrap@~0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "dev": true + } + } + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "from": "source-map@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "3.2.3", + "from": "supports-color@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "dev": true + }, + "uglify-js": { + "version": "2.8.0", + "from": "uglify-js@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz", + "dev": true, + "optional": true, + "dependencies": { + "async": { + "version": "0.2.10", + "from": "async@>=0.2.6 <0.3.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.5.6", + "from": "source-map@~0.5.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "dev": true, + "optional": true + } + } + }, + "which": { + "version": "1.2.12", + "from": "which@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, + "istanbul-lib-coverage": { + "version": "1.0.1", + "from": "istanbul-lib-coverage@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.4.2", + "from": "istanbul-lib-instrument@>=1.4.2 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz", + "dev": true, + "dependencies": { + "semver": { + "version": "5.3.0", + "from": "semver@>=5.3.0 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "dev": true + } + } + }, "jade": { "version": "1.11.0", "from": "jade@>=1.11.0 <1.12.0", @@ -5347,9 +7110,9 @@ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "clean-css": { - "version": "3.4.24", + "version": "3.4.25", "from": "clean-css@>=3.1.9 <4.0.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.24.tgz", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz", "dependencies": { "commander": { "version": "2.8.1", @@ -5369,9 +7132,9 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" }, "uglify-js": { - "version": "2.7.5", + "version": "2.8.0", "from": "uglify-js@>=2.4.19 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz", "dependencies": { "source-map": { "version": "0.5.6", @@ -5382,6 +7145,38 @@ } } }, + "jasmine": { + "version": "2.4.1", + "from": "jasmine@2.4.1", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.4.1.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "3.2.11", + "from": "glob@>=3.2.11 <4.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "from": "minimatch@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "dev": true + } + } + }, + "jasmine-core": { + "version": "2.4.1", + "from": "jasmine-core@>=2.4.0 <2.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.4.1.tgz", + "dev": true + }, + "jasminewd2": { + "version": "0.0.9", + "from": "jasminewd2@0.0.9", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.9.tgz", + "dev": true + }, "jmespath": { "version": "0.15.0", "from": "jmespath@0.15.0", @@ -5415,9 +7210,9 @@ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" }, "js-beautify": { - "version": "1.6.9", + "version": "1.6.11", "from": "js-beautify@>=1.6.3 <2.0.0", - "resolved": "http://registry.npmjs.org/js-beautify/-/js-beautify-1.6.9.tgz" + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.6.11.tgz" }, "js-stringify": { "version": "1.0.2", @@ -5432,7 +7227,7 @@ "js-yaml": { "version": "3.8.1", "from": "js-yaml@>=3.1.0 <4.0.0", - "resolved": "http://registry.npmjs.org/js-yaml/-/js-yaml-3.8.1.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.1.tgz", "dependencies": { "esprima": { "version": "3.1.3", @@ -5449,7 +7244,7 @@ "jsbn": { "version": "0.1.1", "from": "jsbn@>=0.1.0 <0.2.0", - "resolved": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "optional": true }, "jsesc": { @@ -5482,6 +7277,12 @@ "from": "json-stringify-safe@>=5.0.1 <5.1.0", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, + "json3": { + "version": "3.3.2", + "from": "json3@3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "dev": true + }, "json5": { "version": "0.5.1", "from": "json5@>=0.5.0 <0.6.0", @@ -5508,9 +7309,9 @@ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz" }, "JSONStream": { - "version": "1.3.0", + "version": "1.3.1", "from": "JSONStream@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz" + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz" }, "jsprim": { "version": "1.3.1", @@ -5530,7 +7331,274 @@ "kareem": { "version": "1.2.1", "from": "kareem@1.2.1", - "resolved": "http://registry.npmjs.org/kareem/-/kareem-1.2.1.tgz" + "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.2.1.tgz" + }, + "karma": { + "version": "1.5.0", + "from": "karma@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/karma/-/karma-1.5.0.tgz", + "dev": true, + "dependencies": { + "colors": { + "version": "1.1.2", + "from": "colors@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "dev": true + }, + "glob": { + "version": "7.1.1", + "from": "glob@>=7.1.1 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.8.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + }, + "mime": { + "version": "1.3.4", + "from": "mime@>=1.3.4 <2.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "dev": true + }, + "tmp": { + "version": "0.0.31", + "from": "tmp@0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "dev": true + } + } + }, + "karma-babel-preprocessor": { + "version": "6.0.1", + "from": "karma-babel-preprocessor@>=6.0.1 <7.0.0", + "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz", + "dev": true + }, + "karma-chai-plugins": { + "version": "0.6.1", + "from": "karma-chai-plugins@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/karma-chai-plugins/-/karma-chai-plugins-0.6.1.tgz", + "dev": true, + "dependencies": { + "chai": { + "version": "3.4.1", + "from": "chai@3.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.4.1.tgz", + "dev": true + }, + "chai-as-promised": { + "version": "5.1.0", + "from": "chai-as-promised@5.1.0", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.1.0.tgz", + "dev": true + }, + "lolex": { + "version": "1.3.2", + "from": "lolex@1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "dev": true + }, + "sinon": { + "version": "1.17.2", + "from": "sinon@1.17.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.2.tgz", + "dev": true + } + } + }, + "karma-coverage": { + "version": "0.5.5", + "from": "karma-coverage@>=0.5.3 <0.6.0", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-0.5.5.tgz", + "dev": true, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "from": "dateformat@>=1.0.6 <2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "from": "escodegen@>=1.8.0 <1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.2.0", + "from": "source-map@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "dev": true, + "optional": true + } + } + }, + "esprima": { + "version": "2.7.3", + "from": "esprima@>=2.7.0 <2.8.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "from": "estraverse@>=1.9.1 <2.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "dev": true + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.15 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "handlebars": { + "version": "4.0.6", + "from": "handlebars@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.4.4", + "from": "source-map@>=0.4.4 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "dev": true + } + } + }, + "istanbul": { + "version": "0.4.5", + "from": "istanbul@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "from": "supports-color@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "dev": true + }, + "uglify-js": { + "version": "2.8.0", + "from": "uglify-js@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz", + "dev": true, + "optional": true, + "dependencies": { + "async": { + "version": "0.2.10", + "from": "async@>=0.2.6 <0.3.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "dev": true, + "optional": true + } + } + }, + "which": { + "version": "1.2.12", + "from": "which@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, + "karma-mocha": { + "version": "0.2.2", + "from": "karma-mocha@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-0.2.2.tgz", + "dev": true + }, + "karma-mocha-reporter": { + "version": "1.3.0", + "from": "karma-mocha-reporter@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-1.3.0.tgz", + "dev": true, + "dependencies": { + "chalk": { + "version": "1.1.1", + "from": "chalk@1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "dev": true + } + } + }, + "karma-phantomjs-launcher": { + "version": "1.0.2", + "from": "karma-phantomjs-launcher@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.2.tgz", + "dev": true + }, + "karma-sinon-chai": { + "version": "1.2.4", + "from": "karma-sinon-chai@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/karma-sinon-chai/-/karma-sinon-chai-1.2.4.tgz", + "dev": true + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "from": "karma-sourcemap-loader@>=0.3.7 <0.4.0", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "dev": true + }, + "karma-spec-reporter": { + "version": "0.0.24", + "from": "karma-spec-reporter@0.0.24", + "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.24.tgz", + "dev": true, + "dependencies": { + "colors": { + "version": "0.6.2", + "from": "colors@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "dev": true + } + } + }, + "karma-webpack": { + "version": "2.0.2", + "from": "karma-webpack@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.2.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "0.9.2", + "from": "async@>=0.9.0 <0.10.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.8.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "from": "source-map@>=0.1.41 <0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "dev": true + } + } }, "kew": { "version": "0.7.0", @@ -5553,9 +7621,9 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" }, "klaw-sync": { - "version": "1.1.1", + "version": "1.1.2", "from": "klaw-sync@>=1.0.2 <2.0.0", - "resolved": "http://registry.npmjs.org/klaw-sync/-/klaw-sync-1.1.1.tgz" + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-1.1.2.tgz" }, "labeled-stream-splicer": { "version": "2.0.0", @@ -5587,7 +7655,7 @@ "lazy-debug-legacy": { "version": "0.0.1", "from": "lazy-debug-legacy@>=0.0.0 <0.1.0", - "resolved": "http://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz" + "resolved": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz" }, "lazy-req": { "version": "1.1.0", @@ -5605,6 +7673,106 @@ "from": "lcid@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" }, + "lcov-parse": { + "version": "0.0.10", + "from": "lcov-parse@0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "dev": true + }, + "lcov-result-merger": { + "version": "1.2.0", + "from": "lcov-result-merger@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.2.0.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.3 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "from": "glob-parent@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "dev": true + }, + "glob-stream": { + "version": "5.3.5", + "from": "glob-stream@>=5.3.2 <6.0.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "dev": true, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dev": true + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "dev": true + } + } + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "from": "gulp-sourcemaps@1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "from": "is-extglob@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "from": "is-glob@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "dev": true + }, + "ordered-read-streams": { + "version": "0.3.0", + "from": "ordered-read-streams@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "dev": true + }, + "unique-stream": { + "version": "2.2.1", + "from": "unique-stream@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "from": "vinyl@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "dev": true + }, + "vinyl-fs": { + "version": "2.4.4", + "from": "vinyl-fs@>=2.4.3 <3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", + "dev": true + } + } + }, "less": { "version": "2.7.2", "from": "less@>=2.7.1 <3.0.0", @@ -5635,6 +7803,12 @@ "from": "less-loader@>=2.2.3 <3.0.0", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-2.2.3.tgz" }, + "levn": { + "version": "0.3.0", + "from": "levn@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "dev": true + }, "lexical-scope": { "version": "1.2.0", "from": "lexical-scope@>=1.2.0 <2.0.0", @@ -5683,9 +7857,23 @@ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz" }, "loader-utils": { - "version": "0.2.16", + "version": "0.2.17", "from": "loader-utils@>=0.2.16 <0.3.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz" + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + }, + "locate-path": { + "version": "2.0.0", + "from": "locate-path@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "dev": true, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "from": "path-exists@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "dev": true + } + } }, "lockfile": { "version": "1.0.3", @@ -5693,20 +7881,50 @@ "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz" }, "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.1 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + "version": "4.17.4", + "from": "lodash@>=4.17.4 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + }, + "lodash._arraycopy": { + "version": "3.0.0", + "from": "lodash._arraycopy@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "dev": true + }, + "lodash._arrayeach": { + "version": "3.0.0", + "from": "lodash._arrayeach@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "dev": true }, "lodash._baseassign": { "version": "3.2.0", "from": "lodash._baseassign@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz" }, + "lodash._baseclone": { + "version": "3.3.0", + "from": "lodash._baseclone@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", + "dev": true + }, "lodash._basecopy": { "version": "3.0.1", "from": "lodash._basecopy@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" }, + "lodash._basecreate": { + "version": "3.0.3", + "from": "lodash._basecreate@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "dev": true + }, + "lodash._basefor": { + "version": "3.0.3", + "from": "lodash._basefor@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "dev": true + }, "lodash._basetostring": { "version": "3.0.1", "from": "lodash._basetostring@>=3.0.0 <4.0.0", @@ -5814,6 +8032,18 @@ "from": "lodash.camelcase@>=4.3.0 <5.0.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" }, + "lodash.clone": { + "version": "3.0.3", + "from": "lodash.clone@>=3.0.3 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz", + "dev": true + }, + "lodash.create": { + "version": "3.1.1", + "from": "lodash.create@>=3.1.1 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "dev": true + }, "lodash.debounce": { "version": "2.4.1", "from": "lodash.debounce@>=2.4.1 <3.0.0", @@ -5824,6 +8054,12 @@ "from": "lodash.defaults@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz" }, + "lodash.defaultsdeep": { + "version": "4.6.0", + "from": "lodash.defaultsdeep@>=4.3.2 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", + "dev": true + }, "lodash.escape": { "version": "3.2.0", "from": "lodash.escape@>=3.0.0 <4.0.0", @@ -5899,21 +8135,11 @@ "from": "lodash.pick@>=4.2.1 <5.0.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" }, - "lodash.pickby": { - "version": "4.6.0", - "from": "lodash.pickby@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz" - }, "lodash.restparam": { "version": "3.6.1", "from": "lodash.restparam@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" }, - "lodash.setwith": { - "version": "4.3.2", - "from": "lodash.setwith@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.setwith/-/lodash.setwith-4.3.2.tgz" - }, "lodash.template": { "version": "3.6.2", "from": "lodash.template@>=3.0.0 <4.0.0", @@ -5941,17 +8167,55 @@ } } }, + "log-driver": { + "version": "1.2.5", + "from": "log-driver@1.2.5", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", + "dev": true + }, "log-symbols": { "version": "1.0.2", "from": "log-symbols@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" }, + "log4js": { + "version": "0.6.38", + "from": "log4js@>=0.6.31 <0.7.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dev": true + }, + "semver": { + "version": "4.3.6", + "from": "semver@>=4.3.3 <4.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "dev": true + } + } + }, "logalot": { "version": "2.1.0", "from": "logalot@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", "optional": true }, + "lolex": { + "version": "1.6.0", + "from": "lolex@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", + "dev": true + }, "longest": { "version": "1.0.1", "from": "longest@>=1.0.1 <2.0.0", @@ -5968,9 +8232,9 @@ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" }, "lower-case": { - "version": "1.1.3", + "version": "1.1.4", "from": "lower-case@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.3.tgz" + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz" }, "lowercase-keys": { "version": "1.0.0", @@ -6025,9 +8289,9 @@ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" }, "markdown-it": { - "version": "8.2.2", + "version": "8.3.0", "from": "markdown-it@>=8.2.2 <9.0.0", - "resolved": "http://registry.npmjs.org/markdown-it/-/markdown-it-8.2.2.tgz" + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.3.0.tgz" }, "markdown-it-emoji": { "version": "1.3.0", @@ -6185,6 +8449,11 @@ "from": "minimalistic-assert@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz" }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "from": "minimalistic-crypto-utils@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + }, "minimatch": { "version": "3.0.3", "from": "minimatch@>=3.0.2 <4.0.0", @@ -6205,6 +8474,164 @@ "from": "mkpath@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz" }, + "mocha": { + "version": "2.5.3", + "from": "mocha@>=2.3.3 <3.0.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "dev": true, + "dependencies": { + "commander": { + "version": "2.3.0", + "from": "commander@2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "dev": true + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.2", + "from": "escape-string-regexp@1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "dev": true + }, + "glob": { + "version": "3.2.11", + "from": "glob@3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "dev": true + }, + "jade": { + "version": "0.26.3", + "from": "jade@0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "dev": true, + "dependencies": { + "commander": { + "version": "0.6.1", + "from": "commander@0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "dev": true + }, + "mkdirp": { + "version": "0.3.0", + "from": "mkdirp@0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "dev": true + } + } + }, + "minimatch": { + "version": "0.3.0", + "from": "minimatch@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + }, + "supports-color": { + "version": "1.2.0", + "from": "supports-color@1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "dev": true + } + } + }, + "mocha-nightwatch": { + "version": "2.2.9", + "from": "mocha-nightwatch@2.2.9", + "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-2.2.9.tgz", + "dev": true, + "dependencies": { + "commander": { + "version": "2.3.0", + "from": "commander@2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "dev": true + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.2", + "from": "escape-string-regexp@1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "dev": true + }, + "glob": { + "version": "3.2.3", + "from": "glob@3.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz", + "dev": true + }, + "graceful-fs": { + "version": "2.0.3", + "from": "graceful-fs@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", + "dev": true + }, + "growl": { + "version": "1.8.1", + "from": "growl@1.8.1", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.8.1.tgz", + "dev": true + }, + "jade": { + "version": "0.26.3", + "from": "jade@0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "dev": true, + "dependencies": { + "commander": { + "version": "0.6.1", + "from": "commander@0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "dev": true + }, + "mkdirp": { + "version": "0.3.0", + "from": "mkdirp@0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "dev": true + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@>=0.2.11 <0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "from": "mkdirp@0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + }, + "supports-color": { + "version": "1.2.0", + "from": "supports-color@1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "dev": true + } + } + }, "modify-filename": { "version": "1.1.0", "from": "modify-filename@>=1.1.0 <2.0.0", @@ -6213,7 +8640,7 @@ "module-deps": { "version": "4.1.1", "from": "module-deps@>=4.0.2 <5.0.0", - "resolved": "http://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz" + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz" }, "moment": { "version": "2.17.1", @@ -6226,9 +8653,9 @@ "resolved": "https://registry.npmjs.org/moment-recur/-/moment-recur-1.0.5.tgz" }, "mongodb": { - "version": "2.2.22", - "from": "mongodb@2.2.22", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.22.tgz", + "version": "2.2.24", + "from": "mongodb@2.2.24", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.24.tgz", "dependencies": { "es6-promise": { "version": "3.2.1", @@ -6243,24 +8670,19 @@ } }, "mongodb-core": { - "version": "2.1.7", - "from": "mongodb-core@2.1.7", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.7.tgz" + "version": "2.1.8", + "from": "mongodb-core@2.1.8", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.8.tgz" }, "mongoose": { - "version": "4.8.2", + "version": "4.8.5", "from": "mongoose@>=4.7.1 <5.0.0", - "resolved": "http://registry.npmjs.org/mongoose/-/mongoose-4.8.2.tgz", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.8.5.tgz", "dependencies": { "async": { "version": "2.1.4", "from": "async@2.1.4", "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz" - }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.14.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } } }, @@ -6269,10 +8691,22 @@ "from": "mongoose-id-autoinc@>=2013.7.14-4 <2013.8.0", "resolved": "https://registry.npmjs.org/mongoose-id-autoinc/-/mongoose-id-autoinc-2013.7.14-4.tgz" }, + "mongoskin": { + "version": "2.1.0", + "from": "mongoskin@>=2.1.0 <2.2.0", + "resolved": "https://registry.npmjs.org/mongoskin/-/mongoskin-2.1.0.tgz", + "dev": true + }, + "monk": { + "version": "4.0.0", + "from": "monk@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/monk/-/monk-4.0.0.tgz", + "dev": true + }, "morgan": { "version": "1.8.1", "from": "morgan@>=1.7.0 <2.0.0", - "resolved": "http://registry.npmjs.org/morgan/-/morgan-1.8.1.tgz" + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.8.1.tgz" }, "mout": { "version": "0.9.1", @@ -6297,7 +8731,7 @@ "mquery": { "version": "2.2.3", "from": "mquery@2.2.3", - "resolved": "http://registry.npmjs.org/mquery/-/mquery-2.2.3.tgz", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.2.3.tgz", "dependencies": { "bluebird": { "version": "2.10.2", @@ -6351,7 +8785,7 @@ "muri": { "version": "1.2.1", "from": "muri@1.2.1", - "resolved": "http://registry.npmjs.org/muri/-/muri-1.2.1.tgz" + "resolved": "https://registry.npmjs.org/muri/-/muri-1.2.1.tgz" }, "mute-stream": { "version": "0.0.4", @@ -6368,6 +8802,12 @@ "from": "natives@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz" }, + "natural-compare": { + "version": "1.4.0", + "from": "natural-compare@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "dev": true + }, "ncname": { "version": "1.0.0", "from": "ncname@>=1.0.0 <1.1.0", @@ -6420,6 +8860,32 @@ "from": "nested-error-stacks@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz" }, + "netmask": { + "version": "1.0.6", + "from": "netmask@>=1.0.4 <1.1.0", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "dev": true + }, + "new-from": { + "version": "0.0.3", + "from": "new-from@0.0.3", + "resolved": "https://registry.npmjs.org/new-from/-/new-from-0.0.3.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@>=1.1.8 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dev": true + } + } + }, "next-tick": { "version": "0.2.2", "from": "next-tick@>=0.2.2 <0.3.0", @@ -6452,6 +8918,20 @@ } } }, + "nightwatch": { + "version": "0.9.12", + "from": "nightwatch@>=0.9.12 <0.10.0", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.12.tgz", + "dev": true, + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@>=0.2.14 <0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dev": true + } + } + }, "no-case": { "version": "2.3.1", "from": "no-case@>=2.2.0 <3.0.0", @@ -6465,7 +8945,7 @@ "node-forge": { "version": "0.6.49", "from": "node-forge@>=0.6.20 <0.7.0", - "resolved": "http://registry.npmjs.org/node-forge/-/node-forge-0.6.49.tgz" + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.49.tgz" }, "node-gcm": { "version": "0.14.4", @@ -6476,6 +8956,11 @@ "version": "0.8.1", "from": "debug@>=0.8.1 <0.9.0", "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz" + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.10.1 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" } } }, @@ -6523,16 +9008,26 @@ "from": "form-data@>=2.1.1 <2.2.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz" }, + "glob": { + "version": "7.1.1", + "from": "glob@>=7.0.5 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" + }, "qs": { - "version": "6.3.0", + "version": "6.3.1", "from": "qs@>=6.3.0 <6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz" + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz" }, "request": { "version": "2.79.0", "from": "request@>=2.79.0 <3.0.0", "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz" }, + "rimraf": { + "version": "2.5.4", + "from": "rimraf@>=2.5.4 <2.6.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" + }, "semver": { "version": "5.3.0", "from": "semver@>=5.3.0 <5.4.0", @@ -6785,6 +9280,18 @@ "from": "object-assign@>=4.0.1 <5.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, + "object-component": { + "version": "0.0.3", + "from": "object-component@0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "dev": true + }, + "object-hash": { + "version": "1.1.5", + "from": "object-hash@>=1.1.4 <2.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.1.5.tgz", + "dev": true + }, "object-inspect": { "version": "0.4.0", "from": "object-inspect@>=0.4.0 <0.5.0", @@ -6830,6 +9337,12 @@ "from": "onetime@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" }, + "opener": { + "version": "1.4.3", + "from": "opener@>=1.4.2 <2.0.0", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "dev": true + }, "opn": { "version": "1.0.2", "from": "opn@>=1.0.0 <1.1.0", @@ -6845,6 +9358,20 @@ "from": "optional@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.3.tgz" }, + "optionator": { + "version": "0.8.2", + "from": "optionator@>=0.8.2 <0.9.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "dev": true, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, "options": { "version": "0.0.6", "from": "options@>=0.0.5", @@ -6859,7 +9386,7 @@ "ora": { "version": "1.1.0", "from": "ora@>=1.1.0 <2.0.0", - "resolved": "http://registry.npmjs.org/ora/-/ora-1.1.0.tgz" + "resolved": "https://registry.npmjs.org/ora/-/ora-1.1.0.tgz" }, "orchestrator": { "version": "0.3.8", @@ -6931,6 +9458,18 @@ } } }, + "p-limit": { + "version": "1.1.0", + "from": "p-limit@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "from": "p-locate@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "dev": true + }, "p-throttler": { "version": "0.1.0", "from": "p-throttler@0.1.0", @@ -6943,6 +9482,26 @@ } } }, + "pac-proxy-agent": { + "version": "1.0.0", + "from": "pac-proxy-agent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.0.0.tgz", + "dev": true + }, + "pac-resolver": { + "version": "1.2.6", + "from": "pac-resolver@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-1.2.6.tgz", + "dev": true, + "dependencies": { + "co": { + "version": "3.0.6", + "from": "co@>=3.0.6 <3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz", + "dev": true + } + } + }, "package-json": { "version": "0.2.0", "from": "package-json@>=0.2.0 <0.3.0", @@ -7027,6 +9586,24 @@ "from": "parse-passwd@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" }, + "parsejson": { + "version": "0.0.3", + "from": "parsejson@0.0.3", + "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", + "dev": true + }, + "parseqs": { + "version": "0.0.5", + "from": "parseqs@0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "dev": true + }, + "parseuri": { + "version": "0.0.5", + "from": "parseuri@0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "dev": true + }, "parseurl": { "version": "1.3.1", "from": "parseurl@>=1.3.1 <1.4.0", @@ -7035,12 +9612,12 @@ "passport": { "version": "0.3.2", "from": "passport@>=0.3.2 <0.4.0", - "resolved": "http://registry.npmjs.org/passport/-/passport-0.3.2.tgz" + "resolved": "https://registry.npmjs.org/passport/-/passport-0.3.2.tgz" }, "passport-facebook": { "version": "2.1.1", "from": "passport-facebook@>=2.0.0 <3.0.0", - "resolved": "http://registry.npmjs.org/passport-facebook/-/passport-facebook-2.1.1.tgz" + "resolved": "https://registry.npmjs.org/passport-facebook/-/passport-facebook-2.1.1.tgz" }, "passport-google-oauth20": { "version": "1.0.0", @@ -7077,6 +9654,17 @@ "from": "path-is-absolute@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" }, + "path-is-inside": { + "version": "1.0.2", + "from": "path-is-inside@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "from": "path-parse@>=1.0.5 <2.0.0", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz" + }, "path-platform": { "version": "0.11.15", "from": "path-platform@>=0.11.15 <0.12.0", @@ -7165,9 +9753,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz" }, "qs": { - "version": "6.3.0", + "version": "6.3.1", "from": "qs@>=6.3.0 <6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz" + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz" }, "request": { "version": "2.79.0", @@ -7246,22 +9834,28 @@ "pkginfo": { "version": "0.4.0", "from": "pkginfo@>=0.4.0 <0.5.0", - "resolved": "http://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" }, "plur": { "version": "2.1.2", "from": "plur@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz" }, + "pluralize": { + "version": "1.2.1", + "from": "pluralize@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "dev": true + }, "pngjs2": { "version": "1.2.0", "from": "pngjs2@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/pngjs2/-/pngjs2-1.2.0.tgz" }, "postcss": { - "version": "5.2.13", - "from": "postcss@>=5.2.13 <6.0.0", - "resolved": "http://registry.npmjs.org/postcss/-/postcss-5.2.13.tgz", + "version": "5.2.15", + "from": "postcss@>=5.2.15 <6.0.0", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.15.tgz", "dependencies": { "supports-color": { "version": "3.2.3", @@ -7278,12 +9872,12 @@ "postcss-colormin": { "version": "2.2.2", "from": "postcss-colormin@>=2.1.8 <3.0.0", - "resolved": "http://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz" + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz" }, "postcss-convert-values": { "version": "2.6.1", "from": "postcss-convert-values@>=2.3.4 <3.0.0", - "resolved": "http://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz" + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz" }, "postcss-discard-comments": { "version": "2.0.4", @@ -7291,9 +9885,9 @@ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz" }, "postcss-discard-duplicates": { - "version": "2.0.2", + "version": "2.1.0", "from": "postcss-discard-duplicates@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.2.tgz" + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz" }, "postcss-discard-empty": { "version": "2.1.0", @@ -7313,7 +9907,7 @@ "postcss-easy-import": { "version": "2.0.0", "from": "postcss-easy-import@>=2.0.0 <3.0.0", - "resolved": "http://registry.npmjs.org/postcss-easy-import/-/postcss-easy-import-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-easy-import/-/postcss-easy-import-2.0.0.tgz", "dependencies": { "is-extglob": { "version": "2.1.1", @@ -7324,11 +9918,6 @@ "version": "3.1.0", "from": "is-glob@>=3.1.0 <4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.17.4 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } } }, @@ -7340,22 +9929,22 @@ "postcss-import": { "version": "9.1.0", "from": "postcss-import@>=9.1.0 <10.0.0", - "resolved": "http://registry.npmjs.org/postcss-import/-/postcss-import-9.1.0.tgz" + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-9.1.0.tgz" }, "postcss-load-config": { "version": "1.2.0", "from": "postcss-load-config@>=1.1.0 <2.0.0", - "resolved": "http://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz" }, "postcss-load-options": { "version": "1.2.0", "from": "postcss-load-options@>=1.2.0 <2.0.0", - "resolved": "http://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz" }, "postcss-load-plugins": { "version": "2.3.0", "from": "postcss-load-plugins@>=2.3.0 <3.0.0", - "resolved": "http://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz" + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz" }, "postcss-merge-idents": { "version": "2.1.7", @@ -7368,9 +9957,9 @@ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz" }, "postcss-merge-rules": { - "version": "2.1.1", + "version": "2.1.2", "from": "postcss-merge-rules@>=2.0.3 <3.0.0", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.1.tgz" + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz" }, "postcss-message-helpers": { "version": "2.0.0", @@ -7472,9 +10061,9 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz" }, "postcss-selector-parser": { - "version": "2.2.2", + "version": "2.2.3", "from": "postcss-selector-parser@>=2.2.2 <3.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.2.tgz" + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz" }, "postcss-svgo": { "version": "2.1.6", @@ -7496,6 +10085,12 @@ "from": "postcss-zindex@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz" }, + "prelude-ls": { + "version": "1.1.2", + "from": "prelude-ls@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "dev": true + }, "prepend-http": { "version": "1.0.4", "from": "prepend-http@>=1.0.0 <2.0.0", @@ -7529,7 +10124,7 @@ "private": { "version": "0.1.7", "from": "private@>=0.1.6 <0.2.0", - "resolved": "http://registry.npmjs.org/private/-/private-0.1.7.tgz" + "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz" }, "process": { "version": "0.11.9", @@ -7571,11 +10166,69 @@ "from": "protocolify@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/protocolify/-/protocolify-1.0.3.tgz" }, + "protractor": { + "version": "3.3.0", + "from": "protractor@>=3.1.1 <4.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-3.3.0.tgz", + "dev": true, + "dependencies": { + "bl": { + "version": "1.0.3", + "from": "bl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "dev": true + }, + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.0 <6.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "dev": true + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@~1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "dev": true + }, + "qs": { + "version": "5.2.1", + "from": "qs@>=5.2.0 <5.3.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", + "dev": true + }, + "request": { + "version": "2.67.0", + "from": "request@>=2.67.0 <2.68.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", + "dev": true + }, + "tough-cookie": { + "version": "2.2.2", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "dev": true + } + } + }, "proxy-addr": { "version": "1.1.3", "from": "proxy-addr@>=1.1.3 <1.2.0", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.3.tgz" }, + "proxy-agent": { + "version": "2.0.0", + "from": "proxy-agent@>=2.0.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz", + "dev": true, + "dependencies": { + "lru-cache": { + "version": "2.6.5", + "from": "lru-cache@>=2.6.5 <2.7.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz", + "dev": true + } + } + }, "prr": { "version": "0.0.0", "from": "prr@>=0.0.0 <0.1.0", @@ -7599,7 +10252,7 @@ "pug": { "version": "2.0.0-beta11", "from": "pug@>=2.0.0-beta11 <3.0.0", - "resolved": "http://registry.npmjs.org/pug/-/pug-2.0.0-beta11.tgz" + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta11.tgz" }, "pug-attrs": { "version": "2.0.2", @@ -7624,7 +10277,7 @@ "acorn": { "version": "4.0.11", "from": "acorn@>=4.0.4 <5.0.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" } } }, @@ -7643,7 +10296,7 @@ "pug-filters": { "version": "2.1.1", "from": "pug-filters@>=2.1.1 <3.0.0", - "resolved": "http://registry.npmjs.org/pug-filters/-/pug-filters-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.1.tgz", "dependencies": { "asap": { "version": "2.0.5", @@ -7656,9 +10309,9 @@ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "clean-css": { - "version": "3.4.24", + "version": "3.4.25", "from": "clean-css@>=3.3.0 <4.0.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.24.tgz" + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz" }, "commander": { "version": "2.8.1", @@ -7681,9 +10334,9 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" }, "uglify-js": { - "version": "2.7.5", + "version": "2.8.0", "from": "uglify-js@>=2.6.1 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz", "dependencies": { "source-map": { "version": "0.5.6", @@ -7697,7 +10350,7 @@ "pug-lexer": { "version": "3.0.0", "from": "pug-lexer@>=3.0.0 <4.0.0", - "resolved": "http://registry.npmjs.org/pug-lexer/-/pug-lexer-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-3.0.0.tgz", "dependencies": { "character-parser": { "version": "2.2.0", @@ -7709,12 +10362,12 @@ "pug-linker": { "version": "2.0.2", "from": "pug-linker@>=2.0.2 <3.0.0", - "resolved": "http://registry.npmjs.org/pug-linker/-/pug-linker-2.0.2.tgz" + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-2.0.2.tgz" }, "pug-load": { "version": "2.0.5", "from": "pug-load@>=2.0.5 <3.0.0", - "resolved": "http://registry.npmjs.org/pug-load/-/pug-load-2.0.5.tgz" + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.5.tgz" }, "pug-parser": { "version": "2.0.2", @@ -7734,7 +10387,7 @@ "pug-walk": { "version": "1.1.1", "from": "pug-walk@>=1.1.1 <2.0.0", - "resolved": "http://registry.npmjs.org/pug-walk/-/pug-walk-1.1.1.tgz" + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.1.tgz" }, "pump": { "version": "0.3.5", @@ -7756,14 +10409,7 @@ "push-notify": { "version": "1.2.0", "from": "habitrpg/push-notify#v1.2.0", - "resolved": "git://github.com/habitrpg/push-notify.git#6bc2b5fdb1bdc9649b9ec1964d79ca50187fc8a9", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.13.1 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "git://github.com/habitrpg/push-notify.git#6bc2b5fdb1bdc9649b9ec1964d79ca50187fc8a9" }, "pusher": { "version": "1.5.1", @@ -7775,15 +10421,21 @@ "from": "q@>=1.4.1 <2.0.0", "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz" }, + "qjobs": { + "version": "1.1.5", + "from": "qjobs@>=1.1.4 <2.0.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz", + "dev": true + }, "qs": { - "version": "6.2.1", + "version": "6.2.2", "from": "qs@>=6.2.0 <6.3.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz" + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.2.tgz" }, "query-string": { "version": "4.3.2", "from": "query-string@>=4.1.0 <5.0.0", - "resolved": "http://registry.npmjs.org/query-string/-/query-string-4.3.2.tgz" + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.2.tgz" }, "querystring": { "version": "0.2.0", @@ -7827,6 +10479,12 @@ } } }, + "ramda": { + "version": "0.22.1", + "from": "ramda@>=0.22.1 <0.23.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.22.1.tgz", + "dev": true + }, "randomatic": { "version": "1.1.6", "from": "randomatic@>=1.1.3 <2.0.0", @@ -7848,9 +10506,9 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz" }, "rc": { - "version": "1.1.6", + "version": "1.1.7", "from": "rc@>=1.1.6 <1.2.0", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", "dependencies": { "minimist": { "version": "1.2.0", @@ -7916,6 +10574,26 @@ } } }, + "recast": { + "version": "0.10.33", + "from": "recast@0.10.33", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "dev": true, + "dependencies": { + "ast-types": { + "version": "0.8.12", + "from": "ast-types@0.8.12", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "dev": true + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "from": "esprima-fb@~15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "dev": true + } + } + }, "rechoir": { "version": "0.6.2", "from": "rechoir@>=0.6.2 <0.7.0", @@ -7946,10 +10624,30 @@ "from": "regenerate@>=1.2.1 <2.0.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz" }, + "regenerator": { + "version": "0.8.46", + "from": "regenerator@>=0.8.13 <0.9.0", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.46.tgz", + "dev": true, + "dependencies": { + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "from": "esprima-fb@>=15001.1001.0-dev-harmony-fb <15001.1002.0", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "dev": true + }, + "regenerator-runtime": { + "version": "0.9.6", + "from": "regenerator-runtime@>=0.9.5 <0.10.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", + "dev": true + } + } + }, "regenerator-runtime": { - "version": "0.10.1", + "version": "0.10.3", "from": "regenerator-runtime@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz" }, "regenerator-transform": { "version": "0.9.8", @@ -8071,6 +10769,12 @@ } } }, + "require-again": { + "version": "2.0.0", + "from": "require-again@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/require-again/-/require-again-2.0.0.tgz", + "dev": true + }, "require-directory": { "version": "2.1.1", "from": "require-directory@>=2.1.1 <3.0.0", @@ -8086,10 +10790,30 @@ "from": "require-main-filename@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" }, + "require-uncached": { + "version": "1.0.3", + "from": "require-uncached@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "dev": true, + "dependencies": { + "resolve-from": { + "version": "1.0.1", + "from": "resolve-from@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "dev": true + } + } + }, + "requires-port": { + "version": "1.0.0", + "from": "requires-port@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "dev": true + }, "resolve": { - "version": "1.2.0", + "version": "1.3.2", "from": "resolve@>=1.1.4 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz" }, "resolve-dir": { "version": "0.1.1", @@ -8109,12 +10833,12 @@ "restore-cursor": { "version": "2.0.0", "from": "restore-cursor@>=2.0.0 <3.0.0", - "resolved": "http://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "dependencies": { "onetime": { "version": "2.0.0", "from": "onetime@>=2.0.0 <3.0.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.0.tgz" } } }, @@ -8123,15 +10847,21 @@ "from": "retry@>=0.9.0 <0.10.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.9.0.tgz" }, + "rewire": { + "version": "2.5.2", + "from": "rewire@>=2.3.3 <3.0.0", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz", + "dev": true + }, "right-align": { "version": "0.1.3", "from": "right-align@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" }, "rimraf": { - "version": "2.5.4", + "version": "2.6.1", "from": "rimraf@>=2.4.3 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", "dependencies": { "glob": { "version": "7.1.1", @@ -8145,6 +10875,12 @@ "from": "ripemd160@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz" }, + "run-async": { + "version": "0.1.0", + "from": "run-async@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "dev": true + }, "run-sequence": { "version": "1.2.2", "from": "run-sequence@>=1.1.4 <2.0.0", @@ -8155,6 +10891,12 @@ "from": "rx@>=2.2.27 <3.0.0", "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz" }, + "rx-lite": { + "version": "3.1.2", + "from": "rx-lite@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "dev": true + }, "s3-upload-stream": { "version": "1.0.7", "from": "s3-upload-stream@>=1.0.6 <2.0.0", @@ -8165,6 +10907,18 @@ "from": "safe-buffer@>=5.0.1 <6.0.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" }, + "samsam": { + "version": "1.1.2", + "from": "samsam@1.1.2", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "dev": true + }, + "saucelabs": { + "version": "1.0.1", + "from": "saucelabs@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.0.1.tgz", + "dev": true + }, "save-pixels": { "version": "2.2.1", "from": "save-pixels@>=2.2.0 <2.3.0", @@ -8204,10 +10958,42 @@ } } }, + "selenium-server": { + "version": "3.1.0", + "from": "selenium-server@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/selenium-server/-/selenium-server-3.1.0.tgz", + "dev": true + }, + "selenium-webdriver": { + "version": "2.52.0", + "from": "selenium-webdriver@2.52.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.52.0.tgz", + "dev": true, + "dependencies": { + "adm-zip": { + "version": "0.4.4", + "from": "adm-zip@0.4.4", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "dev": true + }, + "tmp": { + "version": "0.0.24", + "from": "tmp@0.0.24", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", + "dev": true + }, + "xml2js": { + "version": "0.4.4", + "from": "xml2js@0.4.4", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz", + "dev": true + } + } + }, "semantic-ui-less": { - "version": "2.2.4", + "version": "2.2.9", "from": "semantic-ui-less@>=2.2.4 <2.3.0", - "resolved": "https://registry.npmjs.org/semantic-ui-less/-/semantic-ui-less-2.2.4.tgz" + "resolved": "https://registry.npmjs.org/semantic-ui-less/-/semantic-ui-less-2.2.9.tgz" }, "semver": { "version": "5.0.3", @@ -8276,9 +11062,21 @@ "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" }, "serve-favicon": { - "version": "2.3.2", + "version": "2.4.1", "from": "serve-favicon@>=2.3.0 <3.0.0", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz" + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.4.1.tgz", + "dependencies": { + "etag": { + "version": "1.8.0", + "from": "etag@>=1.8.0 <1.9.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz" + }, + "fresh": { + "version": "0.5.0", + "from": "fresh@0.5.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz" + } + } }, "serve-static": { "version": "1.11.2", @@ -8320,6 +11118,18 @@ "from": "shasum@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz" }, + "shebang-command": { + "version": "1.2.0", + "from": "shebang-command@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "dev": true + }, + "shebang-regex": { + "version": "1.0.0", + "from": "shebang-regex@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "dev": true + }, "shell-quote": { "version": "1.4.3", "from": "shell-quote@>=1.4.1 <1.5.0", @@ -8347,11 +11157,55 @@ "from": "signal-exit@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" }, + "simple-fmt": { + "version": "0.1.0", + "from": "simple-fmt@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", + "dev": true + }, + "simple-is": { + "version": "0.2.0", + "from": "simple-is@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", + "dev": true + }, + "sinon": { + "version": "1.17.7", + "from": "sinon@>=1.17.2 <2.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", + "dev": true, + "dependencies": { + "lolex": { + "version": "1.3.2", + "from": "lolex@1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "dev": true + } + } + }, + "sinon-chai": { + "version": "2.8.0", + "from": "sinon-chai@>=2.8.0 <3.0.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.8.0.tgz", + "dev": true + }, + "sinon-stub-promise": { + "version": "4.0.0", + "from": "sinon-stub-promise@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/sinon-stub-promise/-/sinon-stub-promise-4.0.0.tgz", + "dev": true + }, "slash": { "version": "1.0.0", "from": "slash@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" }, + "slice-ansi": { + "version": "0.0.4", + "from": "slice-ansi@0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "dev": true + }, "sliced": { "version": "1.0.1", "from": "sliced@1.0.1", @@ -8377,11 +11231,97 @@ "from": "sntp@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, + "socket.io": { + "version": "1.7.3", + "from": "socket.io@1.7.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "from": "object-assign@4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "0.5.0", + "from": "socket.io-adapter@0.5.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + } + } + }, + "socket.io-client": { + "version": "1.7.3", + "from": "socket.io-client@1.7.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "from": "socket.io-parser@2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", + "dev": true, + "dependencies": { + "component-emitter": { + "version": "1.1.2", + "from": "component-emitter@1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "dev": true + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + } + } + }, "socks": { "version": "1.1.9", "from": "socks@1.1.9", "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz" }, + "socks-proxy-agent": { + "version": "2.0.0", + "from": "socks-proxy-agent@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.0.0.tgz", + "dev": true + }, "sort-keys": { "version": "1.1.2", "from": "sort-keys@>=1.0.0 <2.0.0", @@ -8389,7 +11329,7 @@ }, "source-list-map": { "version": "0.1.8", - "from": "source-list-map@>=0.1.4 <0.2.0", + "from": "source-list-map@>=0.1.7 <0.2.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz" }, "source-map": { @@ -8499,6 +11439,12 @@ } } }, + "stable": { + "version": "0.1.5", + "from": "stable@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.5.tgz", + "dev": true + }, "stack-trace": { "version": "0.0.9", "from": "stack-trace@>=0.0.0 <0.1.0", @@ -8613,9 +11559,9 @@ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.6.3.tgz", "dependencies": { "readable-stream": { - "version": "2.2.2", + "version": "2.2.3", "from": "readable-stream@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz" } } }, @@ -8629,6 +11575,18 @@ "from": "stream-splicer@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz" }, + "stream-to": { + "version": "0.2.2", + "from": "stream-to@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", + "dev": true + }, + "stream-to-buffer": { + "version": "0.1.0", + "from": "stream-to-buffer@0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", + "dev": true + }, "strict-uri-encode": { "version": "1.1.0", "from": "strict-uri-encode@>=1.0.0 <2.0.0", @@ -8666,6 +11624,18 @@ "from": "stringify-object@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-1.0.1.tgz" }, + "stringmap": { + "version": "0.2.2", + "from": "stringmap@>=0.2.2 <0.3.0", + "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", + "dev": true + }, + "stringset": { + "version": "0.2.1", + "from": "stringset@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", + "dev": true + }, "stringstream": { "version": "0.0.5", "from": "stringstream@>=0.0.4 <0.1.0", @@ -8714,9 +11684,9 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" }, "strip-json-comments": { - "version": "1.0.4", - "from": "strip-json-comments@>=1.0.4 <1.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" + "version": "2.0.1", + "from": "strip-json-comments@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" }, "strip-outer": { "version": "1.0.0", @@ -8795,9 +11765,9 @@ "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz" }, "superagent": { - "version": "3.4.3", + "version": "3.5.0", "from": "superagent@>=3.4.3 <4.0.0", - "resolved": "http://registry.npmjs.org/superagent/-/superagent-3.4.3.tgz", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.5.0.tgz", "dependencies": { "form-data": { "version": "2.1.2", @@ -8811,6 +11781,12 @@ } } }, + "superagent-defaults": { + "version": "0.1.14", + "from": "superagent-defaults@>=0.1.13 <0.2.0", + "resolved": "https://registry.npmjs.org/superagent-defaults/-/superagent-defaults-0.1.14.tgz", + "dev": true + }, "supports-color": { "version": "2.0.0", "from": "supports-color@>=2.0.0 <3.0.0", @@ -8839,7 +11815,7 @@ "sax": { "version": "1.2.2", "from": "sax@>=1.2.1 <1.3.0", - "resolved": "http://registry.npmjs.org/sax/-/sax-1.2.2.tgz" + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz" } } }, @@ -8855,6 +11831,26 @@ } } }, + "table": { + "version": "3.8.3", + "from": "table@>=3.7.8 <4.0.0", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "dev": true + }, + "string-width": { + "version": "2.0.0", + "from": "string-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", + "dev": true + } + } + }, "tapable": { "version": "0.2.6", "from": "tapable@>=0.2.5 <0.3.0", @@ -8880,6 +11876,11 @@ "from": "debug@>=2.2.0 <2.3.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" }, + "glob": { + "version": "7.1.1", + "from": "glob@>=7.0.5 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" + }, "ms": { "version": "0.7.1", "from": "ms@0.7.1", @@ -8894,6 +11895,11 @@ "version": "2.1.5", "from": "readable-stream@>=2.1.4 <2.2.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" + }, + "rimraf": { + "version": "2.5.4", + "from": "rimraf@>=2.5.1 <2.6.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" } } }, @@ -8938,6 +11944,18 @@ } } }, + "test-exclude": { + "version": "4.0.0", + "from": "test-exclude@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.0.0.tgz", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "from": "text-table@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "dev": true + }, "throttleit": { "version": "0.0.2", "from": "throttleit@>=0.0.2 <0.1.0", @@ -8954,9 +11972,9 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "dependencies": { "readable-stream": { - "version": "2.2.2", + "version": "2.2.3", "from": "readable-stream@>=2.1.5 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz" } } }, @@ -8970,6 +11988,12 @@ "from": "through2-filter@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz" }, + "thunkify": { + "version": "2.1.2", + "from": "thunkify@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "dev": true + }, "tildify": { "version": "1.2.0", "from": "tildify@>=1.0.0 <2.0.0", @@ -9022,6 +12046,12 @@ "from": "to-absolute-glob@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz" }, + "to-array": { + "version": "0.1.4", + "from": "to-array@0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "dev": true + }, "to-arraybuffer": { "version": "1.0.1", "from": "to-arraybuffer@>=1.0.0 <2.0.0", @@ -9032,6 +12062,12 @@ "from": "to-fast-properties@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz" }, + "to-iso-string": { + "version": "0.0.2", + "from": "to-iso-string@0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "dev": true + }, "token-stream": { "version": "0.0.1", "from": "token-stream@0.0.1", @@ -9040,7 +12076,7 @@ "toposort": { "version": "1.0.3", "from": "toposort@>=1.0.0 <2.0.0", - "resolved": "http://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz" + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz" }, "touch": { "version": "0.0.2", @@ -9119,7 +12155,19 @@ "trim-right": { "version": "1.0.1", "from": "trim-right@>=1.0.1 <2.0.0", - "resolved": "http://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" + }, + "tryit": { + "version": "1.0.3", + "from": "tryit@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "dev": true + }, + "tryor": { + "version": "0.1.2", + "from": "tryor@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", + "dev": true }, "tty-browserify": { "version": "0.0.0", @@ -9137,6 +12185,18 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "optional": true }, + "type-check": { + "version": "0.3.2", + "from": "type-check@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "dev": true + }, + "type-detect": { + "version": "1.0.0", + "from": "type-detect@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "dev": true + }, "type-is": { "version": "1.6.14", "from": "type-is@>=1.6.14 <1.7.0", @@ -9357,9 +12417,21 @@ "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz" }, "url-loader": { - "version": "0.5.7", + "version": "0.5.8", "from": "url-loader@>=0.5.7 <0.6.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.7.tgz" + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.8.tgz", + "dependencies": { + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz" + }, + "mime": { + "version": "1.3.4", + "from": "mime@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" + } + } }, "url-parse-lax": { "version": "1.0.0", @@ -9397,7 +12469,7 @@ "useragent": { "version": "2.1.12", "from": "useragent@>=2.1.9 <3.0.0", - "resolved": "http://registry.npmjs.org/useragent/-/useragent-2.1.12.tgz", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.1.12.tgz", "dependencies": { "lru-cache": { "version": "2.2.4", @@ -9594,6 +12666,50 @@ "from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" }, + "vinyl-transform": { + "version": "1.0.0", + "from": "vinyl-transform@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-transform/-/vinyl-transform-1.0.0.tgz", + "dev": true, + "dependencies": { + "bl": { + "version": "0.7.0", + "from": "bl@>=0.7.0 <0.8.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.7.0.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "from": "object-keys@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dev": true + }, + "through2": { + "version": "0.4.2", + "from": "through2@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "dev": true + }, + "xtend": { + "version": "2.1.2", + "from": "xtend@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "dev": true + } + } + }, "vm-browserify": { "version": "0.0.4", "from": "vm-browserify@>=0.0.1 <0.1.0", @@ -9605,20 +12721,25 @@ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" }, "vue": { - "version": "2.1.10", + "version": "2.2.1", "from": "vue@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.1.10.tgz" + "resolved": "https://registry.npmjs.org/vue/-/vue-2.2.1.tgz" }, "vue-hot-reload-api": { - "version": "2.0.8", + "version": "2.0.11", "from": "vue-hot-reload-api@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.0.8.tgz" + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.0.11.tgz" }, "vue-loader": { - "version": "11.0.0", + "version": "11.1.3", "from": "vue-loader@>=11.0.0 <12.0.0", - "resolved": "http://registry.npmjs.org/vue-loader/-/vue-loader-11.0.0.tgz", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-11.1.3.tgz", "dependencies": { + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz" + }, "lru-cache": { "version": "4.0.2", "from": "lru-cache@>=4.0.1 <5.0.0", @@ -9627,24 +12748,31 @@ } }, "vue-router": { - "version": "2.2.1", + "version": "2.3.0", "from": "vue-router@>=2.0.0-rc.5 <3.0.0", - "resolved": "http://registry.npmjs.org/vue-router/-/vue-router-2.2.1.tgz" + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.3.0.tgz" }, "vue-style-loader": { - "version": "2.0.0", + "version": "2.0.3", "from": "vue-style-loader@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-2.0.3.tgz", + "dependencies": { + "loader-utils": { + "version": "1.0.2", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.0.2.tgz" + } + } }, "vue-template-compiler": { - "version": "2.1.10", + "version": "2.2.1", "from": "vue-template-compiler@>=2.1.10 <3.0.0", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.1.10.tgz" + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.2.1.tgz" }, "vue-template-es2015-compiler": { - "version": "1.5.0", + "version": "1.5.1", "from": "vue-template-es2015-compiler@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.0.tgz" + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.1.tgz" }, "w3counter": { "version": "3.0.1", @@ -9657,56 +12785,46 @@ "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz" }, "watchpack": { - "version": "1.2.1", + "version": "1.3.1", "from": "watchpack@>=1.2.0 <2.0.0", - "resolved": "http://registry.npmjs.org/watchpack/-/watchpack-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.3.1.tgz", "dependencies": { "async": { - "version": "2.1.4", + "version": "2.1.5", "from": "async@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz" - }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.14.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz" } } }, "webpack": { "version": "2.2.1", "from": "webpack@>=2.2.1 <3.0.0", - "resolved": "http://registry.npmjs.org/webpack/-/webpack-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.2.1.tgz", "dependencies": { "acorn": { "version": "4.0.11", "from": "acorn@>=4.0.4 <5.0.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz" }, "async": { - "version": "2.1.4", + "version": "2.1.5", "from": "async@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz" + "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz" }, "camelcase": { "version": "1.2.1", "from": "camelcase@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.14.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - }, "supports-color": { "version": "3.2.3", "from": "supports-color@>=3.1.0 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" }, "uglify-js": { - "version": "2.7.5", + "version": "2.8.0", "from": "uglify-js@>=2.7.5 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.0.tgz", "dependencies": { "async": { "version": "0.2.10", @@ -9739,17 +12857,56 @@ } } }, + "webpack-bundle-analyzer": { + "version": "2.3.0", + "from": "webpack-bundle-analyzer@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.3.0.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "4.0.11", + "from": "acorn@>=4.0.11 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.11.tgz", + "dev": true + }, + "ejs": { + "version": "2.5.6", + "from": "ejs@>=2.5.5 <3.0.0", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz", + "dev": true + }, + "gzip-size": { + "version": "3.0.0", + "from": "gzip-size@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "1.10.1", + "from": "webpack-dev-middleware@>=1.10.0 <2.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz", + "dev": true, + "dependencies": { + "mime": { + "version": "1.3.4", + "from": "mime@>=1.3.4 <2.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "dev": true + } + } + }, + "webpack-hot-middleware": { + "version": "2.17.1", + "from": "webpack-hot-middleware@>=2.6.1 <3.0.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.17.1.tgz", + "dev": true + }, "webpack-merge": { "version": "2.6.1", "from": "webpack-merge@>=2.6.1 <3.0.0", - "resolved": "http://registry.npmjs.org/webpack-merge/-/webpack-merge-2.6.1.tgz", - "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.17.4 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-2.6.1.tgz" }, "webpack-sources": { "version": "0.1.4", @@ -9840,6 +12997,12 @@ "from": "wrench@>=1.4.2 <1.5.0", "resolved": "https://registry.npmjs.org/wrench/-/wrench-1.4.4.tgz" }, + "write": { + "version": "0.2.1", + "from": "write@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "dev": true + }, "write-file-atomic": { "version": "1.3.1", "from": "write-file-atomic@>=1.1.2 <2.0.0", @@ -9848,7 +13011,13 @@ "ws": { "version": "1.1.2", "from": "ws@>=1.0.1 <2.0.0", - "resolved": "http://registry.npmjs.org/ws/-/ws-1.1.2.tgz" + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz" + }, + "wtf-8": { + "version": "1.0.0", + "from": "wtf-8@1.0.0", + "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", + "dev": true }, "xdg-basedir": { "version": "1.0.1", @@ -9870,11 +13039,6 @@ "from": "xml2js@>=0.4.4 <0.5.0", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", "dependencies": { - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - }, "xmlbuilder": { "version": "4.2.1", "from": "xmlbuilder@>=4.1.0 <5.0.0", @@ -9892,11 +13056,23 @@ "from": "xmldom@0.1.19", "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz" }, + "xmlhttprequest-ssl": { + "version": "1.5.3", + "from": "xmlhttprequest-ssl@1.5.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", + "dev": true + }, "xpath.js": { "version": "1.0.7", "from": "xpath.js@>=0.0.3", "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.0.7.tgz" }, + "xregexp": { + "version": "2.0.0", + "from": "xregexp@2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "dev": true + }, "xtend": { "version": "4.0.1", "from": "xtend@>=4.0.0 <5.0.0", @@ -9940,6 +13116,12 @@ "version": "2.7.0", "from": "yauzl@>=2.2.1 <3.0.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.7.0.tgz" + }, + "yeast": { + "version": "0.1.2", + "from": "yeast@0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "dev": true } } } diff --git a/package.json b/package.json index 90b6ae405c..5189c1a2d1 100644 --- a/package.json +++ b/package.json @@ -72,9 +72,7 @@ "js2xmlparser": "~1.0.0", "less": "^2.7.1", "less-loader": "^2.2.3", - "lodash": "^3.10.1", - "lodash.pickby": "^4.2.0", - "lodash.setwith": "^4.2.0", + "lodash": "^4.17.4", "merge-stream": "^1.0.0", "method-override": "^2.3.5", "moment": "^2.13.0", @@ -172,7 +170,7 @@ "csv": "~0.3.6", "deep-diff": "~0.1.4", "eslint": "^3.0.0", - "eslint-config-habitrpg": "^2.0.0", + "eslint-config-habitrpg": "^3.0.0", "eslint-friendly-formatter": "^2.0.5", "eslint-loader": "^1.3.0", "eslint-plugin-html": "^2.0.0", diff --git a/test/api/v3/unit/libs/cron.test.js b/test/api/v3/unit/libs/cron.test.js index ee79dd0e7c..4e8835988a 100644 --- a/test/api/v3/unit/libs/cron.test.js +++ b/test/api/v3/unit/libs/cron.test.js @@ -6,7 +6,6 @@ import requireAgain from 'require-again'; import { recoverCron, cron } from '../../../../../website/server/libs/cron'; import { model as User } from '../../../../../website/server/models/user'; import * as Tasks from '../../../../../website/server/models/task'; -import { clone } from 'lodash'; import common from '../../../../../website/common'; import analytics from '../../../../../website/server/libs/analyticsService'; @@ -594,7 +593,7 @@ describe('cron', () => { tasksByType.dailys[0].completed = true; tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1}); - let previousBuffs = clone(user.stats.buffs); + let previousBuffs = user.stats.buffs.toObject(); cron({user, tasksByType, daysMissed, analytics}); @@ -659,7 +658,7 @@ describe('cron', () => { tasksByType.dailys[0].completed = false; tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1}); - let previousBuffs = clone(user.stats.buffs); + let previousBuffs = user.stats.buffs.toObject(); cronOverride({user, tasksByType, daysMissed, analytics}); diff --git a/test/api/v3/unit/libs/payments.test.js b/test/api/v3/unit/libs/payments.test.js index 7ba4fbc1a5..a1a2b19b28 100644 --- a/test/api/v3/unit/libs/payments.test.js +++ b/test/api/v3/unit/libs/payments.test.js @@ -485,7 +485,6 @@ describe('payments/index', () => { sandbox.spy(user.purchased.plan.mysteryItems, 'push'); data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } }; - await api.createSubscription(data); expect(user.purchased.plan.mysteryItems.push).to.be.calledOnce; diff --git a/test/api/v3/unit/middlewares/cronMiddleware.js b/test/api/v3/unit/middlewares/cronMiddleware.js index db3741b9cc..107abd9c13 100644 --- a/test/api/v3/unit/middlewares/cronMiddleware.js +++ b/test/api/v3/unit/middlewares/cronMiddleware.js @@ -4,7 +4,6 @@ import { generateTodo, generateDaily, } from '../../../../helpers/api-unit.helper'; -import { cloneDeep } from 'lodash'; import cronMiddleware from '../../../../../website/server/middlewares/cron'; import moment from 'moment'; import { model as User } from '../../../../../website/server/models/user'; @@ -60,7 +59,7 @@ describe('cron middleware', () => { cronMiddleware(req, res, done); }); - it('should clear todos older than 30 days for free users', async (done) => { + it('should clear todos older than 30 days for free users', async () => { user.lastCron = moment(new Date()).subtract({days: 2}); let task = generateTodo(user); task.dateCompleted = moment(new Date()).subtract({days: 31}); @@ -68,16 +67,21 @@ describe('cron middleware', () => { await task.save(); await user.save(); - cronMiddleware(req, res, (err) => { - Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) { - expect(secondErr).to.not.exist; - expect(taskFound).to.not.exist; - done(err); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + + Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) { + if (secondErr) return reject(err); + expect(secondErr).to.not.exist; + expect(taskFound).to.not.exist; + resolve(); + }); }); }); }); - it('should not clear todos older than 30 days for subscribed users', async (done) => { + it('should not clear todos older than 30 days for subscribed users', async () => { user.purchased.plan.customerId = 'subscribedId'; user.purchased.plan.dateUpdated = moment('012013', 'MMYYYY'); user.lastCron = moment(new Date()).subtract({days: 2}); @@ -87,16 +91,20 @@ describe('cron middleware', () => { await task.save(); await user.save(); - cronMiddleware(req, res, (err) => { - Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) { - expect(secondErr).to.not.exist; - expect(taskFound).to.exist; - done(err); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) { + if (secondErr) return reject(secondErr); + expect(secondErr).to.not.exist; + expect(taskFound).to.exist; + resolve(); + }); }); }); }); - it('should clear todos older than 90 days for subscribed users', async (done) => { + it('should clear todos older than 90 days for subscribed users', async () => { user.purchased.plan.customerId = 'subscribedId'; user.purchased.plan.dateUpdated = moment('012013', 'MMYYYY'); user.lastCron = moment(new Date()).subtract({days: 2}); @@ -107,39 +115,49 @@ describe('cron middleware', () => { await task.save(); await user.save(); - cronMiddleware(req, res, (err) => { - Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) { - expect(secondErr).to.not.exist; - expect(taskFound).to.not.exist; - done(err); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) { + if (secondErr) return reject(secondErr); + expect(secondErr).to.not.exist; + expect(taskFound).to.not.exist; + resolve(); + }); }); }); }); - it('should call next if user was not modified after cron', async (done) => { + it('should call next if user was not modified after cron', async () => { let hpBefore = user.stats.hp; user.lastCron = moment(new Date()).subtract({days: 2}); await user.save(); - cronMiddleware(req, res, (err) => { - expect(hpBefore).to.equal(user.stats.hp); - done(err); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + expect(hpBefore).to.equal(user.stats.hp); + resolve(); + }); }); }); - it('updates user.auth.timestamps.loggedin and lastCron', async (done) => { + it('updates user.auth.timestamps.loggedin and lastCron', async () => { user.lastCron = moment(new Date()).subtract({days: 2}); let now = new Date(); await user.save(); - cronMiddleware(req, res, (err) => { - expect(moment(now).isSame(user.lastCron, 'day')); - expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day')); - done(err); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + expect(moment(now).isSame(user.lastCron, 'day')); + expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day')); + resolve(); + }); }); }); - it('does damage for missing dailies', async (done) => { + it('does damage for missing dailies', async () => { let hpBefore = user.stats.hp; user.lastCron = moment(new Date()).subtract({days: 2}); let daily = generateDaily(user); @@ -147,28 +165,34 @@ describe('cron middleware', () => { await daily.save(); await user.save(); - cronMiddleware(req, res, (err) => { - expect(user.stats.hp).to.be.lessThan(hpBefore); - done(err); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + expect(user.stats.hp).to.be.lessThan(hpBefore); + resolve(); + }); }); }); - it('updates tasks', async (done) => { + it('updates tasks', async () => { user.lastCron = moment(new Date()).subtract({days: 2}); let todo = generateTodo(user); let todoValueBefore = todo.value; await user.save(); - cronMiddleware(req, res, () => { - Tasks.Task.findOne({_id: todo._id}, function (err, todoFound) { - expect(err).to.not.exist; - expect(todoFound.value).to.be.lessThan(todoValueBefore); - done(); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + Tasks.Task.findOne({_id: todo._id}, function (secondErr, todoFound) { + if (secondErr) return reject(secondErr); + expect(todoFound.value).to.be.lessThan(todoValueBefore); + resolve(); + }); }); }); }); - it('applies quest progress', async (done) => { + it('applies quest progress', async () => { let hpBefore = user.stats.hp; user.lastCron = moment(new Date()).subtract({days: 2}); let daily = generateDaily(user); @@ -192,17 +216,20 @@ describe('cron middleware', () => { party.startQuest(user); - cronMiddleware(req, res, () => { - expect(user.stats.hp).to.be.lessThan(hpBefore); - done(); + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + expect(user.stats.hp).to.be.lessThan(hpBefore); + resolve(); + }); }); }); - it('recovers from failed cron and does not error when user is already cronning', async (done) => { + it('recovers from failed cron and does not error when user is already cronning', async () => { user.lastCron = moment(new Date()).subtract({days: 2}); await user.save(); - let updatedUser = cloneDeep(user); + let updatedUser = user.toObject(); updatedUser.nMatched = 0; sandbox.spy(cronLib, 'recoverCron'); @@ -215,10 +242,13 @@ describe('cron middleware', () => { }, }); - cronMiddleware(req, res, () => { - expect(cronLib.recoverCron).to.be.calledOnce; + await new Promise((resolve, reject) => { + cronMiddleware(req, res, (err) => { + if (err) return reject(err); + expect(cronLib.recoverCron).to.be.calledOnce; - done(); + resolve(); + }); }); }); }); diff --git a/test/api/v3/unit/models/group.test.js b/test/api/v3/unit/models/group.test.js index 485b516fcf..bbb656cb97 100644 --- a/test/api/v3/unit/models/group.test.js +++ b/test/api/v3/unit/models/group.test.js @@ -1045,7 +1045,7 @@ describe('Group Model', () => { expect(email.sendTxn).to.be.calledOnce; - let memberIds = _.pluck(email.sendTxn.args[0][0], '_id'); + let memberIds = _.map(email.sendTxn.args[0][0], '_id'); let typeOfEmail = email.sendTxn.args[0][1]; expect(memberIds).to.have.a.lengthOf(2); @@ -1068,7 +1068,7 @@ describe('Group Model', () => { expect(email.sendTxn).to.be.calledOnce; - let memberIds = _.pluck(email.sendTxn.args[0][0], '_id'); + let memberIds = _.map(email.sendTxn.args[0][0], '_id'); expect(memberIds).to.have.a.lengthOf(1); expect(memberIds).to.not.include(participatingMember._id); @@ -1089,7 +1089,7 @@ describe('Group Model', () => { expect(email.sendTxn).to.be.calledOnce; - let memberIds = _.pluck(email.sendTxn.args[0][0], '_id'); + let memberIds = _.map(email.sendTxn.args[0][0], '_id'); expect(memberIds).to.have.a.lengthOf(1); expect(memberIds).to.not.include(participatingMember._id); diff --git a/test/client-old/spec/controllers/inventoryCtrlSpec.js b/test/client-old/spec/controllers/inventoryCtrlSpec.js index aca15ddb2a..2b6c8c79d3 100644 --- a/test/client-old/spec/controllers/inventoryCtrlSpec.js +++ b/test/client-old/spec/controllers/inventoryCtrlSpec.js @@ -30,7 +30,9 @@ describe('Inventory Controller', function() { suppressModals: {} }, purchased: { - plan: {} + plan: { + mysteryItems: [], + }, }, }); diff --git a/test/common/ops/buyArmoire.js b/test/common/ops/buyArmoire.js index 9b23dfe135..22dcc8a442 100644 --- a/test/common/ops/buyArmoire.js +++ b/test/common/ops/buyArmoire.js @@ -15,13 +15,13 @@ import i18n from '../../../website/common/script/i18n'; function getFullArmoire () { let fullArmoire = {}; - _(content.gearTypes).each((type) => { - _(content.gear.tree[type].armoire).each((gearObject) => { + _.each(content.gearTypes, (type) => { + _.each(content.gear.tree[type].armoire, (gearObject) => { let armoireKey = gearObject.key; fullArmoire[armoireKey] = true; - }).value(); - }).value(); + }); + }); return fullArmoire; } diff --git a/test/content/faq.js b/test/content/faq.js index 65914387e3..75e79a0dbe 100644 --- a/test/content/faq.js +++ b/test/content/faq.js @@ -8,19 +8,19 @@ import {questions, stillNeedHelp} from '../../website/common/script/content/faq' describe('FAQ Locales', () => { describe('Questions', () => { it('has a valid questions', () => { - each(questions, (question, key) => { + each(questions, (question) => { expectValidTranslationString(question.question); }); }); it('has a valid ios answers', () => { - each(questions, (question, key) => { + each(questions, (question) => { expectValidTranslationString(question.ios); }); }); it('has a valid web answers', () => { - each(questions, (question, key) => { + each(questions, (question) => { expectValidTranslationString(question.web); }); }); diff --git a/test/content/gear.js b/test/content/gear.js index 6c66d506b4..3b94d98053 100644 --- a/test/content/gear.js +++ b/test/content/gear.js @@ -1,3 +1,4 @@ +/* eslint-disable camelcase */ import { expectValidTranslationString, } from '../helpers/content.helper'; @@ -68,7 +69,7 @@ describe('Gear', () => { weapon_special_0: 70, weapon_special_2: 300, weapon_special_3: 300, - } + }; each(cases, (tierRequirement, key) => { context(key, () => { diff --git a/test/content/mysterySets.test.js b/test/content/mysterySets.test.js index 38be62c36b..97e9c31be8 100644 --- a/test/content/mysterySets.test.js +++ b/test/content/mysterySets.test.js @@ -1,13 +1,13 @@ import {each} from 'lodash'; import { - expectValidTranslationString + expectValidTranslationString, } from '../helpers/content.helper'; import mysterySets from '../../website/common/script/content/mystery-sets'; describe('Mystery Sets', () => { it('has a valid text string', () => { - each(mysterySets, (set, key) => { + each(mysterySets, (set) => { expectValidTranslationString(set.text); }); }); diff --git a/test/content/time-travelers.test.js b/test/content/time-travelers.test.js index cb06946883..1e9f5bbd94 100644 --- a/test/content/time-travelers.test.js +++ b/test/content/time-travelers.test.js @@ -1,29 +1,28 @@ -import _ from 'lodash'; import { generateUser, } from '../helpers/common.helper'; -import timeTravelers from '../../website/common/script/content/time-travelers' +import timeTravelers from '../../website/common/script/content/time-travelers'; describe('time-travelers store', () => { - let user; - beforeEach(() => { - user = generateUser(); - }); + let user; + beforeEach(() => { + user = generateUser(); + }); - it('removes owned sets from the time travelers store', () => { - user.items.gear.owned['head_mystery_201602'] = true; - expect(timeTravelers.timeTravelerStore(user)['201602']).to.not.exist; - expect(timeTravelers.timeTravelerStore(user)['201603']).to.exist; - }); + it('removes owned sets from the time travelers store', () => { + user.items.gear.owned.head_mystery_201602 = true; // eslint-disable-line camelcase + expect(timeTravelers.timeTravelerStore(user)['201602']).to.not.exist; + expect(timeTravelers.timeTravelerStore(user)['201603']).to.exist; + }); - it('removes unopened mystery item sets from the time travelers store', () => { - user.purchased = { - plan: { - mysteryItems: ['head_mystery_201602'], - }, - }; - expect(timeTravelers.timeTravelerStore(user)['201602']).to.not.exist; - expect(timeTravelers.timeTravelerStore(user)['201603']).to.exist; - }); + it('removes unopened mystery item sets from the time travelers store', () => { + user.purchased = { + plan: { + mysteryItems: ['head_mystery_201602'], + }, + }; + expect(timeTravelers.timeTravelerStore(user)['201602']).to.not.exist; + expect(timeTravelers.timeTravelerStore(user)['201603']).to.exist; + }); }); diff --git a/test/helpers/api-unit.helper.js b/test/helpers/api-unit.helper.js index dae4a7bf20..09fdfcba60 100644 --- a/test/helpers/api-unit.helper.js +++ b/test/helpers/api-unit.helper.js @@ -1,6 +1,6 @@ import '../../website/server/libs/i18n'; import mongoose from 'mongoose'; -import { defaultsDeep as defaults } from 'lodash'; +import defaultsDeep from 'lodash/defaultsDeep'; import { model as User } from '../../website/server/models/user'; import { model as Group } from '../../website/server/models/group'; import { model as Challenge } from '../../website/server/models/challenge'; @@ -45,7 +45,7 @@ export function generateRes (options = {}) { }, }; - return defaults(options, defaultRes); + return defaultsDeep(options, defaultRes); } export function generateReq (options = {}) { @@ -56,7 +56,7 @@ export function generateReq (options = {}) { header: sandbox.stub().returns(null), }; - return defaults(options, defaultReq); + return defaultsDeep(options, defaultReq); } export function generateNext (func) { diff --git a/website/client-old/js/app.js b/website/client-old/js/app.js index b42effb7c3..18a0c28950 100644 --- a/website/client-old/js/app.js +++ b/website/client-old/js/app.js @@ -219,7 +219,7 @@ window.habitrpg = angular.module('habitrpg', // Remove empty values from the array and add any unordered task $scope.group[type + 's'] = _.compact(orderedTasks).concat(unorderedTasks); - }).value(); + }); $scope.group.approvals = []; $rootScope.$broadcast('obj-updated', $scope.group); diff --git a/website/client-old/js/components/groupMembersAutocomplete/groupMembersAutocompleteDirective.js b/website/client-old/js/components/groupMembersAutocomplete/groupMembersAutocompleteDirective.js index 48a26d4e8b..11307d0dc0 100644 --- a/website/client-old/js/components/groupMembersAutocomplete/groupMembersAutocompleteDirective.js +++ b/website/client-old/js/components/groupMembersAutocomplete/groupMembersAutocompleteDirective.js @@ -18,11 +18,11 @@ var modelAccessor = $parse(attrs.ngModel); return function (scope, element, attrs, controller) { - var availableTags = _.pluck(scope.group.members, 'profile.name'); - var memberProfileNameToIdMap = _.object(_.map(scope.group.members, function(item) { + var availableTags = _.map(scope.group.members, 'profile.name'); + var memberProfileNameToIdMap = _.fromPairs(_.map(scope.group.members, function(item) { return [item.profile.name, item.id] })); - var memberIdToProfileNameMap = _.object(_.map(scope.group.members, function(item) { + var memberIdToProfileNameMap = _.fromPairs(_.map(scope.group.members, function(item) { return [item.id, item.profile.name] })); diff --git a/website/client-old/js/components/groupTasks/groupTasksController.js b/website/client-old/js/components/groupTasks/groupTasksController.js index f65799be3b..bbed386ee2 100644 --- a/website/client-old/js/components/groupTasks/groupTasksController.js +++ b/website/client-old/js/components/groupTasks/groupTasksController.js @@ -172,7 +172,7 @@ habitrpg.controller('GroupTasksCtrl', ['$scope', 'Shared', 'Tasks', 'User', '$ro var content = task.notes; if ($scope.group) { - var memberIdToProfileNameMap = _.object(_.map($scope.group.members, function(item) { + var memberIdToProfileNameMap = _.fromPairs(_.map($scope.group.members, function(item) { return [item.id, item.profile.name] })); diff --git a/website/client-old/js/controllers/challengesCtrl.js b/website/client-old/js/controllers/challengesCtrl.js index b7d3896bca..58bb509740 100644 --- a/website/client-old/js/controllers/challengesCtrl.js +++ b/website/client-old/js/controllers/challengesCtrl.js @@ -63,7 +63,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', //If the user has one filter selected, assume that the user wants to default to that group var defaultGroup; //Our filters contain all groups, but we only want groups that have atleast one challenge - var groupsWithChallenges = _.uniq(_.pluck($scope.groupsFilter, '_id')); + var groupsWithChallenges = _.uniq(_.map($scope.groupsFilter, '_id')); var len = groupsWithChallenges.length; var filterCount = 0; @@ -108,11 +108,11 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', reward: [] }; - _(clonedTasks).each(function(val, type) { + _(clonedTasks).forEach(function(val, type) { if (challenge[type + 's']) { challenge[type + 's'].forEach(_cloneTaskAndPush); } - }).value(); + }); $scope.obj = $scope.newChallenge = { name: challenge.name, @@ -446,7 +446,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', }; $scope.filterInitialChallenges = function() { - $scope.groupsFilter = _.uniq(_.compact(_.pluck($scope.challenges, 'group')), function(g) {return g._id}); + $scope.groupsFilter = _.uniqBy(_.compact(_.map($scope.challenges, 'group')), function(g) {return g._id}); $scope.search = { group: _.transform($scope.groupsFilter, function(m,g) { m[g._id] = true;}), diff --git a/website/client-old/js/controllers/filtersCtrl.js b/website/client-old/js/controllers/filtersCtrl.js index 77674e48b5..497b2fc100 100644 --- a/website/client-old/js/controllers/filtersCtrl.js +++ b/website/client-old/js/controllers/filtersCtrl.js @@ -19,7 +19,7 @@ habitrpg.controller("FiltersCtrl", ['$scope', '$rootScope', 'User', 'Shared', $scope._editing = false; } else { tagsSnap = angular.copy(user.tags); - tagsSnap = _.object(_.pluck(tagsSnap,'id'), tagsSnap); + tagsSnap = _.zipObject(_.map(tagsSnap, 'id'), tagsSnap); $scope._editing = true; } }; diff --git a/website/client-old/js/controllers/footerCtrl.js b/website/client-old/js/controllers/footerCtrl.js index 2d07aff430..fad44d9a88 100644 --- a/website/client-old/js/controllers/footerCtrl.js +++ b/website/client-old/js/controllers/footerCtrl.js @@ -70,7 +70,7 @@ function($scope, $rootScope, User, $http, Notification, ApiUrl, Social) { /** * Debug functions. Note that the server route for gems is only available if process.env.DEBUG=true */ - if (_.contains(['development','test'],window.env.NODE_ENV)) { + if (_.includes(['development','test'],window.env.NODE_ENV)) { $scope.setHealthLow = function(){ User.set({ diff --git a/website/client-old/js/controllers/groupsCtrl.js b/website/client-old/js/controllers/groupsCtrl.js index 9ffc00027b..d6595e17ca 100644 --- a/website/client-old/js/controllers/groupsCtrl.js +++ b/website/client-old/js/controllers/groupsCtrl.js @@ -19,7 +19,7 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Shared', 'Groups', ' // If the group is a guild, just check for an intersection with the // current user's guilds, rather than checking the members of the group. if(group.type === 'guild') { - return _.detect(User.user.guilds, function(guildId) { return guildId === group._id }); + return _.find(User.user.guilds, function(guildId) { return guildId === group._id }); } // Similarly, if we're dealing with the user's current party, return true. diff --git a/website/client-old/js/controllers/guildsCtrl.js b/website/client-old/js/controllers/guildsCtrl.js index 16cb39dde1..fa8574b03c 100644 --- a/website/client-old/js/controllers/guildsCtrl.js +++ b/website/client-old/js/controllers/guildsCtrl.js @@ -89,7 +89,7 @@ habitrpg.controller("GuildsCtrl", ['$scope', 'Groups', 'User', 'Challenges', '$r Challenges.getGroupChallenges(group._id) .then(function(response) { - var challenges = _.pluck(_.filter(response.data.data, function(c) { + var challenges = _.map(_.filter(response.data.data, function(c) { return c.group._id == group._id; }), '_id'); diff --git a/website/client-old/js/controllers/inventoryCtrl.js b/website/client-old/js/controllers/inventoryCtrl.js index 959cf53522..4b8aa6d817 100644 --- a/website/client-old/js/controllers/inventoryCtrl.js +++ b/website/client-old/js/controllers/inventoryCtrl.js @@ -134,7 +134,7 @@ habitrpg.controller("InventoryCtrl", if ($scope.selectedEgg && $scope.selectedEgg.key == egg) { return $scope.selectedEgg = null; // clicked same egg, unselect } - var eggData = _.findWhere(Content.eggs, {key:egg}); + var eggData = _.find(Content.eggs, {key:egg}); if (!$scope.selectedPotion) { $scope.selectedEgg = eggData; } else { @@ -148,7 +148,7 @@ habitrpg.controller("InventoryCtrl", return $scope.selectedPotion = null; // clicked same egg, unselect } // we really didn't think through the way these things are stored and getting passed around... - var potionData = _.findWhere(Content.hatchingPotions, {key:potion}); + var potionData = _.find(Content.hatchingPotions, {key:potion}); if (!$scope.selectedEgg) { $scope.selectedPotion = potionData; } else { @@ -175,7 +175,7 @@ habitrpg.controller("InventoryCtrl", } $scope.ownedItems = function(inventory){ - return _.pick(inventory, function(v,k){return v>0;}); + return _.pickBy(inventory, function(v,k){return v>0;}); } $scope.hatch = function(egg, potion){ @@ -274,7 +274,7 @@ habitrpg.controller("InventoryCtrl", $scope.getSeasonalShopArray = function(set){ var flatGearArray = _.toArray(Content.gear.flat); - var filteredArray = _.where(flatGearArray, {index: set}); + var filteredArray = _.filter(flatGearArray, {index: set}); return filteredArray; }; diff --git a/website/client-old/js/controllers/inviteToGroupCtrl.js b/website/client-old/js/controllers/inviteToGroupCtrl.js index 258b0296ef..d3094ffd20 100644 --- a/website/client-old/js/controllers/inviteToGroupCtrl.js +++ b/website/client-old/js/controllers/inviteToGroupCtrl.js @@ -62,7 +62,7 @@ habitrpg.controller('InviteToGroupCtrl', ['$scope', '$rootScope', 'User', 'Group } function _getOnlyUuids() { - var uuids = _.pluck($scope.invitees, 'uuid'); + var uuids = _.map($scope.invitees, 'uuid'); var filteredUuids = _.filter(uuids, function(id) { return id != ''; }); diff --git a/website/client-old/js/controllers/menuCtrl.js b/website/client-old/js/controllers/menuCtrl.js index ae104f1c68..cd639a7187 100644 --- a/website/client-old/js/controllers/menuCtrl.js +++ b/website/client-old/js/controllers/menuCtrl.js @@ -23,7 +23,7 @@ angular.module('habitrpg') } else if (!(_.isEmpty(user.newMessages))) { return messageValue; } else if (!_.isEmpty(user.groupNotifications)) { - var groupNotificationTypes = _.pluck(user.groupNotifications, 'type'); + var groupNotificationTypes = _.map(user.groupNotifications, 'type'); if (groupNotificationTypes.indexOf('GROUP_TASK_APPROVAL') !== -1) { return groupApprovalRequested; } else if (groupNotificationTypes.indexOf('GROUP_TASK_APPROVED') !== -1) { diff --git a/website/client-old/js/controllers/partyCtrl.js b/website/client-old/js/controllers/partyCtrl.js index 829546184b..342656c03d 100644 --- a/website/client-old/js/controllers/partyCtrl.js +++ b/website/client-old/js/controllers/partyCtrl.js @@ -156,7 +156,7 @@ habitrpg.controller("PartyCtrl", ['$rootScope','$scope','Groups','Chat','User',' //TODO: Move this to challenge service Challenges.getGroupChallenges(group._id) .then(function(response) { - var challenges = _.pluck(_.filter(response.data.data, function(c) { + var challenges = _.map(_.filter(response.data.data, function(c) { return c.group._id == group._id; }), '_id'); diff --git a/website/client-old/js/controllers/rootCtrl.js b/website/client-old/js/controllers/rootCtrl.js index fb29d39ddc..f8862c7c6f 100644 --- a/website/client-old/js/controllers/rootCtrl.js +++ b/website/client-old/js/controllers/rootCtrl.js @@ -271,7 +271,7 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$ $rootScope.getGearArray = function(set){ var flatGearArray = _.toArray(Content.gear.flat); - var filteredArray = _.where(flatGearArray, {gearSet: set}); + var filteredArray = _.filter(flatGearArray, {gearSet: set}); return filteredArray; } diff --git a/website/client-old/js/services/analyticsServices.js b/website/client-old/js/services/analyticsServices.js index 9abecd9a67..750799b3f4 100644 --- a/website/client-old/js/services/analyticsServices.js +++ b/website/client-old/js/services/analyticsServices.js @@ -132,7 +132,7 @@ } function _doesNotHaveAllowedHitType(properties) { - if (!_.contains(ALLOWED_HIT_TYPES, properties.hitType)) { + if (!_.includes(ALLOWED_HIT_TYPES, properties.hitType)) { console.log('Hit type of Analytics event must be one of the following: ' + JSON.stringify(ALLOWED_HIT_TYPES)); return true; } diff --git a/website/client-old/js/services/guideServices.js b/website/client-old/js/services/guideServices.js index cc0bacacd3..57ada4305f 100644 --- a/website/client-old/js/services/guideServices.js +++ b/website/client-old/js/services/guideServices.js @@ -184,7 +184,7 @@ function($rootScope, User, $timeout, $state, Analytics, Notification, Shared, So } _.each(chapters, function(chapter, k){ - _(chapter).flattenDeep().each(function(step, i) { + _(chapter).flattenDeep().forEach(function(step, i) { step.content = "
" + step.content + "
"; $(step.element).popover('destroy'); // destroy existing hover popovers so we can add our own step.onShow = function(){ @@ -232,7 +232,7 @@ function($rootScope, User, $timeout, $state, Analytics, Notification, Shared, So User.user.fns.updateStats(User.user.stats); } } - }).value(); + }); }); var tour = {}; diff --git a/website/client-old/js/services/statServices.js b/website/client-old/js/services/statServices.js index 0117a463fd..39cc1e05fc 100644 --- a/website/client-old/js/services/statServices.js +++ b/website/client-old/js/services/statServices.js @@ -41,14 +41,14 @@ var equipmentTypes = ['weapon', 'armor', 'head', 'shield', 'back', 'body']; - _(equipmentTypes).each(function(type) { + _(equipmentTypes).forEach(function(type) { var equippedItem = equipped[type]; if(gear[equippedItem]) { var equipmentStat = gear[equippedItem][stat]; total += equipmentStat; } - }).value(); + }); return total; } diff --git a/website/client-old/js/services/taskServices.js b/website/client-old/js/services/taskServices.js index 5de380ac43..dfd9c3ebd7 100644 --- a/website/client-old/js/services/taskServices.js +++ b/website/client-old/js/services/taskServices.js @@ -402,7 +402,7 @@ angular.module('habitrpg') _(cleansedTask.checklist).forEach(function(item) { item.completed = false; item.id = Shared.uuid(); - }).value(); + }); if (cleansedTask.type !== 'reward') { delete cleansedTask.value; diff --git a/website/client-old/js/services/userServices.js b/website/client-old/js/services/userServices.js index c8c351240c..381cdc8bed 100644 --- a/website/client-old/js/services/userServices.js +++ b/website/client-old/js/services/userServices.js @@ -66,7 +66,7 @@ angular.module('habitrpg') // Remove empty values from the array and add any unordered task user[type + 's'] = _.compact(orderedTasks).concat(unorderedTasks); - }).value(); + }); } function sync() { diff --git a/website/client/components/inventory/stable.vue b/website/client/components/inventory/stable.vue index 4eb7684970..8fb490cdfc 100644 --- a/website/client/components/inventory/stable.vue +++ b/website/client/components/inventory/stable.vue @@ -28,7 +28,7 @@