pax_global_header00006660000000000000000000000064133716725540014527gustar00rootroot0000000000000052 comment=a38c0672cd3b202bd52534ee7da83b74003eb472 node-har-validator-5.1.3/000077500000000000000000000000001337167255400152155ustar00rootroot00000000000000node-har-validator-5.1.3/.editorconfig000066400000000000000000000002741337167255400176750ustar00rootroot00000000000000root = true [*] charset = utf-8 end_of_line = lf indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true [*.md] trim_trailing_whitespace = false node-har-validator-5.1.3/.eslintrc000066400000000000000000000000561337167255400170420ustar00rootroot00000000000000{ "extends": "@ahmadnassri/eslint-config" } node-har-validator-5.1.3/.github/000077500000000000000000000000001337167255400165555ustar00rootroot00000000000000node-har-validator-5.1.3/.github/settings.yml000066400000000000000000000007111337167255400211370ustar00rootroot00000000000000_extends: .github repository: name: node-har-validator description: Extremely fast HTTP Archive (HAR) validator using JSON Schema topics: har,cli,ajv,http,archive,validate,validator homepage: https://github.com/ahmadnassri/node-har-validator private: false has_issues: true has_wiki: false has_downloads: false has_projects: false default_branch: master allow_squash_merge: true allow_merge_commit: false allow_rebase_merge: true node-har-validator-5.1.3/.gitignore000066400000000000000000000000531337167255400172030ustar00rootroot00000000000000*.log /.nyc_output /coverage /node_modules node-har-validator-5.1.3/.releaserc000066400000000000000000000000701337167255400171600ustar00rootroot00000000000000{ "extends": "@ahmadnassri/semantic-release-config" } node-har-validator-5.1.3/.remarkrc000066400000000000000000000000701337167255400170210ustar00rootroot00000000000000{ "plugins": [ "@ahmadnassri/remark-config" ] } node-har-validator-5.1.3/LICENSE000066400000000000000000000021051337167255400162200ustar00rootroot00000000000000MIT License Copyright (c) 2018 Ahmad Nassri Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. node-har-validator-5.1.3/README.md000066400000000000000000000027111337167255400164750ustar00rootroot00000000000000# HAR Validator [![License][license-image]][license-url] [![version][npm-image]][npm-url] [![Build Status][circle-image]][circle-url] > Extremely fast HTTP Archive ([HAR](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md)) validator using JSON Schema. ## Install ```bash npm install har-validator ``` ## CLI Usage Please refer to [`har-cli`](https://github.com/ahmadnassri/har-cli) for more info. ## API **Note**: as of [`v2.0.0`](https://github.com/ahmadnassri/node-har-validator/releases/tag/v2.0.0) this module defaults to Promise based API. _For backward compatibility with `v1.x` an [async/callback API](docs/async.md) is also provided_ - [async API](docs/async.md) - [callback API](docs/async.md) - [Promise API](docs/promise.md) _(default)_ --- > Author: [Ahmad Nassri](https://www.ahmadnassri.com/) • > Github: [@ahmadnassri](https://github.com/ahmadnassri) • > Twitter: [@ahmadnassri](https://twitter.com/ahmadnassri) [license-url]: LICENSE [license-image]: https://img.shields.io/github/license/ahmadnassri/node-har-validator.svg?style=for-the-badge&logo=circleci [circle-url]: https://circleci.com/gh/ahmadnassri/workflows/node-har-validator [circle-image]: https://img.shields.io/circleci/project/github/ahmadnassri/node-har-validator/master.svg?style=for-the-badge&logo=circleci [npm-url]: https://www.npmjs.com/package/har-validator [npm-image]: https://img.shields.io/npm/v/har-validator.svg?style=for-the-badge&logo=npm node-har-validator-5.1.3/circle.yml000066400000000000000000000027431337167255400172070ustar00rootroot00000000000000version: 2.1 executors: builder: docker: - image: ahmadnassri/build-essential node-6: docker: - image: node:6-slim node-8: docker: - image: node:8-slim node-10: docker: - image: node:10-slim commands: persist: steps: - persist_to_workspace: root: . paths: . attach: steps: - attach_workspace: at: . install: steps: - run: name: Install dependencies command: npm ci jobs: build: executor: builder steps: - checkout - install - persist lint: executor: builder steps: - attach - run: npm run lint test-node-6: executor: node-6 steps: - attach - run: npm run test test-node-8: executor: node-8 steps: - attach - run: npm run test test-node-10: executor: node-10 steps: - attach - run: npm run test release: executor: builder steps: - attach - run: npx semantic-release workflows: version: 2 main: jobs: - build - lint: requires: [ build ] - test-node-6: requires: [ build ] - test-node-8: requires: [ build ] - test-node-10: requires: [ build ] - release: context: semantic-release requires: [ build, lint, test-node-6, test-node-8, test-node-10 ] filters: branches: only: master node-har-validator-5.1.3/docs/000077500000000000000000000000001337167255400161455ustar00rootroot00000000000000node-har-validator-5.1.3/docs/async.md000066400000000000000000000105301337167255400176030ustar00rootroot00000000000000## async API ```js import * as validate from 'har-validator/lib/async' import { request, response } from 'har-validator/lib/async' ``` ### validate.afterRequest(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [afterRequest"](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) objects ```js let isValid = validate.afterRequest(data) ``` ### validate.beforeRequest(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a ["afterRequest"](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) objects ```js let isValid = validate.beforeRequest(data) ``` ### validate.browser(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [browser](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#browser) object ```js let isValid = validate.browser(data) ``` ### validate.cache(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [cache](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) object ```js let isValid = validate.cache(data) ``` ### validate.content(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [content](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#content) object ```js let isValid = validate.content(data) ``` ### validate.cookie(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [cookie](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cookies) object ```js let isValid = validate.cookie(data) ``` ### validate.creator(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [creator](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#creator) object ```js let isValid = validate.creator(data) ``` ### validate.entry(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ an [entry](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#entries) object ```js let isValid = validate.entry(data) ``` ### validate.har(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a full [HAR](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md) object ```js let isValid = validate.har(data) ``` ### validate.header(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [header](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#headers) object ```js let isValid = validate.header(data) ``` ### validate.log(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [log](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#log) object ```js let isValid = validate.log(data) ``` ### validate.page(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [page](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#pages) object ```js let isValid = validate.page(data) ``` ### validate.pageTimings(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [pageTimings](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#pageTimings) object ```js let isValid = validate.pageTimings(data) ``` ### validate.postData(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [postData](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#postData) object ```js let isValid = validate.postData(data) ``` ### validate.query(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [queryString](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#querystring) object ```js let isValid = validate.query(data) ``` ### validate.request(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [request](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#request) object ```js let isValid = validate.request(data) ``` ### validate.response(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [response](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#response) object ```js let isValid = validate.cacheEntry(data) ``` ### validate.timings(data) > Returns `true` or `false`. - **data**: `Object` _(Required)_ a [timings](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#timings) object ```js let isValid = validate.timings(data) ``` node-har-validator-5.1.3/docs/callback.md000066400000000000000000000156331337167255400202330ustar00rootroot00000000000000 ## Callback API ```js import * as validate from 'har-validator/lib/async' import { request, response } from 'har-validator/lib/async' ``` ### validate.afterRequest(data [, callback]) - **data**: `Object` _(Required)_ a [afterRequest"](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) objects - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.afterRequest(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.beforeRequest(data [, callback]) - **data**: `Object` _(Required)_ a ["beforeRequest"](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) objects - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.beforeRequest(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.browser(data [, callback]) - **data**: `Object` _(Required)_ a [browser](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#browser) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.browser(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.cache(data [, callback]) - **data**: `Object` _(Required)_ a [cache](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.cache(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.content(data [, callback]) - **data**: `Object` _(Required)_ a [content](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#content) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.content(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.cookie(data [, callback]) - **data**: `Object` _(Required)_ a [cookie](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cookies) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.cookie(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.creator(data [, callback]) - **data**: `Object` _(Required)_ a [creator](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#creator) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.creator(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.entry(data [, callback]) - **data**: `Object` _(Required)_ an [entry](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#entries) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.entry(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.har(data [, callback]) - **data**: `Object` _(Required)_ a full [HAR](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.har(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.header(data [, callback]) - **data**: `Object` _(Required)_ a [header](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#headers) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.header(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.log(data [, callback]) - **data**: `Object` _(Required)_ a [log](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#log) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.log(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.page(data [, callback]) - **data**: `Object` _(Required)_ a [page](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#page) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.page(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.pageTimings(data [, callback]) - **data**: `Object` _(Required)_ a [pageTimings](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#pageTimings) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.pageTimings(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.postData(data [, callback]) - **data**: `Object` _(Required)_ a [postData](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#postdata') object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.postData(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.query(data [, callback]) - **data**: `Object` _(Required)_ a [queryString](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#querystring) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.query(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.request(data [, callback]) - **data**: `Object` _(Required)_ a [request](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#request) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.request(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.response(data [, callback]) - **data**: `Object` _(Required)_ a [response](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#response) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.cacheEntry(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` ### validate.timings(data [, callback]) - **data**: `Object` _(Required)_ a [timings](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#timings) object - **callback**: `Function` callback function with signature of `(err, valid)` ```js validate.timings(data, (err, valid) => { if (err) console.error(err.errors) if (valid) console.log('✔️') }) ``` node-har-validator-5.1.3/docs/promise.md000066400000000000000000000133631337167255400201530ustar00rootroot00000000000000## Promise API ```js import * as validate from 'har-validator' import * as validate from 'har-validator/lib/promise' import { request, response } from 'har-validator/lib/promise' ``` ### validate.afterRequest(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [afterRequest"](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) objects ```js validate.afterRequest(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.beforeRequest(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a ["beforeRequest"](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) objects ```js validate.beforeRequest(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.browser(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [browser](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#browser) object ```js validate.browser(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.cache(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [cache](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cache) object ```js validate.cache(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.content(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [content](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#content) object ```js validate.content(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.cookie(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [cookie](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#cookies) object ```js validate.cookie(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.creator(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [creator](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#creator) object ```js validate.creator(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.entry(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ an [entry](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#entries) object ```js validate.entry(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.har(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a full [HAR](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md) object ```js validate.har(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.header(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [header](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#headers) object ```js validate.header(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.log(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [log](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#log) object ```js validate.log(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.page(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [page](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#pages) object ```js validate.page(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.pageTimings(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [pageTimings](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#pageTimings) object ```js validate.pageTimings(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.postData(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [postData](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#postData) object ```js validate.postData(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.query(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [queryString](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#querystring) object ```js validate.query(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.request(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [request](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#request) object ```js validate.request(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.response(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [response](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#response) object ```js validate.cacheEntry(data) .then((data) => console.log('✔️')) .catch(console.error) ``` ### validate.timings(data) > Returns a promise that resolves to the valid object. - **data**: `Object` _(Required)_ a [timings](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md#timings) object ```js validate.timings(data) .then((data) => console.log('✔️')) .catch(console.error) ``` node-har-validator-5.1.3/lib/000077500000000000000000000000001337167255400157635ustar00rootroot00000000000000node-har-validator-5.1.3/lib/async.js000066400000000000000000000042041337167255400174360ustar00rootroot00000000000000var Ajv = require('ajv') var HARError = require('./error') var schemas = require('har-schema') var ajv function createAjvInstance () { var ajv = new Ajv({ allErrors: true }) ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')) ajv.addSchema(schemas) return ajv } function validate (name, data, next) { data = data || {} // validator config ajv = ajv || createAjvInstance() var validate = ajv.getSchema(name + '.json') var valid = validate(data) // callback? if (typeof next === 'function') { return next(!valid ? new HARError(validate.errors) : null, valid) } return valid } exports.afterRequest = function (data, next) { return validate('afterRequest', data, next) } exports.beforeRequest = function (data, next) { return validate('beforeRequest', data, next) } exports.browser = function (data, next) { return validate('browser', data, next) } exports.cache = function (data, next) { return validate('cache', data, next) } exports.content = function (data, next) { return validate('content', data, next) } exports.cookie = function (data, next) { return validate('cookie', data, next) } exports.creator = function (data, next) { return validate('creator', data, next) } exports.entry = function (data, next) { return validate('entry', data, next) } exports.har = function (data, next) { return validate('har', data, next) } exports.header = function (data, next) { return validate('header', data, next) } exports.log = function (data, next) { return validate('log', data, next) } exports.page = function (data, next) { return validate('page', data, next) } exports.pageTimings = function (data, next) { return validate('pageTimings', data, next) } exports.postData = function (data, next) { return validate('postData', data, next) } exports.query = function (data, next) { return validate('query', data, next) } exports.request = function (data, next) { return validate('request', data, next) } exports.response = function (data, next) { return validate('response', data, next) } exports.timings = function (data, next) { return validate('timings', data, next) } node-har-validator-5.1.3/lib/error.js000066400000000000000000000005651337167255400174600ustar00rootroot00000000000000function HARError (errors) { var message = 'validation failed' this.name = 'HARError' this.message = message this.errors = errors if (typeof Error.captureStackTrace === 'function') { Error.captureStackTrace(this, this.constructor) } else { this.stack = (new Error(message)).stack } } HARError.prototype = Error.prototype module.exports = HARError node-har-validator-5.1.3/lib/promise.js000066400000000000000000000036251337167255400200050ustar00rootroot00000000000000var Ajv = require('ajv') var HARError = require('./error') var schemas = require('har-schema') var ajv function createAjvInstance () { var ajv = new Ajv({ allErrors: true }) ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')) ajv.addSchema(schemas) return ajv } function validate (name, data) { data = data || {} // validator config ajv = ajv || createAjvInstance() var validate = ajv.getSchema(name + '.json') return new Promise(function (resolve, reject) { var valid = validate(data) !valid ? reject(new HARError(validate.errors)) : resolve(data) }) } exports.afterRequest = function (data) { return validate('afterRequest', data) } exports.beforeRequest = function (data) { return validate('beforeRequest', data) } exports.browser = function (data) { return validate('browser', data) } exports.cache = function (data) { return validate('cache', data) } exports.content = function (data) { return validate('content', data) } exports.cookie = function (data) { return validate('cookie', data) } exports.creator = function (data) { return validate('creator', data) } exports.entry = function (data) { return validate('entry', data) } exports.har = function (data) { return validate('har', data) } exports.header = function (data) { return validate('header', data) } exports.log = function (data) { return validate('log', data) } exports.page = function (data) { return validate('page', data) } exports.pageTimings = function (data) { return validate('pageTimings', data) } exports.postData = function (data) { return validate('postData', data) } exports.query = function (data) { return validate('query', data) } exports.request = function (data) { return validate('request', data) } exports.response = function (data) { return validate('response', data) } exports.timings = function (data) { return validate('timings', data) } node-har-validator-5.1.3/package-lock.json000066400000000000000000003133661337167255400204450ustar00rootroot00000000000000{ "name": "har-validator", "version": "5.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { "ajv": { "version": "6.5.5", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { "safer-buffer": "~2.1.0" } }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, "bind-obj-methods": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", "integrity": "sha512-3/qRXczDi2Cdbz6jE+W3IflJOutRVica8frpBn14de1mBOkzDo+6tY33kNhvkw54Kn3PzRRD2VnGbGPcTAk4sw==", "dev": true }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "clean-yaml-object": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", "dev": true }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, "combined-stream": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "coveralls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", "dev": true, "requires": { "growl": "~> 1.10.0", "js-yaml": "^3.11.0", "lcov-parse": "^0.0.10", "log-driver": "^1.2.7", "minimist": "^1.2.0", "request": "^2.85.0" } }, "cross-spawn": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "^4.0.1", "which": "^1.2.9" } }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "diff": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", "dev": true }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "events-to-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", "dev": true }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "foreground-child": { "version": "1.5.6", "resolved": "http://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { "cross-spawn": "^4", "signal-exit": "^3.0.0" } }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "fs-exists-cached": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", "dev": true }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "function-loop": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.1.tgz", "integrity": "sha512-EiCtXLoWnr6tA6FtCwUfwzHzjzw8MIPfgMEsu97Iz6XKe95XKzdbFjzC02kSzwm11ZPcbNm+qwnSQKpRI8OpdA==", "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "js-yaml": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, "lcov-parse": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", "dev": true }, "log-driver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", "dev": true }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { "mime-db": "~1.37.0" } }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "minipass": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" }, "dependencies": { "yallist": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } } }, "mkdirp": { "version": "0.5.1", "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nyc": { "version": "11.9.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", "dev": true, "requires": { "archy": "^1.0.0", "arrify": "^1.0.1", "caching-transform": "^1.0.0", "convert-source-map": "^1.5.1", "debug-log": "^1.0.1", "default-require-extensions": "^1.0.0", "find-cache-dir": "^0.1.1", "find-up": "^2.1.0", "foreground-child": "^1.5.3", "glob": "^7.0.6", "istanbul-lib-coverage": "^1.1.2", "istanbul-lib-hook": "^1.1.0", "istanbul-lib-instrument": "^1.10.0", "istanbul-lib-report": "^1.1.3", "istanbul-lib-source-maps": "^1.2.3", "istanbul-reports": "^1.4.0", "md5-hex": "^1.2.0", "merge-source-map": "^1.1.0", "micromatch": "^3.1.10", "mkdirp": "^0.5.0", "resolve-from": "^2.0.0", "rimraf": "^2.6.2", "signal-exit": "^3.0.1", "spawn-wrap": "^1.4.2", "test-exclude": "^4.2.0", "yargs": "11.1.0", "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", "repeat-string": "^1.5.2" } }, "amdefine": { "version": "1.0.1", "bundled": true, "dev": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" } }, "archy": { "version": "1.0.0", "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", "bundled": true, "dev": true }, "async": { "version": "1.5.2", "bundled": true, "dev": true }, "atob": { "version": "2.1.1", "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.26.0", "bundled": true, "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", "js-tokens": "^3.0.2" } }, "babel-generator": { "version": "6.26.1", "bundled": true, "dev": true, "requires": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.17.4", "source-map": "^0.5.7", "trim-right": "^1.0.1" } }, "babel-messages": { "version": "6.23.0", "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-runtime": { "version": "6.26.0", "bundled": true, "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" } }, "babel-template": { "version": "6.26.0", "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "lodash": "^4.17.4" } }, "babel-traverse": { "version": "6.26.0", "bundled": true, "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", "debug": "^2.6.8", "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" } }, "babel-types": { "version": "6.26.0", "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", "lodash": "^4.17.4", "to-fast-properties": "^1.0.3" } }, "babylon": { "version": "6.18.0", "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", "bundled": true, "dev": true }, "base": { "version": "0.11.2", "bundled": true, "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", "define-property": "^1.0.0", "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "2.3.2", "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "builtin-modules": { "version": "1.1.1", "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", "bundled": true, "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", "has-value": "^1.0.0", "isobject": "^3.0.1", "set-value": "^2.0.0", "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" }, "dependencies": { "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "caching-transform": { "version": "1.0.1", "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", "mkdirp": "^0.5.1", "write-file-atomic": "^1.1.4" } }, "camelcase": { "version": "1.2.1", "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", "bundled": true, "dev": true, "optional": true, "requires": { "align-text": "^0.1.3", "lazy-cache": "^1.0.3" } }, "chalk": { "version": "1.1.3", "bundled": true, "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" } }, "class-utils": { "version": "0.3.6", "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "cliui": { "version": "2.1.0", "bundled": true, "dev": true, "optional": true, "requires": { "center-align": "^0.1.1", "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", "bundled": true, "dev": true, "optional": true } } }, "code-point-at": { "version": "1.1.0", "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" } }, "commondir": { "version": "1.0.1", "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", "bundled": true, "dev": true }, "core-js": { "version": "2.5.6", "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", "which": "^1.2.9" } }, "debug": { "version": "2.6.9", "bundled": true, "dev": true, "requires": { "ms": "2.0.0" } }, "debug-log": { "version": "1.0.1", "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" } }, "define-property": { "version": "2.0.2", "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "detect-indent": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "repeating": "^2.0.0" } }, "error-ex": { "version": "1.3.1", "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { "version": "1.0.5", "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", "bundled": true, "dev": true }, "execa": { "version": "0.7.0", "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } } } }, "expand-brackets": { "version": "2.1.4", "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "extend-shallow": { "version": "3.0.2", "bundled": true, "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" } } } }, "extglob": { "version": "2.0.4", "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "find-cache-dir": { "version": "0.1.1", "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", "mkdirp": "^0.5.1", "pkg-dir": "^1.0.0" } }, "find-up": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" } }, "for-in": { "version": "1.0.2", "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", "signal-exit": "^3.0.0" } }, "fragment-cache": { "version": "0.2.1", "bundled": true, "dev": true, "requires": { "map-cache": "^0.2.2" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", "bundled": true, "dev": true }, "glob": { "version": "7.1.2", "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "globals": { "version": "9.18.0", "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.11", "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", "bundled": true, "dev": true, "requires": { "async": "^1.4.0", "optimist": "^0.6.1", "source-map": "^0.4.4", "uglify-js": "^2.6" }, "dependencies": { "source-map": { "version": "0.4.4", "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" } } } }, "has-ansi": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "has-flag": { "version": "1.0.0", "bundled": true, "dev": true }, "has-value": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" }, "dependencies": { "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "has-values": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "kind-of": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "hosted-git-info": { "version": "2.6.0", "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", "bundled": true, "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.3", "bundled": true, "dev": true }, "invariant": { "version": "2.2.4", "bundled": true, "dev": true, "requires": { "loose-envify": "^1.0.0" } }, "invert-kv": { "version": "1.0.0", "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" } }, "is-arrayish": { "version": "0.2.1", "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { "version": "0.1.4", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" } }, "is-descriptor": { "version": "0.1.6", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { "version": "5.1.0", "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", "bundled": true, "dev": true }, "is-finite": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { "version": "2.0.0", "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" } }, "is-odd": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "is-number": "^4.0.0" }, "dependencies": { "is-number": { "version": "4.0.0", "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "is-stream": { "version": "1.1.0", "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { "version": "1.10.1", "bundled": true, "dev": true, "requires": { "babel-generator": "^6.18.0", "babel-template": "^6.16.0", "babel-traverse": "^6.18.0", "babel-types": "^6.18.0", "babylon": "^6.18.0", "istanbul-lib-coverage": "^1.2.0", "semver": "^5.3.0" } }, "istanbul-lib-report": { "version": "1.1.3", "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", "mkdirp": "^0.5.1", "path-parse": "^1.0.5", "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { "version": "3.2.3", "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.3", "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", "istanbul-lib-coverage": "^1.1.2", "mkdirp": "^0.5.1", "rimraf": "^2.6.1", "source-map": "^0.5.3" }, "dependencies": { "debug": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "ms": "2.0.0" } } } }, "istanbul-reports": { "version": "1.4.0", "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" } }, "js-tokens": { "version": "3.0.2", "bundled": true, "dev": true }, "jsesc": { "version": "1.3.0", "bundled": true, "dev": true }, "kind-of": { "version": "3.2.2", "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" } }, "lazy-cache": { "version": "1.0.4", "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" } }, "load-json-file": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", "pinkie-promise": "^2.0.0", "strip-bom": "^2.0.0" } }, "locate-path": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", "bundled": true, "dev": true } } }, "lodash": { "version": "4.17.10", "bundled": true, "dev": true }, "longest": { "version": "1.0.1", "bundled": true, "dev": true }, "loose-envify": { "version": "1.3.1", "bundled": true, "dev": true, "requires": { "js-tokens": "^3.0.0" } }, "lru-cache": { "version": "4.1.3", "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, "map-cache": { "version": "0.2.2", "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "object-visit": "^1.0.0" } }, "md5-hex": { "version": "1.3.0", "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { "version": "0.1.1", "bundled": true, "dev": true }, "mem": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" } }, "merge-source-map": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", "bundled": true, "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" } } } }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", "is-odd": "^2.0.0", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "arr-diff": { "version": "4.0.0", "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", "is-builtin-module": "^1.0.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { "version": "2.0.2", "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" } }, "number-is-nan": { "version": "1.0.1", "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", "bundled": true, "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } } } }, "object-visit": { "version": "1.0.1", "bundled": true, "dev": true, "requires": { "isobject": "^3.0.0" }, "dependencies": { "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "object.pick": { "version": "1.3.0", "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "once": { "version": "1.4.0", "bundled": true, "dev": true, "requires": { "wrappy": "1" } }, "optimist": { "version": "0.6.1", "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" } }, "os-homedir": { "version": "1.0.2", "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", "lcid": "^1.0.0", "mem": "^1.1.0" } }, "p-finally": { "version": "1.0.0", "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" } }, "p-try": { "version": "1.0.0", "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" } }, "pascalcase": { "version": "0.1.1", "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { "version": "1.0.1", "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" } }, "pify": { "version": "2.3.0", "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" } }, "pkg-dir": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" } } } }, "posix-character-classes": { "version": "0.1.1", "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", "path-type": "^1.0.0" } }, "read-pkg-up": { "version": "1.0.1", "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" } } } }, "regenerator-runtime": { "version": "0.11.1", "bundled": true, "dev": true }, "regex-not": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, "repeat-element": { "version": "1.1.2", "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", "bundled": true, "dev": true }, "repeating": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-finite": "^1.0.0" } }, "require-directory": { "version": "2.1.1", "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", "bundled": true, "dev": true }, "ret": { "version": "0.1.15", "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", "bundled": true, "dev": true, "optional": true, "requires": { "align-text": "^0.1.1" } }, "rimraf": { "version": "2.6.2", "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" } }, "safe-regex": { "version": "1.1.0", "bundled": true, "dev": true, "requires": { "ret": "~0.1.10" } }, "semver": { "version": "5.5.0", "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "shebang-command": { "version": "1.2.0", "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", "bundled": true, "dev": true }, "slide": { "version": "1.1.6", "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", "bundled": true, "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "snapdragon-node": { "version": "2.1.1", "bundled": true, "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", "bundled": true, "dev": true, "requires": { "kind-of": "^3.2.0" } }, "source-map": { "version": "0.5.7", "bundled": true, "dev": true }, "source-map-resolve": { "version": "0.5.1", "bundled": true, "dev": true, "requires": { "atob": "^2.0.0", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, "source-map-url": { "version": "0.4.0", "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", "mkdirp": "^0.5.0", "os-homedir": "^1.0.1", "rimraf": "^2.6.2", "signal-exit": "^3.0.2", "which": "^1.3.0" } }, "spdx-correct": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.1.0", "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.0", "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.0" } }, "static-extend": { "version": "0.1.2", "bundled": true, "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } } } }, "string-width": { "version": "2.1.1", "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" } } } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-bom": { "version": "2.0.0", "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", "micromatch": "^3.1.8", "object-assign": "^4.1.0", "read-pkg-up": "^1.0.1", "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { "version": "4.0.0", "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", "bundled": true, "dev": true }, "braces": { "version": "2.3.2", "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", "repeat-element": "^1.1.2", "snapdragon": "^0.8.1", "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "expand-brackets": { "version": "2.1.4", "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", "posix-character-classes": "^0.1.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "0.2.5", "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-data-descriptor": { "version": "0.1.4", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "is-descriptor": { "version": "0.1.6", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } }, "kind-of": { "version": "5.1.0", "bundled": true, "dev": true } } }, "extglob": { "version": "2.0.4", "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", "extend-shallow": "^2.0.1", "fragment-cache": "^0.2.1", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "fill-range": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } } } }, "is-accessor-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } }, "is-number": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" } } } }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", "bundled": true, "dev": true }, "micromatch": { "version": "3.1.10", "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "extglob": "^2.0.4", "fragment-cache": "^0.2.1", "kind-of": "^6.0.2", "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } } } }, "to-fast-properties": { "version": "1.0.3", "bundled": true, "dev": true }, "to-object-path": { "version": "0.3.0", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" } }, "to-regex": { "version": "3.0.2", "bundled": true, "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" } }, "to-regex-range": { "version": "2.1.1", "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { "version": "3.0.0", "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" } } } }, "trim-right": { "version": "1.0.1", "bundled": true, "dev": true }, "uglify-js": { "version": "2.8.29", "bundled": true, "dev": true, "optional": true, "requires": { "source-map": "~0.5.1", "uglify-to-browserify": "~1.0.0", "yargs": "~3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", "bundled": true, "dev": true, "optional": true, "requires": { "camelcase": "^1.0.2", "cliui": "^2.1.0", "decamelize": "^1.0.0", "window-size": "0.1.0" } } } }, "uglify-to-browserify": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" } }, "set-value": { "version": "0.4.3", "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.1", "to-object-path": "^0.3.0" } } } }, "unset-value": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", "bundled": true, "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" } } } }, "has-values": { "version": "0.1.4", "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", "bundled": true, "dev": true }, "use": { "version": "3.1.0", "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "which": { "version": "1.3.0", "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, "string-width": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } } } }, "wrappy": { "version": "1.0.2", "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", "slide": "^1.1.5" } }, "y18n": { "version": "3.2.1", "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", "os-locale": "^2.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { "version": "3.0.0", "bundled": true, "dev": true }, "camelcase": { "version": "4.1.0", "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" } }, "strip-ansi": { "version": "4.0.0", "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" } }, "yargs-parser": { "version": "9.0.2", "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" } } } }, "yargs-parser": { "version": "8.1.0", "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", "bundled": true, "dev": true } } } } }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" } }, "opener": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", "dev": true }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "own-or": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", "dev": true }, "own-or-env": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", "dev": true, "requires": { "own-or": "^1.0.0" } }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "psl": { "version": "1.1.29", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", "dev": true }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "readable-stream": { "version": "2.3.6", "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" } }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "^7.0.5" } }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" } }, "stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", "dev": true }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "tap": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/tap/-/tap-12.0.1.tgz", "integrity": "sha512-iEJytWaZy8risvfRjuV4+ST+Lrrui/MW2ZCWn01ZaMn0NKFej4+PpBy6bXGOg9+cEGNmI7d3Sdka/zTUZUGidA==", "dev": true, "requires": { "bind-obj-methods": "^2.0.0", "bluebird": "^3.5.1", "clean-yaml-object": "^0.1.0", "color-support": "^1.1.0", "coveralls": "^3.0.1", "foreground-child": "^1.3.3", "fs-exists-cached": "^1.0.0", "function-loop": "^1.0.1", "glob": "^7.0.0", "isexe": "^2.0.0", "js-yaml": "^3.11.0", "minipass": "^2.3.0", "mkdirp": "^0.5.1", "nyc": "^11.8.0", "opener": "^1.4.1", "os-homedir": "^1.0.2", "own-or": "^1.0.0", "own-or-env": "^1.0.1", "rimraf": "^2.6.2", "signal-exit": "^3.0.0", "source-map-support": "^0.5.6", "stack-utils": "^1.0.0", "tap-mocha-reporter": "^3.0.7", "tap-parser": "^7.0.0", "tmatch": "^4.0.0", "trivial-deferred": "^1.0.1", "tsame": "^2.0.0", "write-file-atomic": "^2.3.0", "yapool": "^1.0.0" } }, "tap-mocha-reporter": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.7.tgz", "integrity": "sha512-GHVXJ38C3oPRpM3YUc43JlGdpVZYiKeT1fmAd3HH2+J+ZWwsNAUFvRRdoGsXLw9+gU9o+zXpBqhS/oXyRQYwlA==", "dev": true, "requires": { "color-support": "^1.1.0", "debug": "^2.1.3", "diff": "^1.3.2", "escape-string-regexp": "^1.0.3", "glob": "^7.0.5", "js-yaml": "^3.3.1", "readable-stream": "^2.1.5", "tap-parser": "^5.1.0", "unicode-length": "^1.0.0" }, "dependencies": { "tap-parser": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", "dev": true, "requires": { "events-to-array": "^1.0.1", "js-yaml": "^3.2.7", "readable-stream": "^2" } } } }, "tap-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", "integrity": "sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==", "dev": true, "requires": { "events-to-array": "^1.0.1", "js-yaml": "^3.2.7", "minipass": "^2.2.0" } }, "tmatch": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", "dev": true }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" }, "dependencies": { "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true } } }, "trivial-deferred": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", "dev": true }, "tsame": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.0.tgz", "integrity": "sha512-dAuzcnOPdqZYojylFQzEes95UDjve3HqKrlTCeLZKSDPMTsn3smzHZqsJj/sWD8wOUkg0RD++B11evyLn2+bIw==", "dev": true }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "unicode-length": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", "dev": true, "requires": { "punycode": "^1.3.2", "strip-ansi": "^3.0.1" }, "dependencies": { "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true } } }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { "punycode": "^2.1.0" } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", "signal-exit": "^3.0.2" } }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yapool": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", "dev": true } } } node-har-validator-5.1.3/package.json000066400000000000000000000022061337167255400175030ustar00rootroot00000000000000{ "version": "5.1.3", "name": "har-validator", "description": "Extremely fast HTTP Archive (HAR) validator using JSON Schema", "author": "Ahmad Nassri (https://www.ahmadnassri.com/)", "homepage": "https://github.com/ahmadnassri/node-har-validator", "repository": { "type": "git", "url": "https://github.com/ahmadnassri/node-har-validator.git" }, "license": "MIT", "main": "lib/promise.js", "keywords": [ "har", "cli", "ajv", "http", "archive", "validate", "validator" ], "engines": { "node": ">=6" }, "files": [ "lib" ], "bugs": { "url": "https://github.com/ahmadnassri/node-har-validator/issues" }, "scripts": { "lint:deps": "npx updated", "lint:ec": "npx editorconfig-checker .", "lint:js": "npx eslint .", "lint:md": "npx remark --quiet --frail .", "lint": "npx run-p lint:*", "open:coverage": "opener coverage/lcov-report/index.html", "test": "tap test --coverage-report=lcov --no-browser" }, "devDependencies": { "tap": "^12.0.1" }, "dependencies": { "ajv": "^6.5.5", "har-schema": "^2.0.0" } } node-har-validator-5.1.3/renovate.json000066400000000000000000000000521337167255400177300ustar00rootroot00000000000000{ "extends": [ "@ahmadnassri" ] } node-har-validator-5.1.3/test/000077500000000000000000000000001337167255400161745ustar00rootroot00000000000000node-har-validator-5.1.3/test/async.js000066400000000000000000000023361337167255400176530ustar00rootroot00000000000000'use strict' const HARError = require('../lib/error') const invalid = require('./fixtures/har/invalid') const schemas = require('har-schema') const tap = require('tap') const valid = require('./fixtures/har/valid') const validate = require('../lib/async') tap.test('async', assert => { const keys = Object.keys(schemas).filter(key => key !== 'default') assert.plan(keys.length) keys.forEach(key => { assert.type(validate[key], 'function', `${key} is a function`) }) }) tap.test('failure', assert => { assert.plan(4) const error = new HARError([{ dataPath: '.log.version', message: 'should be string' }]) assert.notOk(validate.har({}), 'should fail') validate.har({}, (err, valid) => { assert.notOk(valid, 'should return false in a callback') assert.type(err, HARError, 'should return HARError object in a callback') }) validate.har(invalid.version, (err) => { assert.match(err, error, 'should fail on bad "log.version"') }) }) tap.test('success', assert => { assert.plan(3) assert.ok(validate.har(valid), 'should be successful') validate.har(valid, (err, valid) => { assert.ok(valid, 'should return true in a callback') assert.equal(err, null, 'should not have any errors') }) }) node-har-validator-5.1.3/test/cache-entry.js000066400000000000000000000006661337167255400207440ustar00rootroot00000000000000'use strict' const tap = require('tap') const validate = require('../lib/promise') tap.test('cache entry', assert => { assert.plan(2) return Promise.all([ validate.cache({ beforeRequest: null }).then(out => assert.match(out, { beforeRequest: null }, 'should allow null beforeRequest')), validate.cache({ afterRequest: null }).then(out => assert.match(out, { afterRequest: null }, 'should allow null afterRequest')) ]) }) node-har-validator-5.1.3/test/fixtures/000077500000000000000000000000001337167255400200455ustar00rootroot00000000000000node-har-validator-5.1.3/test/fixtures/har/000077500000000000000000000000001337167255400206175ustar00rootroot00000000000000node-har-validator-5.1.3/test/fixtures/har/invalid.json000066400000000000000000000014541337167255400231440ustar00rootroot00000000000000{ "creator": { "log": { "version": "1.2", "creator": { "name": "", "version": 2 }, "pages": [], "entries": [] } }, "date": { "log": { "version": "1.2", "creator": { "name": "WebInspector", "version": "537.36" }, "pages": [ { "startedDateTime": "2015-02-10T07:33:17.146", "id": "page_1", "title": "http://mockbin.com/", "pageTimings": { "onContentLoad": 627.4099349975586, "onLoad": 1266.5300369262695 } } ], "entries": [] } }, "version": { "log": { "version": 1.2, "creator": { "name": "", "version": "" }, "pages": [], "entries": [] } } } node-har-validator-5.1.3/test/fixtures/har/valid.json000066400000000000000000000064321337167255400226160ustar00rootroot00000000000000{ "log": { "version": "1.2", "creator": { "name": "WebInspector", "version": "537.36" }, "pages": [ { "startedDateTime": "2015-02-10T07:33:17.146Z", "id": "page_1", "title": "http://mockbin.com/", "pageTimings": { "onContentLoad": 627.4099349975586, "onLoad": 1266.5300369262695 } } ], "entries": [ { "startedDateTime": "2015-02-10T07:33:17.146Z", "time": 181.59985542297363, "serverIPAddress": "::1", "request": { "method": "GET", "url": "http://mockbin.com/", "httpVersion": "HTTP/1.1", "headers": [ { "name": "DNT", "value": "1" }, { "name": "Accept-Encoding", "value": "gzip, deflate, sdch" }, { "name": "Host", "value": "mockbin.com" }, { "name": "Connection", "value": "keep-alive" } ], "queryString": [], "cookies": [ { "name": "foo", "expires": "2015-02-10T07:33:17.146Z", "value": "bar", "httpOnly": false, "secure": false } ], "headersSize": 482, "bodySize": 0 }, "response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": [ { "name": "X-Response-Time", "value": "3.419ms" }, { "name": "Date", "value": "Tue, 10 Feb 2015 07:33:16 GMT" }, { "name": "Vary", "value": "Accept, Accept-Encoding" }, { "name": "X-Powered-By", "value": "mockbin.com" }, { "name": "Transfer-Encoding", "value": "chunked" }, { "name": "Content-Type", "value": "text/html; charset=utf-8" }, { "name": "Content-Encoding", "value": "gzip" }, { "name": "Connection", "value": "keep-alive" } ], "cookies": [], "content": { "size": 30, "mimeType": "text/html", "compression": 0, "text": "ALL YOUR BASE ARE BELONG TO US" }, "redirectURL": "", "headersSize": 430, "bodySize": 30 }, "cache": { "beforeRequest": null, "afterRequest": { "expires": "2009-04-16T15:50:36", "lastAccess": "2009-16-02T15:50:34", "eTag": "", "hitCount": 0, "comment": "" } }, "timings": { "blocked": 0.381000001652865, "dns": -1, "connect": -1, "send": 0.05899999996472599, "wait": 179.1829999983744, "receive": 1.9768554229816289, "ssl": -1 }, "connection": "161767", "pageref": "page_1" } ] } } node-har-validator-5.1.3/test/fixtures/request/000077500000000000000000000000001337167255400215355ustar00rootroot00000000000000node-har-validator-5.1.3/test/fixtures/request/invalid.json000066400000000000000000000012221337167255400240530ustar00rootroot00000000000000{ "headers": { "method": "GET", "url": "http://mockbin.com/", "httpVersion": "HTTP/1.1", "headers": {}, "queryString": [], "cookies": [], "headersSize": 0, "bodySize": 0 }, "malformed": { "method": "GET", "url": "http://mockbin.com/", "httpVersion": "HTTP/1.1", "headers": [ { "foo": "bar" } ], "queryString": [], "cookies": [], "headersSize": 0, "bodySize": 0 }, "url": { "method": "GET", "url": "mockbin.com", "httpVersion": "HTTP/1.1", "headers": [], "queryString": [], "cookies": [], "headersSize": 0, "bodySize": 0 } } node-har-validator-5.1.3/test/fixtures/request/valid.json000066400000000000000000000011261337167255400235270ustar00rootroot00000000000000{ "method": "GET", "url": "http://mockbin.com/", "httpVersion": "HTTP/1.1", "headers": [ { "name": "DNT", "value": "1" }, { "name": "Accept-Encoding", "value": "gzip, deflate, sdch" }, { "name": "Host", "value": "mockbin.com" }, { "name": "Connection", "value": "keep-alive" } ], "queryString": [], "cookies": [ { "name": "foo", "expires": "2015-02-10T07:33:17.146Z", "value": "bar", "httpOnly": false, "secure": false } ], "headersSize": 482, "bodySize": 0 } node-har-validator-5.1.3/test/fixtures/response/000077500000000000000000000000001337167255400217035ustar00rootroot00000000000000node-har-validator-5.1.3/test/fixtures/response/invalid.json000066400000000000000000000015221337167255400242240ustar00rootroot00000000000000{ "bodySize": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": [], "cookies": [], "content": { "size": 0, "mimeType": "text/html" }, "redirectURL": "", "headersSize": 0, "bodySize": "0" }, "headers": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": {}, "cookies": [], "content": { "size": 0, "mimeType": "text/html" }, "redirectURL": "", "headersSize": 0, "bodySize": 0 }, "malformed": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": [ { "foo": "bar" } ], "cookies": [], "content": { "size": 0, "mimeType": "text/html" }, "redirectURL": "", "headersSize": 0, "bodySize": 0 } } node-har-validator-5.1.3/test/fixtures/response/valid.json000066400000000000000000000016011337167255400236730ustar00rootroot00000000000000{ "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "headers": [ { "name": "X-Response-Time", "value": "3.419ms" }, { "name": "Date", "value": "Tue, 10 Feb 2015 07:33:16 GMT" }, { "name": "Vary", "value": "Accept, Accept-Encoding" }, { "name": "X-Powered-By", "value": "mockbin.com" }, { "name": "Transfer-Encoding", "value": "chunked" }, { "name": "Content-Type", "value": "text/html; charset=utf-8" }, { "name": "Content-Encoding", "value": "gzip" }, { "name": "Connection", "value": "keep-alive" } ], "cookies": [], "content": { "size": 30, "mimeType": "text/html", "compression": 0, "text": "ALL YOUR BASE ARE BELONG TO US" }, "redirectURL": "", "headersSize": 430, "bodySize": 30 } node-har-validator-5.1.3/test/log.js000066400000000000000000000031361337167255400173160ustar00rootroot00000000000000'use strict' const HARError = require('../lib/error') const invalid = require('./fixtures/har/invalid') const tap = require('tap') const valid = require('./fixtures/har/valid') const validate = require('../lib/promise') const errors = { object: new HARError([{ dataPath: '', message: "should have required property 'log'" }]), array: new HARError([{ dataPath: '', message: 'should be object' }]), undef: new HARError([{ dataPath: '', message: "should have required property 'log'" }]), version: new HARError([{ dataPath: '.log.version', message: 'should be string' }]), creator: new HARError([{ dataPath: '.log.creator.version', message: 'should be string' }]), date: new HARError([{ dataPath: '.log.pages[0].startedDateTime', message: 'should match pattern' }]) } tap.test('log', assert => { assert.plan(7) return Promise.all([ validate.har({}).catch(err => assert.match(err, errors.object, 'should fail with empty object')), validate.har([]).catch(err => assert.match(err, errors.array, 'should fail with empty array')), validate.har(undefined).catch(err => assert.match(err, errors.undef, 'should fail with undefined')), validate.har(invalid.version).catch(err => assert.match(err, errors.version, 'should fail on bad "log.version"')), validate.har(invalid.creator).catch(err => assert.match(err, errors.creator, 'should fail on bad "log.creator"')), validate.har(invalid.date).catch(err => assert.match(err, errors.date, 'should fail on bad "log.pages.*.startedDateTime"')), validate.har(valid).then(out => assert.equal(out, valid, 'should not fail with full example')) ]) }) node-har-validator-5.1.3/test/promise.js000066400000000000000000000013531337167255400202120ustar00rootroot00000000000000'use strict' const fixture = require('./fixtures/har/valid') const HARError = require('../lib/error') const schemas = require('har-schema') const tap = require('tap') const validate = require('../lib/promise') tap.test('promises', assert => { const keys = Object.keys(schemas).filter((key) => key !== 'default') assert.plan((keys.length * 2) + 2) keys.forEach(key => { assert.type(validate[key], 'function', `${key} is a function`) assert.type(validate[key]().catch(() => {}), Promise, `${key}() is a promise`) }) validate.har({}).catch(err => { assert.type(err, HARError, 'thrown error is an object') }) validate.har(fixture).then(out => { assert.equal(out, fixture, 'resolves with the original data') }) }) node-har-validator-5.1.3/test/request.js000066400000000000000000000031471337167255400202270ustar00rootroot00000000000000'use strict' const HARError = require('../lib/error') const invalid = require('./fixtures/request/invalid') const tap = require('tap') const valid = require('./fixtures/request/valid') const validate = require('../lib/promise') const errors = { object: new HARError([{ dataPath: '', message: "should have required property 'method'" }]), array: new HARError([{ dataPath: '', message: 'should be object' }]), undef: new HARError([{ dataPath: '', message: "should have required property 'method'" }]), url: new HARError([{ dataPath: '.url', message: 'should match format "uri"' }]), headers: new HARError([{ dataPath: '.headers', message: 'should be array' }]), malformed: new HARError([{ dataPath: '.headers[0]', message: "should have required property 'name'" }]) } tap.test('request', assert => { assert.plan(7) return Promise.all([ validate.request({}).catch(err => assert.match(err, errors.object, 'should fail with empty object')), validate.request([]).catch(err => assert.match(err, errors.array, 'should fail with empty array')), validate.request(undefined).catch(err => assert.match(err, errors.undef, 'should fail with undefined')), validate.request(invalid.url).catch(err => assert.match(err, errors.url, 'should fail on bad "url"')), validate.request(invalid.headers).catch(err => assert.match(err, errors.headers, 'should fail on bad "headers"')), validate.request(invalid.malformed).catch(err => assert.match(err, errors.malformed, 'should fail on malformed "headers"')), validate.request(valid).then(out => assert.equal(out, valid, 'should not fail with full example')) ]) }) node-har-validator-5.1.3/test/response.js000066400000000000000000000032021337167255400203650ustar00rootroot00000000000000'use strict' const HARError = require('../lib/error') const invalid = require('./fixtures/response/invalid') const valid = require('./fixtures/response/valid') const validate = require('../lib/promise') const tap = require('tap') const errors = { object: new HARError([{ dataPath: '', message: "should have required property 'status'" }]), array: new HARError([{ dataPath: '', message: 'should be object' }]), undef: new HARError([{ dataPath: '', message: "should have required property 'status'" }]), bodySize: new HARError([{ dataPath: '.bodySize', message: 'should be integer' }]), headers: new HARError([{ dataPath: '.headers', message: 'should be array' }]), malformed: new HARError([{ dataPath: '.headers[0]', message: "should have required property 'name'" }]) } tap.test('response', assert => { assert.plan(7) return Promise.all([ validate.response({}).catch(err => assert.match(err, errors.object, 'should fail with empty object')), validate.response([]).catch(err => assert.match(err, errors.array, 'should fail with empty array')), validate.response(undefined).catch(err => assert.match(err, errors.undef, 'should fail with undefined')), validate.response(invalid.bodySize).catch(err => assert.match(err, errors.bodySize, 'should fail on bad "bodySize"')), validate.response(invalid.headers).catch(err => assert.match(err, errors.headers, 'should fail on bad "headers"')), validate.response(invalid.malformed).catch(err => assert.match(err, errors.malformed, 'should fail on malformed "headers"')), validate.response(valid).then(out => assert.equal(out, valid, 'should not fail with full example')) ]) })