From 6b7995afbab70186fc4b2a59c685df01c7e72984 Mon Sep 17 00:00:00 2001 From: WC Leung Date: Tue, 11 Jul 2017 12:57:55 +0000 Subject: [PATCH 1/8] Allow more characters to be used in string fields of [include] tag --- examples/default/package-lock.json | 4734 ++++++++++++++++++++++++++++ package.json | 1 + src/parser.js | 124 +- test/parser-test.js | 71 +- 4 files changed, 4880 insertions(+), 50 deletions(-) create mode 100644 examples/default/package-lock.json diff --git a/examples/default/package-lock.json b/examples/default/package-lock.json new file mode 100644 index 0000000..1957720 --- /dev/null +++ b/examples/default/package-lock.json @@ -0,0 +1,4734 @@ +{ + "name": "example-default", + "version": "1.0.0", + "lockfileVersion": 1, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bash-color": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz", + "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true + }, + "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 + }, + "fs-extra": { + "version": "0.26.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.5.tgz", + "integrity": "sha1-U6x0Znygg/0twXEsgTA5yjLWmn8=", + "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 + }, + "gitbook-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gitbook-cli/-/gitbook-cli-2.3.0.tgz", + "integrity": "sha1-AaNg3nGkjlMnftLLGr9sYKCQFXY=", + "dev": true + }, + "gitbook-plugin-include-codeblock": { + "version": "file:..\\..", + "dev": true, + "dependencies": { + "acorn": { + "version": "5.1.1", + "bundled": true + }, + "acorn-es7-plugin": { + "version": "1.1.7", + "bundled": true + }, + "acorn-jsx": { + "version": "3.0.1", + "bundled": true, + "dependencies": { + "acorn": { + "version": "3.3.0", + "bundled": true + } + } + }, + "ajv": { + "version": "4.11.8", + "bundled": true + }, + "ajv-keywords": { + "version": "1.5.1", + "bundled": true + }, + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-escapes": { + "version": "1.4.0", + "bundled": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true + }, + "anymatch": { + "version": "1.3.0", + "bundled": true, + "optional": true + }, + "argparse": { + "version": "1.0.9", + "bundled": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "array-filter": { + "version": "1.0.0", + "bundled": true + }, + "array-union": { + "version": "1.0.2", + "bundled": true + }, + "array-uniq": { + "version": "1.0.3", + "bundled": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "optional": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "async-each": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "babel-cli": { + "version": "6.24.1", + "bundled": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "bundled": true + } + } + }, + "babel-code-frame": { + "version": "6.22.0", + "bundled": true + }, + "babel-core": { + "version": "6.25.0", + "bundled": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "bundled": true + } + } + }, + "babel-generator": { + "version": "6.25.0", + "bundled": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "bundled": true + } + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-define-map": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-function-name": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-regex": { + "version": "6.24.1", + "bundled": true + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "bundled": true + }, + "babel-helpers": { + "version": "6.24.1", + "bundled": true + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true + }, + "babel-plugin-auto-import-assert": { + "version": "1.0.3", + "bundled": true + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "bundled": true + }, + "babel-plugin-empower-assert": { + "version": "1.3.0", + "bundled": true + }, + "babel-plugin-espower": { + "version": "2.3.2", + "bundled": true + }, + "babel-plugin-jsdoc-to-assert": { + "version": "1.9.0", + "bundled": true + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "bundled": true + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "bundled": true + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "bundled": true + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "bundled": true + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "bundled": true + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "bundled": true + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "bundled": true + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "bundled": true + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-regenerator": { + "version": "6.24.1", + "bundled": true + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "bundled": true + }, + "babel-polyfill": { + "version": "6.23.0", + "bundled": true + }, + "babel-preset-es2015": { + "version": "6.24.1", + "bundled": true + }, + "babel-preset-jsdoc-to-assert": { + "version": "1.0.1", + "bundled": true + }, + "babel-preset-power-assert": { + "version": "1.0.0", + "bundled": true + }, + "babel-register": { + "version": "6.24.1", + "bundled": true + }, + "babel-runtime": { + "version": "6.23.0", + "bundled": true + }, + "babel-template": { + "version": "6.25.0", + "bundled": true + }, + "babel-traverse": { + "version": "6.25.0", + "bundled": true + }, + "babel-types": { + "version": "6.25.0", + "bundled": true + }, + "babylon": { + "version": "6.17.4", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "binary-extensions": { + "version": "1.8.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "optional": true + }, + "call-matcher": { + "version": "1.0.1", + "bundled": true + }, + "call-signature": { + "version": "0.0.2", + "bundled": true + }, + "caller-path": { + "version": "0.1.0", + "bundled": true + }, + "callsites": { + "version": "0.2.0", + "bundled": true + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "bundled": true + }, + "chokidar": { + "version": "1.7.0", + "bundled": true, + "optional": true + }, + "circular-json": { + "version": "0.3.1", + "bundled": true + }, + "cli-cursor": { + "version": "1.0.2", + "bundled": true + }, + "cli-width": { + "version": "2.1.0", + "bundled": true + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "colors": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "commander": { + "version": "2.11.0", + "bundled": true + }, + "commonmark": { + "version": "0.27.0", + "bundled": true, + "dev": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "concat-stream": { + "version": "1.6.0", + "bundled": true + }, + "convert-source-map": { + "version": "1.5.0", + "bundled": true + }, + "core-js": { + "version": "2.4.1", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cycle": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "d": { + "version": "1.0.0", + "bundled": true + }, + "debug": { + "version": "2.6.8", + "bundled": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "deep-equal": { + "version": "1.0.1", + "bundled": true + }, + "deep-is": { + "version": "0.1.3", + "bundled": true + }, + "define-properties": { + "version": "1.1.2", + "bundled": true + }, + "del": { + "version": "2.2.2", + "bundled": true + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true + }, + "diff": { + "version": "1.4.0", + "bundled": true + }, + "diff-match-patch": { + "version": "1.0.0", + "bundled": true + }, + "doctrine": { + "version": "2.0.0", + "bundled": true + }, + "eastasianwidth": { + "version": "0.1.1", + "bundled": true + }, + "empower": { + "version": "1.2.3", + "bundled": true + }, + "empower-core": { + "version": "0.6.2", + "bundled": true + }, + "entities": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "es5-ext": { + "version": "0.10.23", + "bundled": true + }, + "es6-iterator": { + "version": "2.0.1", + "bundled": true + }, + "es6-map": { + "version": "0.1.5", + "bundled": true + }, + "es6-set": { + "version": "0.1.5", + "bundled": true + }, + "es6-symbol": { + "version": "3.1.1", + "bundled": true + }, + "es6-weak-map": { + "version": "2.0.2", + "bundled": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "escope": { + "version": "3.6.0", + "bundled": true + }, + "eslint": { + "version": "3.19.0", + "bundled": true, + "dependencies": { + "user-home": { + "version": "2.0.0", + "bundled": true + } + } + }, + "eslint-config-prettier": { + "version": "2.3.0", + "bundled": true + }, + "eslint-plugin-prettier": { + "version": "2.1.2", + "bundled": true + }, + "espower-location-detector": { + "version": "1.0.0", + "bundled": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "bundled": true + } + } + }, + "espree": { + "version": "3.4.3", + "bundled": true + }, + "esprima": { + "version": "4.0.0", + "bundled": true + }, + "espurify": { + "version": "1.7.0", + "bundled": true + }, + "esquery": { + "version": "1.0.0", + "bundled": true + }, + "esrecurse": { + "version": "4.2.0", + "bundled": true + }, + "estraverse": { + "version": "4.2.0", + "bundled": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true + }, + "event-emitter": { + "version": "0.3.5", + "bundled": true + }, + "exit-hook": { + "version": "1.1.1", + "bundled": true + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "optional": true + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "optional": true + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "optional": true + }, + "eyes": { + "version": "0.1.8", + "bundled": true, + "dev": true + }, + "fast-diff": { + "version": "1.1.1", + "bundled": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "bundled": true + }, + "figures": { + "version": "1.7.0", + "bundled": true + }, + "file-entry-cache": { + "version": "2.0.0", + "bundled": true + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "optional": true + }, + "flat-cache": { + "version": "1.2.2", + "bundled": true + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "optional": true + }, + "foreach": { + "version": "2.0.5", + "bundled": true + }, + "fs-readdir-recursive": { + "version": "1.0.0", + "bundled": true + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fsevents": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "block-stream": { + "version": "0.0.9", + "bundled": true + }, + "boom": { + "version": "2.10.1", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "optional": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "optional": true + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "optional": true + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "optional": true + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.36", + "bundled": true, + "optional": true + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "optional": true + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "optional": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true + }, + "request": { + "version": "2.81.0", + "bundled": true, + "optional": true + }, + "rimraf": { + "version": "2.6.1", + "bundled": true + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "optional": true + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "optional": true + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "generate-function": { + "version": "2.0.0", + "bundled": true + }, + "generate-object-property": { + "version": "1.2.0", + "bundled": true + }, + "get-stdin": { + "version": "5.0.1", + "bundled": true + }, + "glob": { + "version": "7.1.2", + "bundled": true + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "optional": true + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true + }, + "globals": { + "version": "9.18.0", + "bundled": true + }, + "globby": { + "version": "5.0.0", + "bundled": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "growl": { + "version": "1.9.2", + "bundled": true + }, + "handlebars": { + "version": "4.0.10", + "bundled": true, + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true + }, + "home-or-tmp": { + "version": "2.0.0", + "bundled": true + }, + "ignore": { + "version": "3.3.3", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "indexof": { + "version": "0.0.1", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "inquirer": { + "version": "0.12.0", + "bundled": true + }, + "interpret": { + "version": "1.0.3", + "bundled": true + }, + "invariant": { + "version": "2.2.2", + "bundled": true + }, + "is-binary-path": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "is-buffer": { + "version": "1.1.5", + "bundled": true + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true + }, + "is-glob": { + "version": "2.0.1", + "bundled": true + }, + "is-my-json-valid": { + "version": "2.16.0", + "bundled": true + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "optional": true + }, + "is-path-cwd": { + "version": "1.0.0", + "bundled": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "bundled": true + }, + "is-path-inside": { + "version": "1.0.0", + "bundled": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true + }, + "is-property": { + "version": "1.0.2", + "bundled": true + }, + "is-resolvable": { + "version": "1.0.0", + "bundled": true + }, + "is-url": { + "version": "1.2.2", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "optional": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "jade": { + "version": "0.26.3", + "bundled": true, + "dependencies": { + "commander": { + "version": "0.6.1", + "bundled": true + }, + "mkdirp": { + "version": "0.3.0", + "bundled": true + } + } + }, + "jest-docblock": { + "version": "20.0.3", + "bundled": true + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true + }, + "js-yaml": { + "version": "3.9.0", + "bundled": true + }, + "jsdoc-to-assert": { + "version": "2.8.0", + "bundled": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true + }, + "json5": { + "version": "0.5.1", + "bundled": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true + }, + "jsonpointer": { + "version": "4.0.1", + "bundled": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true + }, + "language-map": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "levn": { + "version": "0.3.0", + "bundled": true + }, + "lodash": { + "version": "4.17.4", + "bundled": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true + }, + "lru-cache": { + "version": "2.7.3", + "bundled": true + }, + "mdurl": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true + }, + "minimist": { + "version": "0.0.10", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "mocha": { + "version": "2.5.3", + "bundled": true, + "dependencies": { + "commander": { + "version": "2.3.0", + "bundled": true + }, + "debug": { + "version": "2.2.0", + "bundled": true + }, + "escape-string-regexp": { + "version": "1.0.2", + "bundled": true + }, + "glob": { + "version": "3.2.11", + "bundled": true + }, + "minimatch": { + "version": "0.3.0", + "bundled": true + }, + "ms": { + "version": "0.7.1", + "bundled": true + }, + "supports-color": { + "version": "1.2.0", + "bundled": true + } + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "mute-stream": { + "version": "0.0.5", + "bundled": true + }, + "nan": { + "version": "2.6.2", + "bundled": true, + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "bundled": true + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "object-keys": { + "version": "1.0.11", + "bundled": true + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true + }, + "onetime": { + "version": "1.1.0", + "bundled": true + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "optionator": { + "version": "0.8.2", + "bundled": true, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "bundled": true + } + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "output-file-sync": { + "version": "1.1.2", + "bundled": true + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "optional": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true + }, + "pify": { + "version": "2.3.0", + "bundled": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true + }, + "pluralize": { + "version": "1.2.1", + "bundled": true + }, + "power-assert": { + "version": "1.4.4", + "bundled": true + }, + "power-assert-context-formatter": { + "version": "1.1.1", + "bundled": true + }, + "power-assert-context-reducer-ast": { + "version": "1.1.2", + "bundled": true, + "dependencies": { + "acorn": { + "version": "4.0.13", + "bundled": true + } + } + }, + "power-assert-context-traversal": { + "version": "1.1.1", + "bundled": true + }, + "power-assert-formatter": { + "version": "1.4.1", + "bundled": true + }, + "power-assert-renderer-assertion": { + "version": "1.1.1", + "bundled": true + }, + "power-assert-renderer-base": { + "version": "1.1.1", + "bundled": true + }, + "power-assert-renderer-comparison": { + "version": "1.1.1", + "bundled": true + }, + "power-assert-renderer-diagram": { + "version": "1.1.2", + "bundled": true + }, + "power-assert-renderer-file": { + "version": "1.1.1", + "bundled": true + }, + "power-assert-util-string-width": { + "version": "1.1.1", + "bundled": true + }, + "prelude-ls": { + "version": "1.1.2", + "bundled": true + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "prettier": { + "version": "1.5.2", + "bundled": true + }, + "private": { + "version": "0.1.7", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "progress": { + "version": "1.1.8", + "bundled": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "optional": true, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "optional": true, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "optional": true + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.3", + "bundled": true + }, + "readdirp": { + "version": "2.1.0", + "bundled": true, + "optional": true + }, + "readline2": { + "version": "1.0.1", + "bundled": true + }, + "rechoir": { + "version": "0.6.2", + "bundled": true + }, + "regenerate": { + "version": "1.3.2", + "bundled": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "bundled": true + }, + "regenerator-transform": { + "version": "0.9.11", + "bundled": true + }, + "regex-cache": { + "version": "0.4.3", + "bundled": true, + "optional": true + }, + "regexpu-core": { + "version": "2.0.0", + "bundled": true + }, + "regjsgen": { + "version": "0.2.0", + "bundled": true + }, + "regjsparser": { + "version": "0.1.5", + "bundled": true, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "bundled": true + } + } + }, + "remove-trailing-separator": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true + }, + "require-uncached": { + "version": "1.0.3", + "bundled": true + }, + "resolve": { + "version": "1.3.3", + "bundled": true + }, + "resolve-from": { + "version": "1.0.1", + "bundled": true + }, + "restore-cursor": { + "version": "1.0.1", + "bundled": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "rimraf": { + "version": "2.6.1", + "bundled": true + }, + "run-async": { + "version": "0.1.0", + "bundled": true + }, + "rx-lite": { + "version": "3.1.2", + "bundled": true + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "shelljs": { + "version": "0.7.8", + "bundled": true + }, + "sigmund": { + "version": "1.0.1", + "bundled": true + }, + "slash": { + "version": "1.0.0", + "bundled": true + }, + "slice-ansi": { + "version": "0.0.4", + "bundled": true + }, + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true + }, + "source-map-support": { + "version": "0.4.15", + "bundled": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "bundled": true + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "bundled": true + }, + "stack-trace": { + "version": "0.0.10", + "bundled": true, + "dev": true + }, + "string_decoder": { + "version": "1.0.3", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true + }, + "string.prototype.repeat": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "stringifier": { + "version": "1.3.0", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true + }, + "table": { + "version": "3.8.3", + "bundled": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "string-width": { + "version": "2.1.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true + } + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true + }, + "to-iso-string": { + "version": "0.0.2", + "bundled": true + }, + "traverse": { + "version": "0.6.6", + "bundled": true + }, + "trim-right": { + "version": "1.0.1", + "bundled": true + }, + "tryit": { + "version": "1.0.3", + "bundled": true + }, + "type-check": { + "version": "0.3.2", + "bundled": true + }, + "type-name": { + "version": "2.0.2", + "bundled": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "universal-deep-strict-equal": { + "version": "1.2.2", + "bundled": true + }, + "user-home": { + "version": "1.1.1", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "v8flags": { + "version": "2.1.1", + "bundled": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "winston": { + "version": "2.3.1", + "bundled": true, + "dev": true, + "dependencies": { + "async": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "winston-color": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write": { + "version": "0.2.1", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + }, + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true + }, + "lodash": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.5.1.tgz", + "integrity": "sha1-gOigdMpfOJOmscELKmNkktcQwxY=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "npm": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/npm/-/npm-3.7.5.tgz", + "integrity": "sha1-p9rljlLsviY8HIYMb9ZP+lDzx5s=", + "dev": true, + "dependencies": { + "abbrev": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "async-some": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "dev": true, + "dependencies": { + "wcwidth": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "defaults": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "clone": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "dependencies": { + "proto-list": { + "version": "1.2.4", + "bundled": true, + "dev": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "asap": { + "version": "2.0.3", + "bundled": true, + "dev": true + } + } + }, + "editor": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fs-vacuum": { + "version": "1.2.7", + "bundled": true, + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.8", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.8", + "bundled": true, + "dev": true + }, + "fstream-npm": { + "version": "1.0.7", + "bundled": true, + "dev": true, + "dependencies": { + "fstream-ignore": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "minimatch": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "brace-expansion": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + } + } + } + } + } + } + } + } + }, + "glob": { + "version": "7.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "minimatch": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.3", + "bundled": true, + "dev": true + }, + "has-unicode": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.1.4", + "bundled": true, + "dev": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true + }, + "init-package-json": { + "version": "1.9.3", + "bundled": true, + "dev": true, + "dependencies": { + "glob": { + "version": "6.0.4", + "bundled": true, + "dev": true, + "dependencies": { + "minimatch": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "dev": true + } + } + }, + "lockfile": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "lodash._baseuniq": { + "version": "4.4.0", + "bundled": true, + "dev": true, + "dependencies": { + "lodash._root": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash._setcache": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true, + "dev": true + }, + "lodash.clonedeep": { + "version": "4.3.0", + "bundled": true, + "dev": true, + "dependencies": { + "lodash._baseclone": { + "version": "4.5.0", + "bundled": true, + "dev": true + } + } + }, + "lodash.isarguments": { + "version": "3.0.7", + "bundled": true, + "dev": true + }, + "lodash.isarray": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "lodash.keys": { + "version": "4.0.3", + "bundled": true, + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true, + "dev": true + }, + "lodash.union": { + "version": "4.2.0", + "bundled": true, + "dev": true, + "dependencies": { + "lodash._baseflatten": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "lodash.rest": { + "version": "4.0.1", + "bundled": true, + "dev": true + } + } + }, + "lodash.uniq": { + "version": "4.2.0", + "bundled": true, + "dev": true + }, + "lodash.without": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "dependencies": { + "lodash._basedifference": { + "version": "4.4.0", + "bundled": true, + "dev": true, + "dependencies": { + "lodash._setcache": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + }, + "lodash.rest": { + "version": "4.0.1", + "bundled": true, + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + } + } + }, + "node-gyp": { + "version": "3.3.0", + "bundled": true, + "dev": true, + "dependencies": { + "glob": { + "version": "4.5.3", + "bundled": true, + "dev": true, + "dependencies": { + "minimatch": { + "version": "2.0.10", + "bundled": true, + "dev": true, + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + } + } + } + } + } + } + }, + "minimatch": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "bundled": true, + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + }, + "path-array": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "dependencies": { + "array-index": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "debug": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "dependencies": { + "ms": { + "version": "0.7.1", + "bundled": true, + "dev": true + } + } + }, + "es6-symbol": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "dependencies": { + "d": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "es5-ext": { + "version": "0.10.11", + "bundled": true, + "dev": true, + "dependencies": { + "es6-iterator": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + } + } + } + } + } + } + } + } + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "dev": true + }, + "normalize-git-url": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "dependencies": { + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "npm-install-checks": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "npm-package-arg": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "npm-registry-client": { + "version": "7.0.9", + "bundled": true, + "dev": true, + "dependencies": { + "concat-stream": { + "version": "1.5.1", + "bundled": true, + "dev": true, + "dependencies": { + "typedarray": { + "version": "0.0.6", + "bundled": true, + "dev": true + } + } + }, + "retry": { + "version": "0.8.0", + "bundled": true, + "dev": true + } + } + }, + "npm-user-validate": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "npmlog": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "dependencies": { + "ansi": { + "version": "0.3.1", + "bundled": true, + "dev": true + }, + "are-we-there-yet": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "dependencies": { + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "gauge": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "dependencies": { + "lodash.pad": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "lodash.padend": { + "version": "4.2.0", + "bundled": true, + "dev": true + }, + "lodash.padstart": { + "version": "4.2.0", + "bundled": true, + "dev": true + }, + "lodash.repeat": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "lodash.tostring": { + "version": "4.1.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "once": { + "version": "1.3.3", + "bundled": true, + "dev": true + }, + "opener": { + "version": "1.4.1", + "bundled": true, + "dev": true + }, + "osenv": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "os-homedir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "os-tmpdir": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + }, + "path-is-inside": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "dev": true, + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "bundled": true, + "dev": true + } + } + }, + "read-cmd-shim": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "util-extend": { + "version": "1.0.3", + "bundled": true, + "dev": true + } + } + }, + "read-package-json": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "glob": { + "version": "6.0.4", + "bundled": true, + "dev": true, + "dependencies": { + "minimatch": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "brace-expansion": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "json-parse-helpfulerror": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "jju": { + "version": "1.2.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "read-package-tree": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "readable-stream": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "1.0.6", + "bundled": true, + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "realize-package-specifier": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "request": { + "version": "2.69.0", + "bundled": true, + "dev": true, + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true + }, + "aws4": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "dependencies": { + "lru-cache": { + "version": "2.7.3", + "bundled": true, + "dev": true + } + } + }, + "bl": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.11.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "extend": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "form-data": { + "version": "1.0.0-rc3", + "bundled": true, + "dev": true, + "dependencies": { + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + } + } + }, + "har-validator": { + "version": "2.0.6", + "bundled": true, + "dev": true, + "dependencies": { + "chalk": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "commander": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + }, + "is-my-json-valid": { + "version": "2.12.4", + "bundled": true, + "dev": true, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "dependencies": { + "is-property": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "jsonpointer": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true, + "dev": true + } + } + }, + "pinkie-promise": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "pinkie": { + "version": "2.0.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true + } + } + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "jsprim": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "json-schema": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true + } + } + }, + "sshpk": { + "version": "1.7.3", + "bundled": true, + "dev": true, + "dependencies": { + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true + }, + "dashdash": { + "version": "1.12.2", + "bundled": true, + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jsbn": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.13.3", + "bundled": true, + "dev": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.9", + "bundled": true, + "dev": true, + "dependencies": { + "mime-db": { + "version": "1.21.0", + "bundled": true, + "dev": true + } + } + }, + "node-uuid": { + "version": "1.4.7", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.0", + "bundled": true, + "dev": true + }, + "qs": { + "version": "6.0.2", + "bundled": true, + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true + }, + "tough-cookie": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "tunnel-agent": { + "version": "0.4.2", + "bundled": true, + "dev": true + } + } + }, + "retry": { + "version": "0.9.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.5.2", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.1.0", + "bundled": true, + "dev": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "sorted-object": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "dependencies": { + "block-stream": { + "version": "0.0.8", + "bundled": true, + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "umask": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "unique-filename": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "dependencies": { + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.0", + "bundled": true, + "dev": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "dependencies": { + "spdx-exceptions": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "validate-npm-package-name": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "dependencies": { + "builtins": { + "version": "0.0.7", + "bundled": true, + "dev": true + } + } + }, + "which": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "dependencies": { + "is-absolute": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "dependencies": { + "is-relative": { + "version": "0.1.3", + "bundled": true, + "dev": true + } + } + }, + "isexe": { + "version": "1.1.1", + "bundled": true, + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.1.4", + "bundled": true, + "dev": true + } + } + }, + "npmi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npmi/-/npmi-1.0.1.tgz", + "integrity": "sha1-FddpJzVHVF5oCdzwzhiu1IsCkOI=", + "dev": true, + "dependencies": { + "npm": { + "version": "2.15.12", + "resolved": "https://registry.npmjs.org/npm/-/npm-2.15.12.tgz", + "integrity": "sha1-33w+1aJ3w/nUtdgZsFMR0QogCuY=", + "dev": true, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "bundled": true, + "dev": true + }, + "ansi": { + "version": "0.3.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true, + "dev": true + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "async-some": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true + }, + "char-spinner": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "chmodr": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "dev": true, + "dependencies": { + "wcwidth": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "defaults": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "clone": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "dependencies": { + "proto-list": { + "version": "1.2.4", + "bundled": true, + "dev": true + } + } + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "asap": { + "version": "2.0.3", + "bundled": true, + "dev": true + } + } + }, + "editor": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fs-vacuum": { + "version": "1.2.9", + "bundled": true, + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.8", + "bundled": true, + "dev": true, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.10", + "bundled": true, + "dev": true + }, + "fstream-npm": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "dependencies": { + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true + } + } + }, + "github-url-from-git": { + "version": "1.4.0", + "bundled": true, + "dev": true + }, + "github-url-from-username-repo": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.0.6", + "bundled": true, + "dev": true, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.6", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.1.5", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true + }, + "init-package-json": { + "version": "1.9.4", + "bundled": true, + "dev": true, + "dependencies": { + "glob": { + "version": "6.0.4", + "bundled": true, + "dev": true, + "dependencies": { + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "dev": true + } + } + }, + "lockfile": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "dependencies": { + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "minimatch": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "bundled": true, + "dev": true, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + } + } + }, + "node-gyp": { + "version": "3.6.0", + "bundled": true, + "dev": true, + "dependencies": { + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "dev": true + }, + "normalize-git-url": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "dependencies": { + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "dependencies": { + "builtin-modules": { + "version": "1.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "npm-install-checks": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "npm-package-arg": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "npm-registry-client": { + "version": "7.2.1", + "bundled": true, + "dev": true, + "dependencies": { + "concat-stream": { + "version": "1.5.2", + "bundled": true, + "dev": true, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "bundled": true, + "dev": true, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "bundled": true, + "dev": true + } + } + }, + "retry": { + "version": "0.10.0", + "bundled": true, + "dev": true + } + } + }, + "npm-user-validate": { + "version": "0.1.5", + "bundled": true, + "dev": true + }, + "npmlog": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "dependencies": { + "are-we-there-yet": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "dependencies": { + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "gauge": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "dependencies": { + "has-unicode": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "lodash._baseslice": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "lodash._basetostring": { + "version": "4.12.0", + "bundled": true, + "dev": true + }, + "lodash.pad": { + "version": "4.4.0", + "bundled": true, + "dev": true + }, + "lodash.padend": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.padstart": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.tostring": { + "version": "4.1.4", + "bundled": true, + "dev": true + } + } + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true + }, + "opener": { + "version": "1.4.1", + "bundled": true, + "dev": true + }, + "osenv": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "os-homedir": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "os-tmpdir": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + }, + "path-is-inside": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "dev": true, + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "bundled": true, + "dev": true + } + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "debuglog": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "util-extend": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + }, + "read-package-json": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "dependencies": { + "glob": { + "version": "6.0.4", + "bundled": true, + "dev": true, + "dependencies": { + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "json-parse-helpfulerror": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "dependencies": { + "jju": { + "version": "1.3.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "readable-stream": { + "version": "2.1.5", + "bundled": true, + "dev": true, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "realize-package-specifier": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "request": { + "version": "2.74.0", + "bundled": true, + "dev": true, + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true + }, + "aws4": { + "version": "1.4.1", + "bundled": true, + "dev": true + }, + "bl": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "bundled": true, + "dev": true, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + } + } + }, + "caseless": { + "version": "0.11.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + } + } + }, + "extend": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "form-data": { + "version": "1.0.0-rc4", + "bundled": true, + "dev": true, + "dependencies": { + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + } + } + }, + "har-validator": { + "version": "2.0.6", + "bundled": true, + "dev": true, + "dependencies": { + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "commander": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + }, + "is-my-json-valid": { + "version": "2.13.1", + "bundled": true, + "dev": true, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "dependencies": { + "is-property": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "jsonpointer": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true, + "dev": true + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "dependencies": { + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true + } + } + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "jsprim": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "json-schema": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true + } + } + }, + "sshpk": { + "version": "1.9.2", + "bundled": true, + "dev": true, + "dependencies": { + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "dashdash": { + "version": "1.14.0", + "bundled": true, + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "getpass": { + "version": "0.1.6", + "bundled": true, + "dev": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jsbn": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.13.3", + "bundled": true, + "dev": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.11", + "bundled": true, + "dev": true, + "dependencies": { + "mime-db": { + "version": "1.23.0", + "bundled": true, + "dev": true + } + } + }, + "node-uuid": { + "version": "1.4.7", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true + }, + "qs": { + "version": "6.2.1", + "bundled": true, + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true + }, + "tough-cookie": { + "version": "2.3.1", + "bundled": true, + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "bundled": true, + "dev": true + } + } + }, + "retry": { + "version": "0.10.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.5.4", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.1.0", + "bundled": true, + "dev": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "dependencies": { + "readable-stream": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + }, + "util-deprecate": { + "version": "1.0.1", + "bundled": true, + "dev": true + } + } + } + } + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "sorted-object": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "text-table": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "umask": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "dependencies": { + "spdx-exceptions": { + "version": "1.0.4", + "bundled": true, + "dev": true + } + } + } + } + }, + "validate-npm-package-name": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "dependencies": { + "builtins": { + "version": "0.0.7", + "bundled": true, + "dev": true + } + } + }, + "which": { + "version": "1.2.11", + "bundled": true, + "dev": true, + "dependencies": { + "isexe": { + "version": "1.1.2", + "bundled": true, + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.1.4", + "bundled": true, + "dev": true + } + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "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 + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "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 + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true + }, + "semver": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz", + "integrity": "sha1-hfLPhVBGXE3wAM99hvawVBBqueU=", + "dev": true + }, + "tmp": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/package.json b/package.json index abaa300..cd914b0 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,7 @@ } }, "dependencies": { + "commonmark": "0.27.0", "language-map": "^1.1.1", "handlebars": "^4.0.5", "winston-color": "^1.0.0" diff --git a/src/parser.js b/src/parser.js index 651ce92..eaef75c 100644 --- a/src/parser.js +++ b/src/parser.js @@ -3,13 +3,25 @@ const path = require("path"); const Handlebars = require("handlebars"); const logger = require("winston-color"); -import { defaultKeyValueMap, initOptions, checkMapTypes, convertValue } from "./options.js"; +const common = require("commonmark/lib/common.js"); +import { defaultKeyValueMap, initOptions, checkMapTypes } from "./options.js"; import { getLang } from "./language-detection"; import { getMarker, hasMarker, markerSliceCode, removeMarkers } from "./marker"; import { sliceCode, hasSliceRange, getSliceRange } from "./slicer"; import { hasTitle } from "./title"; import { getTemplateContent, readFileFromPath } from "./template"; -const markdownLinkFormatRegExp = /\[([^\]]*?)\]\(([^\)]*?)\)/gm; +const markdownLinkFormatRegExp = /\[((?:[^\]]|\\.)*?)\]\(((?:[^\)]|\\.)*?)\)/gm; + +const keyEx = "\\w+"; +const kvsepEx = "[:=]"; +const spacesEx = "\\s*"; +const quoteEx = "[\"']"; +const valEx = "(?:[^'\"\\\\]|\\\\.)*"; +const argEx = `${quoteEx}${valEx}${quoteEx}|true|false`; +const expressionEx = `(${keyEx})${kvsepEx}${spacesEx}(${argEx})`; +const expressionRegExp = new RegExp(expressionEx, "g"); + +const markerRegExp = /^\s*(([-\w\s]*,?)*)$/; /** * A counter to count how many code are imported. @@ -68,6 +80,47 @@ export function containIncludeCommand(commands = []) { }); } +/** + * Parse the given value to the given type. Returns the value if valid, otherwise returns undefined. + * @param {string} value + * @param {string} type "string", "boolean" + * @param {string} key + * @return {boolean|string|undefined} + */ +export function parseValue(value, type, key) { + switch (type) { + case "string": + value = common.unescapeString(value.substring(1, value.length - 1)); + if (key === "marker" && !markerRegExp.test(value)) { + logger.error( + "include-codeblock: parseVariablesFromLabel: invalid value " + + `\`${value}\` in key \`marker\`` + ); + return undefined; + } + return value; + + case "boolean": + if (["true", '"true"', "'true'"].includes(value)) { + return true; + } + + if (["false", '"false"', "'false'"].includes(value)) { + return false; + } + + logger.error( + "include-codeblock: parseVariablesFromLabel: invalid value " + + `\`${value}\` in key \`${key}\`. Expect true or false.` + ); + return undefined; + } + logger.error( + `include-codeblock: parseVariablesFromLabel: unknown key type \`${type}\` (see options.js)` + ); + return undefined; +} + /** Parse the command label and return a new key-value object * @example * [import,title:"",label:""](path/to/file.ext) @@ -77,56 +130,29 @@ export function containIncludeCommand(commands = []) { */ export function parseVariablesFromLabel(kvMap, label) { const kv = Object.assign({}, kvMap); - const beginEx = "^.*"; - const endEx = ".*$"; - const sepEx = ",?"; - const kvsepEx = "[:=]"; - const spacesEx = "\\s*"; - const quotesEx = "[\"']"; - - Object.keys(kv).forEach(key => { - let keyEx = "(" + key + ")"; - let valEx = "([-\\w\\s]*)"; - if (key === "marker") { - keyEx = "(import|include)"; - valEx = "(([-\\w\\s]*,?)*)"; + + let match = ""; + while ((match = expressionRegExp.exec(label))) { + let key = match[1]; + if (["include", "import"].includes(key)) { + key = "marker"; } - // Add value check here - switch (typeof defaultKeyValueMap[key]) { - case "string": - valEx = quotesEx + valEx + quotesEx; - break; - case "boolean": - // no quotes - valEx = quotesEx + "?(true|false)" + quotesEx + "?"; - break; - default: - logger.error( - "include-codeblock: parseVariablesFromLabel: key type `" + - typeof defaultKeyValueMap[key] + - "` unknown (see options.js)" - ); - break; + const value = match[2]; + + if (!kv.hasOwnProperty(key)) { + logger.error( + "include-codeblock: parseVariablesFromLabel: unknown key " + + `\`${key}\` (see options.js)` + ); + return; } - // Val type cast to string. - const regStr = - beginEx + - sepEx + - spacesEx + - keyEx + - spacesEx + - kvsepEx + - spacesEx + - valEx + - spacesEx + - sepEx + - endEx; - const reg = new RegExp(regStr); - const res = label.match(reg); - if (res) { - kv[key] = convertValue(res[2], typeof defaultKeyValueMap[key]); + + const parsedValue = parseValue(value, typeof defaultKeyValueMap[key], key); + if (parsedValue !== undefined) { + kv[key] = parsedValue; } - }); + } + return Object.freeze(kv); } diff --git a/test/parser-test.js b/test/parser-test.js index 33bfb5d..8495493 100644 --- a/test/parser-test.js +++ b/test/parser-test.js @@ -6,6 +6,7 @@ import { containIncludeCommand, splitLabelToCommands, strip, + parseValue, parseVariablesFromLabel } from "../src/parser"; @@ -45,7 +46,45 @@ describe("parse", function() { assert(containIncludeCommand(commands)); }); }); - context("parseVariablesFromLabel ", function() { + describe("parseValue", function() { + it("should unescape string parameter", function() { + const result = parseValue( + '"\\!\\"\\#\\$\\%\\&\\\'\\(\\)\\*\\+\\,\\-\\.\\/' + + "\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~" + + '&<>AA"', + "string", + "" + ); + assert.equal(result, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&<>AA"); + }); + it("should backslash unescape commonmark defined characters only", function() { + const result = parseValue('"\\r\\n\\[\\]"', "string", ""); + assert.equal(result, "\\r\\n[]"); // \r and \n should not be unescaped. + }); + it("should validate markers", function() { + let result = parseValue('" marker0 , marker1 "', "string", "marker"); + assert.equal(result, " marker0 , marker1 "); + + result = parseValue('"~invalid~"', "string", "marker"); + assert.equal(result, undefined); + }); + it("should parse boolean values", function() { + let result = parseValue("true", "boolean", ""); + assert.equal(result, true); + result = parseValue('"true"', "boolean", ""); + assert.equal(result, true); + result = parseValue("'true'", "boolean", ""); + assert.equal(result, true); + + result = parseValue("false", "boolean", ""); + assert.equal(result, false); + result = parseValue('"false"', "boolean", ""); + assert.equal(result, false); + result = parseValue("'false'", "boolean", ""); + assert.equal(result, false); + }); + }); + describe("parseVariablesFromLabel ", function() { it("should retrieve edit boolean", function() { const resmap = parseVariablesFromLabel(kvmap, "include,edit:true"); const results = resmap; @@ -113,6 +152,36 @@ describe("parse", function() { const results = resmap; assert.equal(results.marker, ""); }); + it("should handle characters for string parameter", function() { + const resmap = parseVariablesFromLabel( + kvmap, + 'import,title="test+with-special*string"' + ); + const results = resmap; + assert.equal(results.title, "test+with-special*string"); + }); + it("should unescape string parameter", function() { + const resmap = parseVariablesFromLabel( + kvmap, + 'import,title="\\!\\"\\#\\$\\%\\&\\\'\\(\\)\\*\\+\\,\\-\\.\\/' + + "\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~" + + '&<>AA"' + ); + const results = resmap; + assert.equal(results.title, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&<>AA"); + }); + it("should backslash unescape commonmark defined characters only", function() { + const resmap = parseVariablesFromLabel(kvmap, 'import,title="\\r\\n\\[\\]"'); + const results = resmap; + assert.equal(results.title, "\\r\\n[]"); // \r and \n should not be unescaped. + }); + it("should not parse string argument into another key-value pair", function() { + assert.equal(kvmap.edit, false); + const resmap = parseVariablesFromLabel(kvmap, 'import,title="edit:true"'); + const results = resmap; + assert.equal(results.edit, false); + assert.equal(results.title, "edit:true"); + }); }); // inspired from https://github.com/rails/rails/blob/master/activesupport/test/core_ext/string_ext_test.rb describe("strip", function() { From 4d052cd05036bc0b6ce2b8fef68f7f207921d0d5 Mon Sep 17 00:00:00 2001 From: WC Leung Date: Tue, 11 Jul 2017 23:44:24 +0000 Subject: [PATCH 2/8] Removed unwanted file. --- examples/default/package-lock.json | 4734 ---------------------------- 1 file changed, 4734 deletions(-) delete mode 100644 examples/default/package-lock.json diff --git a/examples/default/package-lock.json b/examples/default/package-lock.json deleted file mode 100644 index 1957720..0000000 --- a/examples/default/package-lock.json +++ /dev/null @@ -1,4734 +0,0 @@ -{ - "name": "example-default", - "version": "1.0.0", - "lockfileVersion": 1, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "bash-color": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz", - "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true - }, - "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 - }, - "fs-extra": { - "version": "0.26.5", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.5.tgz", - "integrity": "sha1-U6x0Znygg/0twXEsgTA5yjLWmn8=", - "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 - }, - "gitbook-cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gitbook-cli/-/gitbook-cli-2.3.0.tgz", - "integrity": "sha1-AaNg3nGkjlMnftLLGr9sYKCQFXY=", - "dev": true - }, - "gitbook-plugin-include-codeblock": { - "version": "file:..\\..", - "dev": true, - "dependencies": { - "acorn": { - "version": "5.1.1", - "bundled": true - }, - "acorn-es7-plugin": { - "version": "1.1.7", - "bundled": true - }, - "acorn-jsx": { - "version": "3.0.1", - "bundled": true, - "dependencies": { - "acorn": { - "version": "3.3.0", - "bundled": true - } - } - }, - "ajv": { - "version": "4.11.8", - "bundled": true - }, - "ajv-keywords": { - "version": "1.5.1", - "bundled": true - }, - "align-text": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "ansi-escapes": { - "version": "1.4.0", - "bundled": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "ansi-styles": { - "version": "2.2.1", - "bundled": true - }, - "anymatch": { - "version": "1.3.0", - "bundled": true, - "optional": true - }, - "argparse": { - "version": "1.0.9", - "bundled": true - }, - "arr-diff": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "arr-flatten": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "array-filter": { - "version": "1.0.0", - "bundled": true - }, - "array-union": { - "version": "1.0.2", - "bundled": true - }, - "array-uniq": { - "version": "1.0.3", - "bundled": true - }, - "array-unique": { - "version": "0.2.1", - "bundled": true, - "optional": true - }, - "arrify": { - "version": "1.0.1", - "bundled": true - }, - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - }, - "async-each": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "babel-cli": { - "version": "6.24.1", - "bundled": true, - "dependencies": { - "source-map": { - "version": "0.5.6", - "bundled": true - } - } - }, - "babel-code-frame": { - "version": "6.22.0", - "bundled": true - }, - "babel-core": { - "version": "6.25.0", - "bundled": true, - "dependencies": { - "source-map": { - "version": "0.5.6", - "bundled": true - } - } - }, - "babel-generator": { - "version": "6.25.0", - "bundled": true, - "dependencies": { - "source-map": { - "version": "0.5.6", - "bundled": true - } - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-define-map": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-function-name": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-regex": { - "version": "6.24.1", - "bundled": true - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "bundled": true - }, - "babel-helpers": { - "version": "6.24.1", - "bundled": true - }, - "babel-messages": { - "version": "6.23.0", - "bundled": true - }, - "babel-plugin-auto-import-assert": { - "version": "1.0.3", - "bundled": true - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "bundled": true - }, - "babel-plugin-empower-assert": { - "version": "1.3.0", - "bundled": true - }, - "babel-plugin-espower": { - "version": "2.3.2", - "bundled": true - }, - "babel-plugin-jsdoc-to-assert": { - "version": "1.9.0", - "bundled": true - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "bundled": true - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "bundled": true - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "bundled": true - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "bundled": true - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "bundled": true - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "bundled": true - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "bundled": true - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "bundled": true - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-regenerator": { - "version": "6.24.1", - "bundled": true - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "bundled": true - }, - "babel-polyfill": { - "version": "6.23.0", - "bundled": true - }, - "babel-preset-es2015": { - "version": "6.24.1", - "bundled": true - }, - "babel-preset-jsdoc-to-assert": { - "version": "1.0.1", - "bundled": true - }, - "babel-preset-power-assert": { - "version": "1.0.0", - "bundled": true - }, - "babel-register": { - "version": "6.24.1", - "bundled": true - }, - "babel-runtime": { - "version": "6.23.0", - "bundled": true - }, - "babel-template": { - "version": "6.25.0", - "bundled": true - }, - "babel-traverse": { - "version": "6.25.0", - "bundled": true - }, - "babel-types": { - "version": "6.25.0", - "bundled": true - }, - "babylon": { - "version": "6.17.4", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "binary-extensions": { - "version": "1.8.0", - "bundled": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.8", - "bundled": true - }, - "braces": { - "version": "1.8.5", - "bundled": true, - "optional": true - }, - "call-matcher": { - "version": "1.0.1", - "bundled": true - }, - "call-signature": { - "version": "0.0.2", - "bundled": true - }, - "caller-path": { - "version": "0.1.0", - "bundled": true - }, - "callsites": { - "version": "0.2.0", - "bundled": true - }, - "camelcase": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "chalk": { - "version": "1.1.3", - "bundled": true - }, - "chokidar": { - "version": "1.7.0", - "bundled": true, - "optional": true - }, - "circular-json": { - "version": "0.3.1", - "bundled": true - }, - "cli-cursor": { - "version": "1.0.2", - "bundled": true - }, - "cli-width": { - "version": "2.1.0", - "bundled": true - }, - "cliui": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "co": { - "version": "4.6.0", - "bundled": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "colors": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "commander": { - "version": "2.11.0", - "bundled": true - }, - "commonmark": { - "version": "0.27.0", - "bundled": true, - "dev": true, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "concat-stream": { - "version": "1.6.0", - "bundled": true - }, - "convert-source-map": { - "version": "1.5.0", - "bundled": true - }, - "core-js": { - "version": "2.4.1", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cycle": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "d": { - "version": "1.0.0", - "bundled": true - }, - "debug": { - "version": "2.6.8", - "bundled": true - }, - "decamelize": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "deep-equal": { - "version": "1.0.1", - "bundled": true - }, - "deep-is": { - "version": "0.1.3", - "bundled": true - }, - "define-properties": { - "version": "1.1.2", - "bundled": true - }, - "del": { - "version": "2.2.2", - "bundled": true - }, - "detect-indent": { - "version": "4.0.0", - "bundled": true - }, - "diff": { - "version": "1.4.0", - "bundled": true - }, - "diff-match-patch": { - "version": "1.0.0", - "bundled": true - }, - "doctrine": { - "version": "2.0.0", - "bundled": true - }, - "eastasianwidth": { - "version": "0.1.1", - "bundled": true - }, - "empower": { - "version": "1.2.3", - "bundled": true - }, - "empower-core": { - "version": "0.6.2", - "bundled": true - }, - "entities": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "es5-ext": { - "version": "0.10.23", - "bundled": true - }, - "es6-iterator": { - "version": "2.0.1", - "bundled": true - }, - "es6-map": { - "version": "0.1.5", - "bundled": true - }, - "es6-set": { - "version": "0.1.5", - "bundled": true - }, - "es6-symbol": { - "version": "3.1.1", - "bundled": true - }, - "es6-weak-map": { - "version": "2.0.2", - "bundled": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true - }, - "escope": { - "version": "3.6.0", - "bundled": true - }, - "eslint": { - "version": "3.19.0", - "bundled": true, - "dependencies": { - "user-home": { - "version": "2.0.0", - "bundled": true - } - } - }, - "eslint-config-prettier": { - "version": "2.3.0", - "bundled": true - }, - "eslint-plugin-prettier": { - "version": "2.1.2", - "bundled": true - }, - "espower-location-detector": { - "version": "1.0.0", - "bundled": true, - "dependencies": { - "source-map": { - "version": "0.5.6", - "bundled": true - } - } - }, - "espree": { - "version": "3.4.3", - "bundled": true - }, - "esprima": { - "version": "4.0.0", - "bundled": true - }, - "espurify": { - "version": "1.7.0", - "bundled": true - }, - "esquery": { - "version": "1.0.0", - "bundled": true - }, - "esrecurse": { - "version": "4.2.0", - "bundled": true - }, - "estraverse": { - "version": "4.2.0", - "bundled": true - }, - "esutils": { - "version": "2.0.2", - "bundled": true - }, - "event-emitter": { - "version": "0.3.5", - "bundled": true - }, - "exit-hook": { - "version": "1.1.1", - "bundled": true - }, - "expand-brackets": { - "version": "0.1.5", - "bundled": true, - "optional": true - }, - "expand-range": { - "version": "1.8.2", - "bundled": true, - "optional": true - }, - "extglob": { - "version": "0.3.2", - "bundled": true, - "optional": true - }, - "eyes": { - "version": "0.1.8", - "bundled": true, - "dev": true - }, - "fast-diff": { - "version": "1.1.1", - "bundled": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "bundled": true - }, - "figures": { - "version": "1.7.0", - "bundled": true - }, - "file-entry-cache": { - "version": "2.0.0", - "bundled": true - }, - "filename-regex": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "fill-range": { - "version": "2.2.3", - "bundled": true, - "optional": true - }, - "flat-cache": { - "version": "1.2.2", - "bundled": true - }, - "for-in": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "for-own": { - "version": "0.1.5", - "bundled": true, - "optional": true - }, - "foreach": { - "version": "2.0.5", - "bundled": true - }, - "fs-readdir-recursive": { - "version": "1.0.0", - "bundled": true - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fsevents": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "block-stream": { - "version": "0.0.9", - "bundled": true - }, - "boom": { - "version": "2.10.1", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "optional": true - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "optional": true - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "optional": true - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "optional": true - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true - }, - "rimraf": { - "version": "2.6.1", - "bundled": true - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "optional": true - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, - "generate-function": { - "version": "2.0.0", - "bundled": true - }, - "generate-object-property": { - "version": "1.2.0", - "bundled": true - }, - "get-stdin": { - "version": "5.0.1", - "bundled": true - }, - "glob": { - "version": "7.1.2", - "bundled": true - }, - "glob-base": { - "version": "0.3.0", - "bundled": true, - "optional": true - }, - "glob-parent": { - "version": "2.0.0", - "bundled": true - }, - "globals": { - "version": "9.18.0", - "bundled": true - }, - "globby": { - "version": "5.0.0", - "bundled": true - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "growl": { - "version": "1.9.2", - "bundled": true - }, - "handlebars": { - "version": "4.0.10", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true - }, - "home-or-tmp": { - "version": "2.0.0", - "bundled": true - }, - "ignore": { - "version": "3.3.3", - "bundled": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true - }, - "indexof": { - "version": "0.0.1", - "bundled": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "inquirer": { - "version": "0.12.0", - "bundled": true - }, - "interpret": { - "version": "1.0.3", - "bundled": true - }, - "invariant": { - "version": "2.2.2", - "bundled": true - }, - "is-binary-path": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "is-buffer": { - "version": "1.1.5", - "bundled": true - }, - "is-dotfile": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "bundled": true, - "optional": true - }, - "is-extendable": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "is-extglob": { - "version": "1.0.0", - "bundled": true - }, - "is-finite": { - "version": "1.0.2", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true - }, - "is-glob": { - "version": "2.0.1", - "bundled": true - }, - "is-my-json-valid": { - "version": "2.16.0", - "bundled": true - }, - "is-number": { - "version": "2.1.0", - "bundled": true, - "optional": true - }, - "is-path-cwd": { - "version": "1.0.0", - "bundled": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "bundled": true - }, - "is-path-inside": { - "version": "1.0.0", - "bundled": true - }, - "is-posix-bracket": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "is-primitive": { - "version": "2.0.0", - "bundled": true - }, - "is-property": { - "version": "1.0.2", - "bundled": true - }, - "is-resolvable": { - "version": "1.0.0", - "bundled": true - }, - "is-url": { - "version": "1.2.2", - "bundled": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isobject": { - "version": "2.1.0", - "bundled": true, - "optional": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "jade": { - "version": "0.26.3", - "bundled": true, - "dependencies": { - "commander": { - "version": "0.6.1", - "bundled": true - }, - "mkdirp": { - "version": "0.3.0", - "bundled": true - } - } - }, - "jest-docblock": { - "version": "20.0.3", - "bundled": true - }, - "js-tokens": { - "version": "3.0.2", - "bundled": true - }, - "js-yaml": { - "version": "3.9.0", - "bundled": true - }, - "jsdoc-to-assert": { - "version": "2.8.0", - "bundled": true - }, - "jsesc": { - "version": "1.3.0", - "bundled": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true - }, - "json5": { - "version": "0.5.1", - "bundled": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true - }, - "jsonpointer": { - "version": "4.0.1", - "bundled": true - }, - "kind-of": { - "version": "3.2.2", - "bundled": true - }, - "language-map": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "lazy-cache": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "levn": { - "version": "0.3.0", - "bundled": true - }, - "lodash": { - "version": "4.17.4", - "bundled": true - }, - "longest": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "bundled": true - }, - "lru-cache": { - "version": "2.7.3", - "bundled": true - }, - "mdurl": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true - }, - "minimist": { - "version": "0.0.10", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true - } - } - }, - "mocha": { - "version": "2.5.3", - "bundled": true, - "dependencies": { - "commander": { - "version": "2.3.0", - "bundled": true - }, - "debug": { - "version": "2.2.0", - "bundled": true - }, - "escape-string-regexp": { - "version": "1.0.2", - "bundled": true - }, - "glob": { - "version": "3.2.11", - "bundled": true - }, - "minimatch": { - "version": "0.3.0", - "bundled": true - }, - "ms": { - "version": "0.7.1", - "bundled": true - }, - "supports-color": { - "version": "1.2.0", - "bundled": true - } - } - }, - "ms": { - "version": "2.0.0", - "bundled": true - }, - "mute-stream": { - "version": "0.0.5", - "bundled": true - }, - "nan": { - "version": "2.6.2", - "bundled": true, - "optional": true - }, - "natural-compare": { - "version": "1.4.0", - "bundled": true - }, - "normalize-path": { - "version": "2.1.1", - "bundled": true, - "optional": true - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true - }, - "object-keys": { - "version": "1.0.11", - "bundled": true - }, - "object.omit": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true - }, - "onetime": { - "version": "1.1.0", - "bundled": true - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "optionator": { - "version": "0.8.2", - "bundled": true, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "bundled": true - } - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - }, - "output-file-sync": { - "version": "1.1.2", - "bundled": true - }, - "parse-glob": { - "version": "3.0.4", - "bundled": true, - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true - }, - "path-parse": { - "version": "1.0.5", - "bundled": true - }, - "pify": { - "version": "2.3.0", - "bundled": true - }, - "pinkie": { - "version": "2.0.4", - "bundled": true - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true - }, - "pluralize": { - "version": "1.2.1", - "bundled": true - }, - "power-assert": { - "version": "1.4.4", - "bundled": true - }, - "power-assert-context-formatter": { - "version": "1.1.1", - "bundled": true - }, - "power-assert-context-reducer-ast": { - "version": "1.1.2", - "bundled": true, - "dependencies": { - "acorn": { - "version": "4.0.13", - "bundled": true - } - } - }, - "power-assert-context-traversal": { - "version": "1.1.1", - "bundled": true - }, - "power-assert-formatter": { - "version": "1.4.1", - "bundled": true - }, - "power-assert-renderer-assertion": { - "version": "1.1.1", - "bundled": true - }, - "power-assert-renderer-base": { - "version": "1.1.1", - "bundled": true - }, - "power-assert-renderer-comparison": { - "version": "1.1.1", - "bundled": true - }, - "power-assert-renderer-diagram": { - "version": "1.1.2", - "bundled": true - }, - "power-assert-renderer-file": { - "version": "1.1.1", - "bundled": true - }, - "power-assert-util-string-width": { - "version": "1.1.1", - "bundled": true - }, - "prelude-ls": { - "version": "1.1.2", - "bundled": true - }, - "preserve": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "prettier": { - "version": "1.5.2", - "bundled": true - }, - "private": { - "version": "0.1.7", - "bundled": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "progress": { - "version": "1.1.8", - "bundled": true - }, - "randomatic": { - "version": "1.1.7", - "bundled": true, - "optional": true, - "dependencies": { - "is-number": { - "version": "3.0.0", - "bundled": true, - "optional": true, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "optional": true - } - } - }, - "kind-of": { - "version": "4.0.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.3", - "bundled": true - }, - "readdirp": { - "version": "2.1.0", - "bundled": true, - "optional": true - }, - "readline2": { - "version": "1.0.1", - "bundled": true - }, - "rechoir": { - "version": "0.6.2", - "bundled": true - }, - "regenerate": { - "version": "1.3.2", - "bundled": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "bundled": true - }, - "regenerator-transform": { - "version": "0.9.11", - "bundled": true - }, - "regex-cache": { - "version": "0.4.3", - "bundled": true, - "optional": true - }, - "regexpu-core": { - "version": "2.0.0", - "bundled": true - }, - "regjsgen": { - "version": "0.2.0", - "bundled": true - }, - "regjsparser": { - "version": "0.1.5", - "bundled": true, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "bundled": true - } - } - }, - "remove-trailing-separator": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "repeat-element": { - "version": "1.1.2", - "bundled": true - }, - "repeat-string": { - "version": "1.6.1", - "bundled": true - }, - "repeating": { - "version": "2.0.1", - "bundled": true - }, - "require-uncached": { - "version": "1.0.3", - "bundled": true - }, - "resolve": { - "version": "1.3.3", - "bundled": true - }, - "resolve-from": { - "version": "1.0.1", - "bundled": true - }, - "restore-cursor": { - "version": "1.0.1", - "bundled": true - }, - "right-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "rimraf": { - "version": "2.6.1", - "bundled": true - }, - "run-async": { - "version": "0.1.0", - "bundled": true - }, - "rx-lite": { - "version": "3.1.2", - "bundled": true - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "shelljs": { - "version": "0.7.8", - "bundled": true - }, - "sigmund": { - "version": "1.0.1", - "bundled": true - }, - "slash": { - "version": "1.0.0", - "bundled": true - }, - "slice-ansi": { - "version": "0.0.4", - "bundled": true - }, - "source-map": { - "version": "0.4.4", - "bundled": true, - "dev": true - }, - "source-map-support": { - "version": "0.4.15", - "bundled": true, - "dependencies": { - "source-map": { - "version": "0.5.6", - "bundled": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "bundled": true - }, - "stack-trace": { - "version": "0.0.10", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true - }, - "string.prototype.repeat": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "stringifier": { - "version": "1.3.0", - "bundled": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true - }, - "strip-bom": { - "version": "3.0.0", - "bundled": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - }, - "supports-color": { - "version": "2.0.0", - "bundled": true - }, - "table": { - "version": "3.8.3", - "bundled": true, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true - }, - "string-width": { - "version": "2.1.0", - "bundled": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true - } - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true - }, - "through": { - "version": "2.3.8", - "bundled": true - }, - "to-fast-properties": { - "version": "1.0.3", - "bundled": true - }, - "to-iso-string": { - "version": "0.0.2", - "bundled": true - }, - "traverse": { - "version": "0.6.6", - "bundled": true - }, - "trim-right": { - "version": "1.0.1", - "bundled": true - }, - "tryit": { - "version": "1.0.3", - "bundled": true - }, - "type-check": { - "version": "0.3.2", - "bundled": true - }, - "type-name": { - "version": "2.0.2", - "bundled": true - }, - "typedarray": { - "version": "0.0.6", - "bundled": true - }, - "uglify-js": { - "version": "2.8.29", - "bundled": true, - "dev": true, - "optional": true, - "dependencies": { - "source-map": { - "version": "0.5.6", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "universal-deep-strict-equal": { - "version": "1.2.2", - "bundled": true - }, - "user-home": { - "version": "1.1.1", - "bundled": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "v8flags": { - "version": "2.1.1", - "bundled": true - }, - "window-size": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "winston": { - "version": "2.3.1", - "bundled": true, - "dev": true, - "dependencies": { - "async": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "winston-color": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "bundled": true, - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "write": { - "version": "0.2.1", - "bundled": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true - }, - "yargs": { - "version": "3.10.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true - }, - "lodash": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.5.1.tgz", - "integrity": "sha1-gOigdMpfOJOmscELKmNkktcQwxY=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "npm": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/npm/-/npm-3.7.5.tgz", - "integrity": "sha1-p9rljlLsviY8HIYMb9ZP+lDzx5s=", - "dev": true, - "dependencies": { - "abbrev": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async-some": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "dependencies": { - "wcwidth": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "asap": { - "version": "2.0.3", - "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.7", - "bundled": true, - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.8", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.8", - "bundled": true, - "dev": true - }, - "fstream-npm": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "dependencies": { - "fstream-ignore": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "minimatch": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "glob": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "minimatch": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.3", - "bundled": true, - "dev": true - }, - "has-unicode": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.1.4", - "bundled": true, - "dev": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "inherits": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.9.3", - "bundled": true, - "dev": true, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "dependencies": { - "minimatch": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true - } - } - }, - "lockfile": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "lodash._baseuniq": { - "version": "4.4.0", - "bundled": true, - "dev": true, - "dependencies": { - "lodash._root": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash._setcache": { - "version": "4.1.0", - "bundled": true, - "dev": true - } - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true, - "dev": true - }, - "lodash.clonedeep": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "dependencies": { - "lodash._baseclone": { - "version": "4.5.0", - "bundled": true, - "dev": true - } - } - }, - "lodash.isarguments": { - "version": "3.0.7", - "bundled": true, - "dev": true - }, - "lodash.isarray": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "lodash.keys": { - "version": "4.0.3", - "bundled": true, - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true, - "dev": true - }, - "lodash.union": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "dependencies": { - "lodash._baseflatten": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "lodash.rest": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "lodash.uniq": { - "version": "4.2.0", - "bundled": true, - "dev": true - }, - "lodash.without": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "dependencies": { - "lodash._basedifference": { - "version": "4.4.0", - "bundled": true, - "dev": true, - "dependencies": { - "lodash._setcache": { - "version": "4.1.0", - "bundled": true, - "dev": true - } - } - }, - "lodash.rest": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "node-gyp": { - "version": "3.3.0", - "bundled": true, - "dev": true, - "dependencies": { - "glob": { - "version": "4.5.3", - "bundled": true, - "dev": true, - "dependencies": { - "minimatch": { - "version": "2.0.10", - "bundled": true, - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "minimatch": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "lru-cache": { - "version": "2.7.3", - "bundled": true, - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-array": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "dependencies": { - "array-index": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "dependencies": { - "ms": { - "version": "0.7.1", - "bundled": true, - "dev": true - } - } - }, - "es6-symbol": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "dependencies": { - "d": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "es5-ext": { - "version": "0.10.11", - "bundled": true, - "dev": true, - "dependencies": { - "es6-iterator": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true - }, - "normalize-git-url": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "normalize-package-data": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "npm-package-arg": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "npm-registry-client": { - "version": "7.0.9", - "bundled": true, - "dev": true, - "dependencies": { - "concat-stream": { - "version": "1.5.1", - "bundled": true, - "dev": true, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.8.0", - "bundled": true, - "dev": true - } - } - }, - "npm-user-validate": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "dependencies": { - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "are-we-there-yet": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "dependencies": { - "lodash.pad": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "lodash.padend": { - "version": "4.2.0", - "bundled": true, - "dev": true - }, - "lodash.padstart": { - "version": "4.2.0", - "bundled": true, - "dev": true - }, - "lodash.repeat": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "lodash.tostring": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "once": { - "version": "1.3.3", - "bundled": true, - "dev": true - }, - "opener": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "os-homedir": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-is-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "bundled": true, - "dev": true - } - } - }, - "read-cmd-shim": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "util-extend": { - "version": "1.0.3", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "dependencies": { - "minimatch": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "jju": { - "version": "1.2.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "read-package-tree": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "readable-stream": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "realize-package-specifier": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "request": { - "version": "2.69.0", - "bundled": true, - "dev": true, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "dependencies": { - "lru-cache": { - "version": "2.7.3", - "bundled": true, - "dev": true - } - } - }, - "bl": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.11.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "1.0.0-rc3", - "bundled": true, - "dev": true, - "dependencies": { - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "dependencies": { - "chalk": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "commander": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "is-my-json-valid": { - "version": "2.12.4", - "bundled": true, - "dev": true, - "dependencies": { - "generate-function": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "dependencies": { - "is-property": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "pinkie-promise": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "pinkie": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.2.2", - "bundled": true, - "dev": true, - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true - } - } - }, - "sshpk": { - "version": "1.7.3", - "bundled": true, - "dev": true, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.12.2", - "bundled": true, - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jsbn": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.13.3", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.9", - "bundled": true, - "dev": true, - "dependencies": { - "mime-db": { - "version": "1.21.0", - "bundled": true, - "dev": true - } - } - }, - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.0", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.0.2", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "tunnel-agent": { - "version": "0.4.2", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.9.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.5.2", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.1.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "dependencies": { - "block-stream": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "unique-filename": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "dependencies": { - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "unpipe": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "dependencies": { - "spdx-license-ids": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - }, - "spdx-expression-parse": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "dependencies": { - "spdx-exceptions": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "validate-npm-package-name": { - "version": "2.2.2", - "bundled": true, - "dev": true, - "dependencies": { - "builtins": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "dependencies": { - "is-absolute": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "dependencies": { - "is-relative": { - "version": "0.1.3", - "bundled": true, - "dev": true - } - } - }, - "isexe": { - "version": "1.1.1", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.1.4", - "bundled": true, - "dev": true - } - } - }, - "npmi": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npmi/-/npmi-1.0.1.tgz", - "integrity": "sha1-FddpJzVHVF5oCdzwzhiu1IsCkOI=", - "dev": true, - "dependencies": { - "npm": { - "version": "2.15.12", - "resolved": "https://registry.npmjs.org/npm/-/npm-2.15.12.tgz", - "integrity": "sha1-33w+1aJ3w/nUtdgZsFMR0QogCuY=", - "dev": true, - "dependencies": { - "abbrev": { - "version": "1.0.9", - "bundled": true, - "dev": true - }, - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async-some": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true - }, - "char-spinner": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "chmodr": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "dependencies": { - "wcwidth": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } - } - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "asap": { - "version": "2.0.3", - "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.9", - "bundled": true, - "dev": true - }, - "fs-write-stream-atomic": { - "version": "1.0.8", - "bundled": true, - "dev": true, - "dependencies": { - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - } - } - }, - "fstream": { - "version": "1.0.10", - "bundled": true, - "dev": true - }, - "fstream-npm": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "dependencies": { - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true - } - } - }, - "github-url-from-git": { - "version": "1.4.0", - "bundled": true, - "dev": true - }, - "github-url-from-username-repo": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.0.6", - "bundled": true, - "dev": true, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.6", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.9.4", - "bundled": true, - "dev": true, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true - } - } - }, - "lockfile": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "minimatch": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.6", - "bundled": true, - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "node-gyp": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "dependencies": { - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true - }, - "normalize-git-url": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "normalize-package-data": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "dependencies": { - "builtin-modules": { - "version": "1.1.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "npm-package-arg": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "npm-registry-client": { - "version": "7.2.1", - "bundled": true, - "dev": true, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "bundled": true, - "dev": true, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.10.0", - "bundled": true, - "dev": true - } - } - }, - "npm-user-validate": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "dependencies": { - "has-unicode": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "lodash._baseslice": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "lodash._basetostring": { - "version": "4.12.0", - "bundled": true, - "dev": true - }, - "lodash.pad": { - "version": "4.4.0", - "bundled": true, - "dev": true - }, - "lodash.padend": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.padstart": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.tostring": { - "version": "4.1.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true - }, - "opener": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "os-homedir": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-is-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "bundled": true, - "dev": true - } - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "util-extend": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "readable-stream": { - "version": "2.1.5", - "bundled": true, - "dev": true, - "dependencies": { - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "realize-package-specifier": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "request": { - "version": "2.74.0", - "bundled": true, - "dev": true, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "bl": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "1.0.0-rc4", - "bundled": true, - "dev": true, - "dependencies": { - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "dependencies": { - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "commander": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "is-my-json-valid": { - "version": "2.13.1", - "bundled": true, - "dev": true, - "dependencies": { - "generate-function": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "dependencies": { - "is-property": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "dependencies": { - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true - } - } - }, - "sshpk": { - "version": "1.9.2", - "bundled": true, - "dev": true, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.14.0", - "bundled": true, - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "getpass": { - "version": "0.1.6", - "bundled": true, - "dev": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jsbn": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.13.3", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.11", - "bundled": true, - "dev": true, - "dependencies": { - "mime-db": { - "version": "1.23.0", - "bundled": true, - "dev": true - } - } - }, - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.2.1", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.3.1", - "bundled": true, - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.10.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.5.4", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.1.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "dependencies": { - "readable-stream": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "dependencies": { - "spdx-exceptions": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "validate-npm-package-name": { - "version": "2.2.2", - "bundled": true, - "dev": true, - "dependencies": { - "builtins": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.11", - "bundled": true, - "dev": true, - "dependencies": { - "isexe": { - "version": "1.1.2", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.1.4", - "bundled": true, - "dev": true - } - } - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "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 - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "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 - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true - }, - "semver": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz", - "integrity": "sha1-hfLPhVBGXE3wAM99hvawVBBqueU=", - "dev": true - }, - "tmp": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - } -} From a5ecb5c0d95faf51483add7f4084f0a1a9b95359 Mon Sep 17 00:00:00 2001 From: WC Leung Date: Thu, 13 Jul 2017 08:48:20 +0000 Subject: [PATCH 3/8] Respond to comments in pull request #68 --- package.json | 2 +- src/parser.js | 17 +++++++--- src/unescape-string.js | 29 +++++++++++++++++ test/parser-test.js | 30 +++++++++--------- test/patterns/import-output-escape/actual.md | 1 + test/patterns/import-output-escape/book.js | 8 +++++ test/patterns/import-output-escape/dump.hbs | 28 +++++++++++++++++ .../patterns/import-output-escape/expected.md | 31 +++++++++++++++++++ test/patterns/import-output-escape/test&1.js | 3 ++ 9 files changed, 129 insertions(+), 20 deletions(-) create mode 100644 src/unescape-string.js create mode 100644 test/patterns/import-output-escape/actual.md create mode 100644 test/patterns/import-output-escape/book.js create mode 100644 test/patterns/import-output-escape/dump.hbs create mode 100644 test/patterns/import-output-escape/expected.md create mode 100644 test/patterns/import-output-escape/test&1.js diff --git a/package.json b/package.json index cd914b0..7cb3184 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ } }, "dependencies": { - "commonmark": "0.27.0", + "entities": "^1.1.1", "language-map": "^1.1.1", "handlebars": "^4.0.5", "winston-color": "^1.0.0" diff --git a/src/parser.js b/src/parser.js index eaef75c..9d294f4 100644 --- a/src/parser.js +++ b/src/parser.js @@ -3,8 +3,8 @@ const path = require("path"); const Handlebars = require("handlebars"); const logger = require("winston-color"); -const common = require("commonmark/lib/common.js"); import { defaultKeyValueMap, initOptions, checkMapTypes } from "./options.js"; +import { unescapeString } from "./unescape-string.js"; import { getLang } from "./language-detection"; import { getMarker, hasMarker, markerSliceCode, removeMarkers } from "./marker"; import { sliceCode, hasSliceRange, getSliceRange } from "./slicer"; @@ -80,6 +80,15 @@ export function containIncludeCommand(commands = []) { }); } +/** + * unescapes a value, which is a commonmark string enclosed by quotes. + * @param {string} value + * @returns {string} + */ +export function unescapeValue(value) { + return unescapeString(value.substring(1, value.length - 1)); +} + /** * Parse the given value to the given type. Returns the value if valid, otherwise returns undefined. * @param {string} value @@ -90,7 +99,7 @@ export function containIncludeCommand(commands = []) { export function parseValue(value, type, key) { switch (type) { case "string": - value = common.unescapeString(value.substring(1, value.length - 1)); + value = unescapeValue(value); if (key === "marker" && !markerRegExp.test(value)) { logger.error( "include-codeblock: parseVariablesFromLabel: invalid value " + @@ -101,11 +110,11 @@ export function parseValue(value, type, key) { return value; case "boolean": - if (["true", '"true"', "'true'"].includes(value)) { + if (["true", '"true"', "'true'"].indexOf(value) >= 0) { return true; } - if (["false", '"false"', "'false'"].includes(value)) { + if (["false", '"false"', "'false'"].indexOf(value) >= 0) { return false; } diff --git a/src/unescape-string.js b/src/unescape-string.js new file mode 100644 index 0000000..986a791 --- /dev/null +++ b/src/unescape-string.js @@ -0,0 +1,29 @@ +// The code in this file is extracted from commonmark.js +// (https://github.com/jgm/commonmark.js), which is owned by John MacFarlane. +// LICENSE : BSD-2-Clause +"use strict"; + +var decodeHTML = require("entities").decodeHTML; + +var C_BACKSLASH = 92; +var ENTITY = "&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});"; +var reBackslashOrAmp = /[\\&]/; +var ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]"; +var reEntityOrEscapedChar = new RegExp("\\\\" + ESCAPABLE + "|" + ENTITY, "gi"); + +function unescapeChar(s) { + if (s.charCodeAt(0) === C_BACKSLASH) { + return s.charAt(1); + } else { + return decodeHTML(s); + } +} + +// Replace entities and backslash escapes with literal characters. +export function unescapeString(s) { + if (reBackslashOrAmp.test(s)) { + return s.replace(reEntityOrEscapedChar, unescapeChar); + } else { + return s; + } +} diff --git a/test/parser-test.js b/test/parser-test.js index 8495493..d054922 100644 --- a/test/parser-test.js +++ b/test/parser-test.js @@ -55,33 +55,33 @@ describe("parse", function() { "string", "" ); - assert.equal(result, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&<>AA"); + assert.strictEqual(result, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&<>AA"); }); it("should backslash unescape commonmark defined characters only", function() { const result = parseValue('"\\r\\n\\[\\]"', "string", ""); - assert.equal(result, "\\r\\n[]"); // \r and \n should not be unescaped. + assert.strictEqual(result, "\\r\\n[]"); // \r and \n should not be unescaped. }); it("should validate markers", function() { let result = parseValue('" marker0 , marker1 "', "string", "marker"); - assert.equal(result, " marker0 , marker1 "); + assert.strictEqual(result, " marker0 , marker1 "); result = parseValue('"~invalid~"', "string", "marker"); - assert.equal(result, undefined); + assert.strictEqual(result, undefined); }); it("should parse boolean values", function() { let result = parseValue("true", "boolean", ""); - assert.equal(result, true); + assert.strictEqual(result, true); result = parseValue('"true"', "boolean", ""); - assert.equal(result, true); + assert.strictEqual(result, true); result = parseValue("'true'", "boolean", ""); - assert.equal(result, true); + assert.strictEqual(result, true); result = parseValue("false", "boolean", ""); - assert.equal(result, false); + assert.strictEqual(result, false); result = parseValue('"false"', "boolean", ""); - assert.equal(result, false); + assert.strictEqual(result, false); result = parseValue("'false'", "boolean", ""); - assert.equal(result, false); + assert.strictEqual(result, false); }); }); describe("parseVariablesFromLabel ", function() { @@ -158,7 +158,7 @@ describe("parse", function() { 'import,title="test+with-special*string"' ); const results = resmap; - assert.equal(results.title, "test+with-special*string"); + assert.strictEqual(results.title, "test+with-special*string"); }); it("should unescape string parameter", function() { const resmap = parseVariablesFromLabel( @@ -168,19 +168,19 @@ describe("parse", function() { '&<>AA"' ); const results = resmap; - assert.equal(results.title, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&<>AA"); + assert.strictEqual(results.title, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&<>AA"); }); it("should backslash unescape commonmark defined characters only", function() { const resmap = parseVariablesFromLabel(kvmap, 'import,title="\\r\\n\\[\\]"'); const results = resmap; - assert.equal(results.title, "\\r\\n[]"); // \r and \n should not be unescaped. + assert.strictEqual(results.title, "\\r\\n[]"); // \r and \n should not be unescaped. }); it("should not parse string argument into another key-value pair", function() { assert.equal(kvmap.edit, false); const resmap = parseVariablesFromLabel(kvmap, 'import,title="edit:true"'); const results = resmap; - assert.equal(results.edit, false); - assert.equal(results.title, "edit:true"); + assert.strictEqual(results.edit, false); + assert.strictEqual(results.title, "edit:true"); }); }); // inspired from https://github.com/rails/rails/blob/master/activesupport/test/core_ext/string_ext_test.rb diff --git a/test/patterns/import-output-escape/actual.md b/test/patterns/import-output-escape/actual.md new file mode 100644 index 0000000..e5ed49e --- /dev/null +++ b/test/patterns/import-output-escape/actual.md @@ -0,0 +1 @@ +[import, title:"title<1>", id:"edit:true<2>", lang:"javascript+theme:abc<3>", class="class<4>", edit=true, check=true, theme="monokai"](./test&1.js) diff --git a/test/patterns/import-output-escape/book.js b/test/patterns/import-output-escape/book.js new file mode 100644 index 0000000..d6be1f1 --- /dev/null +++ b/test/patterns/import-output-escape/book.js @@ -0,0 +1,8 @@ +const path = require("path"); +module.exports = { + "pluginsConfig": { + "include-codeblock": { + "template": path.join(__dirname,"dump.hbs") + } + } +}; diff --git a/test/patterns/import-output-escape/dump.hbs b/test/patterns/import-output-escape/dump.hbs new file mode 100644 index 0000000..9c35c76 --- /dev/null +++ b/test/patterns/import-output-escape/dump.hbs @@ -0,0 +1,28 @@ +{{lang}} +{{{lang}}} + +{{{content}}} + +{{originalPath}} +{{{originalPath}}} + +{{fileName}} +{{{fileName}}} + +{{count}} +{{{count}}} + +{{title}} +{{{title}}} + +{{id}} +{{{id}}} + +{{class}} +{{{class}}} + +{{edit}} + +{{check}} + +{{theme}} diff --git a/test/patterns/import-output-escape/expected.md b/test/patterns/import-output-escape/expected.md new file mode 100644 index 0000000..dbb0733 --- /dev/null +++ b/test/patterns/import-output-escape/expected.md @@ -0,0 +1,31 @@ +javascript+theme:abc<3> +javascript+theme:abc<3> + +foo; +bar; +baz; + + +./test&1.js +./test&1.js + +test&1.js +test&1.js + +14 +14 + +title<1> +title<1> + +edit:true<2> +edit:true<2> + +class<4> +class<4> + +true + +true + +monokai diff --git a/test/patterns/import-output-escape/test&1.js b/test/patterns/import-output-escape/test&1.js new file mode 100644 index 0000000..ad4913c --- /dev/null +++ b/test/patterns/import-output-escape/test&1.js @@ -0,0 +1,3 @@ +foo; +bar; +baz; From 8e4a45a797e70f1406bbcc338368f14ffc9cee5f Mon Sep 17 00:00:00 2001 From: WC Leung Date: Thu, 13 Jul 2017 09:07:46 +0000 Subject: [PATCH 4/8] Fix errors in test, fix typo, add license for unescape-string.js --- LICENSE | 31 +++++++++++++++++++ src/parser.js | 2 +- test/patterns/import-output-escape/book.js | 2 +- test/patterns/import-output-escape/dump.hbs | 5 +-- .../patterns/import-output-escape/expected.md | 3 -- 5 files changed, 34 insertions(+), 9 deletions(-) diff --git a/LICENSE b/LICENSE index d6a58d0..7367764 100644 --- a/LICENSE +++ b/LICENSE @@ -17,3 +17,34 @@ 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. + +--- + +src/unescape-string.js is extracted from https://github.com/jgm/commonmark.js: + +Copyright (c) 2014, John MacFarlane + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/parser.js b/src/parser.js index 9d294f4..b1da2f5 100644 --- a/src/parser.js +++ b/src/parser.js @@ -143,7 +143,7 @@ export function parseVariablesFromLabel(kvMap, label) { let match = ""; while ((match = expressionRegExp.exec(label))) { let key = match[1]; - if (["include", "import"].includes(key)) { + if (key === "include" || key === "import") { key = "marker"; } const value = match[2]; diff --git a/test/patterns/import-output-escape/book.js b/test/patterns/import-output-escape/book.js index d6be1f1..bf488bc 100644 --- a/test/patterns/import-output-escape/book.js +++ b/test/patterns/import-output-escape/book.js @@ -2,7 +2,7 @@ const path = require("path"); module.exports = { "pluginsConfig": { "include-codeblock": { - "template": path.join(__dirname,"dump.hbs") + "template": path.join(__dirname, "dump.hbs") } } }; diff --git a/test/patterns/import-output-escape/dump.hbs b/test/patterns/import-output-escape/dump.hbs index 9c35c76..a21cbd9 100644 --- a/test/patterns/import-output-escape/dump.hbs +++ b/test/patterns/import-output-escape/dump.hbs @@ -9,9 +9,6 @@ {{fileName}} {{{fileName}}} -{{count}} -{{{count}}} - {{title}} {{{title}}} @@ -25,4 +22,4 @@ {{check}} -{{theme}} +{{theme}} diff --git a/test/patterns/import-output-escape/expected.md b/test/patterns/import-output-escape/expected.md index dbb0733..fcbc625 100644 --- a/test/patterns/import-output-escape/expected.md +++ b/test/patterns/import-output-escape/expected.md @@ -12,9 +12,6 @@ baz; test&1.js test&1.js -14 -14 - title<1> title<1> From cfd83fb2db5068da9d588af620a113752438afab Mon Sep 17 00:00:00 2001 From: WC Leung Date: Thu, 13 Jul 2017 09:15:43 +0000 Subject: [PATCH 5/8] Update dependency of gitbook-cli in example builds --- examples/ace/package.json | 2 +- examples/custom/package.json | 2 +- examples/default/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/ace/package.json b/examples/ace/package.json index 952fc02..d04d257 100644 --- a/examples/ace/package.json +++ b/examples/ace/package.json @@ -15,7 +15,7 @@ "author": "azu", "license": "MIT", "devDependencies": { - "gitbook-cli": "^2.1.3", + "gitbook-cli": "2.3.0 || ^2.3.2", "gitbook-plugin-include-codeblock": "file:../../" } } diff --git a/examples/custom/package.json b/examples/custom/package.json index 6bba8a4..60f84aa 100644 --- a/examples/custom/package.json +++ b/examples/custom/package.json @@ -15,7 +15,7 @@ "author": "azu", "license": "MIT", "devDependencies": { - "gitbook-cli": "^2.1.3", + "gitbook-cli": "2.3.0 || ^2.3.2", "gitbook-plugin-include-codeblock": "file:../../" } } diff --git a/examples/default/package.json b/examples/default/package.json index 4ce80d6..5f96d0c 100644 --- a/examples/default/package.json +++ b/examples/default/package.json @@ -15,7 +15,7 @@ "author": "azu", "license": "MIT", "devDependencies": { - "gitbook-cli": "^2.1.3", + "gitbook-cli": "2.3.0 || ^2.3.2", "gitbook-plugin-include-codeblock": "file:../../" } } From 4c231e9498d14a40e40ec3fda356962bd85ac5df Mon Sep 17 00:00:00 2001 From: WC Leung Date: Thu, 13 Jul 2017 09:29:21 +0000 Subject: [PATCH 6/8] Respond to comments again. (Did not read a comment correctly) --- src/parser.js | 53 +++++++++++++++++++++------------------------------ 1 file changed, 22 insertions(+), 31 deletions(-) diff --git a/src/parser.js b/src/parser.js index b1da2f5..f07adaf 100644 --- a/src/parser.js +++ b/src/parser.js @@ -80,15 +80,6 @@ export function containIncludeCommand(commands = []) { }); } -/** - * unescapes a value, which is a commonmark string enclosed by quotes. - * @param {string} value - * @returns {string} - */ -export function unescapeValue(value) { - return unescapeString(value.substring(1, value.length - 1)); -} - /** * Parse the given value to the given type. Returns the value if valid, otherwise returns undefined. * @param {string} value @@ -97,32 +88,32 @@ export function unescapeValue(value) { * @return {boolean|string|undefined} */ export function parseValue(value, type, key) { - switch (type) { - case "string": - value = unescapeValue(value); - if (key === "marker" && !markerRegExp.test(value)) { - logger.error( - "include-codeblock: parseVariablesFromLabel: invalid value " + - `\`${value}\` in key \`marker\`` - ); - return undefined; - } - return value; - - case "boolean": - if (["true", '"true"', "'true'"].indexOf(value) >= 0) { - return true; - } - - if (["false", '"false"', "'false'"].indexOf(value) >= 0) { - return false; - } - + if (type === "string") { + const unescapedvalue = unescapeString(value.substring(1, value.length - 1)); + if (key === "marker" && !markerRegExp.test(unescapedvalue)) { logger.error( "include-codeblock: parseVariablesFromLabel: invalid value " + - `\`${value}\` in key \`${key}\`. Expect true or false.` + `\`${unescapedvalue}\` in key \`marker\`` ); return undefined; + } + return unescapedvalue; + } + + if (type === "boolean") { + if (["true", '"true"', "'true'"].indexOf(value) >= 0) { + return true; + } + + if (["false", '"false"', "'false'"].indexOf(value) >= 0) { + return false; + } + + logger.error( + "include-codeblock: parseVariablesFromLabel: invalid value " + + `\`${value}\` in key \`${key}\`. Expect true or false.` + ); + return undefined; } logger.error( `include-codeblock: parseVariablesFromLabel: unknown key type \`${type}\` (see options.js)` From 2fb91650e53a945d47bf9e853ddfc10b4a1d6f10 Mon Sep 17 00:00:00 2001 From: WC Leung Date: Thu, 13 Jul 2017 09:31:08 +0000 Subject: [PATCH 7/8] Fix missing empty line --- src/parser.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/parser.js b/src/parser.js index f07adaf..a24f398 100644 --- a/src/parser.js +++ b/src/parser.js @@ -115,6 +115,7 @@ export function parseValue(value, type, key) { ); return undefined; } + logger.error( `include-codeblock: parseVariablesFromLabel: unknown key type \`${type}\` (see options.js)` ); From 89bc9eedd317242283530b1dc08136fbe036ba69 Mon Sep 17 00:00:00 2001 From: WC Leung Date: Thu, 13 Jul 2017 09:34:16 +0000 Subject: [PATCH 8/8] Changed the last assert.equal to assert.strictEqual --- test/parser-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parser-test.js b/test/parser-test.js index d054922..42bba05 100644 --- a/test/parser-test.js +++ b/test/parser-test.js @@ -176,7 +176,7 @@ describe("parse", function() { assert.strictEqual(results.title, "\\r\\n[]"); // \r and \n should not be unescaped. }); it("should not parse string argument into another key-value pair", function() { - assert.equal(kvmap.edit, false); + assert.strictEqual(kvmap.edit, false); const resmap = parseVariablesFromLabel(kvmap, 'import,title="edit:true"'); const results = resmap; assert.strictEqual(results.edit, false);