diff --git a/CHANGELOG.md b/CHANGELOG.md index 08f591c..ddfd0d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +1.2.0 / 2017-01-27 +=================== + + * migrate to moment() + 1.1.0 / 2017-01-27 =================== diff --git a/lib/builder/event/productionEventBuilder.js b/lib/builder/event/productionEventBuilder.js index 683663b..a56ec7f 100644 --- a/lib/builder/event/productionEventBuilder.js +++ b/lib/builder/event/productionEventBuilder.js @@ -7,7 +7,7 @@ const build = function build(event, productionYear) { logger.debug('build production event:', event); if (productionYear) { - productionYear = `${productionYear}-01-01`; + productionYear = `01.01.${productionYear}`; } else if (event && event.createdAt) { productionYear = event.createdAt; diff --git a/lib/date.js b/lib/date.js index 6b49fc7..e0b2b24 100644 --- a/lib/date.js +++ b/lib/date.js @@ -1,11 +1,11 @@ -require('datejs'); -Date.i18n.setLanguage('en-US'); +var moment = require('moment-timezone'); +moment.tz.setDefault('Europe/Warsaw'); -const parseIsoString = function parseIsoString(dateStr, formats = ["dd.MM.yyyy", "yyyy-MM-dd"]) { - const date = Date.parseExact(dateStr, formats); +const parseIsoString = function parseIsoString(dateStr, formats = ["DD.MM.YYYY"]) { + const date = moment(dateStr, formats); - if (date) { - return date.toISOString(dateStr); + if (date.isValid()) { + return date.toISOString(); } return null; diff --git a/lib/resolver/vehicle/carProductionResolver.js b/lib/resolver/vehicle/carProductionResolver.js index 34f5860..e3b128e 100644 --- a/lib/resolver/vehicle/carProductionResolver.js +++ b/lib/resolver/vehicle/carProductionResolver.js @@ -1,5 +1,5 @@ const assert = require('assert-plus'); -require('../../date'); +const moment = require('moment'); const mapHelper = require('./../../mapHelper'); const PRODUCTION_YEAR_MAP_FIELD = 'production.year'; @@ -9,7 +9,7 @@ const resolve = function resolve(map/*, options*/) { let productionYear = ~~mapHelper.getMapValue(map, PRODUCTION_YEAR_MAP_FIELD); - if (!productionYear || !Date.validateYear(productionYear)) { + if (!productionYear || !moment(productionYear, 'YYYY').isValid()) { productionYear = null; } diff --git a/package.json b/package.json index f52c983..06be54d 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,13 @@ { "name": "vehicle-history-model", - "version": "1.1.0", + "version": "1.2.0", "description": "Vehicle history model.", "main": "./index.js", "dependencies": { "assert-plus": "1.0.0", "async": "2.1.4", - "datejs": "1.0.0-rc3", + "moment": "^2.17.1", + "moment-timezone": "^0.5.11", "winston": "2.3.1", "winston-loggly": "1.3.1" }, @@ -14,13 +15,14 @@ "chai": "3.5.0", "config": "1.24.0", "istanbul": "0.4.5", - "mocha": "3.2.0" + "mocha": "3.2.0", + "nsp": "2.6.2" }, "scripts": { - "prepublish": "npm prune", + "prepublish": "npm prune && node_modules/nsp/bin/nsp check", "test": "mocha --recursive test", "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --recursive test", - "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --recursive test" + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --check-leaks --report lcovonly -- --recursive test" }, "repository": { "type": "git", @@ -42,9 +44,9 @@ "license": "MIT", "homepage": "https://github.com/vehicle-history/npm-vehicle-history-model", "engines": { - "node": ">=4.0.0" + "node": ">=6.0.0" }, "readmeFilename": "README.md", - "_id": "vehicle-history-model@1.1.0", - "_from": "vehicle-history-model@^1.1.0" + "_id": "vehicle-history-model@1.2.0", + "_from": "vehicle-history-model@^1.2.0" } diff --git a/test/builder/eventsResponseBuilderTest.js b/test/builder/eventsResponseBuilderTest.js index 5713b1c..7f3136e 100644 --- a/test/builder/eventsResponseBuilderTest.js +++ b/test/builder/eventsResponseBuilderTest.js @@ -1,4 +1,3 @@ -const options = require('config'); const eventsResponseBuilder = require('../../lib/builder/eventsResponseBuilder'); const chai = require('chai'); const should = chai.should(); @@ -20,7 +19,7 @@ describe('events response builder test', () => { country: 'PL' }, note: null, - createdAt: '2012-05-12T22:00:00.000Z', + createdAt: '12.05.2012', expireAt: null, description: 'First owner', firstOwner: null, @@ -31,7 +30,7 @@ describe('events response builder test', () => { ownerType: null, location: null, note: null, - createdAt: '2012-05-16T22:00:00.000Z', + createdAt: '16.05.2012', expireAt: null, description: 'Abroad registration', firstOwner: null, @@ -42,7 +41,7 @@ describe('events response builder test', () => { ownerType: null, location: null, note: null, - createdAt: '2012-06-16T22:00:00.000Z', + createdAt: '16.06.2012', expireAt: null, description: 'First registration', firstOwner: null, @@ -53,8 +52,8 @@ describe('events response builder test', () => { ownerType: null, location: null, note: null, - createdAt: '2013-06-16T22:00:00.000Z', - expireAt: '2014-06-16T22:00:00.000Z', + createdAt: '16.06.2013', + expireAt: '16.06.2014', description: 'Inspection (17.06.2014)', firstOwner: null, mileage: { @@ -67,7 +66,7 @@ describe('events response builder test', () => { ownerType: null, location: null, note: null, - createdAt: '2013-06-16T22:00:00.000Z', + createdAt: '16.06.2013', expireAt: null, description: 'Holder', firstOwner: null, @@ -78,7 +77,7 @@ describe('events response builder test', () => { ownerType: null, location: null, note: 'note', - createdAt: '2014-06-16T22:00:00.000Z', + createdAt: '16.06.2014', expireAt: null, description: 'Deregistration', firstOwner: null, @@ -89,7 +88,7 @@ describe('events response builder test', () => { ownerType: 'PRIVATE', location: null, note: null, - createdAt: '2014-06-16T22:00:00.000Z', + createdAt: '16.06.2014', expireAt: null, description: 'co owner', firstOwner: null, @@ -103,7 +102,7 @@ describe('events response builder test', () => { country: 'PL' }, note: null, - createdAt: '2012-05-12T22:00:00.000Z', + createdAt: '12.05.2012', expireAt: null, description: 'Changed registration location', firstOwner: null, @@ -114,7 +113,7 @@ describe('events response builder test', () => { ownerType: null, location: null, note: null, - createdAt: '2012-05-12T22:00:00.000Z', + createdAt: '12.05.2012', expireAt: null, description: 'Stolen', firstOwner: null, @@ -129,7 +128,7 @@ describe('events response builder test', () => { expect(events).to.have.length(10); expect(events).to.have.deep.property('[0].type', 'PRODUCTION'); -// expect(events).to.have.deep.property('[0].createdAt', '2012-06-13T00:00:00.000Z'); + expect(events).to.have.deep.property('[0].createdAt', '1987-12-31T23:00:00.000Z'); expect(events).to.have.deep.property('[0].note', null); expect(events).to.have.deep.property('[0].firstOwner', null); expect(events).to.have.deep.property('[0].ownerType', null); @@ -139,7 +138,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[0].mileage', null); expect(events).to.have.deep.property('[1].type', 'CHANGE_OWNER'); -// expect(events).to.have.deep.property('[1].createdAt', '2012-06-13T00:00:00.000Z'); + expect(events).to.have.deep.property('[1].createdAt', '12.05.2012'); expect(events).to.have.deep.property('[1].note', null); expect(events).to.have.deep.property('[1].firstOwner', null); expect(events).to.have.deep.property('[1].ownerType', 'PRIVATE'); @@ -150,7 +149,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[1].mileage', null); expect(events).to.have.deep.property('[2].type', 'REGISTRATION'); -// expect(events).to.have.deep.property('[2].createdAt', '2012-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[2].createdAt', '16.05.2012'); expect(events).to.have.deep.property('[2].note', null); expect(events).to.have.deep.property('[2].firstOwner', null); expect(events).to.have.deep.property('[2].ownerType', null); @@ -160,7 +159,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[2].mileage', null); expect(events).to.have.deep.property('[3].type', 'REGISTRATION'); -// expect(events).to.have.deep.property('[3].createdAt', '2012-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[3].createdAt', '16.06.2012'); expect(events).to.have.deep.property('[3].note', null); expect(events).to.have.deep.property('[3].firstOwner', null); expect(events).to.have.deep.property('[3].ownerType', null); @@ -170,17 +169,17 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[3].mileage', null); expect(events).to.have.deep.property('[4].type', 'INSPECTION'); -// expect(events).to.have.deep.property('[4].createdAt', '2013-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[4].createdAt', '16.06.2013'); expect(events).to.have.deep.property('[4].note', null); expect(events).to.have.deep.property('[4].firstOwner', null); expect(events).to.have.deep.property('[4].ownerType', null); expect(events).to.have.deep.property('[4].location', null); -// expect(events).to.have.deep.property('[4].expireAt', '2013-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[4].expireAt', '16.06.2014'); expect(events).to.have.deep.property('[4].mileage.value', 177000); expect(events).to.have.deep.property('[4].mileage.type', 'KM'); expect(events).to.have.deep.property('[5].type', 'HOLDER'); -// expect(events).to.have.deep.property('[5].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[5].createdAt', '16.06.2013'); expect(events).to.have.deep.property('[5].note', null); expect(events).to.have.deep.property('[5].firstOwner', null); expect(events).to.have.deep.property('[5].ownerType', null); @@ -190,7 +189,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[5].mileage', null); expect(events).to.have.deep.property('[6].type', 'DEREGISTRATION'); -// expect(events).to.have.deep.property('[6].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[6].createdAt', '16.06.2014'); expect(events).to.have.deep.property('[6].note', 'note'); expect(events).to.have.deep.property('[6].firstOwner', null); expect(events).to.have.deep.property('[6].ownerType', null); @@ -200,7 +199,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[6].mileage', null); expect(events).to.have.deep.property('[7].type', 'CO_OWNER'); -// expect(events).to.have.deep.property('[7].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[7].createdAt', '16.06.2014'); expect(events).to.have.deep.property('[7].note', null); expect(events).to.have.deep.property('[7].firstOwner', null); expect(events).to.have.deep.property('[7].ownerType', 'PRIVATE'); @@ -210,7 +209,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[7].mileage', null); expect(events).to.have.deep.property('[8].type', 'CHANGED_REGISTRATION_LOCATION'); -// expect(events).to.have.deep.property('[8].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[8].createdAt', '12.05.2012'); expect(events).to.have.deep.property('[8].note', null); expect(events).to.have.deep.property('[8].firstOwner', null); expect(events).to.have.deep.property('[8].ownerType', null); @@ -221,7 +220,7 @@ describe('events response builder test', () => { expect(events).to.have.deep.property('[8].mileage', null); expect(events).to.have.deep.property('[9].type', 'STOLEN'); -// expect(events).to.have.deep.property('[9].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[9].createdAt', '12.05.2012'); expect(events).to.have.deep.property('[9].note', null); expect(events).to.have.deep.property('[9].firstOwner', null); expect(events).to.have.deep.property('[9].ownerType', null); diff --git a/test/builder/responseBuilderTest.js b/test/builder/responseBuilderTest.js index 39beddd..d349551 100644 --- a/test/builder/responseBuilderTest.js +++ b/test/builder/responseBuilderTest.js @@ -1,5 +1,4 @@ const options = require('config'); -const SearchCarRequest = require('../../lib/model/searchCarRequest').SearchCarRequest; const responseBuilder = require('../../lib/builder/responseBuilder'); const chai = require('chai'); const should = chai.should(); @@ -29,48 +28,52 @@ describe('response builder test', () => { 'plate.country': 'PL', 'vin.value': 'ABC123456789DEF', 'events': [ - { type: 'CHANGE_OWNER', + { + type: 'CHANGE_OWNER', ownerType: 'PRIVATE', location: { state: 'wielkopolskie', country: 'PL' }, note: null, - createdAt: '2012-05-12T22:00:00.000Z', + createdAt: '12.05.2012', expireAt: null, description: 'First owner', firstOwner: null, mileage: null, abroadRegistration: null }, - { type: 'ABROAD_REGISTRATION', + { + type: 'ABROAD_REGISTRATION', ownerType: null, location: null, note: null, - createdAt: '2012-05-16T22:00:00.000Z', + createdAt: '16.05.2012', expireAt: null, description: 'Abroad registration', firstOwner: null, mileage: null, abroadRegistration: true }, - { type: 'REGISTRATION', + { + type: 'REGISTRATION', ownerType: null, location: null, note: null, - createdAt: '2012-06-16T22:00:00.000Z', + createdAt: '16.06.2012', expireAt: null, description: 'First registration', firstOwner: null, mileage: null, abroadRegistration: false }, - { type: 'INSPECTION', + { + type: 'INSPECTION', ownerType: null, location: null, note: null, - createdAt: '2013-06-16T22:00:00.000Z', - expireAt: '2014-06-16T22:00:00.000Z', + createdAt: '16.06.2013', + expireAt: '16.06.2014', description: 'Inspection (17.06.2014)', firstOwner: null, mileage: { @@ -79,47 +82,51 @@ describe('response builder test', () => { }, abroadRegistration: null }, - { type: 'HOLDER', + { + type: 'HOLDER', ownerType: null, location: null, note: null, - createdAt: '2013-06-16T22:00:00.000Z', + createdAt: '16.06.2013', expireAt: null, description: 'Holder', firstOwner: null, mileage: null, abroadRegistration: null }, - { type: 'DEREGISTRATION', + { + type: 'DEREGISTRATION', ownerType: null, location: null, note: 'note', - createdAt: '2014-06-16T22:00:00.000Z', + createdAt: '16.06.2014', expireAt: null, description: 'Deregistration', firstOwner: null, mileage: null, abroadRegistration: null }, - { type: 'CHANGED_REGISTRATION_LOCATION', + { + type: 'CHANGED_REGISTRATION_LOCATION', ownerType: null, location: { state: 'wielkopolskie', country: 'PL' }, note: null, - createdAt: '2012-05-12T22:00:00.000Z', + createdAt: '12.05.2012', expireAt: null, description: 'Changed registration location', firstOwner: null, mileage: null, abroadRegistration: null }, - { type: 'STOLEN', + { + type: 'STOLEN', ownerType: null, location: null, note: null, - createdAt: '2012-05-12T22:00:00.000Z', + createdAt: '12.05.2012', expireAt: null, description: 'Stolen', firstOwner: null, @@ -168,7 +175,7 @@ describe('response builder test', () => { expect(events).to.have.length(9); expect(events).to.have.deep.property('[0].type', 'PRODUCTION'); -// expect(events).to.have.deep.property('[0].createdAt', '2012-06-13T00:00:00.000Z'); + expect(events).to.have.deep.property('[0].createdAt', '1987-12-31T23:00:00.000Z'); expect(events).to.have.deep.property('[0].note', null); expect(events).to.have.deep.property('[0].firstOwner', null); expect(events).to.have.deep.property('[0].ownerType', null); @@ -178,7 +185,7 @@ describe('response builder test', () => { expect(events).to.have.deep.property('[0].mileage', null); expect(events).to.have.deep.property('[1].type', 'CHANGE_OWNER'); -// expect(events).to.have.deep.property('[1].createdAt', '2012-06-13T00:00:00.000Z'); + expect(events).to.have.deep.property('[1].createdAt', '12.05.2012'); expect(events).to.have.deep.property('[1].note', null); expect(events).to.have.deep.property('[1].firstOwner', null); expect(events).to.have.deep.property('[1].ownerType', 'PRIVATE'); @@ -189,7 +196,7 @@ describe('response builder test', () => { expect(events).to.have.deep.property('[1].mileage', null); expect(events).to.have.deep.property('[2].type', 'REGISTRATION'); -// expect(events).to.have.deep.property('[2].createdAt', '2012-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[2].createdAt', '16.05.2012'); expect(events).to.have.deep.property('[2].note', null); expect(events).to.have.deep.property('[2].firstOwner', null); expect(events).to.have.deep.property('[2].ownerType', null); @@ -199,7 +206,7 @@ describe('response builder test', () => { expect(events).to.have.deep.property('[2].mileage', null); expect(events).to.have.deep.property('[3].type', 'REGISTRATION'); -// expect(events).to.have.deep.property('[3].createdAt', '2012-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[3].createdAt', '16.06.2012'); expect(events).to.have.deep.property('[3].note', null); expect(events).to.have.deep.property('[3].firstOwner', null); expect(events).to.have.deep.property('[3].ownerType', null); @@ -209,26 +216,26 @@ describe('response builder test', () => { expect(events).to.have.deep.property('[3].mileage', null); expect(events).to.have.deep.property('[4].type', 'INSPECTION'); -// expect(events).to.have.deep.property('[4].createdAt', '2013-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[4].createdAt', '16.06.2013'); expect(events).to.have.deep.property('[4].note', null); expect(events).to.have.deep.property('[4].firstOwner', null); expect(events).to.have.deep.property('[4].ownerType', null); expect(events).to.have.deep.property('[4].location', null); -// expect(events).to.have.deep.property('[4].expireAt', '2013-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[4].expireAt', '16.06.2014'); expect(events).to.have.deep.property('[4].mileage.value', 177000); expect(events).to.have.deep.property('[4].mileage.type', 'KM'); expect(events).to.have.deep.property('[5].type', 'HOLDER'); -// expect(events).to.have.deep.property('[5].createdAt', '2013-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[5].createdAt', '16.06.2013'); expect(events).to.have.deep.property('[5].note', null); expect(events).to.have.deep.property('[5].firstOwner', null); expect(events).to.have.deep.property('[5].ownerType', null); expect(events).to.have.deep.property('[5].location', null); -// expect(events).to.have.deep.property('[5].expireAt', '2013-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[5].expireAt', null); expect(events).to.have.deep.property('[5].mileage', null); expect(events).to.have.deep.property('[6].type', 'DEREGISTRATION'); -// expect(events).to.have.deep.property('[6].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[6].createdAt', '16.06.2014'); expect(events).to.have.deep.property('[6].note', 'note'); expect(events).to.have.deep.property('[6].firstOwner', null); expect(events).to.have.deep.property('[6].ownerType', null); @@ -238,7 +245,7 @@ describe('response builder test', () => { expect(events).to.have.deep.property('[6].mileage', null); expect(events).to.have.deep.property('[7].type', 'CHANGED_REGISTRATION_LOCATION'); -// expect(events).to.have.deep.property('[7].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[7].createdAt', '12.05.2012'); expect(events).to.have.deep.property('[7].note', null); expect(events).to.have.deep.property('[7].firstOwner', null); expect(events).to.have.deep.property('[7].ownerType', null); @@ -249,7 +256,7 @@ describe('response builder test', () => { expect(events).to.have.deep.property('[7].mileage', null); expect(events).to.have.deep.property('[8].type', 'STOLEN'); -// expect(events).to.have.deep.property('[8].createdAt', '2014-06-17T00:00:00.000Z'); + expect(events).to.have.deep.property('[8].createdAt', '12.05.2012'); expect(events).to.have.deep.property('[8].note', null); expect(events).to.have.deep.property('[8].firstOwner', null); expect(events).to.have.deep.property('[8].ownerType', null); diff --git a/yarn.lock b/yarn.lock index 18ffcbd..9cdfcc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6,6 +6,13 @@ abbrev@1, abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" +agent-base@2: + version "2.0.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.0.1.tgz#bd8f9e86a8eb221fffa07bd14befd55df142815e" + dependencies: + extend "~3.0.0" + semver "~5.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -144,6 +151,16 @@ chalk@^1.1.1: strip-ansi "^3.0.0" supports-color "^2.0.0" +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + dependencies: + colors "1.0.3" + +cliclopts@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cliclopts/-/cliclopts-1.1.1.tgz#69431c7cb5af723774b0d3911b4c37512431910f" + cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" @@ -152,7 +169,7 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -colors@1.0.x: +colors@1.0.3, colors@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -198,11 +215,7 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -datejs@1.0.0-rc3: - version "1.0.0-rc3" - resolved "https://registry.yarnpkg.com/datejs/-/datejs-1.0.0-rc3.tgz#bffa1efedefeb41fdd8a242af55afa01fb58de57" - -debug@2.2.0: +debug@2, debug@2.2.0, debug@^2.1.3: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -218,6 +231,10 @@ deep-eql@^0.1.3: dependencies: type-detect "0.1.1" +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -263,7 +280,7 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -extend@~3.0.0: +extend@3, extend@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" @@ -390,6 +407,14 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-proxy-agent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" + dependencies: + agent-base "2" + debug "2" + extend "3" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -401,6 +426,10 @@ inherits@2, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + is-buffer@^1.0.2: version "1.1.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" @@ -426,6 +455,10 @@ isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +isemail@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a" + isexe@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" @@ -459,6 +492,15 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" +joi@^6.9.1: + version "6.10.1" + resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" + dependencies: + hoek "2.x.x" + isemail "1.x.x" + moment "2.x.x" + topo "1.x.x" + js-yaml@3.x: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -598,6 +640,10 @@ minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + mkdirp@0.5.1, mkdirp@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -620,6 +666,16 @@ mocha@3.2.0: mkdirp "0.5.1" supports-color "3.1.2" +moment-timezone@^0.5.11: + version "0.5.11" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.11.tgz#9b76c03d8ef514c7e4249a7bbce649eed39ef29f" + dependencies: + moment ">= 2.6.0" + +moment@2.x.x, "moment@>= 2.6.0", moment@^2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82" + ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -628,12 +684,31 @@ node-uuid@~1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" +nodesecurity-npm-utils@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz#05aa30de30ca8c845c4048e94fd78e5e08b55ed9" + nopt@3.x: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: abbrev "1" +nsp@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/nsp/-/nsp-2.6.2.tgz#93dfb4c5b2885cc354d8ca18b73f09e52b9c8b16" + dependencies: + chalk "^1.1.1" + cli-table "^0.3.1" + https-proxy-agent "^1.0.0" + joi "^6.9.1" + nodesecurity-npm-utils "^5.0.0" + path-is-absolute "^1.0.0" + rc "^1.1.2" + semver "^5.0.3" + subcommand "^2.0.3" + wreck "^6.3.0" + oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -692,6 +767,15 @@ qs@~6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" +rc@^1.1.2: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + readable-stream@~2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" @@ -743,6 +827,14 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" +semver@^5.0.3: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@~5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -802,6 +894,19 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +subcommand@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/subcommand/-/subcommand-2.1.0.tgz#5e4ceca5a3779e3365b1511e05f866877302f760" + dependencies: + cliclopts "^1.1.0" + debug "^2.1.3" + minimist "^1.2.0" + xtend "^4.0.0" + supports-color@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" @@ -822,6 +927,12 @@ timespan@2.3.x: version "2.3.0" resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" +topo@1.x.x: + version "1.1.0" + resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5" + dependencies: + hoek "2.x.x" + tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -916,6 +1027,13 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" +wreck@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/wreck/-/wreck-6.3.0.tgz#a1369769f07bbb62d6a378336a7871fc773c740b" + dependencies: + boom "2.x.x" + hoek "2.x.x" + xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"