diff --git a/lerna.json b/lerna.json index 1bf4c2eade..dc31f09ddb 100644 --- a/lerna.json +++ b/lerna.json @@ -3,7 +3,6 @@ "version": "independent", "packages": [ "plugins/*", - "packages/*", - "website" + "packages/*" ] } diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index f921dc6462..0000000000 --- a/netlify.toml +++ /dev/null @@ -1,10 +0,0 @@ -[build] - base = "website" - publish = "website/_speedpack" - command = "npm run build" - -[context.production.environment] - HUGO_VERSION = "0.30" - -[context.deploy-preview.environment] - HUGO_VERSION = "0.30" diff --git a/package.json b/package.json index 3c1b77725d..26dfc7842e 100644 --- a/package.json +++ b/package.json @@ -9,13 +9,12 @@ }, "scripts": { "bootstrap": "lerna bootstrap && lerna run rebuild", + "publish": "lerna publish --skip-git", "clean": "lerna clean", "test": "lerna run test --stream", "app-start": "lerna run start --stream --scope=insomnia-app", "app-build": "lerna run build --stream --scope=insomnia-app", - "app-package": "lerna run package --stream --scope=insomnia-app", - "website-start": "lerna run start --stream --scope=insomnia-website", - "website-build": "lerna run build --stream --scope=insomnia-website" + "app-package": "lerna run package --stream --scope=insomnia-app" }, "devDependencies": { "jest": "^21.2.1", diff --git a/website/.gitignore b/website/.gitignore deleted file mode 100644 index 63af966d2b..0000000000 --- a/website/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -_speedpack -_hugo -site/static/javascript/build/ diff --git a/website/.nvmrc b/website/.nvmrc deleted file mode 100644 index f11c82a4cb..0000000000 --- a/website/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -9 \ No newline at end of file diff --git a/website/README.md b/website/README.md deleted file mode 100644 index b0ee5e5816..0000000000 --- a/website/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Insomnia Website - -This is the source code for [insomnia.rest](https://insomnia.rest), built with -[Hugo Static Website Engine](https://gohugo.io/) and -[Speedpack](https://github.com/gschier/speedpack) to compress static assets on -deploy. - -```shell -# Run Development Server -npm start -``` diff --git a/website/package-lock.json b/website/package-lock.json deleted file mode 100644 index 4f03606c8b..0000000000 --- a/website/package-lock.json +++ /dev/null @@ -1,8754 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "requires": { - "acorn": "4.0.13" - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "requires": { - "acorn": "3.3.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" - } - } - }, - "acorn-to-esprima": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.8.tgz", - "integrity": "sha1-AD8MZC65ITL0F9NwjxStqCrfLrE=" - }, - "ajv": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz", - "integrity": "sha1-6yhAdG6dxIvV4GOjbj/UAMXqtak=", - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - }, - "dependencies": { - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - } - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=" - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "alter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", - "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=", - "requires": { - "stable": "0.1.6" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, - "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "archive-type": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", - "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", - "requires": { - "file-type": "3.9.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - } - } - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "requires": { - "sprintf-js": "1.0.3" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1.js": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", - "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", - "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "requires": { - "util": "0.10.3" - } - }, - "ast-traverse": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", - "integrity": "sha1-ac8rg4bxnc2hux4F1o/jWdiJfeY=" - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" - }, - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "requires": { - "lodash": "4.17.4" - }, - "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" - }, - "async-each-series": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", - "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=" - }, - "babel": { - "version": "6.3.13", - "resolved": "https://registry.npmjs.org/babel/-/babel-6.3.13.tgz", - "integrity": "sha1-mjZs6TyyT2IHFMFRRCJcCu0345o=" - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-core": { - "version": "6.1.18", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.1.18.tgz", - "integrity": "sha1-l2zdqfwuE1PkFRMbzhRn9+JDhuc=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "5.8.38", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "esutils": "2.0.2", - "home-or-tmp": "1.0.0", - "json5": "0.4.0", - "lodash": "3.10.1", - "minimatch": "2.0.10", - "path-exists": "1.0.0", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "regenerator": "0.8.35", - "shebang-regex": "1.0.0", - "slash": "1.0.0", - "source-map": "0.5.7", - "source-map-support": "0.2.10" - } - }, - "babel-eslint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-5.0.0.tgz", - "integrity": "sha1-R8/tiIAJD/34Vp+oKtq1dX6lUS8=", - "requires": { - "acorn-to-esprima": "2.0.8", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash.assign": "3.2.0", - "lodash.pick": "3.1.0" - } - }, - "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-loader": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.1.0.tgz", - "integrity": "sha1-HcaY979/OXXDeVqNX8WiRsgghrc=", - "requires": { - "loader-utils": "0.2.17", - "object-assign": "4.1.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-add-module-exports": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.1.2.tgz", - "integrity": "sha1-TTiQAMndPJiLPtIwBOuV4ntC3lk=", - "requires": { - "babel-template": "6.26.0", - "lodash": "3.10.1" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "0.10.1" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "requires": { - "babel-runtime": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "babel-preset-es2015": { - "version": "6.3.13", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz", - "integrity": "sha1-l9zn7ykuGMubK3VF2AxZPCjZUX8=", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0" - } - }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" - } - }, - "babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-self": "6.22.0", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-preset-flow": "6.23.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "0.5.7" - } - } - } - }, - "babel-runtime": { - "version": "5.8.38", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz", - "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=", - "requires": { - "core-js": "1.2.7" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" - }, - "bin-build": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", - "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", - "requires": { - "archive-type": "3.2.0", - "decompress": "3.0.0", - "download": "4.4.3", - "exec-series": "1.0.3", - "rimraf": "2.6.2", - "tempfile": "1.1.1", - "url-regex": "3.2.0" - }, - "dependencies": { - "tempfile": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", - "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", - "requires": { - "os-tmpdir": "1.0.2", - "uuid": "2.0.3" - } - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, - "bin-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", - "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", - "requires": { - "executable": "1.1.0" - } - }, - "bin-version": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", - "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", - "requires": { - "find-versions": "1.2.1" - } - }, - "bin-version-check": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", - "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", - "requires": { - "bin-version": "1.0.4", - "minimist": "1.2.0", - "semver": "4.3.6", - "semver-truncate": "1.1.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" - } - } - }, - "bin-wrapper": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", - "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", - "requires": { - "bin-check": "2.0.0", - "bin-version-check": "2.1.0", - "download": "4.4.3", - "each-async": "1.1.1", - "lazy-req": "1.1.0", - "os-filter-obj": "1.0.3" - } - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" - }, - "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "breakable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", - "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=" - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", - "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" - } - }, - "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.5" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "1.0.6" - } - }, - "buffer": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", - "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", - "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-to-vinyl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", - "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", - "requires": { - "file-type": "3.9.0", - "readable-stream": "2.3.3", - "uuid": "2.0.3", - "vinyl": "1.2.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "requires": { - "callsites": "0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - } - } - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, - "caw": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", - "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", - "requires": { - "get-proxy": "1.1.0", - "is-obj": "1.0.1", - "object-assign": "3.0.0", - "tunnel-agent": "0.4.3" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "requires": { - "chalk": "1.1.3" - } - }, - "clean-css": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", - "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", - "requires": { - "source-map": "0.5.7" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "clone": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=" - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" - }, - "co": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "requires": { - "q": "1.5.1" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" - }, - "commander": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz", - "integrity": "sha512-PCNLExLlI5HiPdaJs4pMXwOTHkSCpNQ1QJH9ykZLKtKEyKu3p9HgmH5l97vM8c0IUz6d54l+xEu2GG9yuYrFzA==" - }, - "commoner": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", - "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", - "requires": { - "commander": "2.12.1", - "detective": "4.5.0", - "glob": "5.0.15", - "graceful-fs": "4.1.11", - "iconv-lite": "0.4.19", - "mkdirp": "0.5.1", - "private": "0.1.8", - "q": "1.5.1", - "recast": "0.11.23" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "requires": { - "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.8", - "source-map": "0.5.7" - } - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" - } - }, - "concurrently": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-3.5.1.tgz", - "integrity": "sha512-689HrwGw8Rbk1xtV9C4dY6TPJAvIYZbRbnKSAtfJ7tHqICFGoZ0PCWYjxfmerRyxBG0o3sbG3pe7N8vqPwIHuQ==", - "requires": { - "chalk": "0.5.1", - "commander": "2.6.0", - "date-fns": "1.29.0", - "lodash": "4.17.4", - "rx": "2.3.24", - "spawn-command": "0.0.2-1", - "supports-color": "3.2.3", - "tree-kill": "1.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" - }, - "ansi-styles": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" - }, - "chalk": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", - "requires": { - "ansi-styles": "1.1.0", - "escape-string-regexp": "1.0.5", - "has-ansi": "0.1.0", - "strip-ansi": "0.3.0", - "supports-color": "0.2.0" - }, - "dependencies": { - "supports-color": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" - } - } - }, - "commander": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" - }, - "has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", - "requires": { - "ansi-regex": "0.2.1" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "strip-ansi": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", - "requires": { - "ansi-regex": "0.2.1" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "0.1.4" - } - }, - "console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" - }, - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" - } - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "1.0.0" - } - }, - "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.9" - } - }, - "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.9" - } - }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.5", - "randomfill": "1.0.3" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "1.0.2" - } - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "requires": { - "es5-ext": "0.10.37" - } - }, - "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==" - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decompress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", - "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", - "requires": { - "buffer-to-vinyl": "1.1.0", - "concat-stream": "1.6.0", - "decompress-tar": "3.1.0", - "decompress-tarbz2": "3.1.0", - "decompress-targz": "3.1.0", - "decompress-unzip": "3.4.0", - "stream-combiner2": "1.1.1", - "vinyl-assign": "1.2.1", - "vinyl-fs": "2.4.4" - } - }, - "decompress-tar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", - "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", - "requires": { - "is-tar": "1.0.0", - "object-assign": "2.1.1", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.5", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "decompress-tarbz2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", - "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", - "requires": { - "is-bzip2": "1.0.0", - "object-assign": "2.1.1", - "seek-bzip": "1.0.5", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.5", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "decompress-targz": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", - "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", - "requires": { - "is-gzip": "1.0.0", - "object-assign": "2.1.1", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.5", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "decompress-unzip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", - "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", - "requires": { - "is-zip": "1.0.0", - "read-all-stream": "3.1.0", - "stat-mode": "0.2.2", - "strip-dirs": "1.1.1", - "through2": "2.0.3", - "vinyl": "1.2.0", - "yauzl": "2.9.1" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "defs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", - "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=", - "requires": { - "alter": "0.2.0", - "ast-traverse": "0.1.1", - "breakable": "1.0.0", - "esprima-fb": "15001.1001.0-dev-harmony-fb", - "simple-fmt": "0.1.0", - "simple-is": "0.2.0", - "stringmap": "0.2.2", - "stringset": "0.2.1", - "tryor": "0.1.2", - "yargs": "3.27.0" - }, - "dependencies": { - "esprima-fb": { - "version": "15001.1001.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", - "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=" - } - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": { - "repeating": "2.0.1" - } - }, - "detective": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", - "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", - "requires": { - "acorn": "4.0.13", - "defined": "1.0.0" - } - }, - "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.5" - } - }, - "doctrine": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", - "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", - "requires": { - "esutils": "2.0.2" - } - }, - "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" - }, - "download": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", - "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", - "requires": { - "caw": "1.2.0", - "concat-stream": "1.6.0", - "each-async": "1.1.1", - "filenamify": "1.2.1", - "got": "5.7.1", - "gulp-decompress": "1.2.0", - "gulp-rename": "1.2.2", - "is-url": "1.2.2", - "object-assign": "4.1.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "stream-combiner2": "1.1.1", - "vinyl": "1.2.0", - "vinyl-fs": "2.4.4", - "ware": "1.3.0" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "duplexify": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", - "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", - "requires": { - "end-of-stream": "1.4.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" - } - }, - "each-async": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", - "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", - "requires": { - "onetime": "1.1.0", - "set-immediate-shim": "1.0.1" - } - }, - "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "0.4.19" - } - }, - "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", - "requires": { - "once": "1.4.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" - } - }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "requires": { - "prr": "0.0.0" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es5-ext": { - "version": "0.10.37", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", - "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", - "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" - } - }, - "eslint": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.12.0.tgz", - "integrity": "sha512-Ohv4NU0FffkEe4so8DBrdfRUbGUtM4XnBTDll2pY7OdW3VkjBOZPerx3Bmuhg6S6D6r8+cli0EezN0xawUfYwg==", - "requires": { - "ajv": "5.5.0", - "babel-code-frame": "6.26.0", - "chalk": "2.3.0", - "concat-stream": "1.6.0", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.0.2", - "eslint-scope": "3.7.1", - "espree": "3.5.2", - "esquery": "1.0.0", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.0.1", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.0.0", - "js-yaml": "3.10.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "require-uncached": "1.0.3", - "semver": "5.4.1", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.2", - "text-table": "0.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "globals": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.0.1.tgz", - "integrity": "sha1-Eqh7sBDlFUOWrMU14eQ/x1Ow5eg=" - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "3.0.0" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "requires": { - "esrecurse": "4.2.0", - "estraverse": "4.2.0" - } - }, - "espree": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", - "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", - "requires": { - "acorn": "5.2.1", - "acorn-jsx": "3.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==" - } - } - }, - "esprima-fb": { - "version": "15001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", - "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=" - }, - "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "requires": { - "estraverse": "4.2.0" - } - }, - "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" - } - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" - } - }, - "exec-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", - "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", - "requires": { - "execa": "0.7.0", - "p-finally": "1.0.0", - "pify": "3.0.0", - "rimraf": "2.6.2", - "tempfile": "2.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "exec-series": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", - "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", - "requires": { - "async-each-series": "1.1.0", - "object-assign": "4.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "executable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", - "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", - "requires": { - "meow": "3.7.0" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "2.2.3" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "external-editor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", - "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", - "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "1.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - } - } - }, - "fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "requires": { - "chalk": "1.1.3", - "time-stamp": "1.1.0" - } - }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } - } - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "requires": { - "pend": "1.2.0" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" - } - }, - "file-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-size/-/file-size-1.0.0.tgz", - "integrity": "sha1-MzgmfV0ga79g9N9gwZ1+04E6Rlc=" - }, - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" - }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=" - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "requires": { - "filename-reserved-regex": "1.0.0", - "strip-outer": "1.0.0", - "trim-repeated": "1.0.0" - } - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "2.0.1" - } - } - } - }, - "find-versions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", - "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", - "requires": { - "array-uniq": "1.0.3", - "get-stdin": "4.0.1", - "meow": "3.7.0", - "semver-regex": "1.0.0" - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=" - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } - }, - "flow": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/flow/-/flow-0.2.3.tgz", - "integrity": "sha1-+Npl76JJEn7Jk3aiiJZXKpeV0a8=" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "1.0.2" - } - }, - "foreachasync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", - "integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "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, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "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, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "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, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "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, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "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 - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "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, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "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, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "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, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "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, - "requires": { - "jsbn": "0.1.1" - } - }, - "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, - "requires": { - "jsonify": "0.0.0" - } - }, - "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, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "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, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "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, - "requires": { - "wrappy": "1.0.2" - } - }, - "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, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "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, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "requires": { - "glob": "7.1.2" - } - }, - "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, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "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, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" - }, - "get-proxy": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", - "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", - "requires": { - "rc": "1.2.2" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "gifsicle": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", - "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=", - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - } - }, - "glob-stream": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", - "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "requires": { - "extend": "3.0.1", - "glob": "5.0.15", - "glob-parent": "3.1.0", - "micromatch": "2.3.11", - "ordered-read-streams": "0.3.0", - "through2": "0.6.5", - "to-absolute-glob": "0.1.1", - "unique-stream": "2.2.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "requires": { - "sparkles": "1.0.0" - } - }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.1", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "timed-out": "3.1.3", - "unzip-response": "1.0.2", - "url-parse-lax": "1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "gulp-decompress": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", - "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", - "requires": { - "archive-type": "3.2.0", - "decompress": "3.0.0", - "gulp-util": "3.0.8", - "readable-stream": "2.3.3" - } - }, - "gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=" - }, - "gulp-sourcemaps": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", - "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "requires": { - "convert-source-map": "1.5.1", - "graceful-fs": "4.1.11", - "strip-bom": "2.0.0", - "through2": "2.0.3", - "vinyl": "1.2.0" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.2.0", - "fancy-log": "1.3.0", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", - "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "requires": { - "clone": "1.0.3", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "requires": { - "glogg": "1.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "requires": { - "sparkles": "1.0.0" - } - }, - "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "requires": { - "inherits": "2.0.3" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" - }, - "hkdf": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/hkdf/-/hkdf-0.0.2.tgz", - "integrity": "sha1-L422Ff3vhwIB+C0rYZym00fQZH4=" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "home-or-tmp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", - "integrity": "sha1-S58eQIAMPlDGwn94FnavzOcfOYU=", - "requires": { - "os-tmpdir": "1.0.2", - "user-home": "1.1.1" - } - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" - }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=" - }, - "html-minifier": { - "version": "3.5.6", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.6.tgz", - "integrity": "sha512-88FjtKrlak2XjczhxrBomgzV4jmGzM3UnHRBScRkJcmcRum0kb+IwhVAETJ8AVp7j0p3xugjSaw9L+RmI5/QOA==", - "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.11.0", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.1.10" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "uglify-js": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.10.tgz", - "integrity": "sha512-0ul3BWx79We0mIPM1l72oqpMtWL0TVMnKZZY6FaHPy3tDzCZGXeFxw5N1ZvtkmQsLI+ECR/tUQyIYbyHUcuvEw==", - "requires": { - "commander": "2.11.0", - "source-map": "0.6.1" - } - } - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" - }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" - }, - "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==" - }, - "imagemin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz", - "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=", - "requires": { - "file-type": "4.4.0", - "globby": "6.1.0", - "make-dir": "1.1.0", - "p-pipe": "1.2.0", - "pify": "2.3.0", - "replace-ext": "1.0.0" - } - }, - "imagemin-gifsicle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", - "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==", - "requires": { - "exec-buffer": "3.2.0", - "gifsicle": "3.0.4", - "is-gif": "1.0.0" - } - }, - "imagemin-jpegtran": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz", - "integrity": "sha1-5ogiY7j3kW/duABkDPddLpcNKtY=", - "requires": { - "exec-buffer": "3.2.0", - "is-jpg": "1.0.0", - "jpegtran-bin": "3.2.0" - } - }, - "imagemin-mozjpeg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-6.0.0.tgz", - "integrity": "sha1-caMqRXqhsmEXpo7u8tmxkMLlCR4=", - "requires": { - "exec-buffer": "3.2.0", - "is-jpg": "1.0.0", - "mozjpeg": "4.1.1" - } - }, - "imagemin-optipng": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", - "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=", - "requires": { - "exec-buffer": "3.2.0", - "is-png": "1.1.0", - "optipng-bin": "3.1.4" - } - }, - "imagemin-pngquant": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-5.0.1.tgz", - "integrity": "sha1-2KMp2lU6+iJrEc5i3r4Lfje0OeY=", - "requires": { - "exec-buffer": "3.2.0", - "is-png": "1.1.0", - "pngquant-bin": "3.1.1" - } - }, - "imagemin-svgo": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-5.2.4.tgz", - "integrity": "sha512-1bNZdlWVKdfxzu0xDD1pWjwK/G8FLcztUh/GWaI7xLgCFrn0j35o+uBbY7VcdY2AmKgiLYTXhrzrbkQk6xj8aA==", - "requires": { - "is-svg": "2.1.0", - "svgo": "0.7.2" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "2.0.1" - } - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.0", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.1.0", - "figures": "2.0.0", - "lodash": "4.17.4", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "3.0.0" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=" - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "ip-regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" - }, - "is-absolute": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", - "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", - "requires": { - "is-relative": "0.1.3" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "1.11.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-bzip2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", - "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=" - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-gif": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", - "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=" - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "2.1.1" - } - }, - "is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=" - }, - "is-jpg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.0.tgz", - "integrity": "sha1-KVnBfnNDDbOCZNp1uQ3VTy2G2hw=" - }, - "is-natural-number": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", - "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=" - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "3.2.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "requires": { - "is-path-inside": "1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "requires": { - "path-is-inside": "1.0.2" - } - }, - "is-png": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=" - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-relative": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", - "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=" - }, - "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "requires": { - "tryit": "1.0.3" - } - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "requires": { - "html-comment-regex": "1.1.1" - } - }, - "is-tar": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", - "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=" - }, - "is-url": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", - "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-valid-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=" - }, - "is-zip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", - "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" - } - }, - "jpegtran-bin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz", - "integrity": "sha1-9g7PSumZwL2tLp+83ytvCYHnops=", - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" - } - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "json5": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", - "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsonminify": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/jsonminify/-/jsonminify-0.4.1.tgz", - "integrity": "sha1-gF2vuzk5UYjO6atYLIHvlZ1+cQw=" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "lazy-req": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", - "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "1.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - }, - "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - } - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "requires": { - "lodash._basecopy": "3.0.1", - "lodash.keys": "3.1.2" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._baseflatten": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz", - "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=", - "requires": { - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, - "lodash._basefor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", - "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=" - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" - }, - "lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "requires": { - "lodash._bindcallback": "3.0.1", - "lodash._isiterateecall": "3.0.9", - "lodash.restparam": "3.6.1" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash._pickbyarray": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz", - "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=" - }, - "lodash._pickbycallback": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz", - "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=", - "requires": { - "lodash._basefor": "3.0.3", - "lodash.keysin": "3.0.8" - } - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" - }, - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "requires": { - "lodash._baseassign": "3.2.0", - "lodash._createassigner": "3.1.1", - "lodash.keys": "3.1.2" - } - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "requires": { - "lodash._root": "3.0.1" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, - "lodash.keysin": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", - "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", - "requires": { - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, - "lodash.pick": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-3.1.0.tgz", - "integrity": "sha1-8lKoVbIEa2G805BLJvdr0u/GVVA=", - "requires": { - "lodash._baseflatten": "3.1.4", - "lodash._bindcallback": "3.0.1", - "lodash._pickbyarray": "3.0.2", - "lodash._pickbycallback": "3.0.0", - "lodash.restparam": "3.6.1" - } - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" - } - }, - "logalot": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "requires": { - "figures": "1.7.0", - "squeak": "1.3.0" - } - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "lpad-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", - "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "requires": { - "get-stdin": "4.0.1", - "indent-string": "2.1.0", - "longest": "1.0.1", - "meow": "3.7.0" - } - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "make-dir": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", - "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", - "requires": { - "pify": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - } - } - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "requires": { - "mimic-fn": "1.1.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "0.1.4", - "readable-stream": "2.3.3" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" - } - }, - "mime": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.5.0.tgz", - "integrity": "sha512-v/jMDoK/qKptnTuC3YUNbIj8uUYvTCIHzVu9BHldKSWja48wusAtfjlcBlqnFrqClu3yf69ScDxBPrIyFnF51g==" - }, - "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" - }, - "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "mozjpeg": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-4.1.1.tgz", - "integrity": "sha1-hZAwsk9omlPbm0DwFg2JGVuI/VA=", - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "requires": { - "duplexer2": "0.0.2" - }, - "dependencies": { - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "requires": { - "readable-stream": "1.1.14" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "optional": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "ncname": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "requires": { - "xml-char-classes": "1.0.0" - } - }, - "netlify-cli": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-1.2.2.tgz", - "integrity": "sha1-4nGZUrzUppj6dWFqsAPhEVQSB+A=", - "requires": { - "chalk": "0.5.1", - "commander": "2.9.0", - "github": "0.2.4", - "home-dir": "0.2.0", - "inquirer": "0.11.4", - "netlify": "1.2.0", - "open": "0.0.5", - "prompt": "0.2.14", - "update-notifier": "0.6.3", - "when": "3.7.7" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" - }, - "ansi-regex": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" - }, - "ansi-styles": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - }, - "base64-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" - }, - "boxen": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.3.1.tgz", - "integrity": "sha1-p9iYJDrmIvertrtgTXQKdsalRhs=", - "requires": { - "chalk": "1.1.3", - "filled-array": "1.1.0", - "object-assign": "4.1.0", - "repeating": "2.0.1", - "string-width": "1.0.2", - "widest-line": "1.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "brace-expansion": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", - "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, - "chalk": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", - "requires": { - "ansi-styles": "1.1.0", - "escape-string-regexp": "1.0.5", - "has-ansi": "0.1.0", - "strip-ansi": "0.3.0", - "supports-color": "0.2.0" - } - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "requires": { - "restore-cursor": "1.0.1" - } - }, - "cli-width": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz", - "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=" - }, - "code-point-at": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.1.tgz", - "integrity": "sha1-EQTNNPm1tF0+uojxurwZJOHONfs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=" - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "configstore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", - "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", - "requires": { - "dot-prop": "3.0.0", - "graceful-fs": "4.1.9", - "mkdirp": "0.5.1", - "object-assign": "4.1.0", - "os-tmpdir": "1.0.2", - "osenv": "0.1.3", - "uuid": "2.0.3", - "write-file-atomic": "1.2.0", - "xdg-basedir": "2.0.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=" - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "1.0.0" - } - }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" - }, - "deep-extend": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", - "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=" - }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "requires": { - "is-obj": "1.0.1" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "2.1.5" - } - }, - "error-ex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", - "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", - "requires": { - "is-arrayish": "0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.0" - } - }, - "filled-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz", - "integrity": "sha1-w8T2xmO5I0WamqKZEtLQMfFQf4Q=" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "github": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/github/-/github-0.2.4.tgz", - "integrity": "sha1-JPp/DhP6EblGr5ETTFGYKpHOU4s=", - "requires": { - "mime": "1.3.4" - } - }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "got": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-5.6.0.tgz", - "integrity": "sha1-ux1+4WO3gIK7yOuDbz85UATqb78=", - "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-plain-obj": "1.1.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.0", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.1.5", - "timed-out": "2.0.0", - "unzip-response": "1.0.1", - "url-parse-lax": "1.0.0" - } - }, - "graceful-fs": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", - "requires": { - "natives": "1.1.0" - } - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", - "requires": { - "ansi-regex": "0.2.1" - } - }, - "home-dir": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/home-dir/-/home-dir-0.2.0.tgz", - "integrity": "sha1-dlysM1OEtR8x/QRI5M3YBm4eLI8=" - }, - "i": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", - "integrity": "sha1-HSuFQVjsgWkRPGy39raAHpniEdU=" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" - }, - "inquirer": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz", - "integrity": "sha1-geM3ToNhvq/y2XAWIG01nQsy+k0=", - "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.0.0", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "1.1.1", - "figures": "1.7.0", - "lodash": "3.10.1", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - }, - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "latest-version": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", - "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=", - "requires": { - "package-json": "2.4.0" - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" - }, - "minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", - "requires": { - "brace-expansion": "1.1.6" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=" - }, - "natives": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", - "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=" - }, - "ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=" - }, - "netlify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-1.2.0.tgz", - "integrity": "sha1-6/iblLAbR41TljAXTey0lsK74xU=", - "requires": { - "base64-js": "1.2.0", - "glob": "7.1.1", - "graceful-fs": "3.0.11", - "semaphore": "1.0.5", - "when": "3.7.7" - } - }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=" - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" - }, - "open": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "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=" - }, - "osenv": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", - "integrity": "sha1-g88FxtZFj8TVrGNi6jJdkvJ1Qhc=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "package-json": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", - "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=", - "requires": { - "got": "5.6.0", - "registry-auth-token": "3.1.0", - "registry-url": "3.1.0", - "semver": "5.3.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "1.3.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "2.0.4" - } - }, - "pkginfo": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", - "integrity": "sha1-NJ27f/04CB/K3AhT32h/DHdEzWU=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "prompt": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", - "requires": { - "pkginfo": "0.4.0", - "read": "1.0.7", - "revalidator": "0.1.8", - "utile": "0.2.1", - "winston": "0.8.3" - } - }, - "rc": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", - "integrity": "sha1-Q2UbdrauU7XIAvEVH6P8OwWZack=", - "requires": { - "deep-extend": "0.4.1", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "1.0.4" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "requires": { - "mute-stream": "0.0.5" - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.1.5" - } - }, - "readable-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", - "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "requires": { - "code-point-at": "1.0.1", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" - } - }, - "registry-auth-token": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.1.0.tgz", - "integrity": "sha1-mXwIJW4MeZmDe5DpRNs52KeQJ2s=", - "requires": { - "rc": "1.1.6" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "requires": { - "rc": "1.1.6" - } - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "1.0.2" - } - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" - } - }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=" - }, - "rimraf": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", - "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", - "requires": { - "glob": "7.1.1" - } - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "requires": { - "once": "1.4.0" - } - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=" - }, - "semaphore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.0.5.tgz", - "integrity": "sha1-tJJXbmavGT25XWXiXsU/Xxl5jWA=" - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "requires": { - "semver": "5.3.0" - } - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" - }, - "stack-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.0.1", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.0.0" - } - } - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "strip-ansi": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", - "requires": { - "ansi-regex": "0.2.1" - } - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=" - }, - "supports-color": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "timed-out": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", - "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=" - }, - "unzip-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.1.tgz", - "integrity": "sha1-SnOVnymJRw+lA3kc77VOHbvGhBI=" - }, - "update-notifier": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.6.3.tgz", - "integrity": "sha1-d23sjaoT6WKjQeih2YNUMGtnrgg=", - "requires": { - "boxen": "0.3.1", - "chalk": "1.1.3", - "configstore": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "2.0.0", - "semver-diff": "2.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "1.0.4" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "requires": { - "async": "0.2.10", - "deep-equal": "1.0.1", - "i": "0.3.5", - "mkdirp": "0.5.1", - "ncp": "0.4.2", - "rimraf": "2.5.4" - } - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - }, - "when": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", - "integrity": "sha1-q6A/w7tzbWyIsJHQE9io5ZDYRxg=" - }, - "widest-line": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", - "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", - "requires": { - "string-width": "1.0.2" - } - }, - "winston": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", - "requires": { - "async": "0.2.10", - "colors": "0.6.2", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "pkginfo": "0.3.1", - "stack-trace": "0.0.9" - }, - "dependencies": { - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.2.0.tgz", - "integrity": "sha1-FMZtTkyzygVlwozzt6bz5NWTj6s=", - "requires": { - "graceful-fs": "4.1.9", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha1-uqy6N9GdEfnRRtNXi8mZWMN4fik=" - } - } - }, - "xdg-basedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", - "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", - "requires": { - "os-homedir": "1.0.2" - } - } - } - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "1.1.4" - } - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } - }, - "node-forge": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", - "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=" - }, - "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", - "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.1.7", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", - "stream-browserify": "2.0.1", - "stream-http": "2.7.2", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.4", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" - } - } - } - }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=" - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - } - } - }, - "optipng-bin": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz", - "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=", - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "ordered-read-streams": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", - "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "requires": { - "is-stream": "1.1.0", - "readable-stream": "2.3.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "os-filter-obj": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", - "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "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=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=" - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "1.1.0" - } - }, - "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=" - }, - "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "requires": { - "no-case": "2.3.2" - } - }, - "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "requires": { - "asn1.js": "4.9.2", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "1.3.1" - } - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", - "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=" - }, - "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=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", - "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.9" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "2.0.4" - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" - }, - "pngquant-bin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-3.1.1.tgz", - "integrity": "sha1-0STZinWpSH9AwWQLTb/Lsr1aH9E=", - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" - }, - "pretty-data": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/pretty-data/-/pretty-data-0.40.0.tgz", - "integrity": "sha1-Vyqo6iNGdGerlLa1Jmpv2cj93XI=" - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "2.0.6" - } - }, - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, - "prr": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.5" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "randomfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", - "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", - "requires": { - "randombytes": "2.0.5", - "safe-buffer": "5.1.1" - } - }, - "rc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", - "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - }, - "react-dom": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", - "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.3.3" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "recast": { - "version": "0.10.24", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.24.tgz", - "integrity": "sha1-7DR4EjIqyJWuGxLjBrZ/CE8CJ3o=", - "requires": { - "ast-types": "0.8.5", - "esprima-fb": "15001.1.0-dev-harmony-fb", - "private": "0.1.8", - "source-map": "0.4.4" - }, - "dependencies": { - "ast-types": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.5.tgz", - "integrity": "sha1-WhJzMMxeyXrFMpLj3PGhSptugD8=" - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" - }, - "regenerator": { - "version": "0.8.35", - "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.35.tgz", - "integrity": "sha1-0LyuslGlCQG0FqfGvPUhXSbGgds=", - "requires": { - "commoner": "0.10.8", - "defs": "1.1.1", - "esprima-fb": "15001.1.0-dev-harmony-fb", - "private": "0.1.8", - "recast": "0.10.24", - "through": "2.3.8" - } - }, - "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" - }, - "dependencies": { - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - } - } - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "requires": { - "jsesc": "0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "1.0.2" - } - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - } - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - }, - "dependencies": { - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "1.1.0" - } - } - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "2.1.0" - } - }, - "rx": { - "version": "2.3.24", - "resolved": "https://registry.npmjs.org/rx/-/rx-2.3.24.tgz", - "integrity": "sha1-FPlQpCF9fjXapxu8vljv9o6ksrc=" - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "requires": { - "rx-lite": "4.0.8" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "requires": { - "commander": "2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": "1.0.1" - } - } - } - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" - }, - "semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "requires": { - "semver": "5.4.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "simple-fmt": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", - "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms=" - }, - "simple-is": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", - "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "requires": { - "is-fullwidth-code-point": "2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - } - } - }, - "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-support": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", - "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=", - "requires": { - "source-map": "0.1.32" - }, - "dependencies": { - "source-map": { - "version": "0.1.32", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", - "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=" - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=" - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" - }, - "speedpack": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/speedpack/-/speedpack-0.2.0.tgz", - "integrity": "sha512-7vaQgzZjERrlT9KirRRXtiBnuGQzeBeXsMBVziJUW8oKFM5X0tAsHExSAP0w9odaHX5NtcwQH/2TFxFAA9Jcew==", - "requires": { - "commander": "2.12.1", - "csso": "2.3.2", - "file-size": "1.0.0", - "html-minifier": "3.5.6", - "imagemin": "5.3.1", - "imagemin-gifsicle": "5.2.0", - "imagemin-jpegtran": "5.0.2", - "imagemin-mozjpeg": "6.0.0", - "imagemin-optipng": "5.2.1", - "imagemin-pngquant": "5.0.1", - "imagemin-svgo": "5.2.4", - "jsonminify": "0.4.1", - "mime": "1.5.0", - "mkdirp": "0.5.1", - "pretty-data": "0.40.0", - "progress": "1.1.8", - "uglify-js": "2.8.29", - "walk": "2.3.9" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "squeak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "requires": { - "chalk": "1.1.3", - "console-stream": "0.1.1", - "lpad-align": "1.1.2" - } - }, - "srp-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/srp-js/-/srp-js-0.2.0.tgz", - "integrity": "sha1-G40Jb0RvDW6iiULzUBSKmNpeemk=", - "requires": { - "buffer": "5.0.8", - "jsbn": "0.1.1" - } - }, - "stable": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz", - "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=" - }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=" - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "requires": { - "duplexer2": "0.1.4", - "readable-stream": "2.3.3" - } - }, - "stream-http": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", - "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "stringmap": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", - "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE=" - }, - "stringset": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", - "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-bom-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", - "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "requires": { - "first-chunk-stream": "1.0.0", - "strip-bom": "2.0.0" - } - }, - "strip-dirs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", - "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", - "requires": { - "chalk": "1.1.3", - "get-stdin": "4.0.1", - "is-absolute": "0.1.7", - "is-natural-number": "2.1.1", - "minimist": "1.2.0", - "sum-up": "1.0.3" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "strip-outer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", - "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "sum-up": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", - "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", - "requires": { - "chalk": "1.1.3" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" - } - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "requires": { - "ajv": "5.5.0", - "ajv-keywords": "2.1.1", - "chalk": "2.3.0", - "lodash": "4.17.4", - "slice-ansi": "1.0.0", - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" - }, - "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.0", - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" - }, - "tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", - "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "requires": { - "temp-dir": "1.0.0", - "uuid": "3.1.0" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "requires": { - "through2": "2.0.3", - "xtend": "4.0.1" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" - }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=" - }, - "timers-browserify": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", - "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", - "requires": { - "setimmediate": "1.0.5" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-absolute-glob": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", - "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "requires": { - "extend-shallow": "2.0.1" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - }, - "tree-kill": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", - "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==" - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" - }, - "tryor": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", - "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=" - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "1.1.2" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.0.2" - } - }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "requires": { - "json-stable-stringify": "1.0.1", - "through2-filter": "2.0.0" - } - }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "1.0.4" - } - }, - "url-regex": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", - "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "requires": { - "ip-regex": "1.0.3" - } - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" - }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "requires": { - "clone": "1.0.3", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - }, - "dependencies": { - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" - } - } - }, - "vinyl-assign": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", - "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", - "requires": { - "object-assign": "4.1.1", - "readable-stream": "2.3.3" - } - }, - "vinyl-fs": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", - "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "requires": { - "duplexify": "3.5.1", - "glob-stream": "5.3.5", - "graceful-fs": "4.1.11", - "gulp-sourcemaps": "1.6.0", - "is-valid-glob": "0.3.0", - "lazystream": "1.0.0", - "lodash.isequal": "4.5.0", - "merge-stream": "1.0.1", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "readable-stream": "2.3.3", - "strip-bom": "2.0.0", - "strip-bom-stream": "1.0.0", - "through2": "2.0.3", - "through2-filter": "2.0.0", - "vali-date": "1.0.0", - "vinyl": "1.2.0" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "requires": { - "indexof": "0.0.1" - } - }, - "walk": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz", - "integrity": "sha1-MbTbZnjyrgHDnqn7hyWpAx5Vins=", - "requires": { - "foreachasync": "3.0.0" - } - }, - "ware": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", - "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", - "requires": { - "wrap-fn": "0.1.5" - } - }, - "watchpack": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - } - }, - "webpack": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", - "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", - "requires": { - "acorn": "5.2.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.0", - "ajv-keywords": "2.1.1", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.0.4", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.0.2", - "yargs": "8.0.2" - }, - "dependencies": { - "acorn": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==" - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "2.0.0" - } - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - } - } - } - }, - "webpack-sources": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz", - "integrity": "sha512-Y7UddMCv6dGjy81nBv6nuQeFFIt5aalHm7uyDsAsW86nZwfOVPGRr3XMjEQLaT+WKo8rlzhC9qtbJvYKLtAwaw==", - "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "wrap-fn": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", - "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", - "requires": { - "co": "3.1.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "requires": { - "mkdirp": "0.5.1" - } - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", - "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=", - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - } - } - }, - "yauzl": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", - "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", - "requires": { - "buffer-crc32": "0.2.13", - "fd-slicer": "1.0.1" - } - } - } -} diff --git a/website/package.json b/website/package.json deleted file mode 100644 index 0adf2719a8..0000000000 --- a/website/package.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "insomnia-website", - "private": true, - "version": "1.0.1", - "description": "Website for https://insomnia.rest", - "author": "Gregory Schier ", - "licence": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/getinsomnia/insomnia.git" - }, - "homepage": "https://github.com/getinsomnia/insomnia/website#readme", - "scripts": { - "bootstrap": "npm install", - "clean": "rm -rf _hugo", - "build:changelog": "rm -rf ./site/content/changelog-json && cp -r ./site/content/changelog ./site/content/changelog-json", - "build:generate": "npm run build:changelog && hugo --source site --destination $PWD/_hugo", - "build:pack": "speedpack _hugo --output _speedpack", - "build:app": "NODE_ENV=production webpack --config webpack.config.babel.js", - "build": "npm run clean && npm run build:app && npm run build:generate && npm run build:pack", - "dev:app": "NODE_ENV=development webpack --config webpack.config.babel.js --watch", - "dev:hugo": "hugo --source site serve --buildDrafts --buildFuture --bind 0.0.0.0", - "dev": "npm run build:changelog && concurrently --kill-others \"npm run dev:hugo\" \"npm run dev:app\"", - "deploy": "npm run build && netlify deploy -s insomnia -e production", - "start": "npm run build:changelog && hugo --source site serve --bind 0.0.0.0", - "test": "node --version" - }, - "devDependencies": { - "babel": "6.3.13", - "babel-core": "6.1.18", - "babel-eslint": "5.0.0", - "babel-loader": "6.1.0", - "babel-plugin-add-module-exports": "0.1.2", - "babel-plugin-transform-class-properties": "^6.19.0", - "babel-plugin-transform-object-rest-spread": "^6.20.2", - "babel-plugin-transform-regenerator": "^6.16.1", - "babel-plugin-transform-runtime": "^6.15.0", - "babel-preset-es2015": "6.3.13", - "babel-preset-react": "^6.24.1", - "concurrently": "^3.1.0", - "eslint": "^4.12.0", - "flow": "^0.2.3", - "json-loader": "^0.5.7", - "netlify-cli": "^1.2.2", - "speedpack": "^0.2.0", - "webpack": "^3.5.1" - }, - "dependencies": { - "hkdf": "0.0.2", - "node-forge": "^0.7.1", - "react": "^15.4.1", - "react-dom": "^15.4.1", - "srp-js": "^0.2.0", - "whatwg-fetch": "^2.0.1" - }, - "babel": { - "presets": [ - "es2015", - "react" - ], - "plugins": [ - "transform-object-rest-spread", - "transform-class-properties", - "add-module-exports", - "transform-regenerator", - "transform-runtime" - ] - } -} diff --git a/website/site/config.yaml b/website/site/config.yaml deleted file mode 100644 index 5861edfda5..0000000000 --- a/website/site/config.yaml +++ /dev/null @@ -1,126 +0,0 @@ ---- -baseurl: "https://insomnia.rest/" -languageCode: "en-us" -copyright: "Floating Keyboard Software, Victoria BC, Canada" -title: "Insomnia REST Client" -theme: "hugo-insomnia-theme" -publishdir: "_hugo" -disqusShortname: "insomnia-rest" -googleAnalytics: "UA-9837747-12" -permalinks: - blog: /blog/:slug -menu: - main: - - Name: "Pricing" - Identifier: "pricing" - URL: "/pricing/" - Weight: 2 - - Name: "Docs" - Identifier: "docs" - URL: "https://support.insomnia.rest" - Weight: 1 - - Name: "Blog" - Identifier: "blog" - URL: "/blog/" - Weight: 2 - - Name: "Download" - Identifier: "download" - URL: "/download/" - Weight: 3 - - Name: "Account" - Identifier: "account" - Pre: "button" - URL: "/app/account/" - Weight: 10 - - Name: "Sign Up" - Identifier: "signup" - Pre: "button" - URL: "/app/signup/" - Weight: 10 - - Name: "Download" - Identifier: "download" - URL: "/download/" - Weight: 100 - footer: - - Name: Contact - Identifier: support - URL: /support/ - weight: 1 - - Name: Open Source - Identifier: opensource - URL: https://github.com/getinsomnia - weight: 4 - - Name: Blog - Identifier: blog - URL: /blog/ - weight: 5 - - Name: Transparency - Identifier: transparency - URL: /transparency/ - weight: 6 - - Name: Changelog - Identifier: changelog - URL: /changelog/ - weight: 7 - - Name: Teams - Identifier: teams - URL: /teams/ - weight: 8 - - Name: Plus - Identifier: plus - URL: /plus/ - weight: 9 - - Name: Terms of Service - Identifier: terms - URL: /terms/ - weight: 100 - - Name: Code of Conduct - Identifier: coc - URL: /code-of-conduct/ - weight: 101 - docs: - - Name: "" - Identifier: "welcome" - Weight: 0 - - Name: "Getting Started" - Identifier: "starting" - Weight: 1 - - Name: "Help Topics" - Identifier: "topics" - Weight: 2 - - Name: "Other" - Identifier: "other" - Weight: 3 -author: - name: "Gregory Schier" - image: "me.jpg" -taxonomies: - tag: "tags" - category: "categories" - series: "series" -params: - copyrightURL: "https://floatingkeyboard.com" - repo: "https://github.com/getinsomnia/website" - docsCategories: - - "welcome" - - "starting" - - "topics" - stylesheets: - - "main.css" - scripts: - - "build/main.min.js" - email: "support@insomnia.rest" - pageNotFoundTitle: "Sorry, that page doesn't exist" - shortName: "Insomnia" - bio: "Independent software developer" - location: "Victoria BC, Canada" - description: "A powerful REST API Client with cookie management, environment variables, code generation, and authentication for Mac, Window, and Linux" - twitter: "GetInsomnia" - googlePlus: "InsomniaRest" - keepReadingStr: "Read More" -pygmentsCodeFences: true -pygmentsStyle: "monokai" -pygmentsUseClasses: true -metaDataFormat: "yaml" -blackfriday: - fractions: false diff --git a/website/site/content/activated.html b/website/site/content/activated.html deleted file mode 100644 index d04c6e26e6..0000000000 --- a/website/site/content/activated.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Email Address Verified -slug: activated -subTitle: Thank you for verifying your email address ---- - - - -Party Parrot diff --git a/website/site/content/app/account.html b/website/site/content/app/account.html deleted file mode 100644 index e8fe26cfa9..0000000000 --- a/website/site/content/app/account.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -slug: account -title: Welcome to Insomnia -subtitle: Manage your Insomnia account -noRobots: true ---- - -
diff --git a/website/site/content/app/change-email.html b/website/site/content/app/change-email.html deleted file mode 100644 index 6e9f497371..0000000000 --- a/website/site/content/app/change-email.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Update Email Address -subtitle: Your communication link with Insomnia -slug: change-email -noRobots: true ---- - -
diff --git a/website/site/content/app/change-password.html b/website/site/content/app/change-password.html deleted file mode 100644 index 68ffff9899..0000000000 --- a/website/site/content/app/change-password.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Update Password -subtitle: Your safe and secret key to Insomnia -slug: change-password -noRobots: true ---- - -
diff --git a/website/site/content/app/login.html b/website/site/content/app/login.html deleted file mode 100644 index 9ecc9d4a02..0000000000 --- a/website/site/content/app/login.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Log In -subtitle: Access your account 😀 -slug: login -noRobots: true ---- - -
diff --git a/website/site/content/app/logout.html b/website/site/content/app/logout.html deleted file mode 100644 index 6730eec19b..0000000000 --- a/website/site/content/app/logout.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Good Bye -subtitle: You are now logged out -slug: logout -noRobots: true ---- - -Homer Simpson receding into a bush diff --git a/website/site/content/app/signup.html b/website/site/content/app/signup.html deleted file mode 100644 index d542dc6927..0000000000 --- a/website/site/content/app/signup.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Sign Up -subtitle: Access data sync and other features 🌥 -slug: signup -noRobots: true ---- - -
diff --git a/website/site/content/app/subscribe.html b/website/site/content/app/subscribe.html deleted file mode 100644 index 253b9e9c95..0000000000 --- a/website/site/content/app/subscribe.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Subscribe to Plan -subtitle: Visa, MasterCard, or American Express -slug: subscribe -noRobots: true ---- - -
- - diff --git a/website/site/content/app/teams.html b/website/site/content/app/teams.html deleted file mode 100644 index 04d9e1fb78..0000000000 --- a/website/site/content/app/teams.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Manage Teams -subtitle: Collaborate within Insomnia -slug: teams -noRobots: true ---- - -
diff --git a/website/site/content/blog/chrome-discontinuing-apps.md b/website/site/content/blog/chrome-discontinuing-apps.md deleted file mode 100644 index 2a13ef9f7e..0000000000 --- a/website/site/content/blog/chrome-discontinuing-apps.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -date: 2016-08-19T22:01:22-07:00 -title: "Google to Discontinue Chrome Apps" -slug: "google-discontinuing-chrome-apps" -tags: ["announcement"] ---- - -**Don't worry!** -The Chrome version of Insomnia will be available until 2017, but you should upgrade to the -[standalone version (3.0)](/download) as soon as possible. - - - -

-Download Version 3.0 (Standalone) -

- -Google [announced today](http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html) that they -will be phasing out Chrome Apps by mid-2017. This means that the Chrome version (2.0) of Insomnia -will become unavailable. - -> We will be removing support for packaged and hosted apps from Chrome on Windows, Mac, and -> Linux over the next two years. - -To make sure that you are unaffected by this change, [upgrade](/download) to the -standalone version (3.0) today which is supported on Mac, Windows, and Linux platforms. After -installation, export your data from 2.0 and import it into 3.0. Then, carry on with your work -and enjoy the new features like -[cookie management](/documentation/cookie-management), -[global environments](/documentation/environment-variables), and -[code snippet generation](/documentation/code-snippets). - -If you have any questions, email [support@insomnia.rest](mailto:support@insomnia.rest) or reach out -on Twitter [@GetInsomnia](https://twitter.com/GetInsomnia). - - - diff --git a/website/site/content/blog/chrome-rest-client-alternative.md b/website/site/content/blog/chrome-rest-client-alternative.md deleted file mode 100644 index 42d6d2d651..0000000000 --- a/website/site/content/blog/chrome-rest-client-alternative.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -date: 2016-08-20T13:45:27-07:00 -title: "Chrome REST Client Alternatives" -slug: "chrome-rest-client-alternatives" -tags: ["resource", "info"] ---- - -Yesterday, [Google announced](http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html) that -it would be discontinuing Chrome Apps in mid-2017. This means that popular Chrome-based REST clients like -[Insomnia (2.0)](https://chrome.google.com/webstore/detail/insomnia-rest-client/gmodihnfibbjdecbanmpmbmeffnmloel?hl=en), -[Postman](https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en), -[Advanced REST Client](https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo), and -[DHC](https://chrome.google.com/webstore/detail/dhc-rest-client/aejoelaoggembcahagimdiliamlcdmfm) will -become unavailable. - - - -Luckily, there are many non-Chrome alternatives to choose from so you can quickly get on with your -work. Here are some of the most popular alternatives. - - -## Insomnia 3.0 (Mac, Windows, and Linux) - -[Insomnia](/download) (what you're looking at), is a well-designed cross-platform REST client. -It's free, easy to use, and offers advanced features like cookie management, global environments, -and code snippet generation. - -

-Download Version 3.0 (Standalone) -

- - -## Postman Desktop (Mac and Windows) - -[Postman](http://getpostman.com/) is probably the most popular REST client. It offers advanced -features like automated API testing, team collaboration (paid), and even documentation generation. -It's vast feature list makes it a bit harder to learn than other clients, but it's very powerful -once you get up and running. - -_Update Aug 22, 2016: Postman now has a -[blog post](http://blog.getpostman.com/2016/08/23/using-the-postman-chrome-app-implications-from-the-recent-google-announcement/) -on the Chrome App shutdown as well._ - - -## Paw (Mac) $ - -[Paw](https://luckymarmot.com/paw) is a fully native and well-designed desktop app for Mac. It -offers many of the same features as Postman, and is easy to use due to the teams' focus on design. -Paw comes in at a $50 (USD) price tag but offers a 30 day free trial as well as a 30% discount for students. - - -## HTTPie (Command Line) - -[HTTPie](https://github.com/jkbrzt/httpie) is a very intuitive command line tool that makes -interacting with HTTP APIs a joy. If you aren't looking for a visual application, I definitely -recommend checking it out. diff --git a/website/site/content/blog/electron-is-a-dream.md b/website/site/content/blog/electron-is-a-dream.md deleted file mode 100644 index b25b161159..0000000000 --- a/website/site/content/blog/electron-is-a-dream.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -date: 2016-12-09 -title: Electron is a Web Developer's Dream -tags: ["electron", "software"] ---- - -[Electron](http://electron.atom.io/) is a framework for building cross-platform -desktop apps in Javascript, HTML, and CSS. The folks at GitHub somehow -managed to cram the [Node.js](https://nodejs.org) runtime into the -[Chromium](https://www.chromium.org/) web browser, letting developers combine -the flexibility of HTML and CSS with the ever expanding ecosystem of -over 380,000 Node modules. - - - -What an amazing time to be alive! 🙌 - -I've been using Electron for almost six months now, and am loving it. As an -independent developer with a background in web, Electron provides an extremely -productive environment to build and ship a cross-platform desktop app. - -Let me explain... - -## One Browser to Support - -The most significant benefit of Electron, from a web developer's perspective, is -that it provides a consistent and modern runtime. No more worrying if the new -HTML5 form validation features will work in Safari or IE. If it works in Chrome, -you can use it. - -_This is not really a feature of Electron, but more of a side-effect gained by -constraining yourself to it. You could easily write a website that only works in -Chrome and get the same effect. With this in mind, let's move on to the more -tangible advantages._ - -## Node.js Modules and ES6 Syntax - -The Electron runtime includes the latest version of Node.js and Chromium. -This means you can use the fancy new ES6 features without being at the mercy of -complex build tools like [Webpack](https://webpack.github.io/). - -Here's a basic cross-platform example of how to use Electron/Node/ES6 to write a file -to the user's desktop. I've also nested the JavaScript inside of an HTML page to -demonstrate the combined Node and HTML environment. - -```html - - - Electron File Demo - - - - - -``` - -Try doing that in a web browser 😛 - -## CSS Grid and Variables - -[CSS Grid](https://css-tricks.com/snippets/css/complete-guide-grid/) is a new -grid-based layout system for CSS. It lets you define grid regions, specify constraints, -and easily change the entire layout with a media query and a few lines of CSS. Grid is -designed to make single page app (SPA) layouts easier to manage, so it fits perfectly -with the desktop app use case of Electron. - -Grid is still an experimental feature, but can be enabled in Electron by setting a -Chromium flag on launch. And, as soon as fully supported by Chromium, it will be -fully supported by Electron. - -```js -// Enable experimental features to get Grid -const {app} = require('electron'); -app.commandLine.appendSwitch( - 'enable-experimental-web-platform-features' -); -``` - -_Note: Grid is still **very buggy**. However, for complex layouts, the extra work of -dealing with bugs far outweighs the endless pain of implementing the same layout with -existing CSS features (yes, even flexbox. I've tried)._ - -Once enabling the flag, you can make your first grid. Here is simplified example -taken from Insomnia that uses both Grid and Variables. - -```css -:root { - --brand-color: #7568be; -} - -.container{ - grid-template-columns: 12rem 0.5fr 0.5fr; - grid-template-rows: 4rem 1fr; - grid-template-areas: "sidebar header header" - "sidebar col1 col2" -} -.header { - background: var(--brand-color); - grid-area: header; -} -.col1 { grid-area: col1; } -.col2 { grid-area: col2; } -.sidebar { grid-area: sidebar; } -``` - -Even though the above example was simplified for demonstration, it doesn't take much -more to end up with a fully-responsive layout like the one you see here. - -![Insomnia Grid](/images/blog/insomnia-grid.png) - -## Desktop Features - -There are a lot of awesome [Electron APIs](http://electron.atom.io/docs/api/) that -can be used to do things that aren't yet possible inside a web browser. Here are -just a few examples: - -- [Record the user's screen](http://electron.atom.io/docs/api/desktop-capturer/) -- [Define global keyboard shortcuts](http://electron.atom.io/docs/api/accelerator/) -- [Add an icon to the notification tray](http://electron.atom.io/docs/api/tray/) - -You can also bundle native modules with Electron apps, so the possibilities are -endless. One of the most common pairings I've noticed is using Electron with -[SQLite](https://sqlite.org/). - -## First-Class Testing Tools - -Electron maintains two tools awesome tools that make it easier to write and maintain -high quality apps. - -**[Spectron](http://electron.atom.io/spectron/)** is a framework for running interactive -test suites, which is useful for automating user flows and interactions. - -**[Devtron](http://electron.atom.io/devtron/)** is a DevTools extension that provides -useful insight about your app such ash displaying the _require_ graph, active event listeners, -and accessibility issues (amazing!). - -![Electron Devtron Accessibility](/images/blog/devtron.png) - -Many other tools have been built from the community as well. My favourite tool right now -is [electron-builder](https://github.com/electron-userland/electron-builder), which handles -the ugly process of building, packaging, signing, and deploying cross-platform apps. - -## Closing Thoughts - -This post has covered all of my favourite things about Electron, but those things come at -a high cost. Since every Electron app is essentially a Chromium web browser running your -JavaScript code, even the most basic applications have a **base size of 150MB -(~60MB zipped) and consume 100MB of RAM**. - -

-You may want to think twice before choosing Electron to build that slick new weather widget -of yours 🙊 -

- -**Think of Electron as a monster truck**. It's powerful, strong, and very durable, -but you wouldn't use it to take your daughter to violin lessons. - -![Electron as a Monster Truck](https://media.giphy.com/media/Lv6v0fAcPDfnW/giphy.gif) - -...or would you? diff --git a/website/site/content/blog/first-year.md b/website/site/content/blog/first-year.md deleted file mode 100644 index 4db7595d79..0000000000 --- a/website/site/content/blog/first-year.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -date: 2017-07-02 -title: A Year of Insomnia -slug: one-year-update -draft: true -series: ["transparency"] -tags: ["company", "progress"] ---- - -It's now been **one full year** since quitting my job to pursue Insomnia full-time. - -## Notable Stats - -- Open source'd the app -- $7,000 revenue from 152 customers -- 100,000 app downloads -- 500,000 app launches -- 400,000 website visits -- 4,000 stars on [GitHub](https://github.com/getinsomnia/insomnia) - -## News Coverage - -- [Indie Hackers Interview](https://www.indiehackers.com/businesses/insomnia) -- [Electron Home Page](https://electron.atom.io/) -- [Smashing Magazine Tweet](https://twitter.com/smashingmag/status/872165992708927488) -- [CSS Tricks Tweet](https://twitter.com/real_css_tricks/status/779357247184908288) -- [Dave Cheney Tweet](https://twitter.com/davecheney/status/820937289370980352) -- [Hacker News Front Page 3 times](https://news.ycombinator.com/from?site=insomnia.rest) diff --git a/website/site/content/blog/go-srp.md b/website/site/content/blog/go-srp.md deleted file mode 100644 index 5ca2fe22b1..0000000000 --- a/website/site/content/blog/go-srp.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2016-11-16T17:04:48-08:00 -title: "Secure Remote Passwords for Go" -tags: ["golang", "open source"] ---- - -Insomnia's cloud sync feature makes use of the -[Secure Remote Passwords](https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol) -protocol to help protect the user's credentials during authentication. The folks at -Mozilla maintain a great library called -[`node-srp`](https://github.com/mozilla/node-srp) but nothing as good existed for Go. So, -I spent a few hours to port it. - -

-View go-srp on GitHub -

diff --git a/website/site/content/blog/graphql.md b/website/site/content/blog/graphql.md deleted file mode 100644 index 2a151951bb..0000000000 --- a/website/site/content/blog/graphql.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -date: 2017-08-09 -title: Introducing GraphQL Support! -slug: introducing-graphql -tags: ["feature"] ---- - -Starting in version [5.7.0](/changelog/5.7.0/), you can now interact with a -[GraphQL](http://graphql.org/) server just the same as any other HTTP request inside -Insomnia 🤗! - -[![GraphQL Screenshot](/images/blog/graphql.png)](/images/blog/graphql.png) - -Along with defining and sending queries, the GraphQL integration also provides the -following benefits: - -- Autocomplete for field names, variables, and types - - _Schema is fetched automatically by sending an introspection query to the same URL_ -- Linting with friendly error messages -- Vertical split view for editing GraphQL variables -- Integration with all existing Insomnia features - -**Special Thanks: 🍻**
-I'd like to give a huge thanks to the brilliant folks responsible for developing the -[Codemirror GraphQL plugin](https://github.com/graphql/codemirror-graphql), which powers -linting, error messages, autocomplete, and syntax highlighting. Without it, this feature -would have taken A LOT more work. - diff --git a/website/site/content/blog/insomnia-3.2.0-beta.md b/website/site/content/blog/insomnia-3.2.0-beta.md deleted file mode 100644 index 39e0c3efda..0000000000 --- a/website/site/content/blog/insomnia-3.2.0-beta.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -date: 2016-08-15T10:17:00-07:00 -title: "Cookie Management, Global Environments, and Code Generation" -slug: "insomnia-3.2.0-beta-update" -tags: ["update"] ---- - -Only a week has gone by since the last update, but a lot has changed. This release introduces three -brand new features – cookie management, global environment variables, and code snippet generation! - - - -## Cookie Management - -The ability to manage cookies has been the most requested feature (by far) of the beta, so I'm -pleased to announce that you can now do it! - -![Insomnia REST Client Cookie Management](/images/blog/cookies.png) - -Easily view and manage cookies in a simple yet powerful interface. Cookies are automatically stored -and sent with every request, just as you would expect. cookies.png There is a new button at the top -of the sidebar to open the cookie manager. You can also now view cookies sent back in a response by -clicking on the cookies tab. - -## Global Environments - -The previous version of Insomnia already had the ability to define environment variables, but it -was at the folder level. Now you can define environments globally (workspace level) and even -create sub-environments that you can quickly switch between. environments.png You can access the -environment manager by clicking the new dropdown at the top of the sidebar. - -![Insomnia REST Client Global Environments](/images/blog/environments.png) - -## Code Snippet Generation - -You can now automatically generate code snippets for over thirty different languages and libraries, -including NodeJS, Go, Swift, Python, Java, and C. Access it by clicking the dropdown next to the -request in the sidebar. code.png - -![Insomnia REST Client Code Snippet Generation](/images/blog/code.png) - -## Wrap Up - -A lot has changed in this latest release, so be sure to reply to this email with your -questions/comments/complaints. And, as always, thanks for being part of the beta! diff --git a/website/site/content/blog/insomnia-3.4.0.md b/website/site/content/blog/insomnia-3.4.0.md deleted file mode 100644 index 4105a23ae1..0000000000 --- a/website/site/content/blog/insomnia-3.4.0.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -date: 2016-09-13T11:41:49-07:00 -title: "Hacker News, JSONPath, And More!" -slug: "3.4.0-changelog" -tags: ["update"] ---- - -Exactly one week ago Insomnia reached #1 on HackerNews, generating around -`50,000` website visits, `10,000` new users, and `200` email conversations. I -spent the week going through these conversations and implementing common -complaints, suggestions and feedback. There are a lot of exciting new features -in this release so pay grab some popcorn and take a seat. - - - - -## More Powerful JSON and XML Features - -One of the most common requests was to support XML responses. Not only does -Insomnia format XML automatically now, but you can also filter responses using -XPath and JSONPath notation. - -![XPath filtering](/images/blog/xpath.png) - -The editor also now has a _Beautify_ button that will automatically format the -request body for you. - - -## Better Keyboard Support - -Having to use the mouse is never fun, and this release allows you to use it -even less! - -- You can now toggle the sidebar with `ctrl+\` (`cmd+\` for Mac) -- Workspaces now appear up in the _Quick Switcher_ `ctrl+p` (`cmd+p` for Mac) - -![Fast workspace switching](/images/blog/switch-workspace.png) - - -## Advanced Templating - -You can now use Nunjucks templating inside environments. This can save a lot -of repetition if used correctly. Here is a very basic example of what it could -be used for. - -```json -{ - "url": "{{ base_url }}/{{ resource_type }}/{{ user_id }}", - "base_url": "https://mysite.com", - "resource_type": "users", - "user_id": "user_123" -} -``` - -In this case, `{{ url }}` acts as a template, combining three environment -variables into a single string. With this, you can reference `{{ url }}` inside -each request instead of `{{ base_url }}/{{ resource_type }}/{{ user_id }}`. - -Complementing this, you can now generate UUIDs with the new `{% uuid %}` tag. -_(more of these generators coming soon...)_ - - -## A Lot More - -To keep this post short, here is a list of some of the more minor things that -made it into the release. - -- Add button to duplicate folder -- Add confirmation step before deleting things -- _Cancel Request_ button -- Improved "Raw" response view performance -- Comments in editor are now more visible -- Reduced update check frequency from 30 minutes to 3 hours -- Renamed "Params" tab to "Query" to avoid confusion - - -## Fixes - -Thank you to everyone who reported bugs! Here are the fixes that made it into -this release. - -- Querystring is now added to generated code (oops) -- Can now re-open window via doc icon if closed (Mac) -- HTTPS proxy now works again -- Fixed minor bug with Curl import -- Global shortcuts (like sending request) are now prevented when dialogs are open -- Dragging sidebar dropdowns no longer triggers drag-n-drop - - -## Thanks! - -Once again, thanks to everyone who reached out via email, Twitter, or other -means. I hope you enjoy the update! diff --git a/website/site/content/blog/insomnia-4.0.md b/website/site/content/blog/insomnia-4.0.md deleted file mode 100644 index d3d8863033..0000000000 --- a/website/site/content/blog/insomnia-4.0.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -date: 2016-12-01 -title: "Insomnia 4.0 – Out of Beta at Last!" -slug: insomnia-4-announcement -tags: ["update", "announcement"] ---- - -**Version 4 brings multipart support, response history, performance, and more!** - -The number 3 just wasn't big enough to contain all the awesome stuff in this -release, so it's been bumped to **4.0**! This version fills in all of the major -usability gaps that I've noticed from talking to over 400 users since the initial -beta launch over four months ago. Keep reading to see what's new. - - - -![Puppy Surprise](https://media.giphy.com/media/t0TNY68t8wq2Y/giphy.gif) - -## Multipart Form Data and Binary File Support - -The ability to send multipart form data with requests has been the -most requested feature since launch (by far). You can now -change the body type to `Form Data` or to start using it. - -Insomnia Multipart Form Data - -You can also now send raw files with requests. This can be useful for images -and attachments, but it's also helpful for sending large JSON or XML bodies -instead of pasting them into the body editor. - -Insomnia Binary Files - -## History Viewer - -Every request now keeps track of it's past responses so you can go back later and -see exactly what happened. - -Insomnia Response History - -## Client Certificates - -Client certificates can now be used to authenticate requests. Import your own `PFX`, -`PKCS12`, or `PEM` certificates into the workspace settings screen and Insomnia -will automatically send these for the specified host. - -![Insomnia Client Certificates](/images/blog/certificates.png) - -## More Import Formats - -Getting data into Insomnia has been a pain point for a lot of users, and has -prevented some from from even trying the app. - -To help alleviate this pain, Insomnia 4 now supports **Postman (v2)**, **HTTP Archive (HAR)**, -and **Curl command** import formats. And, if your format still isn't supported, you can help add your own -importer by contributing to the -[importers project on GitHub](https://github.com/getinsomnia/importers). - -HAR support means that you can now **export requests from the Chrome developer tools** right -into Insomnia. - -Insomnia HAR Export - - -## Advanced Sending Options - -Holding down `Ctrl` (`Cmd` on Mac), will now reveal extra sending options, including -the ability to send a request after a delay or on a set interval. - -Insomnia Advanced Sending - -## Toggleable Everything! - -Query parameters, headers, form data, authentication, and client certificates can now -be toggled on or off. _Toggling something off will behave the same as if it was deleted -entirely_. - -## Performance Improvements - -This release includes performance improvements to the interface. Everything you do in -the app should now be noticeably faster, especially if you have a lot of requests. Enjoy! - -![F-Zero](https://media.giphy.com/media/h41bl4ZNk276w/giphy.gif) - -## Thanks for The Support! - -I've said it before, but I'll say it again. It's been amazing to be able to interact -with so many of you, and I hope we can keep this going. Each conversation -provides more context to help make Insomnia a better tool for everyone, so thanks! - -~ Gregory diff --git a/website/site/content/blog/insomnia-5.0.md b/website/site/content/blog/insomnia-5.0.md deleted file mode 100644 index eb7dbd06e3..0000000000 --- a/website/site/content/blog/insomnia-5.0.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -date: 2017-04-05 -title: Insomnia 5.0 – The Biggest Release Yet! -slug: insomnia-5-announcement -tags: ["update", "announcement"] ---- - -**TL;DR – This update brings contextual autocomplete, more authentication types, and -better debugging!** 👏 - -It's been over a month since the last release but version 5.0 is finally here! -So, find a chair, take a seat, and brace yourself for what's about to come. - - - -![Excited dog sitting](https://media.giphy.com/media/grjSZjbnxudq0/giphy.gif) - -Now that you're prepared, let's dive into the new stuff. - -## Autocomplete, Everywhere 🚀 - -By far the biggest feature of 5.0 is the introduction of autocomplete. Now, just -like your favourite code editor, Insomnia will suggest completions for common things -like variable names, URLs, HTTP headers, and template tags. - - - -## Rendering Errors and Debugging 🚨 - -The new autocomplete system involved making some core changes to the rendering pipeline so, -while that was happening, I spent some time improving the user experience around render -errors. - -The app now displays errors inline *before* the request is sent. That's right! No more -wondering whether or not you typed in your variable name correctly. 😎 - - - -Besides better error reporting, the debug experience is also improved. Insomnia can now -render previews on hover, and also now provides and interactive variable editor for even -more control. - - - -## New `libcurl` Network Backend and Timeline 🏗 - -[Curl](https://curl.haxx.se/) is one of the most popular and feature-rich HTTP clients in -the world and its command-line interface is often used for debugging and testing of APIs – -making it a perfect fit for powering Insomnia's network stack. - -Every network request made through Insomnia will now be sent using the `libcurl` C API. -Using Curl not only improves Insomnia's reliability, but it also makes it possible to -implement more advanced features like network throttling and download progress in the future -(coming soon). - -Thanks to `libcurl`, there is a new _Timeline_ view that shows a debug log similar to the -output when using Curl's `--verbose` flag. This is extremely valuable for debugging -network problems when it's not clear exactly what's going wrong. - - - -I would like to give a huge thanks to the maintainer of -[`node-libcurl`](https://github.com/JCMais/node-libcurl/). Without this project, integrating -Curl into Insomnia would have taken a lot more work. - -## OAuth 2.0, Digest, and NTLM Authentication 🔐 - -OAuth 2.0 is an extremely popular authentication mechanism, meaning Insomnia can now -easily interact with many popular APIs like GitHub, Dropbox, Facebook, and Google. Simply -fill out a few OAuth 2.0 parameters and Insomnia will take care of user authentication, -generation of the `Authorization` header, and renewing refresh tokens when needed. - -_Insomnia supports all four OAuth 2.0 grant types so it should be able to handle anything -you throw at it._ - -![Insomnia OAuth 2.0 Demo](/images/blog/version-5/dropbox.gif) - -Along with OAuth 2.0, Insomnia now supports both -[Digest](https://en.wikipedia.org/wiki/Digest_access_authentication) and -[NTLM (Windows)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa378749(v=vs.85).aspx) -authentication. - -## Sortable Key-Value Editors ✊ - -If you like dragons, you'll love the new drag-n-drop sorting of Insomnia's key-value fields. -Satisfy your inner perfectionist and sort your headers, query parameters, and form data whatever -way you want! - - - -_Alright, this one isn't that exciting, but it was so heavily requested that it made sense -to talk about it in this post._ - -## So Much More 🍅🍇🍉🍌🍓 - -There is so much more that didn't make it into this post that I know you'll love. -If you're curious you can view the full [release notes](/changelog/5.0.1/), but here's -a summary of the most notable ones missed: - - - Environment variables and template tags now highlighted throughout the app - - Added per-request settings for controlling cookies, rendering, and URL encoding - - Digest and NTLM authentication now supported in proxy - - Custom HTTP methods now supported - - App panes now resizable when in vertical layout - - Response view types have been reworked to behave more intuitively - -## Thanks for the Support! 🍻 - -Almost all of the changes in version 5 are a direct result of the -hundreds of email conversations I've had with users over the past year so "**thank you!**" -and keep them email coming! 💌 - -Also, if you'd like to help support future development and get bonus features like -cloud sync, check out [Insomnia Plus](/pricing). - -🏃💨 Time to get started on the next big thing... - -~ Gregory diff --git a/website/site/content/blog/insomnia-plus-beta.md b/website/site/content/blog/insomnia-plus-beta.md deleted file mode 100644 index 61cdb53146..0000000000 --- a/website/site/content/blog/insomnia-plus-beta.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -date: 2016-10-25T12:20:37-07:00 -title: Insomnia Plus Is Now in Beta -slug: insomnia-plus-beta -tags: ["announcement", "beta"] ---- - -_tl;dr visit the [Insomnia Plus Beta Documentation](/documentation/plus)_ - -Four months ago -[I left my previous job](https://schier.co/blog/2016/08/05/forging-a-new-path/) -to work full-time on Insomnia. Since then, I've had over 300 amazing -conversations with users have helped identify bugs, given feedback, and -suggested new features. Insomnia now has over 2000 daily active users across -the Mac, Windows, and Linux platforms. - - - -These conversations have not only helped improve stability and usability of the -app, but have also helped validate and shape the first features of Insomnia -Plus – a premium add-on for Insomnia that enables powerful features like -**data sync** and **collaboration**. - - -## Data Sync - -Data sync provides the ability to securely sync Insomnia data across multiple -machines, which also acts as an up-to-date backup of all your data (in case -something terrible happens). - -While Insomnia is running, the app will actively sync data to and from the -server whenever changes occur. On top of this, sync is -**end-to-end encrypted**, meaning that all data is first encrypted in the -app before sending it to the server. - -### Encryption Overview - -Data is encrypted with a key that is derived from your account password (which -is never sent to the server), meaning that Insomnia (or any third party) -cannot read your data. Privacy is crucial for Insomnia users, because -requests often contain important API keys, usernames, and passwords. - -In case you're curious, or need more information, there will be a future article -explaining encryption and security in more detail. - - -## Team Collaboration - -_NOTE: Team collaboration is not yet available in the beta but is coming -soon..._ - -Automated sync can be useful for individual users, but the same workflow does -not translate well to teams. - -Imagine working in a code editor where every line of code you typed was -immediately synced to all of your coworkers computers, and vice versa. It would -be chaos! Because of this, Insomnia takes a different approach for teams, -providing a a manual push/pull model similar to the version control system -Git. - - -## Join the Beta! - -If you would like to help test Insomnia Plus, head over to the -[Getting Started Documentation](/documentation/plus) to learn how to enable it. - -As always, please send all feedback my way. - diff --git a/website/site/content/blog/introducing-insomnia-plus.md b/website/site/content/blog/introducing-insomnia-plus.md deleted file mode 100644 index 54675def5f..0000000000 --- a/website/site/content/blog/introducing-insomnia-plus.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -date: 2016-11-15T13:30:50-07:00 -title: Introducing Insomnia Plus -slug: introducing-insomnia-plus -tags: ["announcement"] ---- - -Today, I'm proud to introduce Insomnia Plus – the first paid addition to Insomnia -that syncs data seamlessly across all of your devices. Insomnia Plus also acts as -a secure backup, so you can _rest_ assured that you will never accidentally -lose your work! - - - -![Minions Celebrating](https://media.giphy.com/media/11sBLVxNs7v6WA/giphy.gif) - -With Plus, simply sign into your account and your data will be there. It -just works. However, there a lot happening behind the scenes, such as -**end-to-end data encryption**, **smart conflict resolution**, and robust **offline -support**. - -

-Upgrade to Insomnia Plus -

-

- -## Always Backed up and in Sync - -We all know how important it is to keep frequent backups of our data. Hard drive -failures and crashes happen all the time. Now, you have one less thing to worry -about. - -Insomnia Plus Sync Menu - -Once signed in to Plus, data is automatically synced whenever a change is -detected. And, if you are signed in to multiple devices, these changes -will automatically be pulled down and merged within seconds. Furthermore, -this all happens in an encrypted and secure manner. - - -## Secure and Private by Default - -Before any data is synced to Insomnia's servers, it is first **encrypted locally** using a -key generated on your device. This means that any sensitive information you -enter into the app (API keys, passwords, etc) will be kept private. **Not even the Insomnia -servers have the ability to read your data.** - -_Check out the [Security Overview](/documentation/security) to find more -on the Insomnia Plus architecture._ - -![Raccoon Stealing Carpet](https://media.giphy.com/media/N6sPcUBbayGoo/giphy.gif) - -## Final Words - -Building the initial iteration of sync was a major effort, but it's just the first -step. Now, with a stable and secure foundation to build on, expect to see more advanced -features like **team collaboration** and **versioning** in the near future. - -If you decide to sign up for Plus, I'd like to say a huge _THANK YOU_ for helping -support my continuous effort of making Insomnia awesome! Also, be sure to reach out -with your thoughts, so we can work together to ensure the product keeps heading -in the right direction. - diff --git a/website/site/content/blog/linux-update-notifications.md b/website/site/content/blog/linux-update-notifications.md deleted file mode 100644 index d59e74847f..0000000000 --- a/website/site/content/blog/linux-update-notifications.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2016-08-20T15:14:49-07:00 -title: "Linux Update Notifications" -slug: "linux-update-notifications" -tags: ["update", "linux"] ---- - -As you may know, the existing Linux version of Insomnia does not auto-update like the Windows and -Mac versions. However, starting with version 3.2.2, the app will display a prompt when a new -update is available. This will make keeping up to date with the latest releases much easier. diff --git a/website/site/content/blog/oauth-1-announcement.md b/website/site/content/blog/oauth-1-announcement.md deleted file mode 100644 index ca0655bc06..0000000000 --- a/website/site/content/blog/oauth-1-announcement.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -date: 2017-11-08 -title: OAuth 1.0 Support is Here! -slug: introducing-oauth-1.0-support -tags: ["feature"] ---- - -Starting with **v5.11.0**, Insomnia users can now authenticate using the -[OAuth 1.0](https://tools.ietf.org/html/rfc5849) authentication framework! - - - -![Twitter OAuth 1.0](/images/blog/twitter-oauth.png) - -OAuth 1.0 support was an extremely popular request so I'm proud to finally announce that -it's finished. In fact, it was the most popular -[issue](https://github.com/getinsomnia/insomnia/issues/197) on GitHub for a long time. I'd -like to give a huge thanks to [besolov](https://github.com/besolov) who stepped up and -provided then initial implementation, and to [EpocDotFr](https://github.com/EpocDotFr) as well -for doing initial testing. - -Since OAuth is a fairly complicated framework, please report any bugs or issues you run into -on [GitHub](https://github.com/getinsomnia/insomnia/issues). - -Thanks! diff --git a/website/site/content/blog/open-source-announcement.md b/website/site/content/blog/open-source-announcement.md deleted file mode 100644 index 320f55896c..0000000000 --- a/website/site/content/blog/open-source-announcement.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -date: 2017-05-10 -title: Insomnia Is Now Open Source -slug: open-source-announcement -tags: ["announcement"] ---- - -Today, I'm happy to announce that the Insomnia desktop app is now open source software -under the GPLv3 license! The source code is hosted on -[GitHub](https://github.com/getinsomnia/insomnia) for your viewing pleasure. - - - -

-Insomnia on GitHub -

- -## Journey to Open Source - -I launched Insomnia more than two years ago with no expectation that it would grow to -over 30,000 monthly users. This growth motivated me to leave my job in July of 2016 -and is still the main reason I wake up every morning. Before the transition to full-time, -I set a goal of [documenting the journey](/transparency) as transparently as -possible so that others could benefit from my mistakes and successes. -Now, ten months later, it's time to fit the open-source piece into the -transparency puzzle. - -So why not open-source sooner? **Fear**. Fear of public judgement, fear of being -told my code sucks, fear of showing how much time I spent on it. Being independent -leaves you wide open with nothing to hide behind. You _are_ the product, and the -product embodies _your_ personality. If the product is a failure, so are _you_. Exposing -the code that powers the product just adds another dimension to criticise. That's what -the voices in my head keep repeating, anyway. - -The truth is that the fear I feel is irrational. Life is too short to avoid following your -dreams and the Internet has a terrible memory anyway. So, here I am, setting my fear aside -to continue on with the next phase of the journey. - -See you on the other side 🍻 - -~ Gregory diff --git a/website/site/content/blog/pdf-support.md b/website/site/content/blog/pdf-support.md deleted file mode 100644 index 9a4199c078..0000000000 --- a/website/site/content/blog/pdf-support.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-06-30 -title: Response Previews for PDFs -slug: pdf-previews -tags: ["feature"] ---- - -Insomnia tries to display HTTP responses in the most friendly way possible. -For example, HTML files are rendered as web pages, images and SVGs are displayed as bitmaps, -and JSON and XML responses are syntax highlighted and interactive. Now, thanks to a community -[contribution by Antoine38660](https://github.com/getinsomnia/insomnia/pull/325), Insomnia -is able to display PDF files using Mozilla's [PDF.js](https://github.com/mozilla/pdf.js/) -project. - - - -![PDF Preview](/images/blog/pdf-preview.png) diff --git a/website/site/content/blog/progress-reports/progress-report-1.md b/website/site/content/blog/progress-reports/progress-report-1.md deleted file mode 100644 index 4720a48773..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-1.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -date: 2016-10-30 -title: Month 1-4 Recap – A Good Start -slug: progress-report-1 -series: ["transparency"] -tags: ["company", "stats"] ---- - -One major goal when transitioning to Insomnia full-time was to share as much -about the process as possible. As an independent developer with little time, -success heavily relies on the effective use of shared knowledge, tools, -resources, and peers. Without things like blog posts, open source, and friends, -Insomnia would not be where it is today. This post is an attempt to give back. - - - -This is the first post in a series titled -[Transparency](/series/transparency), where I share numbers and talk about what -I've done, what I'm thinking, and the mistakes I've made. If there is anything -you think that's missing from these posts, feel free to reach out and let me -know. I'll try to accommodate as many requests as possible. - -Alright, let's dive in. - - -## User Growth and Other Stats - -I'd like to start this post by going over some interesting statistics on how -Insomnia has been doing so far. Since Insomnia is a desktop app, these stats -will be divided into application stats and website stats. - -### Active App Users - -Here is a screenshot from [Mixpanel](https://mixpanel.com/) on daily active app -users. I've chosen to define an active user as someone who has sent at least one -API request from the app in a given day. - -![Insomnia Active Users](/images/blog/active-users-four-months.png) - -If you're curious, the lines marked on the graph are the following. - -- September 5 – [#1 on Hacker News](https://news.ycombinator.com/item?id=12432859) -- September 15 – [OMG! Ubuntu!](http://www.omgubuntu.co.uk/2016/09/insomnia-3-is-free-rest-client-for-linux) -- October 17 – [Laravel News](https://laravel-news.com/2016/10/insomnia-a-simple-beautiful-and-free-rest-api-client/) - -As you can see, most of the user base can be attributed to being featured on -Hacker News in early September. Since then, retention has been high and growth -has been steady but slow. High retention is good. Slow growth either means I'm -doing a poor job at getting the word out, or the target market is too small. -I have a suspicion it's the former, because similar applications exist with -millions of users. - -### Website Traffic - -In my opinion, one of the biggest mistakes made by independent developers is -not having a proper website. A website is one of the only ways of gaining -users organically (unless you are in an app store), so a website should be a -huge priority. - -Here are some website stats taken from -[Google Analytics](https://www.google.com/analytics/) over the same time -period as the one above. Notice the huge spike from Hacker News. - -![Insomnia Web Traffic](/images/blog/web-traffic-four-months.png) - -It's harder to see in this graph, but if you ignore the spikes, there is also -a steady growth here. Another good sign. - -### Miscellaneous Stats - -In order to keep this post relatively short, I've condensed the rest of the -stats into tables. If there is anything else you want to see here, just let me -know. - -**App Stats** - -| Value | Description | -|---------|------------------------| -| 2,000 | daily active users | -| 5,000 | weekly active users | -| 40,000 | downloads | - -**Website Stats** - -| Value | Description | -|----------|------------------------| -| 110,000 | sessions | -| 00:01:22 | average session length | -| 54% | average bounce rate | - -**General Stats** - -| Value | Description | -|-----------|--------------------------------------------------------------| -| 29 | [App Releases](/changelog) | -| 320 | [Help Scout](https://www.helpscout.net/) email conversations | -| 10 months | **Financial runway** | - -**Financial Spend** - -| Cost | Description | -|----------|-----------------------------------| -| $300 | S3 for download hosting | -| $150 | SSL wildcard certificate | -| $70 | Business registration | -| $50 | [Heroku](https://www.heroku.com/) | -| $40 | [Sentry](https://sentry.io) | - -**Financial Earnings** - -| Cost | Description | -|----------|-----------------------------------| -| $0 | :( | - -Insomnia currently has no premium features, so has been unable to -generate revenue. However, A beta version of the first paid feature (sync) is -almost complete, and additional team collaboration features are in the works. -This number should be greater than zero in the next post. - - -## Time Allocation, Priorities, and Roadmap - -The last four month have been crazy. Full-time work on Insomnia -began on July 5th, and the app launched on -[July 24th](/changelog/3.0.10/). Effectively, the last four months -looked like this. - -- **July** – Finish development for initial public launch -- **August** – Implement remaining core features (environments, and cookie support) -- **September** – Bug fixes, website, small improvements, and talking to users -- **October** – Research and implement cloud sync features - -I don't have the next four months planned out, so I can't tell you exactly what -will happen, but I do have some general goals. - -- Have sync and team features available for purchase by December -- Begin open-sourcing parts of the codebase -- Implement highly requested features - - Binary file support - - Request chaining and/or scripting - - More import sources (Postman, Swagger, etc) -- Write more content like this - -## Mistakes and Lessons Learned - -Here are the main things that I have learned so far. Each one of these could -probably have a separate blog post written about it. - -- Talking to users takes is extremely valuable, but takes a lot of time - - [Help Scout](https://www.helpscout.net/) has helped make email more efficient -- Code quality usually only matters for the core components - - Because those are the hardest parts to refactor - - For Insomnia, it's the data model and storage system -- Hosting Electron apps (50MB each) on S3 is expensive - - $200/mo after Hacker News post - - Used [Cloudflare](https://www.cloudflare.com/) to cut costs (now $10/mo) -- People don't like receiving app updates every day (who knew!?) -- Working at home makes you feel like a slob - - Have transitioned to coffee shops -- Cloud sync is more complicated than expected - -## Wrap Up - -Overall, Insomnia is doing well. The user base is growing, the app is becoming -more stable, and the people using it are amazing to interact with. -However, it's not generating revenue yet, and user growth is slow. Considering -the sync beta should be ready to go live this week, the next few weeks should -be very interesting. - -I plan to try and write one of these posts every month, so keep your eyes out -for that. Again, if there is anything else that you would like to see included -in these posts, just let me know. diff --git a/website/site/content/blog/progress-reports/progress-report-10.md b/website/site/content/blog/progress-reports/progress-report-10.md deleted file mode 100644 index d588a48478..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-10.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -date: 2017-08-01 -title: July Recap – One Simple Trick Increased MRR 45% -slug: progress-report-10 -series: ["transparency"] -tags: ["company", "progress"] ---- - -Well, another month has passed and Insomnia continues to grow 📈. Unfortunately, number of -active users didn't budge, but **MRR increased by a whopping 45% 🤑!** That's is the largest -increase Insomnia has seen in a long time, and I attribute most of it to one simple trick: -**asking users to pay**. _Keep reading for more on this._ - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## Metrics Overview - -Last month, the user base didn't grow at all. This would normally be worrying but, honestly, -the huge increase in MRR takes away all the worry I might have of that. I'm hoping user growth -will be back up to health levels next month. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | --------- | -------- | -| Active App Users | 34,376 | 0% | 😐 | -| New App Users | 12,044 | -10% | 😐 | -| Monthly Recurring Revenue | $1338 | +45% | 🤑 | -| Recognized Revenue | $2352 | +77% | 🤑 | -| New Trial Customers | 341 | -18% | 😐 | -| New Paying Customers | 34 | +100% | 😀 | -| Churned Customers | 2 | -78% | ☺️ | -| Trial Conversion Rate | 1% | -75% | ☺️ | - -Even though total active users for the month didn't increase, weekly active users seemed to -go up slightly. Here's what the trend looks like - -![Daily Active Users](/images/blog/dau-13.png) - -I've mentioned this in previous recaps, but I've always had a hunch that a -significant portion of early adopters were still unaware of Insomnia' paid plans (there were -none in the early days). So, I finally did something to remind them. I -**added a simple push notification** to prompt users to upgrade every 30 launches 💬. - -Shortly after implementing the notification, I checked the stats and observed that many -of July's new customers had launched the app **over 100 times**! My hypothesis was correct. - -![Monthly Recurring Revenue](/images/blog/mrr-13.png) - -Now I'm left wondering what other money I've been leaving on the table. - diff --git a/website/site/content/blog/progress-reports/progress-report-11.md b/website/site/content/blog/progress-reports/progress-report-11.md deleted file mode 100644 index 9a7a34dd35..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-11.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -date: 2017-09-01 -title: August Recap – Still Growing -slug: progress-report-11 -series: ["transparency"] -tags: ["company", "progress"] ---- - -I spent most of August getting ready to go on a -[long-term travel trip](https://schier.co/blog/2017/08/06/moving-into-a-30-liter-backpack/), -meaning not much got done in August. As a result, this recap will be quite short. - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## Metrics Overview - -Even though August was a slow month, things are still growing at a healthy rate. -Recognized revenue is down but that's because a large team purchased an annual subscription -the month prior. - -| Metric | Value This Month | Change | Reaction | -| -------------------------- | ---------------- | --------- | -------- | -| Active App Users | 39,199 | +14% | 🙂 | -| New App Users | 14,449 | +20% | 🙂 | -| Monthly Recurring Revenue | $1654 | +24% | 🙂 | -| Recognized Revenue | $1824 | -22% | 😐 | -| New Trial Customers | 442 | +30% | 🙂 | -| New Paying Customers | 40 | +18% | 🙂 | -| Subscription Churn | $124 | +95% | 😕 | -| Subscription Cancellations | 9 | +125% | 😕 | - -![Daily Active Users](/images/blog/dau-14.png) - -![Monthly Recurring Revenue](/images/blog/mrr-14.png) - -I'm still very satisfied with the rate of growth of Insomnia, and I look forward to continue -working on it as I travel the globe for the next year. diff --git a/website/site/content/blog/progress-reports/progress-report-12.md b/website/site/content/blog/progress-reports/progress-report-12.md deleted file mode 100644 index d540050d22..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-12.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -date: 2017-10-01 -title: September Recap -slug: progress-report-12 -series: ["transparency"] -tags: ["company", "progress"] ---- - -Here is a short and sweet recap of September's metrics for Insomnia. - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## Metrics Overview - -Revenue growth is still looking healthy. There have been a lot more teams signing up lately, -which helps a lot. However, user growth is slowing down significantly from it's usual 15-20% -month-over-month. - -| Metric | Value This Month | Change | -| -------------------------- | ---------------- | --------- | -| Active App Users | 40,837 | +4% | -| New App Users | 13,583 | -6% | -| Monthly Recurring Revenue | $1817 | +13% | -| Recognized Revenue | $2627 | +49% | -| New Trial Customers | 477 | +8% | -| New Paying Customers | 26 | -37% | -| Subscription Churn | $143 | +15% | -| Subscription Cancellations | 13 | +44% | - -![Daily Active Users](/images/blog/dau-15.png) - -![Monthly Recurring Revenue](/images/blog/mrr-15.png) - -Be sure to stay tuned to see next month's recap! diff --git a/website/site/content/blog/progress-reports/progress-report-13.md b/website/site/content/blog/progress-reports/progress-report-13.md deleted file mode 100644 index 2951797aae..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-13.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -date: 2017-11-01 -title: October Recap -slug: progress-report-13 -series: ["transparency"] -tags: ["company", "progress"] ---- - -October saw a large increase of traffic due to a very positive -[Hacker News comment](https://news.ycombinator.com/item?id=15536364) that got a lot af attention. -This also produced a large ripple effect of sharing on other social networks like Twitter and -Facebook. - - - -This influx of users was obviously great for business, but it was also great for morale. -Insomnia has been on Hacker News multiple times before, but this time was different. This -was the first time where people _actually_ knew what Insomnia was and had something to say -about it instead of the usual "How is this different than Postman?" I can't tell you have -good that feels. - -Okay, let's dive into this month's metrics. - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## Metrics Overview - -Basically everything is up this month, which is awesome. If only it were easier to get attention -on Hacker News. - -| Metric | Value This Month | Change | -| -------------------------- | ---------------- | --------- | -| Active App Users | 47,880 | +17% | -| New App Users | 17,788 | +31% | -| Monthly Recurring Revenue | $2368 | +30% | -| Recognized Revenue | $3092 | +20% | -| New Trial Customers | 575 | +21% | -| New Paying Customers | 44 | +69% | -| Subscription Churn | $75 | −47% | -| Subscription Cancellations | 12 | +9% | - -Daily active users had a big spike, which is clearly visible in the following graph. Notice how -it also drops off the following week as new users don't continue to use the app. - -![Daily Active Users](/images/blog/dau-16.png) - -Revenue is also up, but this is less related to the traffic spike. Revenue usually trails behind -traffic spikes by a few weeks in order to get to know the app before committing to a purchase. - -![Monthly Recurring Revenue](/images/blog/mrr-16.png) - -And that's it! There are big plans for November including launching both a long-awaited feature -a new documentation site! October's success has left plenty of fuel in the tank to accomplish -both of these so I'm excited to see what happens. - -Be sure to stay tuned to see how that goes! diff --git a/website/site/content/blog/progress-reports/progress-report-2.md b/website/site/content/blog/progress-reports/progress-report-2.md deleted file mode 100644 index e0c941f23e..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-2.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -date: 2016-12-06 -title: Month 5 Recap – First Revenue -slug: progress-report-2 -series: ["transparency"] -tags: ["company", "progress"] ---- - -Welcome to the recap of my **fifth month** working on Insomnia full time. In this blog series, -I analyse interesting growth metrics and reflect on valuable lessons learned while trying to take -Insomnia from a part-time hobby to a full-time business. My motivation for writing these posts -is to help hold myself accountable, and also share my experience with readers -who may be trying to do something similar. - -Since publishing the first recap ([First Four Months](/blog/progress-report-1/)) I've had a -month to reflect on it, and have decided to apply a slightly different format this time. -Stats can be interesting, but they are not very useful or descriptive on their own. So, this -update will try to adhere to a more expository style. Let's get right into it then, shall we? - - - -## Growth Paralysis - -Insomnia is growing, but at a snail's pace. Only **1200 new users per week** are launching the -app for the first time, and that number is not improving. Here is the same active users chart -that was shown last month with Novembers numbers added on. - -![Insomnia Daily Active Users](/images/blog/dau-5.png) - -I must say, looking at these analytics can be a downer at times. However, this stagnation -means that there should be at least a few key things that can be improved. Keep reading to -find out what those were. - -## Loyal and Enthusiastic Users - -Apart from the rather unfortunate user growth, there _are_ some positive things that can -be gleaned from the analytics data. Insomnia is sticky, and users love it. 😊 - -Insomnia has a **bounce rate of only 10%**, with **over 90% of usage coming from return -visitors**. That's really good (I think)! - -A Low bounce rate is not the only thing to get excited about though. **Over 80 users reached -out via email in November** (more than any previous month), pushing the total conversation -count to over 400. Feedback from these conversations has been overwhelmingly positive and -supportive, making it one of the largest contributors to my motivation to keep going. If -you were one of those people who has reached out, then thank you for being so kind, generous, -and (when needed) forgiving. - -Just for fun, here are a few Tweets that have caught my attention over the last week or two. - -

https://t.co/SOHeNG6N0w

Weird URL but 😍😍🙌🏻

— Psychedelic (@Is_Adrian_) November 17, 2016
- -

Finally switched over to @GetInsomnia from Postman and lovin' it!

— Steven Follis (@steven_follis) December 7, 2016
- -## Revenue at Last - -One of the future goals from the last recap was to launch Insomnia Plus and team features. -Unfortunately the team features did not make it into last month's release, so the -launch was strictly announcing a $5 per month subscription that provides cloud backup and -multi-device sync (honestly not something that most people need). But, in the spirit of -being lean, I launched early with low expectations with hopes of getting feedback. - -On November 15th, I published a [blog post](/blog/introducing-insomnia-plus/) -and pushed an in-app notification announcing the Plus launch. -Fast forward two weeks later to today, and Insomnia is at **$30 monthly recurring revenue** -(MRR). It's a start, but not cause for celebration. I had reasonably low expectations -before launch, but the result somehow undercut those by less than half. Time to try -something else. - -## Out of Beta with Version 4.0 - -As mentioned previously, over **400 users have now reached out** via email. These conversations -have provided me with an extraordinary amount of context, and led me to a sudden decision -part way through November. All of a sudden, I had the urge to take all the -blockers that prevented certain groups of users from using the app, and address all of them in -one big release. I also took this opportunity to stop calling Insomnia _beta_, and -increment the version number from 3 to 4. - -You can read the [announcement of 4.0](/blog/insomnia-4-announcement/) if you're curious, but -the main things that were missing for users were the inability to send -`multipart/form-data`, lack of client certificate authentication, and the manual effort required -to migrate from existing apps like Postman. Version 4.0 was an attempt to open the app to -a larger market, so look forward to next month's recap to see what sort of impact that had. - -## Lessons learned - -Now for the hard earned (and partly embarrassing) lessons I've learned this month. - -**People would rather donate then pay for something they don't need.**
-In November, more than one person reached out to say that they didn't need the sync feature, -but still wanted to provide monetary support. I had naively expected users interested -in donating to sign up for Plus and just not use it, but apparently is some sort of -mental blocker that makes a user want to give money nothing in return, rather than pay -for something that won't be used. - -**Too much time spent heads-down.**
-This is something I'm often guilty of as a software developer. It's really easy to focus on -the fun stuff like writing code and forget about the important things that actually matter, -like growing the user base or making an income. The naive developer would say -that a great app is easy to sell, but they would be wrong. The stats revealed at the start of -this recap directly disprove correlation between building something useful and attracting -new users. I've learnt this lesson the hard way several times in my life already, but that -doesn't seem to prevent me from falling into the same trap over and over again. - -**Too many critical bugs shipped.**
-In the last week, I have introduced and fixed more critical bugs than ever before (sorry about that). All -of these bugs were caused by changes in the 4.0 release, and were simply due to moving -too quickly without enough thought. Don't take this the wrong way. I am _not_ going -to stop moving quickly, but I _am_ going to try to be more mindful during future releases. -There's nothing worse than getting an email from someone saying that they can no longer use -the app because an update caused it to stop working for them. - -## Next Month Goals - -One of the best parts about writing these recap posts is that they act as a -retrospective, which is something I don't usually get as a result of working alone. -All of the lessons I learned in November help to provide the following -well-defined goals for the December. - -**Publish content once a week (at least).**
-In an effort to try to bump up new user growth, I'm going to put more time into releasing -high quality content. What your reading now is my first attempt at that (so let me know -your feedback). Currently, the plan is to update documentation for the added 4.0 features, -and write a few blog posts about the technology and tools that have helped -my small one-person team make such an impact. - -**Launch team sync and reach $100 MRR.**
-Since 90% of the infrastructure for team sync already exists, this goal should be -easy (knock on wood). However, I would like to start playing the role of startup founder -a bit better and proactively reach out to users before building too much. This will add -a considerable amount of effort. - -**Start reacting to more actionable metrics**
-Before now, most of the metrics that I have been monitoring can be classified as -[Vanity Metrics](https://techcrunch.com/2011/07/30/vanity-metrics/). These are metrics -that look impressive, but are not really useful for decision making or planning because -they are too vague. Last month I transitioned from using Mixpanel to Google Analytics -for tracking, which provides much more powerful ways for segmenting and understanding -users. - -## Wrap Up - -November was a jam-packed month, full of excitement, joy, and depression. Even though most -of the content of this recap was full of negativity and full of failure, I learnt enough to -convince me that what I'm trying to do is still an achievable goal. I have around 9 months -of runway left, so figuring out a sustainable revenue stream will need to happen soon. - -If you enjoyed this post let me know, and if you want to get updated you can subscribe to -this blog series via RSS or follow [@GetInsomnia](https://twitter.com/GetInsomnia) on Twitter. -Thanks again for reading, and I hope you learned something today. diff --git a/website/site/content/blog/progress-reports/progress-report-3.md b/website/site/content/blog/progress-reports/progress-report-3.md deleted file mode 100644 index 4848af787d..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-3.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -date: 2017-01-01 -title: December Recap – Happy New Year! -slug: progress-report-3 -series: ["transparency"] -tags: ["company", "progress"] ---- - -December is a notoriously slow month because of the holidays. I also decided to take some -time off to reflect on things and spend time with family, so this recap will be -relatively short. _(Still interesting, I promise!)_ - - - -## Daily Active Users - -Since Insomnia is mostly used in the workplace, holiday vacation time made a -large dent in the usage numbers this month. The daily active users chart below shows -clear growth at the start of the month but begins to drop off near the end, and is -cut in half during the last week. This should bounce back quickly though. - -![Insomnia Daily Active Users December 2016](/images/blog/dau-6.png) - -## Monthly Recurring Revenue - -Much like usage, monthly recurring revenue (MRR) also seemed to be affected -by the holiday season (although it's hard to tell with such small numbers). -In December, **MRR increased by 67%**, ending the month at $45.78 MRR. The -following chart shows MRR over the last five months. - -![Insomnia Monthly Recurring Revenue December 2016](/images/blog/mrr-6.png) - -To put this into perspective, **$50 MRR is 1% of a moderate salary** where I live, -meaning that success will require 100x growth. The finish line is in sight, but very -far away. - -In order to reach the magic $5000/mo mark before my savings run dry, I will -need to grow MRR by 50% per month for the next twelve months. This seems like a -difficult goal but I hope the launch of teams in January will help get there. - -## This Month's Wins and Losses - -This month I wanted to force myself to think back on more specific things that happened, -so this section is a new attempt at doing that. It's not very organized, but here's a -list of noteworthy things that happened this month. - -- **WIN:** Got Insomnia featured on the [Electron home page](http://electron.atom.io/) -- **WIN:** Finished and deployed the [web interface](/app/) to manage Insomnia accounts -- **WIN:** Someone [donated](https://www.paypal.me/gschier) $100! -- **WIN:** Had a blog post [do well on Reddit](https://www.reddit.com/r/webdev/comments/5hf898/wrote_about_why_i_think_electron_is_a_web/) -- **WIN:** deleted custom (buggy) DNS resolution code after discovering the proper way to do it -- **LOSS:** Didn't finish Teams on time -- **LOSS:** Didn't hit any set goals - -## Next Month Goals - -Last month I set three goals for myself and failed to meet all of them. I failed -to **launch Teams and reach $100 MRR**, didn't **publish content once a week**, and -didn't **start reacting to more actionable metrics**. I _did_ make a sizable dent in -all of them, but more important things came up and prevented their completion. - -This month I chose only important and achievable goals. Here's what I plan to -accomplish in January. - -**Get first paying team:**
-Teams wasn't completed in December, but most of the work is now -done. I've set a hard launch date of **Wednesday January 11th**, which should leave enough -time to get the first team on board (even if it requires cold emails and hand-holding). - -**Finish [console.rest](https://console.rest/) integration:**
-[Console.rest](https://console.rest/) is an open source project started by the folks at -[Paw](https://paw.cloud/). I have most of the integration work completed, so wrapping it -up should take a few days at most. - -## Wrap Up - -Well, that's it for 2016! It's been almost exactly six months since I quit my job to -take on Insomnia full-time. I'm super excited to have passed the $1 MRR milestone and -can't wait to see what happens in 2017. - -![Happy New Year Charlie Brown](https://media.giphy.com/media/1PMVNNKVIL8Ig/giphy.gif) - -If you feel that I left anything out of this post or have questions, feel free to leave -a comment below and I'll respond ASAP. diff --git a/website/site/content/blog/progress-reports/progress-report-4.md b/website/site/content/blog/progress-reports/progress-report-4.md deleted file mode 100644 index 681ffc6a58..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-4.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -date: 2017-02-03 -title: January Recap – $110 MRR -slug: progress-report-4 -series: ["transparency"] -tags: ["company", "progress"] ---- - -[Last Month's Recap](/blog/progress-report-3) was fairly uneventful due to extremely low app usage -during the holiday season. Thankfully, usage is back up this month and things are looking -great! Insomnia crossed last month's failed goal of **$100 MRR** and also **surpassed 3,000 -daily active users**. - - - -Inspired by the last -[Indie Hackers Month in Review](https://www.indiehackers.com/blog/month-in-review-2016-12), -I decided to throw in a few more metrics into this post, making it longer than usual. Let me -know if you like it more or less. - -_I also added a [Transparency Page](/transparency/) if you want to follow progress -throughout the month._ - -## January Overview - -As an attempt to provide more high-level context for how Insomnia is doing, I put together -a list of high-level metrics that I'll be covering from now on. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | ------- | ---------- | -| Active App Users | 16,131 | +27% | 😀 | -| New App Users | 7,539 | +40% | 😀 | -| Monthly Recurring Revenue | $110 | +140% | 😀 | -| Recognized Revenue | $390 | +25% | 😁 | -| New Trial Customers | 146 | +200% | 😀 | -| New Paying Customers | 11 | +57% | 😀 | -| Trial Conversion Rate | 8% | -2% | 😕 | - -I also decided to move the wins/losses section here too. Here are a few of the most notable -events that happened. - -- **WIN**: Passed $100 MRR -- **WIN**: First paying team on board -- **WIN**: On deck for an Indie Hackers interview -- **WIN**: Dave Chaney [tweeted](https://twitter.com/davecheney/status/820937289370980352) about Insomnia -- **WIN**: Added [New Relic](https://newrelic.com/) and fixed performance problems -- **WIN**: Insomnia is being talked about more on Twitter -- **WIN**: Launched app themes -- **WIN**: Revised pricing page -- **LOSS**: Spent too much time fighting with bugs -- **LOSS**: No marketing efforts made - -## App Usage Growth - -App usage picked up a lot since the holiday season ended. Insomnia **crossed 3,000 -daily active users** – which is an arbitrary vanity metric – and it's awesome to see the -user base continue to grow organically with almost no PR and marketing efforts. With that being -said, spending more effort on PR and marketing would probably go a long way. - -To give a more visual representation to this growth, here is the daily active users chart. - -![Insomnia Daily Active Users January 2017](/images/blog/dau-7.png) - -## Revenue Growth - -I've always shared MRR numbers in previous recaps, but have neglected to mention actual _recognized -revenue_ (the money that hits the bank). In most subscription businesses these numbers -are fairly similar, but due to Insomnia's option of annual billing (instead of monthly), -recognized revenue is much higher than MRR. Because of this, I'll start covering both numbers -from now on. - -Insomnia **earned $390 in January**, which is $280 (woah!) more than MRR. This is -because **45% of customers subscribe to annual billing**. This is huge when thinking -about sustainability! - -If this high proportion of annual subscribers continues, it will greatly decrease the time it -takes to become sustainable. So, if you're thinking of subscribing, save the 16% and choose the -annual plan. 😊 - -Alright, enough talk about _actual_ revenue. Let's continue the monthly tradition of examining -MRR growth. Here's an impressive hockey-stick-shaped chart for your viewing pleasure. - -![Insomnia Monthly Recurring Revenue January 2017](/images/blog/mrr-7.png) - -MRR is now up to $110, which is **140% growth over last month**. Since the number of paying -customers is still extremely low (23), this growth rate doesn't really mean anything. It's actually -about four times higher than it _should_ be. - -Assuming the user demographic doesn't change and the proportion of upgrading users remains -constant, MRR growth should match user base growth, which has historically been between -20-30% per month. MRR growth should eventually settle down to a similar rate. - -### Will Insomnia Succeed? - -The MRR goal for sustainability is $5000. Hitting this number would mean being able to -sustain my current lifestyle. In December's recap I mentioned MRR -would need to grow 50% for 12 months to reach $5000, but that calculation didn't take into -account the added runway that incoming revenue would provide. So I wrote a small script to -calculate a more accurate projection. - -After running the numbers, **the lowest MRR growth that will eventually -lead to sustainability is 25%**. This is currently less than the user base growth rate, which makes -sustainability plausible. However, I would prefer to tread with my whole head out of water, -instead of just my nose. - -## February Goals - -I took some time last week to make a long-term roadmap. While I don't believe the resulting road map -is useful, the process helped me pin down the highest priority items to work on next. Here's what -I want to have done by the end of February. - -- **$150 MRR** (50% growth) -- **4,000 Daily Active Users** -- Finish first version of plugin system -- Contact 25 publications/blogs/sites for plugins PR -- Open-source the Insomnia networking backend -- Add "offboarding" survey to better understand trial user churn - -## Personal Feelings - -I felt really good throughout most of January. The community around Insomnia is really beginning -to evolve, which is both awesome and humbling. This has been my primary source of motivation. - -Right now it feels like Insomnia is at a turning point. The app is now good enough to satisfy -most user's needs, and is stable enough to start building the next big thing. At this point, -I'm also more confident than ever that – if I can improve customer conversion rates and -do more PR and marketing – Insomnia will be able to reach sustainability. - -## Wrap Up - -I hope you enjoyed reading January's recap. It takes about a day to write one of these, but the -process helps me stay on track and keep focused on the end goal. I've also had a few conversations -spawned from the things I've discussed, which is awesome to see. - -As always, let me know if you have any feedback or thoughts, and enjoy the app! diff --git a/website/site/content/blog/progress-reports/progress-report-5.md b/website/site/content/blog/progress-reports/progress-report-5.md deleted file mode 100644 index c9edb04bb0..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-5.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -date: 2017-03-07 -title: February Recap – 192% MRR Growth -slug: progress-report-5 -series: ["transparency"] -tags: ["company", "progress"] ---- - -February was an exciting month for Insomnia with **monthly recurring revenue growing -192%** and **monthly active users growing 14%**. Considering how little time (none) was put into -marketing and promotion, that's really exciting. - - - -Since most of February was spent on feature development, there wasn't much to reflect on for -this post. So, on top of the usual stats, I'll be doing a deep-dive on some things -I did to help understand where exactly the growth is coming from. - -Spoiler alert: It's interesting! - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## February Metrics Overview - -Since February is a short month, metrics were slightly lower than usual, but still great. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | ------- | ---------- | -| Active App Users | 18,422 | +14% | 😊 | -| New App Users | 7,872 | +4% | 😊 | -| Monthly Recurring Revenue | $322 | +192% | 😁 | -| Recognized Revenue | $614 | +57% | 😁 | -| New Trial Customers | 224 | +53% | 😀 | -| New Paying Customers | 20 | +81% | 😀 | -| Churned Customers | 0 | 0% | 😊 | -| Trial Conversion Rate | 9% | +12% | 😊 | - -I'm really happy with where things are at. It's satisfying to have active users -continue to grow, while also maintaining an increasing conversion rate. - -The following chart does a better job showcasing recent growth. - -![Insomnia Daily Active Users February 2017](/images/blog/dau-8.png) - -And the same thing for revenue. - -![Insomnia Monthly Recurring Revenue February 2017](/images/blog/mrr-8.png) - -MRR grew a lot in February – **jumping from $110 to $322** – with a large portion coming -from new team subscriptions. The number of team subscription is still in the single digits, but -it's exciting considering the feature's lack of visibility. (Definitely something to -focus on in the future.) - -### Where is The Money Coming From? - -A few weeks ago, I decided to figure out whether subscriptions were coming from existing users -or new users. This question had been on my mind for a while and knowing the answer is -critical for calculating long-term revenue forecasts. - -For example, if only new users are upgrading, the conversion rate is effectively -`subscriptions / ~15,000 new users`. If the opposite is true, the conversion rate decreases -dramatically due to the much larger pool and becomes `subscriptions / ~40,000 total new users`. - -The best-case scenario is that only new users have upgraded and existing users don't even know the -paid plans exist. This scenario would put the conversion rate at 0.3% and also present the -opportunity to increase it by targeting existing users. - -If the opposite is true, the conversion rate drops to 0.1% with no opportunities to -improve. Luckily (thanks to some foresight early on) I was able to collect enough data -to answer this question. - -Every ten minutes, the app pings the server for notifications and sends the following information: - -- App version and platform -- **Number of launches, first launch**, and last launch -- Number of entities (workspaces, environments, folders, and requests) -- Current session (if logged in) - -I wrote some code to start storing this information on the user object and looked at the data -couple weeks later. Here are the most interesting things I found: - -- **50% of paid customers started using the app in the last two months** -- paid customers have launched the app 24 times on average -- All team customers have launched the app fewer than 20 times -- Paid customers consist of 43% Mac, 37% Windows, 20% Linux - -This data shows a large portion of the customer base coming from new users, putting the -effective conversion rate around 0.2%. Extrapolating average monthly customer revenue ($8.29), -Insomnia would need 125,000 new users to reach $2,000 MRR (sustainability) and -600,000 new users to reach $10,000 MRR (goal). Assuming the current growth rate of 20% -remains constant, it should take **7 months to reach sustainability** and 14 months to reach -goal MRR. - -Last month I attempted a similar revenue forecast using a different set of data, but came to a -similar conclusion. The fact that both calculations produced similar results drastically -increases my confidence of success, which is extremely motivating. - -## No More Goals! - -**I've had enough with goals**, so I'm not doing them anymore! Every month I come up -with 3-5 high level goals and fail to meet almost all of them. - -I _will_, however, say that something big is coming. I can't give an exact release date yet, -but I hope to do a version 5.0 launch within the next month. The goal of version 5.0 is to -add a couple major features that have prevented certain major use cases, as well as sand -off some of the rough edges I've noticed from talking to users. - -## Wrap Up - -Well, another great month has come and gone. I'm super excited about how things are going, and can't -wait to get this new release into users' hands. Next month should be awesome! - -As always, let me know if you have any feedback or thoughts, and enjoy the app! diff --git a/website/site/content/blog/progress-reports/progress-report-6.md b/website/site/content/blog/progress-reports/progress-report-6.md deleted file mode 100644 index 7544d61d17..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-6.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -date: 2017-04-03 -title: March Recap – Calm Before the Storm -slug: progress-report-6 -series: ["transparency"] -tags: ["company", "progress"] ---- - -As Insomnia slowly grows into a sustainable business it becomes more and more difficult to -find things to put in these updates. I'm currently heads-down putting the finishing touches on -a **very major release** so, instead of spending a day or two drafting and editing a recap, -I'm choosing to keep this one short and focus on the release ahead. Don't worry, though. Next -month's release will be jam-packed. - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## March Metrics Overview - -March's metrics are still growing, but at a slightly lower rate than usual. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | --------- | ---------- | -| Active App Users | 22,089 | +20% | 😊 | -| New App Users | 9,373 | +19% | 😊 | -| Monthly Recurring Revenue | $490 | +52% | 🙂 | -| Recognized Revenue | $640 | +4% | 😐 | -| New Trial Customers | 203 | -10% | 😧 | -| New Paying Customers | 22 | +10% | 🙂 | -| Churned Customers | 3 | +∞% | 😟 | -| Trial Conversion Rate | 11% | +22% | 🙂 | - -The most notable thing here is that Insomnia had it's first real churn. This doesn't -seem like a big deal yet, but I'll definitely be keeping an eye on it. I _did_ -try to reach out to the churned customers but failed to get a response from any, which is -bothersome. - -Over the last few months, user growth has slowly decreased from +30% to +20%. I would like to -keep this number above 20% for as long as possible, so I'll be doing some extra PR this month -to try and push it back up. - -![Insomnia Daily Active Users February 2017](/images/blog/dau-9.png) - -Similar to user growth, revenue growth has also been declining steadily. This is expected, -however, because revenue and user growth should be the same (+20%) if conversion rate -remains constants. - -![Insomnia Monthly Recurring Revenue February 2017](/images/blog/mrr-9.png) - -## Wrap Up - -That's it for this month. As I mentioned earlier, this recap was intentionally short. -I have some awesome things ready to release in a few days, so keep an eye out for that. There -will definitely be a lot to talk about next month! - -As always, let me know if you have any feedback or thoughts, and enjoy the app. diff --git a/website/site/content/blog/progress-reports/progress-report-7.md b/website/site/content/blog/progress-reports/progress-report-7.md deleted file mode 100644 index d76329157f..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-7.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -date: 2017-05-06 -title: April Recap – Burnout and Declining Growth -slug: progress-report-7 -series: ["transparency"] -tags: ["company", "progress"] ---- - -April was the most difficult month yet. -I [Launched Version 5.0](/blog/insomnia-5-announcement/) with -some large new features, and the release went fairly smoothly. -However, 5.0 introduced a major compatibility problem for subset of Linux and -OSX versions. This unexpected headache piled on a lot of stressful -work, leading to a dark spiral of burnout. I ended taking the second half -of the month off (for the most part) to recover. - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## April Metrics Overview - -Since inception, the rate of growth of Insomnia's user base has been steadily decreasing -every month, from +30% to +10%. This decrease is to be expected as Insomnia outgrows -the early adopter market. However, if this number drops below 10% I'll be worried. -Revenue growth is still very healthy though, which is awesome to see. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | --------- | ---------- | -| Active App Users | 24,203 | +10% | 😐 | -| New App Users | 10,035 | +7% | 😐 | -| Monthly Recurring Revenue | $660 | +35% | 🙂 | -| Recognized Revenue | $1045 | +63% | 😂 | -| New Trial Customers | 224 | +10% | 😧 | -| New Paying Customers | 19 | -13% | 😧 | -| Churned Customers | 4 | +33% | 😧 | -| Trial Conversion Rate | 8% | -27% | 🙂 | - -The following chart does a great job of visualizing the user growth decline. -If you connect the peaks with a straight line you'll see that growth has been roughly -linear since January. This is likely due to low word-of-mouth referral traffic, which is -perplexing because Insomnia users are consistently fanatical. - -![Insomnia Daily Active Users February 2017](/images/blog/dau-10.png) - -MRR growth has also been declining steadily over the last few months, although it's still -in a healthy place at +35%. - -![Insomnia Monthly Recurring Revenue February 2017](/images/blog/mrr-10.png) - -## Wrap Up - -I've mentioned in previous posts that I want to spend more time on content and marketing -but have yet to have the motivation to do so. Now that growth is a problem, I -have no choice. Everyone knows that building a great product does not guarantee success -and I'm beginning to live that reality. It's time to make some changes. - -As always, let me know if you have any feedback or thoughts, and enjoy the app! - diff --git a/website/site/content/blog/progress-reports/progress-report-8.md b/website/site/content/blog/progress-reports/progress-report-8.md deleted file mode 100644 index 76676089e0..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-8.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -date: 2017-06-07 -title: May Recap – Open Source and Community Building -slug: progress-report-8 -series: ["transparency"] -tags: ["company", "progress"] ---- - -On May 10th, I [Announced](/blog/open-source-announcement/) -that the Insomnia desktop app is now open source under the GNU AGPLv3 license. - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## May Metrics Overview - -Because the [open source announcement](/blog/open-source-announcement/) -made it to the front page of Hacker News, there was a massive **65% increase in new users**. -This also lead to a significant bump in paid customers. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | --------- | ---------- | -| Active App Users | 33,452 | +38% | 😀 | -| New App Users | 16,543 | +65% | 😀 | -| Monthly Recurring Revenue | $848 | +28% | 😀 | -| Recognized Revenue | $1234 | +18% | 😐 | -| New Trial Customers | 455 | +103% | 😀 | -| New Paying Customers | 28 | +47% | 😀 | -| Churned Customers | 5 | +25% | 😐 | -| Trial Conversion Rate | 6% | -33% | 😧 | - -![Daily Active Users](/images/blog/dau-11.png) - -![Monthly Recurring Revenue](/images/blog/mrr-11.png) - -## Wrap Up - -It's been a few weeks since Insomnia went open source and it's been a wild ride so far! -The [GitHub repo](https://github.com/getinsomnia/insomnia) is now at **3,900 stars and -127 forks**, and there are over **60 members in the [Slack Group](https://chat.insomnia.rest/)**. - -The open source announcement also amassed a tonne of unexpected positivity from users. -Countless people have reached out to say "thanks" and many others have submitted bug -reports, feature request, and pull requests. - -I want to give a huge "thanks" to everyone for all the support, and I can't wait to see -what happens next! diff --git a/website/site/content/blog/progress-reports/progress-report-9.md b/website/site/content/blog/progress-reports/progress-report-9.md deleted file mode 100644 index 2e4ff67cab..0000000000 --- a/website/site/content/blog/progress-reports/progress-report-9.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -date: 2017-07-01 -title: June Recap – A Roller Coaster -slug: progress-report-9 -series: ["transparency"] -tags: ["company", "progress"] ---- - -If you were to ask me which month has felt the most like a roller coaster, it -would have been June. Major community-developed features were released 🦄, a blog post -[hit front page 😄](https://news.ycombinator.com/item?id=14622528) of Hacker News, -Smashing Magazine [tweeted about Insomnia 🤗](https://twitter.com/smashingmag/status/872165992708927488), -the first churn of Insomnia Teams happened 😤, and there were an annoyingly large -increase of failed payments 😤. And, to top it all off, June's metrics look extremely sad -due to the huge spike of traffic that happened in May 😳. - - - -_If you like this post, be sure to check out [the other recaps](/series/transparency/). -There's one every month!_ - -## Metrics Overview - -This month's metrics are low across the board due to the spike of traffic the previous month. -However, I'm surprised that the number of paid conversions is so low -because the 14 day trials from the traffic spike should have started converting at the -beginning of the month. - -My theory for the lack of conversions is that, because the announcement was centered around -_free open source software_, it was more likely to attract users who don't typically buy -software. There's really no way to prove this, but I think the overall effect of more -users is still a net win. - -| Metric | Value This Month | Change | Reaction | -| ------------------------- | ---------------- | --------- | ---------- | -| Active App Users | 33,995 | +2% | 😐 | -| New App Users | 13,349 | -19% | 😧 | -| Monthly Recurring Revenue | $925 | +9% | 😐 | -| Recognized Revenue | $1332 | +8% | 😐 | -| New Trial Customers | 415 | -9% | 😧 | -| New Paying Customers | 17 | -39% | 😐 | -| Churned Customers | 9 | +80% | 😧 | -| Trial Conversion Rate | 4% | -33% | 😐 | - -As mentioned, June's metrics are lower compared to the huge increase in May. However, if -you ignore May's spike, growth is still on a similar upward path as it has been.🙂 - -![Daily Active Users](/images/blog/dau-12.png) - -The first team churns happened in June, which was an unwelcome surprise. I reached out to -both team accounts, but only one replied saying that they loved Insomnia, but no longer had -a use for the application. I wish I were able to get feedback from the other team as well. - -Such a large churn bummed me out for a few days, but I bounced back pretty quick! Money has -never been much of a motivation, so I was quickly brought back into reality by all of the -other awesome things that this project brings me (writing code, community, feedback, etc). - -![Monthly Recurring Revenue](/images/blog/mrr-12.png) - -## Wrap Up - -Well that's it for this month! Along with this, I will be publishing a 1-year recap before -the end of the month, as June marked the 12th month since I've been working on Insomnia full-time. - -I've also had some requests to add a few more metrics and to these posts. I'd like to -keep the monthly recaps short and focused, but I might try to publish one-off posts to -cover notable discoveries or insights that come up. Let me know if you have any ideas in -the comments below. - diff --git a/website/site/content/blog/revamped-documentation.md b/website/site/content/blog/revamped-documentation.md deleted file mode 100644 index a2b3ccdf32..0000000000 --- a/website/site/content/blog/revamped-documentation.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -date: 2017-11-13 -title: New Documentation Website -slug: new-documentation-website -tags: ["announcement"] ---- - -I'm happy to announce that there is a brand new -[Documentation Website](https://support.insomnia.rest) for Insomnia! -The new site is built using [HelpScout](http://helpscout.com/) Knowledge Base, which was -chosen for two reasons. (1) Insomnia was already using HelpScout to manage support email, -and (2) it solved three of the major shortcomings of the old documentation site with no extra -development effort. - - - -## Lower Maintenance Friction 📝 - -Creating and updating help docs on the old system was not easy. It required -creating or editing markdown files in a text editor, syncing changes with Git, and deploying -a new release. This meant simple things like fixing a typo could take upwards of ten minutes. -And don't even get me started on how hard it was to add screenshot images. - -With the new system, all editing is done online. This makes creating, organizing, and managing -help articles a breeze and should dramatically increase the quality of documentation in the -future. Also, uploading screenshots is as simple as dragging or pasting an image into the editor. - -## Better Discoverability 🔍 - -HelpScout's Knowledge Base tool is specifically designed for hosting documentation so it -comes bundled with many features that help improve discoverability. The main one being search. - -![Documentation Search](/images/blog/docs-search.png) - -If you visit the main [insomnia.rest](https://insomnia.rest/) website, you will also notice a -help _beacon_ at the bottom-right of every page. This beacon gives the ability to quickly search -and view help articles and provides the option to send an email if more assistance is required. - -## Search Analytics 📊 - -With the old documentation site it was possible to tell what the most popular _existing_ -articles were, but it was impossible to tell which help articles didn't exist yet that -should be created. This is where search comes in. Search terms that yield no results can -effectively be treated as a to-do list for documentation. - -In fact, less than a day after launching the new documentation site, there were -many failed searches for _graphql_. So, I put together an article on -[Using GraphQL](support.insomnia.rest/article/61-graphql) in less than an hour and published it -that same day! - -![Search Analytics](/images/blog/docs-analytics.png) - -## Wrap-Up - -It's been less than a week since the new [Documentation Website](https://support.insomnia.rest) -has been live but it's already having a positive effect. The reduced editing friction has -already improved the quality of articles and I already have a growing list of new articles -that need creating. - -I hope you all enjoy the new and improved documentation site and please feel free to reach out -with any feedback or questions you may have! diff --git a/website/site/content/blog/slack-channel.md b/website/site/content/blog/slack-channel.md deleted file mode 100644 index 6d6d70122f..0000000000 --- a/website/site/content/blog/slack-channel.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-05-11 -title: You're Invited to The Slack Team -slug: slack-channel -tags: ["announcement"] ---- - -Since the [Open Source Announcement](/blog/open-source-announcement/) yesterday, many -people have submitted bugs, asked questions, and proposed features via GitHub issues. -However, this is not always the most suitable medium for discussion. Now, Thanks -to a [suggestion](https://github.com/getinsomnia/insomnia/issues/188) by `ctnordcl`, I've -created a public Slack Team that anyone can join. - -

-Join Insomnia on Slack -

- -So, head on over, introduce yourself, and join in on the discussion. - -See you there! diff --git a/website/site/content/blog/themes.md b/website/site/content/blog/themes.md deleted file mode 100644 index 20529228fa..0000000000 --- a/website/site/content/blog/themes.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -date: 2017-01-23 -title: Introducing Color Themes! -slug: introducing-color-themes -tags: ["announcement", "feature"] ---- - -Superb design has always been treated as a core feature of Insomnia. However, I recently -noticed that no design-related work had been done on Insomnia in months. Because of this, -I decided to spend a few days and implement a new design-related feature. Themes! - - - -There are now **nine themes to choose from**. Three _basic_ and -and six _premium_. Basic themes are available to everyone, while premium themes -are available [Insomnia Plus](/pricing/) users. - -## Basic Themes - -The idea of themes first started as a way to provide better visual accessibility to -Insomnia users. The following _Basic_ themes provide a higher-contrast experience for -users who want or need it. - -Insomnia Color Themes - -## Premium Themes - -The following _Premium_ themes are available to all [Insomnia Plus](/pricing/) users. I had -a lot of fun creating these, and I hope to expand on this collection in the future. - -Insomnia Premium Color Themes - -For a closer look, here is a larger screenshot of the Material theme (my favourite). - -![Insomnia Material Design Theme](/images/blog/material-theme.png) - -
- -I hope you enjoy the new colors. Let me know if you have any suggestions for more! diff --git a/website/site/content/blog/unix-domain-sockets.md b/website/site/content/blog/unix-domain-sockets.md deleted file mode 100644 index e56a4fac2b..0000000000 --- a/website/site/content/blog/unix-domain-sockets.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -date: 2017-06-20 -title: Introducing Unix Domain Socket Support -slug: unix-domain-sockets -tags: ["feature"] ---- - -One of the headlining features of [Insomnia 5.4.0](/changelog/5.4.0/) is support for -[UNIX Domain Sockets](https://en.wikipedia.org/wiki/Unix_domain_socket) – a mechanism -typically used for communication between processes running on the same host operating -system. This post gives a brief introduction on connecting to a socket within Insomnia. - - - -In order for Insomnia to distinguish socket requests, a slightly different -URL syntax is required. The following syntax was borrowed from the popular NodeJS -[`request`](https://github.com/request/request#unix-domain-sockets) library. - -```bash -# Syntax for UNIX domain sockets -http://unix:$SOCKET:$PATH -``` - -_Note: This feature provides same functionality as using the -`--unix-socket FILE` flag with `curl`._ - -## Example Using Docker Engine API - -To demonstrate socket support, we'll issue a request to the `/images` endpoint that is exposed -by the [Docker Engine's](https://docs.docker.com/engine/api/v1.24/) socket API. -Using the following URL in Insomnia will list the available Docker images on the host machine. - -```bash -# Sample URL to communicate with Docker socket -http://unix:/var/run/docker.sock:/v1.24/images/json -``` - -This URL is specifying the path to the socket (`/var/run/docker.sock`) and the API -endpoint path (`/v1.24/images/json`) using the previously mentioned URL syntax. Here's what -it looks like within Insomnia. - -![Domain Sockets Example](/images/blog/unix-sockets.png) - -Since the Docker socket communicates using HTTP and JSON, it looks indistinguishable from -regular TCP/IP-based HTTP requests being made over the network. - -And that's it! I can't wait to hear what you think! diff --git a/website/site/content/blog/using-github-api.md b/website/site/content/blog/using-github-api.md deleted file mode 100644 index 28b9c6c409..0000000000 --- a/website/site/content/blog/using-github-api.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -date: 2017-06-23 -title: GitHub API Authentication using OAuth 2.0 -slug: oauth2-github-api -tags: [] -series: ["tutorial"] ---- - -OAuth 2.0 has been a supported authentication scheme in Insomnia for some time now but – if -you are new to OAuth – can still be quite complicated. -This post walks through an example using OAuth 2.0 to authenticate and create a -repository on GitHub using the [GitHub API](https://developer.github.com/v3/). - -

-If you don't already have a GitHub OAuth application registered for your account, you can -create a one from Developer Settings -Note, "Callback URL" can be whatever you want for this tutorial. -

- -## Gathering OAuth Credentials - -The GitHub API uses the OAuth _Authorization Code_ grant type, which requires five things -from you. Note that you don't need to know what a _grant type_ is to follow along. - -**Client ID**, **Client Secret**, and **Callback URL**: -: These are specific to the GitHub OAuth application and can be found on its - [details page](https://github.com/settings/developers). The **Callback URL** is often - optional but we're going to specify it anyway in the name of completeness. - -**Authorization URL** and **Access Token URL**: -: These are static values, listed on the [GitHub API Docs](https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/about-authorization-options-for-oauth-apps/). - As a convenience, Insomnia will autocomplete these while you type them and I will also include - them here:
- `http://github.com/login/oauth/authorize`
- `https://github.com/login/oauth/access_token` - -This following step is optional, but I recommend specifying the application-specific values -as [Environment Variables](/documentation/environment-variables/) so they can easily be reused -or modified. For my setup, I have created a sub environment called "Test Application" and included -the following JSON value: - -```json -{ - "client_id": "fa122270cdf09954296d", - "client_secret": "274e6d43420c73d9c89f52a4a99a9731e6bdb96c", - "redirect_url": "https://insomnia.rest" -} -``` - -

-Don't forget to activate your new environment in the sidebar after creating it -

- -Now that we have everything we need, let's start setting up a request. - -## Setting Up The Request - -Most read-only endpoints on GitHub don't require authentication (not very useful for -demoing OAuth) so we'll be using the -[create repository](https://developer.github.com/v3/repos/#create) endpoint for this -demonstration. - -To get started, open Insomnia and create a new request by the name of "Create Repository". -Then, copy and paste the following curl command into the URL bar. - -

-We're making use of Insomnia's import from Curl feature here to -save on typing. -

- -```bash -curl --request POST \ - --url 'https://api.github.com/user/repos' \ - --header 'content-type: application/json' \ - --data '{ - "name": "insomnia-test-repo", - "description": "Test repo for Insomnia tutorial" -}' -``` - -You should end up with a request that looks like this. - -![Imported request](/images/blog/github-oauth/request.png) - -## Setting up OAuth 2.0 - -If you sent the request now, before setting up authentication, you would receive a -`401 Unauthorized` response. This is because the `POST /user/repos` endpoint requires -an OAuth token to be sent with the request. However, obtaining an OAuth token manually is not -easy and requires multiple, complicated steps. This is where Insomnia into play. - -Insomnia deals with the complex task of obtaining and managing OAuth tokens so you don't -have to. You don't even need to understand how it works – although I still recommend you learn. 👩‍💻 - -Now, back to the request. Select the Auth tab of your "Create Repository" request and change -the authentication type to "OAuth 2". After doing that, fill out the values you collected earlier. -If you made use of environment variables, it should look something like this. - -![Fill out authentication settings](/images/blog/github-oauth/authentication-settings.png) - -Congratulations! The request is now ready to be sent. 😄👏🤖 - -## Sending the Request - -

-Submitting the following request will create a new repository on your GitHub account. You can -delete the respository from the GitHub website later. -

- -As soon as you send the request, Insomnia will detect that a token has not yet been obtained and -start the authentication process. You will be prompted to sign in with your GitHub -credentials and authorize the OAuth application to act on your behalf. - -![Allow application access](/images/blog/github-oauth/authorize.png) - -After logging in, the token will be extracted from the resulting URL and stored in Insomnia. -The request will then be sent using the newly acquired token. If all went well -you should see a successful `201 Created` response with information about your newly -created repository. - -![Create repository response](/images/blog/github-oauth/response.png) - -

-Make use of Insomnia's response filtering by entering a JSONPath query such as -$.owner.login below the response body -

- -## More About OAuth 2.0 - -Even though Insomnia handles most of the complexities of OAuth for you, there are a -few notable things that may come in handy. - -### Viewing the Authorization Header - -If you take a look at the Timeline tab, you will see the `Authorization` header that -was sent with the request. The value of the header `Bearer ` contains the token that -Insomnia extracted during the login process. This token will also appear in the Auth -tab of the request, where you can either refetch a new token or clear the existing one. - -![Timeline view](/images/blog/github-oauth/timeline.png) - -### Expiring Tokens and Refresh Tokens - -Some OAuth 2.0 APIs make use of expiring tokens and/or refresh tokens. If the API token -received has an expiry, Insomnia will show it at the bottom of the Auth tab. If a token expires, -Insomnia will automatically try to refresh it when the next request. You can also trigger a -refresh manually from the Auth tab. - -### Other Grant Types - -OAuth 2.0 defines four [grant types](https://tools.ietf.org/html/rfc6749#section-1.3) -that can be used to fetch a token, each to facilitate different use cases. - -- Authorization Code -- Implicit -- Resource Owner Password Credentials -- Client Credentials - -Insomnia supports all of these grant types and will take care of all the complexities so you -don't have to. - -

-OAuth 2.0 has the ability for custom grant types, but these are not -yet supported -

- -### Login Window Cookies - -Currently, the OAuth 2.0 login window uses a single global session that is cleared on every -restart of the app. That means, if you already signed in with one GitHub account, it won't need -ask you again. However, this also means that, if you want to switch GitHub accounts, you will -need to restart the app to clear the current session. - -## Wrap-Up - -There have been a significant number of users asking for help with the OAuth 2.0 process. -Hopefully this post was able to clear up some of the more common issues around the OAuth process. -Even if you are not interacting with the GitHub API specifically, the information covered -here will work for most other OAuth 2.0 APIs. diff --git a/website/site/content/changelog-json/v3.0.10.md b/website/site/content/changelog-json/v3.0.10.md deleted file mode 100644 index 8241e4c7e2..0000000000 --- a/website/site/content/changelog-json/v3.0.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.0.10 Release -slug: 3.0.10 -date: '2016-07-25T20:31:28-07:00' -major: -- Redesigned interface -- No longer a Chrome app -- Lots more! ---- - -Welcome to the first beta release of v3.0! If you have any complaints, -questions, comments, or just want to chat, send an email to -support@insomnia.rest. diff --git a/website/site/content/changelog-json/v3.0.11.md b/website/site/content/changelog-json/v3.0.11.md deleted file mode 100644 index af02763768..0000000000 --- a/website/site/content/changelog-json/v3.0.11.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Insomnia v3.0.11 Release -slug: 3.0.11 -date: '2016-07-27T19:33:15-07:00' -major: -- Format JSON even when JSON content-type response header missing -- Remember last window size and position on launch -minor: -- Made the import feature more apparent on first launch -- Now check for updates every hour (instead of just on launch) -fixes: -- Drag-n-drop folders now works again (oops) -- Adjusted sidebar colors for better visibility ---- - -Here a few minor updates based on the first round of beta feedback. Keep -sending your feedback to support@insomnia.rest :) diff --git a/website/site/content/changelog-json/v3.0.13.md b/website/site/content/changelog-json/v3.0.13.md deleted file mode 100644 index 5671020513..0000000000 --- a/website/site/content/changelog-json/v3.0.13.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.0.13 Release -slug: 3.0.13 -date: '2016-07-28T18:19:47-07:00' -major: -- Added setting to disable SSL validation -- Save and send cookies (more/better cookie support coming soon...) -minor: -- Made initial app window size larger -- Specify that environment data needs to be JSON format -fixes: -- Fixed bug where certain input fields would override user input -- Params editor now scrolls when too long ---- - diff --git a/website/site/content/changelog-json/v3.0.14.md b/website/site/content/changelog-json/v3.0.14.md deleted file mode 100644 index 20e4ab2579..0000000000 --- a/website/site/content/changelog-json/v3.0.14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.0.14 Release -slug: 3.0.14 -date: '2016-07-29T16:31:40-07:00' -fixes: -- Environment editor now updates properly again -minor: -- Adjusted cursor padding in the request body editor -- 'Remember zoom level on app launch (note: your saved window size/position will -be reset)' ---- - -Just a few minor fixes. Nothing to see here... diff --git a/website/site/content/changelog-json/v3.0.15.md b/website/site/content/changelog-json/v3.0.15.md deleted file mode 100644 index 2a4a04eaf1..0000000000 --- a/website/site/content/changelog-json/v3.0.15.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.0.15 Release -slug: 3.0.15 -date: '2016-07-29T20:31:19-07:00' -fixes: -- Request body editor now updates again when changing modes -- JSON highlighting edge case fixed ---- - -A few more small things before the weekend. diff --git a/website/site/content/changelog-json/v3.0.16.md b/website/site/content/changelog-json/v3.0.16.md deleted file mode 100644 index 3616502fe4..0000000000 --- a/website/site/content/changelog-json/v3.0.16.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Insomnia v3.0.16 Release -slug: 3.0.16 -date: '2016-08-03T16:57:51-07:00' -fixes: -- Fix for app crash on first launch ---- - diff --git a/website/site/content/changelog-json/v3.2.0.md b/website/site/content/changelog-json/v3.2.0.md deleted file mode 100644 index 12b8be2787..0000000000 --- a/website/site/content/changelog-json/v3.2.0.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Insomnia v3.2.0 Release -slug: 3.2.0 -date: '2016-08-09T22:13:16-07:00' -major: -- Can now create global environments! (folder environments will extend them) -- Cookie management! View/create/update/delete those tasty cookies -- Now generate code snippets for nodeJS, Java, Python, Go, and more! -- Added new Cookies tab to response pane -- Added network proxy setting (experimental) -minor: -- Now prompt for name when creating new requests and folders -- Now support Nunjucks templating in form data bodies -- Focusing URL bar (cmd+L) now selects text all text -- Minor style updates -- Exported data now includes workspace information -- Added ability to export only the current workspace -fixes: -- Data export now exports properly (was broken before) -- Fixed the key/value editor from resetting cursor while typing -- Send-request keyboard shortcut no longer adds new key/value pairs ---- - -This release brings cookie management, global environments, and code snippet -generation. diff --git a/website/site/content/changelog-json/v3.2.1.md b/website/site/content/changelog-json/v3.2.1.md deleted file mode 100644 index 637aa5e8a4..0000000000 --- a/website/site/content/changelog-json/v3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Insomnia v3.2.1 Release -slug: 3.2.1 -date: '2016-08-17T17:49:00-07:00' -fixes: -- Settings dialog no longer resets after toggling -- Request duplication works again -- Silence auto-update errors when no internet -minor: -- Params tab Url Preview is now selectable -- Add hotkey for app minimize ---- diff --git a/website/site/content/changelog-json/v3.2.2.md b/website/site/content/changelog-json/v3.2.2.md deleted file mode 100644 index aaa9069031..0000000000 --- a/website/site/content/changelog-json/v3.2.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.2.2 Release -slug: 3.2.2 -date: '2016-08-23T17:56:50-07:00' -fixes: -- Cookies dialog showed nothing in some cases -minor: -- Linux version will now prompt when an update is available ---- - diff --git a/website/site/content/changelog-json/v3.2.3.md b/website/site/content/changelog-json/v3.2.3.md deleted file mode 100644 index fde96055c6..0000000000 --- a/website/site/content/changelog-json/v3.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Insomnia v3.2.3 Release -slug: 3.2.3 -date: '2016-08-28T17:56:50-07:00' -major: -- Added ability to edit headers in bulk -fixes: -- Environment manager now shows detailed JSON errors when invalid -minor: -- Improved menu bar menus on MacOS -- Update Nunjucks to version 2.4.2 ---- - -Bulk header editing is back for those who missed it coming from version 2.0! diff --git a/website/site/content/changelog-json/v3.2.6.md b/website/site/content/changelog-json/v3.2.6.md deleted file mode 100644 index 5b25735747..0000000000 --- a/website/site/content/changelog-json/v3.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Insomnia v3.2.6 Release -slug: 3.2.6 -date: '2016-09-01T17:56:50-07:00' -fixes: -- Stop checking for updates after initial update prompt -minor: -- Add helpful hints on certain request errors -- Increased default font size (adjustable with ctrl+Plus and ctrl+Minus) ---- - diff --git a/website/site/content/changelog-json/v3.2.9.md b/website/site/content/changelog-json/v3.2.9.md deleted file mode 100644 index e7da652590..0000000000 --- a/website/site/content/changelog-json/v3.2.9.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Insomnia v3.2.9 Release -slug: 3.2.9 -date: '2016-09-03T17:56:50-07:00' -fixes: -- Properly encode URI paths (like v2.0 used to) -- Copy/paste from context menu now works on Windows and Linux -minor: -- More flexible JSON content-type matching for responses -- Editor rendering no longer blocks UI navigation on larger responses ---- - diff --git a/website/site/content/changelog-json/v3.3.1.md b/website/site/content/changelog-json/v3.3.1.md deleted file mode 100644 index e2379f2044..0000000000 --- a/website/site/content/changelog-json/v3.3.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.3.1 Release -slug: 3.3.1 -date: '2016-09-05T17:56:50-07:00' -fixes: -- Small bug causing some dialogs to not work -major: -- Improved speed of rendering large responses -- Old responses are no longer kept around when not needed -- Decreased initial app loading times -- Reduced RAM usage ---- - -Feature development for the public beta is coming to an end so this release -is all about performance. diff --git a/website/site/content/changelog-json/v3.3.2.md b/website/site/content/changelog-json/v3.3.2.md deleted file mode 100644 index 9e11d86980..0000000000 --- a/website/site/content/changelog-json/v3.3.2.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insomnia v3.3.2 Release -slug: 3.3.2 -date: '2016-09-10T17:56:50-07:00' -fixes: -- Template variables were being persisted after render in some cases -- Fixed incorrect binding of checkbox label in settings ---- - diff --git a/website/site/content/changelog-json/v3.4.1.md b/website/site/content/changelog-json/v3.4.1.md deleted file mode 100644 index b2ce6f8d87..0000000000 --- a/website/site/content/changelog-json/v3.4.1.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Insomnia v3.4.1 Release -slug: 3.4.1 -date: '2016-09-13T17:56:50-07:00' -major: -- XML response formatting -- XPath and JSONPath filtering for responses -- Workspaces now appear in the Quick Switcher -- Hide the sidebar with ctrl+\\ (cmd on Mac) -- Use template variables inside environments -- Ability to beautify the request body for JSON or XML -- Added button to cancel the current request -minor: -- Added ability to duplicate folders -- Add extra prompt before deleting things -- Added Nunjucks tags {% timestamp %} and {% uuid %} -- Renamed Params tab to Query to avoid confusion -- Improved response Raw view performance -- Comments in editor are now more visible -- Reduced update check frequency from 30 minutes to 3 hours -fixes: -- Fixed minor bug with Curl import -- Querystring is now added to generated code (oops) -- Can now re-open window via doc icon if closed (Mac) -- HTTPS proxy now works again -- Dragging sidebar dropdowns no longer triggers drag-n-drop -- Global shortcuts (like sending request) are now prevented when dialogs are open ---- - -I want to start off by saying hello to everyone who found Insomnia on the front -page of Hacker News! This update addresses some of the feedback received from -over 200 email conversations. - -Enjoy! diff --git a/website/site/content/changelog-json/v3.4.4.md b/website/site/content/changelog-json/v3.4.4.md deleted file mode 100644 index a83c8d7bdf..0000000000 --- a/website/site/content/changelog-json/v3.4.4.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.4.4 Release -slug: 3.4.4 -date: '2016-09-21T01:58:49-07:00' -minor: -- Specify better default monospace font for Windows -fixes: -- Fixed environments not refreshing or updating sometimes -- Fixed sidebar double toggling with keyboard shortcut -- Fix for certain users that could not communicate with localhost -- Fixed bug that allowed the addition of multiple rows on the auth form ---- - -This update contains a few fixes and a lot of under-the-hood stuff that -you (hopefully) won't notice. diff --git a/website/site/content/changelog-json/v3.5.1.md b/website/site/content/changelog-json/v3.5.1.md deleted file mode 100644 index a29fce67f4..0000000000 --- a/website/site/content/changelog-json/v3.5.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.5.1 Release -slug: 3.5.1 -date: '2016-09-22T19:27:39-07:00' -major: -- Huge performance improvements for bulk action like deleting/duplicating folders -minor: -- No longer encode already encoded URLs -- Updates are now served through a CDN (faster downloads) -fixes: -- Fixed styles for cookie editor filter text box -- Fixed double encoding spaces in urls -- Improved layout for bulk headers editor ---- - diff --git a/website/site/content/changelog-json/v3.5.10.md b/website/site/content/changelog-json/v3.5.10.md deleted file mode 100644 index a3e6a75728..0000000000 --- a/website/site/content/changelog-json/v3.5.10.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.5.10 Release -slug: 3.5.10 -date: '2016-10-05T16:52:28-07:00' -minor: -- Better handling of malformed cookies -fixes: -- Syntax checking in editor now works again ---- - diff --git a/website/site/content/changelog-json/v3.5.11.md b/website/site/content/changelog-json/v3.5.11.md deleted file mode 100644 index dcb11aa918..0000000000 --- a/website/site/content/changelog-json/v3.5.11.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insomnia v3.5.11 Release -slug: 3.5.11 -date: '2016-10-06T17:39:13-07:00' -minor: -- Reworded some error messages -- Made cookie parsing less strict (closer to web browser behaviour) ---- - diff --git a/website/site/content/changelog-json/v3.5.12.md b/website/site/content/changelog-json/v3.5.12.md deleted file mode 100644 index 3b47db6850..0000000000 --- a/website/site/content/changelog-json/v3.5.12.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Insomnia v3.5.12 Release -slug: 3.5.12 -date: '2016-10-10T18:27:02-07:00' -fixes: -- Fixed certain connection problems related to HTTP keep-alive ---- - diff --git a/website/site/content/changelog-json/v3.5.13.md b/website/site/content/changelog-json/v3.5.13.md deleted file mode 100644 index 38c4f7e6f7..0000000000 --- a/website/site/content/changelog-json/v3.5.13.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.5.13 Release -slug: 3.5.13 -date: '2016-10-11T17:21:26-07:00' -fixes: -- Some improvements for URL pathname encoding -- Setting to disable following redirects now works again -minor: -- Update code generation for Swift 3 -- Prevent window from being placed outside viewable desktop on launch -- Updates no longer prompt the user, but show an unobtrusive notification instead ---- - diff --git a/website/site/content/changelog-json/v3.5.2.md b/website/site/content/changelog-json/v3.5.2.md deleted file mode 100644 index 1637ec851e..0000000000 --- a/website/site/content/changelog-json/v3.5.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.5.2 Release -slug: 3.5.2 -date: '2016-09-24T03:00:39-07:00' -minor: -- Query tab parameters no longer encode already encoded data -fixes: -- Fixed code generation not working in some cases ---- - diff --git a/website/site/content/changelog-json/v3.5.3.md b/website/site/content/changelog-json/v3.5.3.md deleted file mode 100644 index 093e150e48..0000000000 --- a/website/site/content/changelog-json/v3.5.3.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.5.3 Release -slug: 3.5.3 -date: '2016-09-28T22:24:05-07:00' -minor: -- Now automatically treat responses without Content-Type as JSON if possible -fixes: -- Fixed certain data being reset after changing HTTP method -- Fixed response viewer showing nothing for malformed responses ---- - -This week I began work on a cloud sync feature (premium)! If you're interested -in sync, I'd love to chat at support@insomnia.rest. diff --git a/website/site/content/changelog-json/v3.5.6.md b/website/site/content/changelog-json/v3.5.6.md deleted file mode 100644 index 0a97e80a70..0000000000 --- a/website/site/content/changelog-json/v3.5.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Insomnia v3.5.6 Release -slug: 3.5.6 -date: '2016-10-02T22:46:37-07:00' -major: -- Hide large responses by default to prevent app from hanging unexpectedly -minor: -- Add background color to editor line numbers -- Change DNS lookup method to use host machine getaddrinfo ---- - diff --git a/website/site/content/changelog-json/v3.5.7.md b/website/site/content/changelog-json/v3.5.7.md deleted file mode 100644 index d78533d36f..0000000000 --- a/website/site/content/changelog-json/v3.5.7.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insomnia v3.5.7 Release -slug: 3.5.7 -date: '2016-10-05T05:13:09-07:00' -fixes: -- Fix for cookies not being saved sometimes -- Fix for environment editor line numbers background ---- - diff --git a/website/site/content/changelog-json/v3.6.0.md b/website/site/content/changelog-json/v3.6.0.md deleted file mode 100644 index 5c87f69ef9..0000000000 --- a/website/site/content/changelog-json/v3.6.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Insomnia v3.6.0 Release -slug: 3.6.0 -date: '2016-10-21T17:33:58-07:00' -fixes: -- Fixed scrolling bug for form encoded request bodies -- Fixed rare case where cursor would jump to the end of the URL -- The show passwords setting no longer requires an app restart ---- - -This update includes a few small fixes, and many under-the-hood changes to -prepare for the upcoming cloud sync beta. If you would like to participate, send -me an email at support@insomnia.rest - diff --git a/website/site/content/changelog-json/v3.6.2.md b/website/site/content/changelog-json/v3.6.2.md deleted file mode 100644 index 6e234cbb92..0000000000 --- a/website/site/content/changelog-json/v3.6.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.6.2 Release -slug: 3.6.2 -date: '2016-10-25T02:01:10-07:00' -minor: -- Updates for the Insomnia Plus beta -fixes: -- Loading spinner no longer gets stuck when quitting the app mid-request ---- - diff --git a/website/site/content/changelog-json/v3.6.4.md b/website/site/content/changelog-json/v3.6.4.md deleted file mode 100644 index 29f69cbcc2..0000000000 --- a/website/site/content/changelog-json/v3.6.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2016-10-26T20:35:02-07:00 -title: Insomnia v3.6.4 Release -slug: 3.6.4 -minor: - - Added PURGE and FIND custom HTTP methods - - New setting to force stacked layout - - Prefer IPv6 addresses and fallback to IPv4 on failure (same behaviour as curl) -fixes: - - Fixed problem where editing environment name would overwrite changes ---- diff --git a/website/site/content/changelog-json/v3.6.6.md b/website/site/content/changelog-json/v3.6.6.md deleted file mode 100644 index c173848d69..0000000000 --- a/website/site/content/changelog-json/v3.6.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-10-27T03:58:48-07:00 -title: Insomnia v3.6.6 Release -slug: 3.6.6 -major: -- Added support for responses that return images -fixes: -- Fixed some minor edge cases thanks to better error reporting in the last update ---- - -There is now a setting to enable the cloud sync beta features! Give them a try -and let me know what you think! diff --git a/website/site/content/changelog-json/v3.6.7.md b/website/site/content/changelog-json/v3.6.7.md deleted file mode 100644 index d9194aa740..0000000000 --- a/website/site/content/changelog-json/v3.6.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-11-01T10:53:38-07:00 -title: Insomnia v3.6.7 Release -slug: 3.6.7 -major: -- New option to download responses in the response preview dropdown -minor: -- Synced workspaces no longer default to automatic mode -fixes: -- Better handling of ENETUNREACH error -- Minor tweaks an fixes for the cloud sync beta ---- diff --git a/website/site/content/changelog-json/v3.6.8.md b/website/site/content/changelog-json/v3.6.8.md deleted file mode 100644 index a6afb51c55..0000000000 --- a/website/site/content/changelog-json/v3.6.8.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2016-11-07T12:22:03-08:00 -title: Insomnia v3.6.8 Release -slug: 3.6.8 -minor: -- Minor improvements and bug fixes ---- diff --git a/website/site/content/changelog-json/v3.7.0.md b/website/site/content/changelog-json/v3.7.0.md deleted file mode 100644 index d915665c5b..0000000000 --- a/website/site/content/changelog-json/v3.7.0.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2016-11-15 -title: Insomnia v3.7.0 Release -slug: 3.7.0 -major: -- Insomnia Cloud Sync is here! -- Nested folders now supported -minor: -- Minor improvements and bug fixes -- Rearranges settings menus -fixes: -- Fixed incrementing response size on keep-alive connections -- App new refreshes after importing a Curl command ---- - -Version 3.7.0 brings with it the announcement of Insomnia Plus, a subscription add-on to Insomnia -that ensures all of your data is securely backed up and available on all of your devices! diff --git a/website/site/content/changelog-json/v3.7.1.md b/website/site/content/changelog-json/v3.7.1.md deleted file mode 100644 index 62f97601af..0000000000 --- a/website/site/content/changelog-json/v3.7.1.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2016-11-17 -title: Insomnia v3.7.1 Release -slug: 3.7.1 -minor: -- Improved error handling when editing form data -- Improved signup flow -fixes: -- Fix for environment not being used to render Query preview -- Minor bug fixes ---- diff --git a/website/site/content/changelog-json/v3.7.3.md b/website/site/content/changelog-json/v3.7.3.md deleted file mode 100644 index 3a8004c792..0000000000 --- a/website/site/content/changelog-json/v3.7.3.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2016-11-18 -title: Insomnia v3.7.3 Release -slug: 3.7.3 -minor: -- No longer automatically URL encode semicolons or commas in URL pathname -- Some minor improvements to sync logic -fixes: -- Fixed app updates requiring two restarts to take effect -- Fixed credit card form to support American Express cards ---- diff --git a/website/site/content/changelog-json/v4.0.12.md b/website/site/content/changelog-json/v4.0.12.md deleted file mode 100644 index cdc1180d0a..0000000000 --- a/website/site/content/changelog-json/v4.0.12.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-12-23 -title: Insomnia v4.0.12 Release -slug: 4.0.12 -major: -- Code editors now auto-closes brackets and quotes -fixes: -- Prevent sidebar dragging when editing request names -- Fix body still showing after switching to No Body -- Fix sidebar footer obscuring Beautify button when collapsed -- Added potential fix for some edge case DNS issues ---- diff --git a/website/site/content/changelog-json/v4.0.13.md b/website/site/content/changelog-json/v4.0.13.md deleted file mode 100644 index 731314a44a..0000000000 --- a/website/site/content/changelog-json/v4.0.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-12-30 -title: Insomnia v4.0.13 Release -slug: 4.0.13 -minor: -- Now import form data properly from Insomnia 2.0 -fixes: -- Fixed response size showing 0GB sometimes -- Temporary fix to automatically flush responses when DB file too big to load (256GB) -- Fixed filename not being added to multipart entries -- Fixed sync menu not showing up for some users ---- diff --git a/website/site/content/changelog-json/v4.0.2.md b/website/site/content/changelog-json/v4.0.2.md deleted file mode 100644 index 0db18ac0a8..0000000000 --- a/website/site/content/changelog-json/v4.0.2.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -date: 2016-12-01 -title: Insomnia v4.0.2 Release -slug: 4.0.2 -link: https://insomnia.rest/blog/insomnia-4-announcement/ -summary: "Insomnia 4.0 is here, and is packed with awesome features and improvements!" -major: -- Insomnia is now out of beta! -- Multipart form support (with files) -- Binary data support (file uploads) -- Response history viewer -- Support for importing Postman v2 and HTTP Archive (HAR) formats -- All query parameters, headers, form data, and authentication items are now toggleable -- New advanced sending options (hold CMD on Mac or Ctrl on Windows) -- Huge performance improvements!!! -minor: -- Much better support for cURL import format (past command into URL) -- Code generation now remembers your preferences -- Can now import query parameters from Url to query editor -- Changed default request body type to none, and improved selection process -- Dropdowns now scroll instead of being cut off if not enough room -- Selected tab now remembered when changing requests -- Can now delete your last workspace (will prompt to create a new one) -- Show milliseconds when hovering over response time -- Show bytes when hovering over response size -fixes: -- Fixed nested folders not highlighting correctly sometimes -- Requests are now activated after duplicating -- Lots and lots of small fixes -- Fixed various import bugs ---- - -I'm happy to announce that version 4.0 is here! This marks the end of the five month -beta period since launch. I would like to thank the over 400 people who I've talked -to that helped make Insomnia great. - - - -![Puppy Surprise](https://media.giphy.com/media/t0TNY68t8wq2Y/giphy.gif) - - - diff --git a/website/site/content/changelog-json/v4.0.5.md b/website/site/content/changelog-json/v4.0.5.md deleted file mode 100644 index 305c40626a..0000000000 --- a/website/site/content/changelog-json/v4.0.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-12-05 -title: Insomnia v4.0.5 Release -slug: 4.0.5 -minor: -- Curl import now supports form data -- Deleting header/query/form items now required a confirmation click -fixes: -- Fixed header/query/form delete functionality -- Fixed some bugs in the installation process from some machines -- Attempt to fix icon on some Linux distributions ---- diff --git a/website/site/content/changelog-json/v4.0.9.md b/website/site/content/changelog-json/v4.0.9.md deleted file mode 100644 index 1a8535567e..0000000000 --- a/website/site/content/changelog-json/v4.0.9.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2016-12-08 -title: Insomnia v4.0.9 Release -slug: 4.0.9 -minor: -- Curl import now supports application/x-www-form-urlencoded -- Better error handling during requests -- Create top level folder when importing Postman collection -- Add default Accept header to all requests -- Add default User-Agent header to all requests -fixes: -- Recursive environment variables with double quotes now work -- Second attempt at fixing app icon for certain Linux environments -- Fixes for more advanced Curl import commands ---- diff --git a/website/site/content/changelog-json/v4.1.1.md b/website/site/content/changelog-json/v4.1.1.md deleted file mode 100644 index c6ff22e524..0000000000 --- a/website/site/content/changelog-json/v4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2017-01-11 -title: Insomnia v4.1.1 Release -slug: 4.1.1 -summary: Welcome to 2017. This update brings support for Team sync and collaboration! -link: https://insomnia.rest/teams/ -major: -- Support for Insomnia Teams -minor: -- Sync is now more immediate -fixes: -- Manually set Host header no longer gets overridden -- Fixed synced workspaces reappearing after deletion -- Many other sync-related fixes ---- diff --git a/website/site/content/changelog-json/v4.2.0.md b/website/site/content/changelog-json/v4.2.0.md deleted file mode 100644 index 815ffa2f97..0000000000 --- a/website/site/content/changelog-json/v4.2.0.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2017-01-23 -title: Insomnia v4.2.0 Release -slug: 4.2.0 -link: https://insomnia.rest/blog/introducing-color-themes/ -major: -- Color Themes! -fixes: -- Fixed problems with editing cookies -- Fixed bug with sidebar drag-n-drop -- Minor URL encoding tweaks ---- - -Color themes are here! Check out the [Blog Post](/blog/introducing-color-themes/) for more info. - -Insomnia Premium Color Themes diff --git a/website/site/content/changelog-json/v4.2.11.md b/website/site/content/changelog-json/v4.2.11.md deleted file mode 100644 index 0d64b3bfed..0000000000 --- a/website/site/content/changelog-json/v4.2.11.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-02-07 -title: Insomnia v4.2.11 Release -slug: 4.2.11 -major: -- URLs in responses are now clickable -fixes: -- JSON pretty printing no longer parses as JavaScript (1.000 will not get rounded) -minor: -- Dropdowns in sidebar and on the send button now trigger on right-click -- Now support more than one level of recursive template variables ---- diff --git a/website/site/content/changelog-json/v4.2.14.md b/website/site/content/changelog-json/v4.2.14.md deleted file mode 100644 index 125a69e080..0000000000 --- a/website/site/content/changelog-json/v4.2.14.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-02-15 -title: Insomnia v4.2.14 Release -slug: 4.2.14 -major: -- Add support for private environments which will not be exported or synced -- Highlight Nunjucks variables in code editors -minor: -- Now show escaped unicode characters in response -- Add LINK and UNLINK HTTP methods -fixes: -- Render errors are now displayed again -- Fixed deleted synced resources sometimes reappearing ---- diff --git a/website/site/content/changelog-json/v4.2.2.md b/website/site/content/changelog-json/v4.2.2.md deleted file mode 100644 index 6e7fa9bd3d..0000000000 --- a/website/site/content/changelog-json/v4.2.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -date: 2017-01-25 -title: Insomnia v4.2.2 Release -slug: 4.2.2 -major: -- New editor key maps (Vim, Emacs, Sublime) -minor: -- Workspaces now visible in request switcher -fixes: -- Fixed issue with recursive environment variables not resolving -- Fixed webview background color not being white -- Fixed label click region in settings menu ---- diff --git a/website/site/content/changelog-json/v4.2.3.md b/website/site/content/changelog-json/v4.2.3.md deleted file mode 100644 index 5733e77364..0000000000 --- a/website/site/content/changelog-json/v4.2.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-01-26 -title: Insomnia v4.2.3 Release -slug: 4.2.3 -major: -- No longer lose body data when switching formats when possible -- Fixed memory leak for users with a lot of large request bodies -minor: -- Minor performance improvements in some areas -fixes: -- Fixed textarea padding in some menus ---- diff --git a/website/site/content/changelog-json/v4.2.4.md b/website/site/content/changelog-json/v4.2.4.md deleted file mode 100644 index ef6ee24e90..0000000000 --- a/website/site/content/changelog-json/v4.2.4.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-01-29 -title: Insomnia v4.2.4 Release -slug: 4.2.4 -fixes: -- Fixed pasting into URL not persisting -- Fixed webview background (again) ---- diff --git a/website/site/content/changelog-json/v4.2.5.md b/website/site/content/changelog-json/v4.2.5.md deleted file mode 100644 index 992c0eeae8..0000000000 --- a/website/site/content/changelog-json/v4.2.5.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2017-01-30 -title: Insomnia v4.2.5 Release -slug: 4.2.5 -fixes: -- Fixed pasting inside of URL ---- diff --git a/website/site/content/changelog-json/v4.2.7.md b/website/site/content/changelog-json/v4.2.7.md deleted file mode 100644 index 87d7a9b2a8..0000000000 --- a/website/site/content/changelog-json/v4.2.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-01-31 -title: Insomnia v4.2.7 Release -slug: 4.2.7 -major: -- Added ability to auto-download response bodies to file -fixes: -- Fixed sidebar filtering for nested folders -- Fixed binary file uploads missing Content-Length header -- Fixed pasting Curl command into URL wouldn't update URL -- Fixed code generation only operating on active request -minor: -- Clicking Cancel Account after trial ends now signs out ---- diff --git a/website/site/content/changelog-json/v4.2.8.md b/website/site/content/changelog-json/v4.2.8.md deleted file mode 100644 index 7d5d89ec17..0000000000 --- a/website/site/content/changelog-json/v4.2.8.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2017-02-01 -title: Insomnia v4.2.8 Release -slug: 4.2.8 -fixes: -- Fixed app crashing on first launch :( ---- diff --git a/website/site/content/changelog-json/v4.2.9.md b/website/site/content/changelog-json/v4.2.9.md deleted file mode 100644 index db0982eefc..0000000000 --- a/website/site/content/changelog-json/v4.2.9.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-02-02 -title: Insomnia v4.2.9 Release -slug: 4.2.9 -fixes: -- Fixed network request DNS fallback logic in some cases -- Minor bug fixes ---- diff --git a/website/site/content/changelog-json/v5.0.1.md b/website/site/content/changelog-json/v5.0.1.md deleted file mode 100644 index caf9dc01e0..0000000000 --- a/website/site/content/changelog-json/v5.0.1.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -date: 2017-04-05 -title: Insomnia v5.0.1 Release -slug: 5.0.1 -summary: Version 5.0 is here and it is the biggest release yet! -link: https://insomnia.rest/blog/insomnia-5-announcement/ -major: - - Contextual autocomplete for environments, URLs, header names/values, and more - - All key-value editors are now sortable - - Add OAuth 2.0, Digest, and NTLM authentication - - New Timeline response tab that shows much more detail about the request - - Environment variables and template tags now highlighted throughout the app - - Replaced NodeJS networking backend with libcurl - - Added per-request settings for controlling cookies, template rendering, and URL encoding - - Proxy now supports Digest and NTLM auth types - - Support for custom HTTP methods - - App panes now resizable when in vertical layout - - Many minor performance improvements -minor: - - Environment editor now respects line wrap setting - - App now prompts to sync unrecognized workspaces instead of syncing without asking - - Response view types have been reworked to behave more intuitively - - Enable context (right-click) menu in response web view - - Request body syntax highlighting recognizes more content-types - - Better errors for render failures - - HTTP proxy can now be toggled on and off - - Tabs no longer lose state after switching - - Update bracket match style in editor - - Window title now reflects active workspace and request - - Header names now trimmed of whitespace before sending - - Add warning when environments exist, but none are selected - - Better styling of numeric counters on tabs - - Added tooltip help hints in various places -fixes: - - No longer auto-encode equals sign in URL path - - Cookies now stored on redirects - - More reliable sort order after duplicating requests - - Clicking on workspaces in request switcher now works again - - More reliable querystring importing - - Fixed drag-n-drop support within code editor - - Headers editor now refreshed after changing body content-type ---- - diff --git a/website/site/content/changelog-json/v5.0.10.md b/website/site/content/changelog-json/v5.0.10.md deleted file mode 100644 index 1b9bd243b0..0000000000 --- a/website/site/content/changelog-json/v5.0.10.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -date: 2017-04-20 -title: Insomnia v5.0.10 Release -slug: 5.0.10 -summary: Not much new – just lots of fixes and improvements! -minor: - - Improved autocompletion suggestion of URLs - - Leave Content-Type header in place when switching body type to Other -fixes: - - Fixed automatic gzip decoding of responses if Accept header set manually - - Correctly handle ISO-8859-1 responses - - Prevent showing autocomplete if input loses focus - - Now send correct grant type during OAuth 2.0 token refresh - - OAuth 2.0 now shows when token expires - - Prevent request from sending twice sometimes via keyboard shortcut - - No longer fail when HEAD requests return body ---- - diff --git a/website/site/content/changelog-json/v5.0.12.md b/website/site/content/changelog-json/v5.0.12.md deleted file mode 100644 index 88b35210b0..0000000000 --- a/website/site/content/changelog-json/v5.0.12.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-05-03 -title: Insomnia v5.0.12 Release -slug: 5.0.12 -minor: - - Add ability to import from URL - - Made theme more compact - - Performance improvements -fixes: - - Better handling of Windows line endings - - Fixed importing curl commands containing question marks - - Minor bug fixes ---- - diff --git a/website/site/content/changelog-json/v5.0.2.md b/website/site/content/changelog-json/v5.0.2.md deleted file mode 100644 index 13102af345..0000000000 --- a/website/site/content/changelog-json/v5.0.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-04-07 -title: Insomnia v5.0.2 Release -slug: 5.0.2 -summary: Check out the full version 5.0 announcement if you missed it! -link: https://insomnia.rest/blog/insomnia-5-announcement/ -major: - - Added new base64 encode/decode template tag -minor: - - More reliable file uploads -fixes: - - Fixed body type selection in Create Request dialog - - Fixed minor bug with OAuth 2.0 access token handling - - Now escape unicode double quotes during JSON formatting - - Fixed ampersands in clicked links ---- - diff --git a/website/site/content/changelog-json/v5.0.20.md b/website/site/content/changelog-json/v5.0.20.md deleted file mode 100644 index 681b1dffc0..0000000000 --- a/website/site/content/changelog-json/v5.0.20.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-05-05 -title: Insomnia v5.0.20 Release -slug: 5.0.20 -minor: - - Behind-the-scenes update for new auto-update server ---- - diff --git a/website/site/content/changelog-json/v5.0.3.md b/website/site/content/changelog-json/v5.0.3.md deleted file mode 100644 index 1a95913cb2..0000000000 --- a/website/site/content/changelog-json/v5.0.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2017-04-09 -title: Insomnia v5.0.3 Release -slug: 5.0.3 -fixes: - - Fix Content-Length on binary file uploads - - Send more specific Content-Type in multipart uploads - - Fix cursors resetting to start of input when switching apps ---- - diff --git a/website/site/content/changelog-json/v5.0.4.md b/website/site/content/changelog-json/v5.0.4.md deleted file mode 100644 index 5a7bd2ee9b..0000000000 --- a/website/site/content/changelog-json/v5.0.4.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-04-11 -title: Insomnia v5.0.4 Release -slug: 5.0.4 -minor: - - Add keyboard shortcut to view hotkey help - - Remove var prefix on environment variables - - Add link to httpsnippet library in code generation dialog -fixes: - - Fix cursor unfocusing when editing environment variables - - No longer add default content-type or content-length when no request body - - Quick switcher now scrolls properly again ---- - diff --git a/website/site/content/changelog-json/v5.0.5.md b/website/site/content/changelog-json/v5.0.5.md deleted file mode 100644 index 5b12aeac4b..0000000000 --- a/website/site/content/changelog-json/v5.0.5.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2017-04-14 -title: Insomnia v5.0.5 Release -slug: 5.0.5 -summary: A few last remaining fixes after the 5.0 launch. Thanks for all the feedback! -minor: - - New setting to specify indent size in code editors -fixes: - - Minor bug fixes ---- - diff --git a/website/site/content/changelog-json/v5.1.0.md b/website/site/content/changelog-json/v5.1.0.md deleted file mode 100644 index 6a06829449..0000000000 --- a/website/site/content/changelog-json/v5.1.0.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -date: 2017-05-24 -title: Insomnia v5.1.0 Release -slug: 5.1.0 -summary: This is the first release containing open-source contributions. Thanks to all contributors! -major: - - New option to auto-hide menubar on Windows and Linux! - - New template tag to reference values from other responses - - More friendly Template Tag editor - - Ability to save full HTTP response to file, including headers -minor: - - Data exports now have friendlier names - - Unreferenced template tags are longer rendered -fixes: - - Fix cookie handling for localhost domains - - Better handle of JSON when root is a String - - File selector no longer clears file on Cancel - - Many more fixes fixes ---- diff --git a/website/site/content/changelog-json/v5.1.1.md b/website/site/content/changelog-json/v5.1.1.md deleted file mode 100644 index 7699fc6e3c..0000000000 --- a/website/site/content/changelog-json/v5.1.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2017-05-29 -title: Insomnia v5.1.1 Release -slug: 5.1.1 -major: - - Environment editor now warns about invalid variable names and errors -minor: - - OAuth now uses a password field for password credentials - - OAuth authorization window session is now cleared on app launch - - Now show folder as prefix when selecting requests for Response Value tag - - More appropriate size for app icon -fixes: - - Fix right-click context menu staying open - - No longer error when response contains invalid cookie - - Always include equals sign in x-www-form-urlencoded bodies when value is empty ---- diff --git a/website/site/content/changelog-json/v5.10.1.md b/website/site/content/changelog-json/v5.10.1.md deleted file mode 100644 index 79508b84ad..0000000000 --- a/website/site/content/changelog-json/v5.10.1.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -date: 2017-11-01 -title: Insomnia v5.10.1 Release -slug: 5.10.1 -channel: stable -major: -- Ability to export workspace as HAR (PR:523:Atvaark) -- Can now drag-n-drop files to import -- Client certificates can now be made private (never synced) -- GraphQL now sends operationName automatically -- New template tags for hashing and reading files -fixes: -- Fixed cookies being deleted when editing (sometimes) -- Closing environment editor too quickly no longer loses changes -- Multipart handling works with large files again (above 2GB) -- Other minor fixes -minor: -- Minor tweaks to template tag editor -- Keyboard shortcut to refresh all plugins -- New plugin API methods to set request settings (eg. cookie send behavior) ---- diff --git a/website/site/content/changelog-json/v5.11.0.md b/website/site/content/changelog-json/v5.11.0.md deleted file mode 100644 index d81a76f6c2..0000000000 --- a/website/site/content/changelog-json/v5.11.0.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -date: 2017-11-08 -title: Insomnia v5.11.0 Release -slug: 5.11.0 -channel: stable -major: -- OAuth 1.0 Support (PR:571:besolov) -- Atlassian ASAP Auth Support (PR:566:gerrytan) -- No longer require global npm to install plugins (included standalone Yarn) -fixes: -- Fix GraphQL autocompletion not working -- Fix scroll jumping issue in key-value editors (headers, query, etc) -- Fix Cmd+Enter conflict in Sublime keymap -- Fix for raw cookie editor deleting cookies -minor: -- Print Curl version in Timeline -- Template tag editor no longer has delay when opening -- Added debug logging to OAuth 2.0 flow -- Support wildcards in port for client certificates -- Use more unique temporary director name to avoid conflicts -- No longer send default Accept and Accept-Encoding headers ---- diff --git a/website/site/content/changelog-json/v5.11.5.md b/website/site/content/changelog-json/v5.11.5.md deleted file mode 100644 index 29d53b5616..0000000000 --- a/website/site/content/changelog-json/v5.11.5.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-11-10 -title: Insomnia v5.11.5 Release -slug: 5.11.5 -channel: stable -fixes: -- Fix bug where dragging a folder into itself would make it disappear -minor: -- OAuth 2.0 requests now use same settings as current request -- Environment editor now refreshes from sync change when it's open -- Improvements to Curl importer -- Add back default Accept header from v5.11.0 but not Accept-Encoding -- New keyboard shortcut to delete active request -- Prompt user to automatically change Content-Type when binary file is selected -- Update documentation links to point to new support website ---- - diff --git a/website/site/content/changelog-json/v5.11.7.md b/website/site/content/changelog-json/v5.11.7.md deleted file mode 100644 index 21089d33c2..0000000000 --- a/website/site/content/changelog-json/v5.11.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-11-14 -title: Insomnia v5.11.7 Release -slug: 5.11.7 -channel: stable -major: -- First-party support for viewing multipart responses -fixes: -- Accept header now overridable again -- Support showing multiple response headers with the same name ---- - diff --git a/website/site/content/changelog-json/v5.12.0-beta.2.md b/website/site/content/changelog-json/v5.12.0-beta.2.md deleted file mode 100644 index 2f39948b1b..0000000000 --- a/website/site/content/changelog-json/v5.12.0-beta.2.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -date: 2017-11-21 -title: Insomnia v5.12.0 Beta 2 -slug: 5.12.0-beta.2 -channel: beta -major: -- Less obtrusive update notification -fixes: -- Support for downloading huge files (over ~2GB) -- Fixed HAWK algorithm selection -minor: -- Response timer always shows 1 decimal place (PR:617:k-nut) -- Ability to specify auto-update channel -- Ability to disable auto-updates -- Moved database to the Electron main thread -- Use Google analytics API directly (no more external JS!) ---- - -Thanks to [@lifewcody](https://github.com/lifewcody) for helping debug large file downloads. diff --git a/website/site/content/changelog-json/v5.12.0-beta.3.md b/website/site/content/changelog-json/v5.12.0-beta.3.md deleted file mode 100644 index 6fc61a1690..0000000000 --- a/website/site/content/changelog-json/v5.12.0-beta.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-11-23 -title: Insomnia v5.12.0 Beta 3 -slug: 5.12.0-beta.3 -channel: beta -fixes: -- Fix environment editor not saving immediately after fixing an error -- Fix environment editor not always refreshing after data sync -minor: -- Faster storing of large response bodies -- Provide a convenient save button when large response gets hidden ---- diff --git a/website/site/content/changelog-json/v5.12.0.md b/website/site/content/changelog-json/v5.12.0.md deleted file mode 100644 index 4421e6f1ba..0000000000 --- a/website/site/content/changelog-json/v5.12.0.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-11-23 -title: Insomnia v5.12.0 -slug: 5.12.0 -draft: true -summary: Thanks to @lifewcody for helping debug large file downloads. -major: -- Less obtrusive update notification -fixes: -- Support for downloading huge files (over ~2GB) -- Fixed HAWK algorithm selection -minor: -- Response timer always shows 1 decimal place (PR:617:k-nut) -- Ability to specify auto-update channel -- Ability to disable auto-updates -- Moved database to the Electron main thread -- Use Google analytics API directly (no more external JS!) ---- - -Thanks to [@lifewcody](https://github.com/lifewcody) for helping debug large file downloads. diff --git a/website/site/content/changelog-json/v5.2.0.md b/website/site/content/changelog-json/v5.2.0.md deleted file mode 100644 index bad168f4b7..0000000000 --- a/website/site/content/changelog-json/v5.2.0.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-06-06 -title: Insomnia v5.2.0 Release -slug: 5.2.0 -major: - - Ability to document requests and workspaces using Markdown - - Added Bearer authentication helper - - Added setting to whitelist hostnames from proxy setting - - Ability to duplicate workspace -minor: - - Setting to disable analytics tracking - - URL preview copy button - - Experimental plugin support (still undocumented) -fixes: - - Fixed Client Credentials setting in OAuth form not changing - - Other minor UI fixes ---- diff --git a/website/site/content/changelog-json/v5.3.0.md b/website/site/content/changelog-json/v5.3.0.md deleted file mode 100644 index 9bcb1a11ff..0000000000 --- a/website/site/content/changelog-json/v5.3.0.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -date: 2017-06-12 -title: Insomnia v5.3.0 Release -slug: 5.3.0 -major: -- Multi-line text values now supported in form data editors -- New template tag to reference cookie values -- Request snapshot now stored and recovered with response history -- Previous response filters are now persisted -minor: -- Can now send requests with cmdOrCtr+R or F5 keys -- Added ability to delete custom HTTP methods -- Added ability to delete current response -- Markdown descriptions now sanitize HTML input -- Markdown descriptions now selectable -- Postman imports now included description field -fixes: -- More robust JSON formatting on content containing escaped characters -- Fix stale requests sometimes being sent soon after editing URL -- Query preview view now scrolls when too long ---- diff --git a/website/site/content/changelog-json/v5.3.3.md b/website/site/content/changelog-json/v5.3.3.md deleted file mode 100644 index 1a6f86597d..0000000000 --- a/website/site/content/changelog-json/v5.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2017-06-13 -title: Insomnia v5.3.3 Release -slug: 5.3.3 -major: -- Can now sort requests and folders together in sidebar -fixes: -- Fix Markdown description editor height from last update -- Much more robust handling when sorting nested sidebar items ---- diff --git a/website/site/content/changelog-json/v5.3.6.md b/website/site/content/changelog-json/v5.3.6.md deleted file mode 100644 index eb0e720a84..0000000000 --- a/website/site/content/changelog-json/v5.3.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-06-15 -title: Insomnia v5.3.6 Release -slug: 5.3.6 -minor: -- Added option to use custom date format with Timestamp tag -fixes: -- Improve cookie handling with redirects -- Fixed workspace duplication active environment bug -- Fixed status tag in response history showing ERROR for responses with no HTTP Reason -- Fixed autocomplete constants filling with undefined ---- diff --git a/website/site/content/changelog-json/v5.4.0.md b/website/site/content/changelog-json/v5.4.0.md deleted file mode 100644 index ef866bc073..0000000000 --- a/website/site/content/changelog-json/v5.4.0.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -date: 2017-06-22 -title: Insomnia v5.4.0 Release -slug: 5.4.0 -major: -- Support for unix domain sockets using URL format http://unix:SOCKET:PATH -- Dedicated Description tab for request documentation -- Wildcards now supported in client certificate host -minor: -- Dropdowns within tabs now only open if tab is already active -- Tab lists now scrolls horizontally when too long -- Markdown description style improvements -- Vastly improved dropdown positioning algorithm -- Add back ability to change text editor keymap to Sublime Text -fixes: -- Prevent opening links multiple times in description preview -- Fixed Content-Length not being sent with initial NTLM authorization request -- Fixed client certificate toggling not working ---- - - diff --git a/website/site/content/changelog-json/v5.5.2.md b/website/site/content/changelog-json/v5.5.2.md deleted file mode 100644 index fc9c3c5ccf..0000000000 --- a/website/site/content/changelog-json/v5.5.2.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2017-06-30 -title: Insomnia v5.5.2 Release -slug: 5.5.2 -major: -- Added ability to preview PDF responses (PR:325:Antoine38660) -- Added ability to assign colors to environments (PR:334) -- All dropdown menus are now filterable by typing (PR:340) -minor: -- Window maximized state now remembered -- Response bodies no longer stored in memory (PR:338) -fixes: -- Fixed dropdown dismissing reliability inside modal dialogs -- Fixed unix hostname being confused with domain socket syntax ---- diff --git a/website/site/content/changelog-json/v5.6.1.md b/website/site/content/changelog-json/v5.6.1.md deleted file mode 100644 index b609a57a01..0000000000 --- a/website/site/content/changelog-json/v5.6.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2017-07-17 -title: Insomnia v5.6.1 Release -slug: 5.6.1 -major: -- Basic AWS authentication v4 support (PR:347:focusaurus) -- Fuzzy searching support for request switcher (PR:204:dmlittle) -- Prompt to include private environments on data export, if any exist -minor: -- More useful error messages in Request Cookie template tag -- Add application/vnd.api+json to Content-Type autocomplete (PR:349:synthtech) -fixes: -- null values within environments no longer break autocomplete -- Better handling of environment variables containing Template Tags -- Handle protocol-less URLs in OAuth 2 settings (PR:346:NicholasMata) ---- diff --git a/website/site/content/changelog-json/v5.6.3.md b/website/site/content/changelog-json/v5.6.3.md deleted file mode 100644 index 291b9e7394..0000000000 --- a/website/site/content/changelog-json/v5.6.3.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2017-07-18 -title: Insomnia v5.6.3 Release -slug: 5.6.3 -fixes: -- Fixed downloading response bodies ---- diff --git a/website/site/content/changelog-json/v5.7.0.md b/website/site/content/changelog-json/v5.7.0.md deleted file mode 100644 index 258e6fe255..0000000000 --- a/website/site/content/changelog-json/v5.7.0.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -date: 2017-08-02 -title: Insomnia v5.7.0 Release -slug: 5.7.0 -channel: stable -major: -- New GraphQL request body type -- New netrc authentication type (PR:384:moxuz) -minor: -- Add autodetection for XML when no Content-Type present -- Workspaces created by import or sync now marked indicated in UI -- Data imports no longer update modified time -- Plugin system improvements (still experimental) -- Data sync networking improvements -fixes: -- Fixed downloading response bodies -- Do not include literal newline characters in Curl snippets -- Change HTTP method to GET on redirects -- Fix AWS authentication for GET requests -- Colons in header values now handled properly -- No longer close search box on Enter ---- diff --git a/website/site/content/changelog-json/v5.7.10.md b/website/site/content/changelog-json/v5.7.10.md deleted file mode 100644 index 676d34ca88..0000000000 --- a/website/site/content/changelog-json/v5.7.10.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-08-12T10:00:00-07:00 -title: Insomnia v5.7.10 Release -slug: 5.7.10 -channel: stable -fixes: -- Fixed race condition causing request creation to fail -- Large response size check now uses uncompressed size -- Fixed invalid cookies causing code generation to break -minor: -- Show both compressed and uncompressed of responses ---- diff --git a/website/site/content/changelog-json/v5.7.11.md b/website/site/content/changelog-json/v5.7.11.md deleted file mode 100644 index 48f1b8abd8..0000000000 --- a/website/site/content/changelog-json/v5.7.11.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-08-12T15:00:00-07:00 -title: Insomnia v5.7.11 Release -slug: 5.7.11 -channel: stable -fixes: -- Fixed some modal dialogs not refreshing when opened ---- diff --git a/website/site/content/changelog-json/v5.7.12.md b/website/site/content/changelog-json/v5.7.12.md deleted file mode 100644 index bf0e804d17..0000000000 --- a/website/site/content/changelog-json/v5.7.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2017-08-14 -title: Insomnia v5.7.12 Release -slug: 5.7.12 -channel: stable -fixes: -- GraphQL schema fetching failed when using environment variables -- Copying large text blobs sometimes yielded a hyphen -minor: -- Now show render errors when fetching GraphQL schema ---- diff --git a/website/site/content/changelog-json/v5.7.14.md b/website/site/content/changelog-json/v5.7.14.md deleted file mode 100644 index c7f5cf0538..0000000000 --- a/website/site/content/changelog-json/v5.7.14.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2017-08-16 -title: Insomnia v5.7.14 Release -slug: 5.7.14 -channel: stable -summary: Sorry to those Windows users who were impacted by hanging requests! -fixes: -- Fixed requests hanging for a subset of Windows users -minor: -- Made max redirects configurable in settings ---- diff --git a/website/site/content/changelog-json/v5.7.4.md b/website/site/content/changelog-json/v5.7.4.md deleted file mode 100644 index 3ddc4875b8..0000000000 --- a/website/site/content/changelog-json/v5.7.4.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2017-08-04 -title: Insomnia v5.7.4 Release -slug: 5.7.4 -channel: stable -major: -- Template tags now work with prettify feature -fixes: -- Fixed GraphQL incorrectly JSON stringifying variables body -minor: -- More accurate logic for catching OAuth redirect URL (PR:396:starJammer) -- Added Help menu item for displaying keyboard shortcuts -- Added contact link to About section -- Default GraphQL introspection query content-type to application/json ---- diff --git a/website/site/content/changelog-json/v5.7.9.md b/website/site/content/changelog-json/v5.7.9.md deleted file mode 100644 index 17d9bc1787..0000000000 --- a/website/site/content/changelog-json/v5.7.9.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-08-11 -title: Insomnia v5.7.9 Release -slug: 5.7.9 -channel: stable -fixes: -- Cap number of redirects to 20 (instead of unlimited) -- Over-selecting input bounds no longer clears selection -- Don't allow password input text to be copied -- Some performance improvements -minor: -- Add ability to specify Authorization token prefix for OAuth 2.0 Requests -- GraphQL schema introspection requests now apply cookies, auth, and all other Insomnia features -- GraphQL prettify no longer recursively stringifies variables object -- Display schema fetch information for GraphQL -- Automatically switch to POST when choosing GraphQL body ---- diff --git a/website/site/content/changelog-json/v5.8.2.md b/website/site/content/changelog-json/v5.8.2.md deleted file mode 100644 index cddec7931d..0000000000 --- a/website/site/content/changelog-json/v5.8.2.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-09-11 -title: Insomnia v5.8.2 Release -slug: 5.8.2 -channel: stable -major: -- New cookie editing flow (PR:448:BeeeQueue) -- Support templating in cookies (PR:448:BeeeQueue) -- HAWK authentication (PR:446:jgiovaresco) -fixes: -- Blocker for large responses works again -- Prevent modal dialogs from closing when escaping autocomplete -- Prevent Content-Length integer overflow for uploads over 2GB -minor: -- Environment functions on plugin API (PR:443:Xuanwo) -- Fuzzy filtering now used in all UI filter inputs -- Request method now shown in tag editor (PR:453:derpoho) -- Don't touch already-encoded characters in URL -- Add HTML content-type detection ---- diff --git a/website/site/content/changelog-json/v5.8.3.md b/website/site/content/changelog-json/v5.8.3.md deleted file mode 100644 index 6adb87df8f..0000000000 --- a/website/site/content/changelog-json/v5.8.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2017-09-13 -title: Insomnia v5.8.3 Release -slug: 5.8.3 -channel: stable -fixes: -- Fixed cookie jar not being created for new workspaces -minor: -- Add button to refresh GraphQL schema (PR:481:ganderzz) ---- diff --git a/website/site/content/changelog-json/v5.8.4.md b/website/site/content/changelog-json/v5.8.4.md deleted file mode 100644 index 51595f18e7..0000000000 --- a/website/site/content/changelog-json/v5.8.4.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -date: 2017-09-18 -title: Insomnia v5.8.4 Release -slug: 5.8.4 -channel: stable -major: -- More keyboard shortcuts (see preferences for details) -- Properly catch and handle plugin errors on app launch -fixes: -- Fixed GraphQL and cookie list scroll overflow issue -minor: -- Added menu item to show dev tools ---- diff --git a/website/site/content/changelog-json/v5.9.2.md b/website/site/content/changelog-json/v5.9.2.md deleted file mode 100644 index bf2662b636..0000000000 --- a/website/site/content/changelog-json/v5.9.2.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -date: 2017-10-12 -title: Insomnia v5.9.2 Release -slug: 5.9.2 -channel: stable -major: -- Can now use environment variables inside template tags -fixes: -- Autocomplete no longer breaks on template tags containing no arguments (rare case) -- Null values in environments no longer cause problems -- Fix client certificates not working sometimes on Windows -- Fix AWS auth for non POST/GET methods -minor: -- Support attribute XPath queries -- Faster prettify for large responses -- File downloads now use name from Content-Disposition header when available -- Upgrade to React 16 (10% faster render performance) -- Auto-select active environment when opening environment editor -- Added menu option to show app data folder -- Improved robustness of template tag editor ---- - diff --git a/website/site/content/changelog-json/v5.9.6.md b/website/site/content/changelog-json/v5.9.6.md deleted file mode 100644 index d3ea1326ec..0000000000 --- a/website/site/content/changelog-json/v5.9.6.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-10-13 -title: Insomnia v5.9.6 Release -slug: 5.9.6 -channel: stable -major: -- Rewrote PDF response preview for better performance and retina support -- Can now use boolean type in template tag arguments (plugins) -fixes: -- PDF response preview works again -- Render failures in cookie dialog no longer prevent it from opening -- Fix refresh button in template tag editor -- Add React 16 error boundaries so unhandled errors will do less harm -minor: -- Moved multipart/form-data generation from libcurl into Insomnia -- New setting to display all template tags and variables in raw text ---- - - - diff --git a/website/site/content/changelog/v3.0.10.md b/website/site/content/changelog/v3.0.10.md deleted file mode 100644 index 8241e4c7e2..0000000000 --- a/website/site/content/changelog/v3.0.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.0.10 Release -slug: 3.0.10 -date: '2016-07-25T20:31:28-07:00' -major: -- Redesigned interface -- No longer a Chrome app -- Lots more! ---- - -Welcome to the first beta release of v3.0! If you have any complaints, -questions, comments, or just want to chat, send an email to -support@insomnia.rest. diff --git a/website/site/content/changelog/v3.0.11.md b/website/site/content/changelog/v3.0.11.md deleted file mode 100644 index af02763768..0000000000 --- a/website/site/content/changelog/v3.0.11.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Insomnia v3.0.11 Release -slug: 3.0.11 -date: '2016-07-27T19:33:15-07:00' -major: -- Format JSON even when JSON content-type response header missing -- Remember last window size and position on launch -minor: -- Made the import feature more apparent on first launch -- Now check for updates every hour (instead of just on launch) -fixes: -- Drag-n-drop folders now works again (oops) -- Adjusted sidebar colors for better visibility ---- - -Here a few minor updates based on the first round of beta feedback. Keep -sending your feedback to support@insomnia.rest :) diff --git a/website/site/content/changelog/v3.0.13.md b/website/site/content/changelog/v3.0.13.md deleted file mode 100644 index 5671020513..0000000000 --- a/website/site/content/changelog/v3.0.13.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.0.13 Release -slug: 3.0.13 -date: '2016-07-28T18:19:47-07:00' -major: -- Added setting to disable SSL validation -- Save and send cookies (more/better cookie support coming soon...) -minor: -- Made initial app window size larger -- Specify that environment data needs to be JSON format -fixes: -- Fixed bug where certain input fields would override user input -- Params editor now scrolls when too long ---- - diff --git a/website/site/content/changelog/v3.0.14.md b/website/site/content/changelog/v3.0.14.md deleted file mode 100644 index 20e4ab2579..0000000000 --- a/website/site/content/changelog/v3.0.14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.0.14 Release -slug: 3.0.14 -date: '2016-07-29T16:31:40-07:00' -fixes: -- Environment editor now updates properly again -minor: -- Adjusted cursor padding in the request body editor -- 'Remember zoom level on app launch (note: your saved window size/position will -be reset)' ---- - -Just a few minor fixes. Nothing to see here... diff --git a/website/site/content/changelog/v3.0.15.md b/website/site/content/changelog/v3.0.15.md deleted file mode 100644 index 2a4a04eaf1..0000000000 --- a/website/site/content/changelog/v3.0.15.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.0.15 Release -slug: 3.0.15 -date: '2016-07-29T20:31:19-07:00' -fixes: -- Request body editor now updates again when changing modes -- JSON highlighting edge case fixed ---- - -A few more small things before the weekend. diff --git a/website/site/content/changelog/v3.0.16.md b/website/site/content/changelog/v3.0.16.md deleted file mode 100644 index 3616502fe4..0000000000 --- a/website/site/content/changelog/v3.0.16.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Insomnia v3.0.16 Release -slug: 3.0.16 -date: '2016-08-03T16:57:51-07:00' -fixes: -- Fix for app crash on first launch ---- - diff --git a/website/site/content/changelog/v3.2.0.md b/website/site/content/changelog/v3.2.0.md deleted file mode 100644 index 12b8be2787..0000000000 --- a/website/site/content/changelog/v3.2.0.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Insomnia v3.2.0 Release -slug: 3.2.0 -date: '2016-08-09T22:13:16-07:00' -major: -- Can now create global environments! (folder environments will extend them) -- Cookie management! View/create/update/delete those tasty cookies -- Now generate code snippets for nodeJS, Java, Python, Go, and more! -- Added new Cookies tab to response pane -- Added network proxy setting (experimental) -minor: -- Now prompt for name when creating new requests and folders -- Now support Nunjucks templating in form data bodies -- Focusing URL bar (cmd+L) now selects text all text -- Minor style updates -- Exported data now includes workspace information -- Added ability to export only the current workspace -fixes: -- Data export now exports properly (was broken before) -- Fixed the key/value editor from resetting cursor while typing -- Send-request keyboard shortcut no longer adds new key/value pairs ---- - -This release brings cookie management, global environments, and code snippet -generation. diff --git a/website/site/content/changelog/v3.2.1.md b/website/site/content/changelog/v3.2.1.md deleted file mode 100644 index 637aa5e8a4..0000000000 --- a/website/site/content/changelog/v3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Insomnia v3.2.1 Release -slug: 3.2.1 -date: '2016-08-17T17:49:00-07:00' -fixes: -- Settings dialog no longer resets after toggling -- Request duplication works again -- Silence auto-update errors when no internet -minor: -- Params tab Url Preview is now selectable -- Add hotkey for app minimize ---- diff --git a/website/site/content/changelog/v3.2.2.md b/website/site/content/changelog/v3.2.2.md deleted file mode 100644 index aaa9069031..0000000000 --- a/website/site/content/changelog/v3.2.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.2.2 Release -slug: 3.2.2 -date: '2016-08-23T17:56:50-07:00' -fixes: -- Cookies dialog showed nothing in some cases -minor: -- Linux version will now prompt when an update is available ---- - diff --git a/website/site/content/changelog/v3.2.3.md b/website/site/content/changelog/v3.2.3.md deleted file mode 100644 index fde96055c6..0000000000 --- a/website/site/content/changelog/v3.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Insomnia v3.2.3 Release -slug: 3.2.3 -date: '2016-08-28T17:56:50-07:00' -major: -- Added ability to edit headers in bulk -fixes: -- Environment manager now shows detailed JSON errors when invalid -minor: -- Improved menu bar menus on MacOS -- Update Nunjucks to version 2.4.2 ---- - -Bulk header editing is back for those who missed it coming from version 2.0! diff --git a/website/site/content/changelog/v3.2.6.md b/website/site/content/changelog/v3.2.6.md deleted file mode 100644 index 5b25735747..0000000000 --- a/website/site/content/changelog/v3.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Insomnia v3.2.6 Release -slug: 3.2.6 -date: '2016-09-01T17:56:50-07:00' -fixes: -- Stop checking for updates after initial update prompt -minor: -- Add helpful hints on certain request errors -- Increased default font size (adjustable with ctrl+Plus and ctrl+Minus) ---- - diff --git a/website/site/content/changelog/v3.2.9.md b/website/site/content/changelog/v3.2.9.md deleted file mode 100644 index e7da652590..0000000000 --- a/website/site/content/changelog/v3.2.9.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Insomnia v3.2.9 Release -slug: 3.2.9 -date: '2016-09-03T17:56:50-07:00' -fixes: -- Properly encode URI paths (like v2.0 used to) -- Copy/paste from context menu now works on Windows and Linux -minor: -- More flexible JSON content-type matching for responses -- Editor rendering no longer blocks UI navigation on larger responses ---- - diff --git a/website/site/content/changelog/v3.3.1.md b/website/site/content/changelog/v3.3.1.md deleted file mode 100644 index e2379f2044..0000000000 --- a/website/site/content/changelog/v3.3.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.3.1 Release -slug: 3.3.1 -date: '2016-09-05T17:56:50-07:00' -fixes: -- Small bug causing some dialogs to not work -major: -- Improved speed of rendering large responses -- Old responses are no longer kept around when not needed -- Decreased initial app loading times -- Reduced RAM usage ---- - -Feature development for the public beta is coming to an end so this release -is all about performance. diff --git a/website/site/content/changelog/v3.3.2.md b/website/site/content/changelog/v3.3.2.md deleted file mode 100644 index 9e11d86980..0000000000 --- a/website/site/content/changelog/v3.3.2.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insomnia v3.3.2 Release -slug: 3.3.2 -date: '2016-09-10T17:56:50-07:00' -fixes: -- Template variables were being persisted after render in some cases -- Fixed incorrect binding of checkbox label in settings ---- - diff --git a/website/site/content/changelog/v3.4.1.md b/website/site/content/changelog/v3.4.1.md deleted file mode 100644 index b2ce6f8d87..0000000000 --- a/website/site/content/changelog/v3.4.1.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Insomnia v3.4.1 Release -slug: 3.4.1 -date: '2016-09-13T17:56:50-07:00' -major: -- XML response formatting -- XPath and JSONPath filtering for responses -- Workspaces now appear in the Quick Switcher -- Hide the sidebar with ctrl+\\ (cmd on Mac) -- Use template variables inside environments -- Ability to beautify the request body for JSON or XML -- Added button to cancel the current request -minor: -- Added ability to duplicate folders -- Add extra prompt before deleting things -- Added Nunjucks tags {% timestamp %} and {% uuid %} -- Renamed Params tab to Query to avoid confusion -- Improved response Raw view performance -- Comments in editor are now more visible -- Reduced update check frequency from 30 minutes to 3 hours -fixes: -- Fixed minor bug with Curl import -- Querystring is now added to generated code (oops) -- Can now re-open window via doc icon if closed (Mac) -- HTTPS proxy now works again -- Dragging sidebar dropdowns no longer triggers drag-n-drop -- Global shortcuts (like sending request) are now prevented when dialogs are open ---- - -I want to start off by saying hello to everyone who found Insomnia on the front -page of Hacker News! This update addresses some of the feedback received from -over 200 email conversations. - -Enjoy! diff --git a/website/site/content/changelog/v3.4.4.md b/website/site/content/changelog/v3.4.4.md deleted file mode 100644 index a83c8d7bdf..0000000000 --- a/website/site/content/changelog/v3.4.4.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.4.4 Release -slug: 3.4.4 -date: '2016-09-21T01:58:49-07:00' -minor: -- Specify better default monospace font for Windows -fixes: -- Fixed environments not refreshing or updating sometimes -- Fixed sidebar double toggling with keyboard shortcut -- Fix for certain users that could not communicate with localhost -- Fixed bug that allowed the addition of multiple rows on the auth form ---- - -This update contains a few fixes and a lot of under-the-hood stuff that -you (hopefully) won't notice. diff --git a/website/site/content/changelog/v3.5.1.md b/website/site/content/changelog/v3.5.1.md deleted file mode 100644 index a29fce67f4..0000000000 --- a/website/site/content/changelog/v3.5.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Insomnia v3.5.1 Release -slug: 3.5.1 -date: '2016-09-22T19:27:39-07:00' -major: -- Huge performance improvements for bulk action like deleting/duplicating folders -minor: -- No longer encode already encoded URLs -- Updates are now served through a CDN (faster downloads) -fixes: -- Fixed styles for cookie editor filter text box -- Fixed double encoding spaces in urls -- Improved layout for bulk headers editor ---- - diff --git a/website/site/content/changelog/v3.5.10.md b/website/site/content/changelog/v3.5.10.md deleted file mode 100644 index a3e6a75728..0000000000 --- a/website/site/content/changelog/v3.5.10.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.5.10 Release -slug: 3.5.10 -date: '2016-10-05T16:52:28-07:00' -minor: -- Better handling of malformed cookies -fixes: -- Syntax checking in editor now works again ---- - diff --git a/website/site/content/changelog/v3.5.11.md b/website/site/content/changelog/v3.5.11.md deleted file mode 100644 index dcb11aa918..0000000000 --- a/website/site/content/changelog/v3.5.11.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insomnia v3.5.11 Release -slug: 3.5.11 -date: '2016-10-06T17:39:13-07:00' -minor: -- Reworded some error messages -- Made cookie parsing less strict (closer to web browser behaviour) ---- - diff --git a/website/site/content/changelog/v3.5.12.md b/website/site/content/changelog/v3.5.12.md deleted file mode 100644 index 3b47db6850..0000000000 --- a/website/site/content/changelog/v3.5.12.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Insomnia v3.5.12 Release -slug: 3.5.12 -date: '2016-10-10T18:27:02-07:00' -fixes: -- Fixed certain connection problems related to HTTP keep-alive ---- - diff --git a/website/site/content/changelog/v3.5.13.md b/website/site/content/changelog/v3.5.13.md deleted file mode 100644 index 38c4f7e6f7..0000000000 --- a/website/site/content/changelog/v3.5.13.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.5.13 Release -slug: 3.5.13 -date: '2016-10-11T17:21:26-07:00' -fixes: -- Some improvements for URL pathname encoding -- Setting to disable following redirects now works again -minor: -- Update code generation for Swift 3 -- Prevent window from being placed outside viewable desktop on launch -- Updates no longer prompt the user, but show an unobtrusive notification instead ---- - diff --git a/website/site/content/changelog/v3.5.2.md b/website/site/content/changelog/v3.5.2.md deleted file mode 100644 index 1637ec851e..0000000000 --- a/website/site/content/changelog/v3.5.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.5.2 Release -slug: 3.5.2 -date: '2016-09-24T03:00:39-07:00' -minor: -- Query tab parameters no longer encode already encoded data -fixes: -- Fixed code generation not working in some cases ---- - diff --git a/website/site/content/changelog/v3.5.3.md b/website/site/content/changelog/v3.5.3.md deleted file mode 100644 index 093e150e48..0000000000 --- a/website/site/content/changelog/v3.5.3.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Insomnia v3.5.3 Release -slug: 3.5.3 -date: '2016-09-28T22:24:05-07:00' -minor: -- Now automatically treat responses without Content-Type as JSON if possible -fixes: -- Fixed certain data being reset after changing HTTP method -- Fixed response viewer showing nothing for malformed responses ---- - -This week I began work on a cloud sync feature (premium)! If you're interested -in sync, I'd love to chat at support@insomnia.rest. diff --git a/website/site/content/changelog/v3.5.6.md b/website/site/content/changelog/v3.5.6.md deleted file mode 100644 index 0a97e80a70..0000000000 --- a/website/site/content/changelog/v3.5.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Insomnia v3.5.6 Release -slug: 3.5.6 -date: '2016-10-02T22:46:37-07:00' -major: -- Hide large responses by default to prevent app from hanging unexpectedly -minor: -- Add background color to editor line numbers -- Change DNS lookup method to use host machine getaddrinfo ---- - diff --git a/website/site/content/changelog/v3.5.7.md b/website/site/content/changelog/v3.5.7.md deleted file mode 100644 index d78533d36f..0000000000 --- a/website/site/content/changelog/v3.5.7.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insomnia v3.5.7 Release -slug: 3.5.7 -date: '2016-10-05T05:13:09-07:00' -fixes: -- Fix for cookies not being saved sometimes -- Fix for environment editor line numbers background ---- - diff --git a/website/site/content/changelog/v3.6.0.md b/website/site/content/changelog/v3.6.0.md deleted file mode 100644 index 5c87f69ef9..0000000000 --- a/website/site/content/changelog/v3.6.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Insomnia v3.6.0 Release -slug: 3.6.0 -date: '2016-10-21T17:33:58-07:00' -fixes: -- Fixed scrolling bug for form encoded request bodies -- Fixed rare case where cursor would jump to the end of the URL -- The show passwords setting no longer requires an app restart ---- - -This update includes a few small fixes, and many under-the-hood changes to -prepare for the upcoming cloud sync beta. If you would like to participate, send -me an email at support@insomnia.rest - diff --git a/website/site/content/changelog/v3.6.2.md b/website/site/content/changelog/v3.6.2.md deleted file mode 100644 index 6e234cbb92..0000000000 --- a/website/site/content/changelog/v3.6.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Insomnia v3.6.2 Release -slug: 3.6.2 -date: '2016-10-25T02:01:10-07:00' -minor: -- Updates for the Insomnia Plus beta -fixes: -- Loading spinner no longer gets stuck when quitting the app mid-request ---- - diff --git a/website/site/content/changelog/v3.6.4.md b/website/site/content/changelog/v3.6.4.md deleted file mode 100644 index 29f69cbcc2..0000000000 --- a/website/site/content/changelog/v3.6.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2016-10-26T20:35:02-07:00 -title: Insomnia v3.6.4 Release -slug: 3.6.4 -minor: - - Added PURGE and FIND custom HTTP methods - - New setting to force stacked layout - - Prefer IPv6 addresses and fallback to IPv4 on failure (same behaviour as curl) -fixes: - - Fixed problem where editing environment name would overwrite changes ---- diff --git a/website/site/content/changelog/v3.6.6.md b/website/site/content/changelog/v3.6.6.md deleted file mode 100644 index c173848d69..0000000000 --- a/website/site/content/changelog/v3.6.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-10-27T03:58:48-07:00 -title: Insomnia v3.6.6 Release -slug: 3.6.6 -major: -- Added support for responses that return images -fixes: -- Fixed some minor edge cases thanks to better error reporting in the last update ---- - -There is now a setting to enable the cloud sync beta features! Give them a try -and let me know what you think! diff --git a/website/site/content/changelog/v3.6.7.md b/website/site/content/changelog/v3.6.7.md deleted file mode 100644 index d9194aa740..0000000000 --- a/website/site/content/changelog/v3.6.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-11-01T10:53:38-07:00 -title: Insomnia v3.6.7 Release -slug: 3.6.7 -major: -- New option to download responses in the response preview dropdown -minor: -- Synced workspaces no longer default to automatic mode -fixes: -- Better handling of ENETUNREACH error -- Minor tweaks an fixes for the cloud sync beta ---- diff --git a/website/site/content/changelog/v3.6.8.md b/website/site/content/changelog/v3.6.8.md deleted file mode 100644 index a6afb51c55..0000000000 --- a/website/site/content/changelog/v3.6.8.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2016-11-07T12:22:03-08:00 -title: Insomnia v3.6.8 Release -slug: 3.6.8 -minor: -- Minor improvements and bug fixes ---- diff --git a/website/site/content/changelog/v3.7.0.md b/website/site/content/changelog/v3.7.0.md deleted file mode 100644 index d915665c5b..0000000000 --- a/website/site/content/changelog/v3.7.0.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2016-11-15 -title: Insomnia v3.7.0 Release -slug: 3.7.0 -major: -- Insomnia Cloud Sync is here! -- Nested folders now supported -minor: -- Minor improvements and bug fixes -- Rearranges settings menus -fixes: -- Fixed incrementing response size on keep-alive connections -- App new refreshes after importing a Curl command ---- - -Version 3.7.0 brings with it the announcement of Insomnia Plus, a subscription add-on to Insomnia -that ensures all of your data is securely backed up and available on all of your devices! diff --git a/website/site/content/changelog/v3.7.1.md b/website/site/content/changelog/v3.7.1.md deleted file mode 100644 index 62f97601af..0000000000 --- a/website/site/content/changelog/v3.7.1.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2016-11-17 -title: Insomnia v3.7.1 Release -slug: 3.7.1 -minor: -- Improved error handling when editing form data -- Improved signup flow -fixes: -- Fix for environment not being used to render Query preview -- Minor bug fixes ---- diff --git a/website/site/content/changelog/v3.7.3.md b/website/site/content/changelog/v3.7.3.md deleted file mode 100644 index 3a8004c792..0000000000 --- a/website/site/content/changelog/v3.7.3.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2016-11-18 -title: Insomnia v3.7.3 Release -slug: 3.7.3 -minor: -- No longer automatically URL encode semicolons or commas in URL pathname -- Some minor improvements to sync logic -fixes: -- Fixed app updates requiring two restarts to take effect -- Fixed credit card form to support American Express cards ---- diff --git a/website/site/content/changelog/v4.0.12.md b/website/site/content/changelog/v4.0.12.md deleted file mode 100644 index cdc1180d0a..0000000000 --- a/website/site/content/changelog/v4.0.12.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-12-23 -title: Insomnia v4.0.12 Release -slug: 4.0.12 -major: -- Code editors now auto-closes brackets and quotes -fixes: -- Prevent sidebar dragging when editing request names -- Fix body still showing after switching to No Body -- Fix sidebar footer obscuring Beautify button when collapsed -- Added potential fix for some edge case DNS issues ---- diff --git a/website/site/content/changelog/v4.0.13.md b/website/site/content/changelog/v4.0.13.md deleted file mode 100644 index 731314a44a..0000000000 --- a/website/site/content/changelog/v4.0.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-12-30 -title: Insomnia v4.0.13 Release -slug: 4.0.13 -minor: -- Now import form data properly from Insomnia 2.0 -fixes: -- Fixed response size showing 0GB sometimes -- Temporary fix to automatically flush responses when DB file too big to load (256GB) -- Fixed filename not being added to multipart entries -- Fixed sync menu not showing up for some users ---- diff --git a/website/site/content/changelog/v4.0.2.md b/website/site/content/changelog/v4.0.2.md deleted file mode 100644 index 0db18ac0a8..0000000000 --- a/website/site/content/changelog/v4.0.2.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -date: 2016-12-01 -title: Insomnia v4.0.2 Release -slug: 4.0.2 -link: https://insomnia.rest/blog/insomnia-4-announcement/ -summary: "Insomnia 4.0 is here, and is packed with awesome features and improvements!" -major: -- Insomnia is now out of beta! -- Multipart form support (with files) -- Binary data support (file uploads) -- Response history viewer -- Support for importing Postman v2 and HTTP Archive (HAR) formats -- All query parameters, headers, form data, and authentication items are now toggleable -- New advanced sending options (hold CMD on Mac or Ctrl on Windows) -- Huge performance improvements!!! -minor: -- Much better support for cURL import format (past command into URL) -- Code generation now remembers your preferences -- Can now import query parameters from Url to query editor -- Changed default request body type to none, and improved selection process -- Dropdowns now scroll instead of being cut off if not enough room -- Selected tab now remembered when changing requests -- Can now delete your last workspace (will prompt to create a new one) -- Show milliseconds when hovering over response time -- Show bytes when hovering over response size -fixes: -- Fixed nested folders not highlighting correctly sometimes -- Requests are now activated after duplicating -- Lots and lots of small fixes -- Fixed various import bugs ---- - -I'm happy to announce that version 4.0 is here! This marks the end of the five month -beta period since launch. I would like to thank the over 400 people who I've talked -to that helped make Insomnia great. - - - -![Puppy Surprise](https://media.giphy.com/media/t0TNY68t8wq2Y/giphy.gif) - - - diff --git a/website/site/content/changelog/v4.0.5.md b/website/site/content/changelog/v4.0.5.md deleted file mode 100644 index 305c40626a..0000000000 --- a/website/site/content/changelog/v4.0.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2016-12-05 -title: Insomnia v4.0.5 Release -slug: 4.0.5 -minor: -- Curl import now supports form data -- Deleting header/query/form items now required a confirmation click -fixes: -- Fixed header/query/form delete functionality -- Fixed some bugs in the installation process from some machines -- Attempt to fix icon on some Linux distributions ---- diff --git a/website/site/content/changelog/v4.0.9.md b/website/site/content/changelog/v4.0.9.md deleted file mode 100644 index 1a8535567e..0000000000 --- a/website/site/content/changelog/v4.0.9.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2016-12-08 -title: Insomnia v4.0.9 Release -slug: 4.0.9 -minor: -- Curl import now supports application/x-www-form-urlencoded -- Better error handling during requests -- Create top level folder when importing Postman collection -- Add default Accept header to all requests -- Add default User-Agent header to all requests -fixes: -- Recursive environment variables with double quotes now work -- Second attempt at fixing app icon for certain Linux environments -- Fixes for more advanced Curl import commands ---- diff --git a/website/site/content/changelog/v4.1.1.md b/website/site/content/changelog/v4.1.1.md deleted file mode 100644 index c6ff22e524..0000000000 --- a/website/site/content/changelog/v4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2017-01-11 -title: Insomnia v4.1.1 Release -slug: 4.1.1 -summary: Welcome to 2017. This update brings support for Team sync and collaboration! -link: https://insomnia.rest/teams/ -major: -- Support for Insomnia Teams -minor: -- Sync is now more immediate -fixes: -- Manually set Host header no longer gets overridden -- Fixed synced workspaces reappearing after deletion -- Many other sync-related fixes ---- diff --git a/website/site/content/changelog/v4.2.0.md b/website/site/content/changelog/v4.2.0.md deleted file mode 100644 index 815ffa2f97..0000000000 --- a/website/site/content/changelog/v4.2.0.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2017-01-23 -title: Insomnia v4.2.0 Release -slug: 4.2.0 -link: https://insomnia.rest/blog/introducing-color-themes/ -major: -- Color Themes! -fixes: -- Fixed problems with editing cookies -- Fixed bug with sidebar drag-n-drop -- Minor URL encoding tweaks ---- - -Color themes are here! Check out the [Blog Post](/blog/introducing-color-themes/) for more info. - -Insomnia Premium Color Themes diff --git a/website/site/content/changelog/v4.2.11.md b/website/site/content/changelog/v4.2.11.md deleted file mode 100644 index 0d64b3bfed..0000000000 --- a/website/site/content/changelog/v4.2.11.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-02-07 -title: Insomnia v4.2.11 Release -slug: 4.2.11 -major: -- URLs in responses are now clickable -fixes: -- JSON pretty printing no longer parses as JavaScript (1.000 will not get rounded) -minor: -- Dropdowns in sidebar and on the send button now trigger on right-click -- Now support more than one level of recursive template variables ---- diff --git a/website/site/content/changelog/v4.2.14.md b/website/site/content/changelog/v4.2.14.md deleted file mode 100644 index 125a69e080..0000000000 --- a/website/site/content/changelog/v4.2.14.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-02-15 -title: Insomnia v4.2.14 Release -slug: 4.2.14 -major: -- Add support for private environments which will not be exported or synced -- Highlight Nunjucks variables in code editors -minor: -- Now show escaped unicode characters in response -- Add LINK and UNLINK HTTP methods -fixes: -- Render errors are now displayed again -- Fixed deleted synced resources sometimes reappearing ---- diff --git a/website/site/content/changelog/v4.2.2.md b/website/site/content/changelog/v4.2.2.md deleted file mode 100644 index 6e7fa9bd3d..0000000000 --- a/website/site/content/changelog/v4.2.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -date: 2017-01-25 -title: Insomnia v4.2.2 Release -slug: 4.2.2 -major: -- New editor key maps (Vim, Emacs, Sublime) -minor: -- Workspaces now visible in request switcher -fixes: -- Fixed issue with recursive environment variables not resolving -- Fixed webview background color not being white -- Fixed label click region in settings menu ---- diff --git a/website/site/content/changelog/v4.2.3.md b/website/site/content/changelog/v4.2.3.md deleted file mode 100644 index 5733e77364..0000000000 --- a/website/site/content/changelog/v4.2.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-01-26 -title: Insomnia v4.2.3 Release -slug: 4.2.3 -major: -- No longer lose body data when switching formats when possible -- Fixed memory leak for users with a lot of large request bodies -minor: -- Minor performance improvements in some areas -fixes: -- Fixed textarea padding in some menus ---- diff --git a/website/site/content/changelog/v4.2.4.md b/website/site/content/changelog/v4.2.4.md deleted file mode 100644 index ef6ee24e90..0000000000 --- a/website/site/content/changelog/v4.2.4.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-01-29 -title: Insomnia v4.2.4 Release -slug: 4.2.4 -fixes: -- Fixed pasting into URL not persisting -- Fixed webview background (again) ---- diff --git a/website/site/content/changelog/v4.2.5.md b/website/site/content/changelog/v4.2.5.md deleted file mode 100644 index 992c0eeae8..0000000000 --- a/website/site/content/changelog/v4.2.5.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2017-01-30 -title: Insomnia v4.2.5 Release -slug: 4.2.5 -fixes: -- Fixed pasting inside of URL ---- diff --git a/website/site/content/changelog/v4.2.7.md b/website/site/content/changelog/v4.2.7.md deleted file mode 100644 index 87d7a9b2a8..0000000000 --- a/website/site/content/changelog/v4.2.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-01-31 -title: Insomnia v4.2.7 Release -slug: 4.2.7 -major: -- Added ability to auto-download response bodies to file -fixes: -- Fixed sidebar filtering for nested folders -- Fixed binary file uploads missing Content-Length header -- Fixed pasting Curl command into URL wouldn't update URL -- Fixed code generation only operating on active request -minor: -- Clicking Cancel Account after trial ends now signs out ---- diff --git a/website/site/content/changelog/v4.2.8.md b/website/site/content/changelog/v4.2.8.md deleted file mode 100644 index 7d5d89ec17..0000000000 --- a/website/site/content/changelog/v4.2.8.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2017-02-01 -title: Insomnia v4.2.8 Release -slug: 4.2.8 -fixes: -- Fixed app crashing on first launch :( ---- diff --git a/website/site/content/changelog/v4.2.9.md b/website/site/content/changelog/v4.2.9.md deleted file mode 100644 index db0982eefc..0000000000 --- a/website/site/content/changelog/v4.2.9.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-02-02 -title: Insomnia v4.2.9 Release -slug: 4.2.9 -fixes: -- Fixed network request DNS fallback logic in some cases -- Minor bug fixes ---- diff --git a/website/site/content/changelog/v5.0.1.md b/website/site/content/changelog/v5.0.1.md deleted file mode 100644 index caf9dc01e0..0000000000 --- a/website/site/content/changelog/v5.0.1.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -date: 2017-04-05 -title: Insomnia v5.0.1 Release -slug: 5.0.1 -summary: Version 5.0 is here and it is the biggest release yet! -link: https://insomnia.rest/blog/insomnia-5-announcement/ -major: - - Contextual autocomplete for environments, URLs, header names/values, and more - - All key-value editors are now sortable - - Add OAuth 2.0, Digest, and NTLM authentication - - New Timeline response tab that shows much more detail about the request - - Environment variables and template tags now highlighted throughout the app - - Replaced NodeJS networking backend with libcurl - - Added per-request settings for controlling cookies, template rendering, and URL encoding - - Proxy now supports Digest and NTLM auth types - - Support for custom HTTP methods - - App panes now resizable when in vertical layout - - Many minor performance improvements -minor: - - Environment editor now respects line wrap setting - - App now prompts to sync unrecognized workspaces instead of syncing without asking - - Response view types have been reworked to behave more intuitively - - Enable context (right-click) menu in response web view - - Request body syntax highlighting recognizes more content-types - - Better errors for render failures - - HTTP proxy can now be toggled on and off - - Tabs no longer lose state after switching - - Update bracket match style in editor - - Window title now reflects active workspace and request - - Header names now trimmed of whitespace before sending - - Add warning when environments exist, but none are selected - - Better styling of numeric counters on tabs - - Added tooltip help hints in various places -fixes: - - No longer auto-encode equals sign in URL path - - Cookies now stored on redirects - - More reliable sort order after duplicating requests - - Clicking on workspaces in request switcher now works again - - More reliable querystring importing - - Fixed drag-n-drop support within code editor - - Headers editor now refreshed after changing body content-type ---- - diff --git a/website/site/content/changelog/v5.0.10.md b/website/site/content/changelog/v5.0.10.md deleted file mode 100644 index 1b9bd243b0..0000000000 --- a/website/site/content/changelog/v5.0.10.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -date: 2017-04-20 -title: Insomnia v5.0.10 Release -slug: 5.0.10 -summary: Not much new – just lots of fixes and improvements! -minor: - - Improved autocompletion suggestion of URLs - - Leave Content-Type header in place when switching body type to Other -fixes: - - Fixed automatic gzip decoding of responses if Accept header set manually - - Correctly handle ISO-8859-1 responses - - Prevent showing autocomplete if input loses focus - - Now send correct grant type during OAuth 2.0 token refresh - - OAuth 2.0 now shows when token expires - - Prevent request from sending twice sometimes via keyboard shortcut - - No longer fail when HEAD requests return body ---- - diff --git a/website/site/content/changelog/v5.0.12.md b/website/site/content/changelog/v5.0.12.md deleted file mode 100644 index 88b35210b0..0000000000 --- a/website/site/content/changelog/v5.0.12.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-05-03 -title: Insomnia v5.0.12 Release -slug: 5.0.12 -minor: - - Add ability to import from URL - - Made theme more compact - - Performance improvements -fixes: - - Better handling of Windows line endings - - Fixed importing curl commands containing question marks - - Minor bug fixes ---- - diff --git a/website/site/content/changelog/v5.0.2.md b/website/site/content/changelog/v5.0.2.md deleted file mode 100644 index 13102af345..0000000000 --- a/website/site/content/changelog/v5.0.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-04-07 -title: Insomnia v5.0.2 Release -slug: 5.0.2 -summary: Check out the full version 5.0 announcement if you missed it! -link: https://insomnia.rest/blog/insomnia-5-announcement/ -major: - - Added new base64 encode/decode template tag -minor: - - More reliable file uploads -fixes: - - Fixed body type selection in Create Request dialog - - Fixed minor bug with OAuth 2.0 access token handling - - Now escape unicode double quotes during JSON formatting - - Fixed ampersands in clicked links ---- - diff --git a/website/site/content/changelog/v5.0.20.md b/website/site/content/changelog/v5.0.20.md deleted file mode 100644 index 681b1dffc0..0000000000 --- a/website/site/content/changelog/v5.0.20.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-05-05 -title: Insomnia v5.0.20 Release -slug: 5.0.20 -minor: - - Behind-the-scenes update for new auto-update server ---- - diff --git a/website/site/content/changelog/v5.0.3.md b/website/site/content/changelog/v5.0.3.md deleted file mode 100644 index 1a95913cb2..0000000000 --- a/website/site/content/changelog/v5.0.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2017-04-09 -title: Insomnia v5.0.3 Release -slug: 5.0.3 -fixes: - - Fix Content-Length on binary file uploads - - Send more specific Content-Type in multipart uploads - - Fix cursors resetting to start of input when switching apps ---- - diff --git a/website/site/content/changelog/v5.0.4.md b/website/site/content/changelog/v5.0.4.md deleted file mode 100644 index 5a7bd2ee9b..0000000000 --- a/website/site/content/changelog/v5.0.4.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -date: 2017-04-11 -title: Insomnia v5.0.4 Release -slug: 5.0.4 -minor: - - Add keyboard shortcut to view hotkey help - - Remove var prefix on environment variables - - Add link to httpsnippet library in code generation dialog -fixes: - - Fix cursor unfocusing when editing environment variables - - No longer add default content-type or content-length when no request body - - Quick switcher now scrolls properly again ---- - diff --git a/website/site/content/changelog/v5.0.5.md b/website/site/content/changelog/v5.0.5.md deleted file mode 100644 index 5b12aeac4b..0000000000 --- a/website/site/content/changelog/v5.0.5.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2017-04-14 -title: Insomnia v5.0.5 Release -slug: 5.0.5 -summary: A few last remaining fixes after the 5.0 launch. Thanks for all the feedback! -minor: - - New setting to specify indent size in code editors -fixes: - - Minor bug fixes ---- - diff --git a/website/site/content/changelog/v5.1.0.md b/website/site/content/changelog/v5.1.0.md deleted file mode 100644 index 6a06829449..0000000000 --- a/website/site/content/changelog/v5.1.0.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -date: 2017-05-24 -title: Insomnia v5.1.0 Release -slug: 5.1.0 -summary: This is the first release containing open-source contributions. Thanks to all contributors! -major: - - New option to auto-hide menubar on Windows and Linux! - - New template tag to reference values from other responses - - More friendly Template Tag editor - - Ability to save full HTTP response to file, including headers -minor: - - Data exports now have friendlier names - - Unreferenced template tags are longer rendered -fixes: - - Fix cookie handling for localhost domains - - Better handle of JSON when root is a String - - File selector no longer clears file on Cancel - - Many more fixes fixes ---- diff --git a/website/site/content/changelog/v5.1.1.md b/website/site/content/changelog/v5.1.1.md deleted file mode 100644 index 7699fc6e3c..0000000000 --- a/website/site/content/changelog/v5.1.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2017-05-29 -title: Insomnia v5.1.1 Release -slug: 5.1.1 -major: - - Environment editor now warns about invalid variable names and errors -minor: - - OAuth now uses a password field for password credentials - - OAuth authorization window session is now cleared on app launch - - Now show folder as prefix when selecting requests for Response Value tag - - More appropriate size for app icon -fixes: - - Fix right-click context menu staying open - - No longer error when response contains invalid cookie - - Always include equals sign in x-www-form-urlencoded bodies when value is empty ---- diff --git a/website/site/content/changelog/v5.10.1.md b/website/site/content/changelog/v5.10.1.md deleted file mode 100644 index 79508b84ad..0000000000 --- a/website/site/content/changelog/v5.10.1.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -date: 2017-11-01 -title: Insomnia v5.10.1 Release -slug: 5.10.1 -channel: stable -major: -- Ability to export workspace as HAR (PR:523:Atvaark) -- Can now drag-n-drop files to import -- Client certificates can now be made private (never synced) -- GraphQL now sends operationName automatically -- New template tags for hashing and reading files -fixes: -- Fixed cookies being deleted when editing (sometimes) -- Closing environment editor too quickly no longer loses changes -- Multipart handling works with large files again (above 2GB) -- Other minor fixes -minor: -- Minor tweaks to template tag editor -- Keyboard shortcut to refresh all plugins -- New plugin API methods to set request settings (eg. cookie send behavior) ---- diff --git a/website/site/content/changelog/v5.11.0.md b/website/site/content/changelog/v5.11.0.md deleted file mode 100644 index d81a76f6c2..0000000000 --- a/website/site/content/changelog/v5.11.0.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -date: 2017-11-08 -title: Insomnia v5.11.0 Release -slug: 5.11.0 -channel: stable -major: -- OAuth 1.0 Support (PR:571:besolov) -- Atlassian ASAP Auth Support (PR:566:gerrytan) -- No longer require global npm to install plugins (included standalone Yarn) -fixes: -- Fix GraphQL autocompletion not working -- Fix scroll jumping issue in key-value editors (headers, query, etc) -- Fix Cmd+Enter conflict in Sublime keymap -- Fix for raw cookie editor deleting cookies -minor: -- Print Curl version in Timeline -- Template tag editor no longer has delay when opening -- Added debug logging to OAuth 2.0 flow -- Support wildcards in port for client certificates -- Use more unique temporary director name to avoid conflicts -- No longer send default Accept and Accept-Encoding headers ---- diff --git a/website/site/content/changelog/v5.11.5.md b/website/site/content/changelog/v5.11.5.md deleted file mode 100644 index 29d53b5616..0000000000 --- a/website/site/content/changelog/v5.11.5.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-11-10 -title: Insomnia v5.11.5 Release -slug: 5.11.5 -channel: stable -fixes: -- Fix bug where dragging a folder into itself would make it disappear -minor: -- OAuth 2.0 requests now use same settings as current request -- Environment editor now refreshes from sync change when it's open -- Improvements to Curl importer -- Add back default Accept header from v5.11.0 but not Accept-Encoding -- New keyboard shortcut to delete active request -- Prompt user to automatically change Content-Type when binary file is selected -- Update documentation links to point to new support website ---- - diff --git a/website/site/content/changelog/v5.11.7.md b/website/site/content/changelog/v5.11.7.md deleted file mode 100644 index 21089d33c2..0000000000 --- a/website/site/content/changelog/v5.11.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-11-14 -title: Insomnia v5.11.7 Release -slug: 5.11.7 -channel: stable -major: -- First-party support for viewing multipart responses -fixes: -- Accept header now overridable again -- Support showing multiple response headers with the same name ---- - diff --git a/website/site/content/changelog/v5.12.0-beta.2.md b/website/site/content/changelog/v5.12.0-beta.2.md deleted file mode 100644 index 2f39948b1b..0000000000 --- a/website/site/content/changelog/v5.12.0-beta.2.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -date: 2017-11-21 -title: Insomnia v5.12.0 Beta 2 -slug: 5.12.0-beta.2 -channel: beta -major: -- Less obtrusive update notification -fixes: -- Support for downloading huge files (over ~2GB) -- Fixed HAWK algorithm selection -minor: -- Response timer always shows 1 decimal place (PR:617:k-nut) -- Ability to specify auto-update channel -- Ability to disable auto-updates -- Moved database to the Electron main thread -- Use Google analytics API directly (no more external JS!) ---- - -Thanks to [@lifewcody](https://github.com/lifewcody) for helping debug large file downloads. diff --git a/website/site/content/changelog/v5.12.0-beta.3.md b/website/site/content/changelog/v5.12.0-beta.3.md deleted file mode 100644 index 6fc61a1690..0000000000 --- a/website/site/content/changelog/v5.12.0-beta.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-11-23 -title: Insomnia v5.12.0 Beta 3 -slug: 5.12.0-beta.3 -channel: beta -fixes: -- Fix environment editor not saving immediately after fixing an error -- Fix environment editor not always refreshing after data sync -minor: -- Faster storing of large response bodies -- Provide a convenient save button when large response gets hidden ---- diff --git a/website/site/content/changelog/v5.12.0-beta.4.md b/website/site/content/changelog/v5.12.0-beta.4.md deleted file mode 100644 index 4d3502530a..0000000000 --- a/website/site/content/changelog/v5.12.0-beta.4.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -date: 2017-11-27 -title: Insomnia v5.12.0 Beta 4 -slug: 5.12.0-beta.4 -channel: beta -minor: - - Disable request body linting over 1MB - - Add import/export APIs to plugin system ---- diff --git a/website/site/content/changelog/v5.12.0.md b/website/site/content/changelog/v5.12.0.md deleted file mode 100644 index 4421e6f1ba..0000000000 --- a/website/site/content/changelog/v5.12.0.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-11-23 -title: Insomnia v5.12.0 -slug: 5.12.0 -draft: true -summary: Thanks to @lifewcody for helping debug large file downloads. -major: -- Less obtrusive update notification -fixes: -- Support for downloading huge files (over ~2GB) -- Fixed HAWK algorithm selection -minor: -- Response timer always shows 1 decimal place (PR:617:k-nut) -- Ability to specify auto-update channel -- Ability to disable auto-updates -- Moved database to the Electron main thread -- Use Google analytics API directly (no more external JS!) ---- - -Thanks to [@lifewcody](https://github.com/lifewcody) for helping debug large file downloads. diff --git a/website/site/content/changelog/v5.2.0.md b/website/site/content/changelog/v5.2.0.md deleted file mode 100644 index bad168f4b7..0000000000 --- a/website/site/content/changelog/v5.2.0.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-06-06 -title: Insomnia v5.2.0 Release -slug: 5.2.0 -major: - - Ability to document requests and workspaces using Markdown - - Added Bearer authentication helper - - Added setting to whitelist hostnames from proxy setting - - Ability to duplicate workspace -minor: - - Setting to disable analytics tracking - - URL preview copy button - - Experimental plugin support (still undocumented) -fixes: - - Fixed Client Credentials setting in OAuth form not changing - - Other minor UI fixes ---- diff --git a/website/site/content/changelog/v5.3.0.md b/website/site/content/changelog/v5.3.0.md deleted file mode 100644 index 9bcb1a11ff..0000000000 --- a/website/site/content/changelog/v5.3.0.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -date: 2017-06-12 -title: Insomnia v5.3.0 Release -slug: 5.3.0 -major: -- Multi-line text values now supported in form data editors -- New template tag to reference cookie values -- Request snapshot now stored and recovered with response history -- Previous response filters are now persisted -minor: -- Can now send requests with cmdOrCtr+R or F5 keys -- Added ability to delete custom HTTP methods -- Added ability to delete current response -- Markdown descriptions now sanitize HTML input -- Markdown descriptions now selectable -- Postman imports now included description field -fixes: -- More robust JSON formatting on content containing escaped characters -- Fix stale requests sometimes being sent soon after editing URL -- Query preview view now scrolls when too long ---- diff --git a/website/site/content/changelog/v5.3.3.md b/website/site/content/changelog/v5.3.3.md deleted file mode 100644 index 1a6f86597d..0000000000 --- a/website/site/content/changelog/v5.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2017-06-13 -title: Insomnia v5.3.3 Release -slug: 5.3.3 -major: -- Can now sort requests and folders together in sidebar -fixes: -- Fix Markdown description editor height from last update -- Much more robust handling when sorting nested sidebar items ---- diff --git a/website/site/content/changelog/v5.3.6.md b/website/site/content/changelog/v5.3.6.md deleted file mode 100644 index eb0e720a84..0000000000 --- a/website/site/content/changelog/v5.3.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-06-15 -title: Insomnia v5.3.6 Release -slug: 5.3.6 -minor: -- Added option to use custom date format with Timestamp tag -fixes: -- Improve cookie handling with redirects -- Fixed workspace duplication active environment bug -- Fixed status tag in response history showing ERROR for responses with no HTTP Reason -- Fixed autocomplete constants filling with undefined ---- diff --git a/website/site/content/changelog/v5.4.0.md b/website/site/content/changelog/v5.4.0.md deleted file mode 100644 index ef866bc073..0000000000 --- a/website/site/content/changelog/v5.4.0.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -date: 2017-06-22 -title: Insomnia v5.4.0 Release -slug: 5.4.0 -major: -- Support for unix domain sockets using URL format http://unix:SOCKET:PATH -- Dedicated Description tab for request documentation -- Wildcards now supported in client certificate host -minor: -- Dropdowns within tabs now only open if tab is already active -- Tab lists now scrolls horizontally when too long -- Markdown description style improvements -- Vastly improved dropdown positioning algorithm -- Add back ability to change text editor keymap to Sublime Text -fixes: -- Prevent opening links multiple times in description preview -- Fixed Content-Length not being sent with initial NTLM authorization request -- Fixed client certificate toggling not working ---- - - diff --git a/website/site/content/changelog/v5.5.2.md b/website/site/content/changelog/v5.5.2.md deleted file mode 100644 index fc9c3c5ccf..0000000000 --- a/website/site/content/changelog/v5.5.2.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2017-06-30 -title: Insomnia v5.5.2 Release -slug: 5.5.2 -major: -- Added ability to preview PDF responses (PR:325:Antoine38660) -- Added ability to assign colors to environments (PR:334) -- All dropdown menus are now filterable by typing (PR:340) -minor: -- Window maximized state now remembered -- Response bodies no longer stored in memory (PR:338) -fixes: -- Fixed dropdown dismissing reliability inside modal dialogs -- Fixed unix hostname being confused with domain socket syntax ---- diff --git a/website/site/content/changelog/v5.6.1.md b/website/site/content/changelog/v5.6.1.md deleted file mode 100644 index b609a57a01..0000000000 --- a/website/site/content/changelog/v5.6.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: 2017-07-17 -title: Insomnia v5.6.1 Release -slug: 5.6.1 -major: -- Basic AWS authentication v4 support (PR:347:focusaurus) -- Fuzzy searching support for request switcher (PR:204:dmlittle) -- Prompt to include private environments on data export, if any exist -minor: -- More useful error messages in Request Cookie template tag -- Add application/vnd.api+json to Content-Type autocomplete (PR:349:synthtech) -fixes: -- null values within environments no longer break autocomplete -- Better handling of environment variables containing Template Tags -- Handle protocol-less URLs in OAuth 2 settings (PR:346:NicholasMata) ---- diff --git a/website/site/content/changelog/v5.6.3.md b/website/site/content/changelog/v5.6.3.md deleted file mode 100644 index 291b9e7394..0000000000 --- a/website/site/content/changelog/v5.6.3.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: 2017-07-18 -title: Insomnia v5.6.3 Release -slug: 5.6.3 -fixes: -- Fixed downloading response bodies ---- diff --git a/website/site/content/changelog/v5.7.0.md b/website/site/content/changelog/v5.7.0.md deleted file mode 100644 index 258e6fe255..0000000000 --- a/website/site/content/changelog/v5.7.0.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -date: 2017-08-02 -title: Insomnia v5.7.0 Release -slug: 5.7.0 -channel: stable -major: -- New GraphQL request body type -- New netrc authentication type (PR:384:moxuz) -minor: -- Add autodetection for XML when no Content-Type present -- Workspaces created by import or sync now marked indicated in UI -- Data imports no longer update modified time -- Plugin system improvements (still experimental) -- Data sync networking improvements -fixes: -- Fixed downloading response bodies -- Do not include literal newline characters in Curl snippets -- Change HTTP method to GET on redirects -- Fix AWS authentication for GET requests -- Colons in header values now handled properly -- No longer close search box on Enter ---- diff --git a/website/site/content/changelog/v5.7.10.md b/website/site/content/changelog/v5.7.10.md deleted file mode 100644 index 676d34ca88..0000000000 --- a/website/site/content/changelog/v5.7.10.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -date: 2017-08-12T10:00:00-07:00 -title: Insomnia v5.7.10 Release -slug: 5.7.10 -channel: stable -fixes: -- Fixed race condition causing request creation to fail -- Large response size check now uses uncompressed size -- Fixed invalid cookies causing code generation to break -minor: -- Show both compressed and uncompressed of responses ---- diff --git a/website/site/content/changelog/v5.7.11.md b/website/site/content/changelog/v5.7.11.md deleted file mode 100644 index 48f1b8abd8..0000000000 --- a/website/site/content/changelog/v5.7.11.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2017-08-12T15:00:00-07:00 -title: Insomnia v5.7.11 Release -slug: 5.7.11 -channel: stable -fixes: -- Fixed some modal dialogs not refreshing when opened ---- diff --git a/website/site/content/changelog/v5.7.12.md b/website/site/content/changelog/v5.7.12.md deleted file mode 100644 index bf0e804d17..0000000000 --- a/website/site/content/changelog/v5.7.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2017-08-14 -title: Insomnia v5.7.12 Release -slug: 5.7.12 -channel: stable -fixes: -- GraphQL schema fetching failed when using environment variables -- Copying large text blobs sometimes yielded a hyphen -minor: -- Now show render errors when fetching GraphQL schema ---- diff --git a/website/site/content/changelog/v5.7.14.md b/website/site/content/changelog/v5.7.14.md deleted file mode 100644 index c7f5cf0538..0000000000 --- a/website/site/content/changelog/v5.7.14.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -date: 2017-08-16 -title: Insomnia v5.7.14 Release -slug: 5.7.14 -channel: stable -summary: Sorry to those Windows users who were impacted by hanging requests! -fixes: -- Fixed requests hanging for a subset of Windows users -minor: -- Made max redirects configurable in settings ---- diff --git a/website/site/content/changelog/v5.7.4.md b/website/site/content/changelog/v5.7.4.md deleted file mode 100644 index 3ddc4875b8..0000000000 --- a/website/site/content/changelog/v5.7.4.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -date: 2017-08-04 -title: Insomnia v5.7.4 Release -slug: 5.7.4 -channel: stable -major: -- Template tags now work with prettify feature -fixes: -- Fixed GraphQL incorrectly JSON stringifying variables body -minor: -- More accurate logic for catching OAuth redirect URL (PR:396:starJammer) -- Added Help menu item for displaying keyboard shortcuts -- Added contact link to About section -- Default GraphQL introspection query content-type to application/json ---- diff --git a/website/site/content/changelog/v5.7.9.md b/website/site/content/changelog/v5.7.9.md deleted file mode 100644 index 17d9bc1787..0000000000 --- a/website/site/content/changelog/v5.7.9.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-08-11 -title: Insomnia v5.7.9 Release -slug: 5.7.9 -channel: stable -fixes: -- Cap number of redirects to 20 (instead of unlimited) -- Over-selecting input bounds no longer clears selection -- Don't allow password input text to be copied -- Some performance improvements -minor: -- Add ability to specify Authorization token prefix for OAuth 2.0 Requests -- GraphQL schema introspection requests now apply cookies, auth, and all other Insomnia features -- GraphQL prettify no longer recursively stringifies variables object -- Display schema fetch information for GraphQL -- Automatically switch to POST when choosing GraphQL body ---- diff --git a/website/site/content/changelog/v5.8.2.md b/website/site/content/changelog/v5.8.2.md deleted file mode 100644 index cddec7931d..0000000000 --- a/website/site/content/changelog/v5.8.2.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-09-11 -title: Insomnia v5.8.2 Release -slug: 5.8.2 -channel: stable -major: -- New cookie editing flow (PR:448:BeeeQueue) -- Support templating in cookies (PR:448:BeeeQueue) -- HAWK authentication (PR:446:jgiovaresco) -fixes: -- Blocker for large responses works again -- Prevent modal dialogs from closing when escaping autocomplete -- Prevent Content-Length integer overflow for uploads over 2GB -minor: -- Environment functions on plugin API (PR:443:Xuanwo) -- Fuzzy filtering now used in all UI filter inputs -- Request method now shown in tag editor (PR:453:derpoho) -- Don't touch already-encoded characters in URL -- Add HTML content-type detection ---- diff --git a/website/site/content/changelog/v5.8.3.md b/website/site/content/changelog/v5.8.3.md deleted file mode 100644 index 6adb87df8f..0000000000 --- a/website/site/content/changelog/v5.8.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -date: 2017-09-13 -title: Insomnia v5.8.3 Release -slug: 5.8.3 -channel: stable -fixes: -- Fixed cookie jar not being created for new workspaces -minor: -- Add button to refresh GraphQL schema (PR:481:ganderzz) ---- diff --git a/website/site/content/changelog/v5.8.4.md b/website/site/content/changelog/v5.8.4.md deleted file mode 100644 index 51595f18e7..0000000000 --- a/website/site/content/changelog/v5.8.4.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -date: 2017-09-18 -title: Insomnia v5.8.4 Release -slug: 5.8.4 -channel: stable -major: -- More keyboard shortcuts (see preferences for details) -- Properly catch and handle plugin errors on app launch -fixes: -- Fixed GraphQL and cookie list scroll overflow issue -minor: -- Added menu item to show dev tools ---- diff --git a/website/site/content/changelog/v5.9.2.md b/website/site/content/changelog/v5.9.2.md deleted file mode 100644 index bf2662b636..0000000000 --- a/website/site/content/changelog/v5.9.2.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -date: 2017-10-12 -title: Insomnia v5.9.2 Release -slug: 5.9.2 -channel: stable -major: -- Can now use environment variables inside template tags -fixes: -- Autocomplete no longer breaks on template tags containing no arguments (rare case) -- Null values in environments no longer cause problems -- Fix client certificates not working sometimes on Windows -- Fix AWS auth for non POST/GET methods -minor: -- Support attribute XPath queries -- Faster prettify for large responses -- File downloads now use name from Content-Disposition header when available -- Upgrade to React 16 (10% faster render performance) -- Auto-select active environment when opening environment editor -- Added menu option to show app data folder -- Improved robustness of template tag editor ---- - diff --git a/website/site/content/changelog/v5.9.6.md b/website/site/content/changelog/v5.9.6.md deleted file mode 100644 index d3ea1326ec..0000000000 --- a/website/site/content/changelog/v5.9.6.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: 2017-10-13 -title: Insomnia v5.9.6 Release -slug: 5.9.6 -channel: stable -major: -- Rewrote PDF response preview for better performance and retina support -- Can now use boolean type in template tag arguments (plugins) -fixes: -- PDF response preview works again -- Render failures in cookie dialog no longer prevent it from opening -- Fix refresh button in template tag editor -- Add React 16 error boundaries so unhandled errors will do less harm -minor: -- Moved multipart/form-data generation from libcurl into Insomnia -- New setting to display all template tags and variables in raw text ---- - - - diff --git a/website/site/content/code-of-conduct.md b/website/site/content/code-of-conduct.md deleted file mode 100644 index 814e8e80b7..0000000000 --- a/website/site/content/code-of-conduct.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: Community Code of Conduct -slug: code-of-conduct -type: skinny ---- - -Like the technical community as a whole, the Insomnia community is made up of a mixture -of professionals and volunteers from all over the world, working on every aspect of the -mission – including mentorship, teaching, and connecting people. - -Diversity is a huge priority, but it can also lead to communication issues and -unhappiness. To that end, we have a few ground rules that we ask people to adhere to. This -code applies equally to founders, mentors and those seeking help and guidance. - -This isn’t an exhaustive list of things that you can’t do. Rather, take it in the spirit -in which it’s intended - a guide to make it easier to enrich all of us and the technical -communities in which we participate. - -This code of conduct applies to all spaces managed by the Insomnia project, including Slack, -the issue tracker, and any other forums created for the project which the community uses -for communication. In addition, violations of this code outside these spaces may affect -a person's ability to participate within them. - -If you believe someone is violating the code of conduct, we ask that you report it by -emailing [support@insomnia.rest](mailto:support@insomnia.rest). For more details -please see our Reporting Guidelines - -- **Be friendly and patient.** -- **Be welcoming.** We strive to be a community that welcomes and supports people of all - backgrounds and identities. This includes, but is not limited to members of any race, - ethnicity, culture, national origin, colour, immigration status, social and economic - class, educational level, sex, sexual orientation, gender identity and expression, age, - size, family status, political belief, religion, and mental and physical ability. -- **Be considerate.** Your work will be used by other people, and you in turn will - depend on the work of others. Any decision you take will affect users and colleagues, - and you should take those consequences into account when making decisions. Remember - that we're a world-wide community, so you might not be communicating in someone - else's primary language. -- **Be respectful.** Not all of us will agree all the time, but disagreement is no - excuse for poor behavior and poor manners. We might all experience some frustration - now and then, but we cannot allow that frustration to turn into a personal attack. - It’s important to remember that a community where people feel uncomfortable or - threatened is not a productive one. Members of the Insomnia community should be respectful - when dealing with other members as well as with people outside the Insomnia community. -- **Be careful in the words that you choose.** We are a community of professionals, - and we conduct ourselves professionally. Be kind to others. Do not insult or put - down other participants. Harassment and other exclusionary behavior aren't acceptable. - This includes, but is not limited to: - - Violent threats or language directed against another person. - - Discriminatory jokes and language. - - Posting sexually explicit or violent material. - - Posting (or threatening to post) other people's personally identifying information ("doxing"). - - Personal insults, especially those using racist or sexist terms. - - Unwelcome sexual attention. - - Advocating for, or encouraging, any of the above behavior. - - Repeated harassment of others. In general, if someone asks you to stop, then stop. -- **When we disagree, try to understand why.** Disagreements, both social and technical, -happen all the time and Insomnia is no exception. It is important that we resolve -disagreements and differing views constructively. Remember that we’re different. The -strength of Insomnia comes from its varied community, people from a wide range of backgrounds. -Different people have different perspectives on issues. Being unable to understand why -someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human -to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve -issues and learning from mistakes. - -Original text courtesy of the -[Speak Up! project](http://web.archive.org/web/20141109123859/http://speakup.io/coc.html). - -## Questions? - -Please send all questions or concerns to [support@insomnia.rest](mailto:support@insomnia.rest). - diff --git a/website/site/content/download.html b/website/site/content/download.html deleted file mode 100644 index 1430fc73f7..0000000000 --- a/website/site/content/download.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Download Insomnia -subTitle: So you can finally `GET` some `REST` 😴 ---- - -
-
- -

- - - OS X 10.9+ - -

-

- or brew cask install insomnia -

-
-
- -

- - - Windows 7+ - -

-

- (64-bit only) -

-
- -
-
-
-
-
-
-
-
-
-
-

Thanks for choosing Insomnia

-

- Help out by spreading the word 😊 -

- - -
-
- - diff --git a/website/site/content/paypal.md b/website/site/content/paypal.md deleted file mode 100644 index 23d6349408..0000000000 --- a/website/site/content/paypal.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Hello Friend -subTitle: I'm sorry, but PayPal is not yet supported -slug: paypal -type: skinny ---- - -At this time, Insomnia only supports payment by credit card. If you **absolutely** must -pay a different way, [Send an Email](/documentation/support-and-feedback/) and we may be -able to set up a manual billing process by other means. - -~ Gregory diff --git a/website/site/content/plus.md b/website/site/content/plus.md deleted file mode 100644 index 71dff5a003..0000000000 --- a/website/site/content/plus.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Insomnia Plus -slug: plus -subTitle: Your API workspaces, backed up and in sync -type: splash -cta: - text: Start Free Trial - href: /pricing/ -image: - alt: Insomnia plus - src: /images/screens/main.png ---- - -## Sync your API workspaces across devices - -Create an account, log in, and relax. With Plus, your application -data will be automatically backed on the cloud and synced across all -your devices. -

- -**Automatic or manual sync** 🕰 choose when to sync - -**End-to-end encryption** 🔐 know your data is safe - -**Sync unlimited data** 🚀 never worry about limits - ---- - -## Start using Plus for free - -Sign up to start a 14-day free trial (no credit card required). - -

-
-Start Free Trial -

diff --git a/website/site/content/pricing.html b/website/site/content/pricing.html deleted file mode 100644 index 42283587eb..0000000000 --- a/website/site/content/pricing.html +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Insomnia Addons -slug: pricing -subTitle: Enhance the power of the app 🚀 -type: wide ---- - -
- -
-
-

Free

-
-
-

- Free
- forever -

-
    -
  • Mac/Windows/Linux App
  • -
  • Unlimited installations
  • -
  • Future updates
  • -
  • Open source
  • -
-
- -
- -
-
-

Plus

-
-
-

- $5 / month
- or $50 / year -

-
    -
  • All Free features
  • -
  • E2EE Data Sync 🔐
  • -
  • Unlimited devices
  • -
  • Premium color themes
  • -
  • Support future dev 💻
  • -
-
- -
- -
-
-

Teams

-
-
-

- $8 / user / month
- or $80 / user / year
-

-
    -
  • All Plus features
  • -
  • Workspace sharing 🙌
  • -
  • Team management
  • -
  • Priority email support
  • -
-
- -
-
- -
-
-

- Please send any questions to - support@insomnia.rest -

-
-
diff --git a/website/site/content/support.md b/website/site/content/support.md deleted file mode 100644 index e4c30195f0..0000000000 --- a/website/site/content/support.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Support and Feedback -slug: support -subTitle: Get Help or Join the Community -type: skinny ---- - -## Documentation - -View full help articles at [support.insomnia.rest](https://support.insomnia.rest). - -## Bug Reports and Feature Requests - -General application bugs and issues should be submitted to the -GitHub Repository. Please see the -[Contributing Guidelines](https://github.com/getinsomnia/insomnia/blob/develop/CONTRIBUTING.md) -to get started. - -## Slack Group - -Have a quick question? Chatting on Slack is a great way to get answers from real -people. [Join Now](https://chat.insomnia.rest) to get started. - -## Email Support - -Any other feedback, questions, concerns can be sent to -[support@insomnia.rest](mailto:support@insomnia.rest) and I will respond ASAP. - -

-Please do not send bug reports or feature requests via email. It benefits everyone if these -are submitted to the -[GitHub Repository](https://github.com/getinsomnia/insomnia/blob/develop/CONTRIBUTING.md) -instead. -

diff --git a/website/site/content/teams.md b/website/site/content/teams.md deleted file mode 100644 index 5497704228..0000000000 --- a/website/site/content/teams.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Insomnia for Teams -slug: teams -subTitle: Share API workspaces, stay in sync -type: splash -cta: - text: Start Free Trial - href: /pricing/ -image: - alt: Insomnia team sharing menu - src: /images/screens/sharing.png ---- - -## Collaborate on APIs with your team - -Create a team, invite coworkers, and stay in sync. Any -changes will seamlessly and securely transfer between all members, -making collaboration a breeze. -

- -**Automatic or manual sync** 🕰 choose when to share - -**End-to-end encryption** 🔐 know your data is safe - -**No limits** 🚀 share unlimited API workspaces - ---- - -## Start using Teams for free - -Sign up to start a 14-day free trial (no credit card required). - -

-
-Start Free Trial -

diff --git a/website/site/content/terms.md b/website/site/content/terms.md deleted file mode 100644 index 0680d22935..0000000000 --- a/website/site/content/terms.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Terms of Service Agreement -slug: terms -type: skinny ---- - -By using Insomnia and the insomnia.rest app and web site ("Service"), a service of Insomnia, Inc. -("Insomnia"), you are agreeing to be bound to the following terms and conditions -("Terms of Service"). - -Insomnia reserves the right to update and change the Terms of Service at it's discretion without -notice. Any new features in excess to the current Service shall be subject to the Terms of Service. -Continued use of the Service after any such changes shall constitute your consent to such changes. - -You can review the most current version of the Terms of Service at any time at: -https://insomnia.rest/terms - -Violation of any of the terms below may result in immediate termination of your Service account. - -## Account Terms - -- Accounts registered by automated methods are not permitted and will be deleted immediately without notice. -- You must provide your legal full name, a valid email address, and any other pertinent information requested in order to complete the sign-up process. -- You are responsible for maintaining the security of your account and password. Insomnia cannot and will not be liable for any loss of information or security breaches that result from your failure to comply with this security obligation. -- You are hereby considered fully responsible for all content posted and any and all activity that occurs under your account. -- You may not use the Service for any illegal activities. You must not, in your use of the Service, violate any laws in your jurisdiction (including but not limited to copyright laws). Should you engage in any illegal activities through the Service, you agree to hold Insomnia blameless and not liable for any damages or crimes that may occur as a result. You will also have your account immediately shut down, and all data there-in removed. -- You may not use the Service to sell or distribute offensive or illegal content (goods, software, products or material). You agree Insomnia holds the right to determine what is considered "offensive" as pertaining to this agreement. Offensive and illegal content include: things that are sexually-oriented or pornographic, drugs, gambling, things that promote hate or violence towards others. You will have your account immediately shut down, and all data there-in deleted should you sell or distribute illegal or offensive content. -- You understand that the Service uses a the 3rd party payment processor Stripe (https://stripe.com) to handle payment transactions, and that all monetary transactions made through your use of the Service are subject to any fees Stripe may charge. - -## Payment and Refunds Terms - -- A valid credit card is required for paying accounts. A credit card is not required upon initial sign up. -- The Service charges it's transaction fee immediately at the point of each transaction. Transaction fees vary depending on the account plan you sign up for. -- For accounts that are signed up to a plan that charges a monthly fee, the Service bills on a monthly basis and that fee is non-refundable. Accounts are not prorated. There will be no refunds or credits or upgrade/downgrade refunds. -- All fees exclude any taxes, levies, or duties imposed by taxing authorities, and you shall be responsible for payment of all such taxes, levies, or duties. - -## Cancellation and Termination - -- It is your responsibility to ensure that your account has been properly canceled. An email requesting an account to be canceled is not considered a cancellation. You can cancel your account at any time from the "Account" section within the Service. -- All of your Content will be immediately removed from the Service should you initiate cancellation. This information can not be recovered once your account is canceled. -- Your cancellation will be effective immediately once initiated. You will not be charged again from that point forward. -- Insomnia has the right to suspend or terminate your account and refuse any and all current or future use of the Service for any reason at any time. Insomnia, in it's sole discretion, reserves the right to refuse service to anyone for any reason at any time. - -## Modifications to the Service and Prices - -- Insomnia reserves the right at any time, with or without notice, to modify or discontinue the Service, temporarily or permanently. -- Insomnia reserves the right to change the prices of any and all Services at any time. -- Insomnia shall not be liable to you or to any third party for any modification, price change, suspension or discontinuance of the Service. - -## Copyright and Content Ownership - -- The Service itself including the use of the Insomnia name, logos, domain names and other distinctive brand features are protected by copyright and other laws: © Insomnia, All rights reserved. You may not duplicate, copy, or reuse any portion of the code (HTML/CSS/Javascript) or visual design elements. -- You retain your rights to any content you submit, post or display on or through the Service. Insomnia claims no ownership to any content you post to the Service. - -## General Conditions - -- Your use of the Service is at your own risk. The service is provided on an "as is" and "as available" basis. -- Technical support is available to account holders and is only available via our social channels and email. -- You acknowledge and understand that Insomnia uses third party vendors to provide the necessary hardware, software, networking, storage, and related technology required to run the Service. -- You must not modify, adapt or hack the Service or modify another website so as to falsely imply that it is associated with the Service or Insomnia. -- You agree not to reproduce, duplicate, copy, sell, resell or exploit any portion of the Service, use of the Service, or access to the Service. -- Verbal, physical, written or other abuse (including threats of abuse or retribution) of any Insomnia employee, member, or officer will result in immediate account termination and potential criminal charges. -- Insomnia does not warrant that (i) the service will meet your specific requirements, (ii) the service will be uninterrupted, timely, or error-free, (iii) the quality of any products, services, information, or other material purchased or obtained by you through the service will meet your expectations. -- You expressly understand and agree that Insomnia shall not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses (even if Insomnia has been advised of the possibility of such damages), resulting from: (i) the use or the inability to use the service; (ii) the cost of procurement of substitute goods and services resulting from any goods, data, information or services purchased or obtained or messages received or transactions entered into through or from the service; (iii) unauthorized access to or alteration of your transmissions or data; (iv) statements or conduct of any third party on the service; (v) or any other matter relating to the service. -- You expressly understand and agree that Insomnia shall not be liable for any payments and monetary transactions that occur through your use of the Service. You expressly understand and agree that all payments and monetary transactions are handled by the 3rd party payment platform the Service uses: Stripe (https://stripe.com). You agree Insomnia shall not be liable for any issues regrading financial and monetary transactions between you and any other party. -- The failure of Insomnia to aggressively enforce any right or provision of the Terms of Service shall not be construed as a waiver of such right or provision. The Terms of Service outlines the entire agreement between you and Insomnia and supersedes any prior agreements between you and Insomnia including prior iterations of the Terms of Service. - diff --git a/website/site/content/transparency.md b/website/site/content/transparency.md deleted file mode 100644 index 2475ad610a..0000000000 --- a/website/site/content/transparency.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Transparency -subTitle: Sharing the Road to Insomnia -slug: transparency -type: skinny ---- - -One of my goals when starting Insomnia was to share as much about the process as possible. -The first step towards that goal was publishing a monthly [transparency report](/series/transparency/) -outlining growth, mistakes, successes, and general thoughts. - -This page is the -next attempt at sharing even more. It's fairly basic right now, but I plan to add more numbers -here as time goes on. If you have any suggestions for things you want to see, just -[send an email](/documentation/support-and-feedback/) and let me know. - -## Weekly Active Users - -The following chart shows the number of weekly active users for the Insomnia desktop app. - -![Weekly Active Users](https://docs.google.com/spreadsheets/d/1VisLOuV4X3h6T5hNCk60oVIP3s80x5AWJ3duygmkkWI/pubchart?oid=1228212532&format=image) - - -Open interactive chart - - - -## Monthly Recurring Revenue - -The following chart shows the amount of monthly recurring revenue for all paid plans combined. - -![Weekly Active Users](https://docs.google.com/spreadsheets/d/1VisLOuV4X3h6T5hNCk60oVIP3s80x5AWJ3duygmkkWI/pubchart?oid=2111297713&format=image) - - -Open interactive chart - diff --git a/website/site/layouts/index.html b/website/site/layouts/index.html deleted file mode 100644 index 74d8c8e74a..0000000000 --- a/website/site/layouts/index.html +++ /dev/null @@ -1,213 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-
-

- Debug APIs like a human, not a robot -

-

- Finally, a REST client you'll love -

- {{ partial "download-button" }} -
-
-
- Insomnia REST Client -
-
-
- -
-
-
-
-
-

- Powerful HTTP toolbelt, in one intuitive app -

-

- Free and open source on Mac, Windows, and Linux -

-
-
-
-
-
- Insomnia Request Templating -
-

Create HTTP requests

-

- Specify URL, payload, headers, and authorization all in one place. Then - just hit send. -

-
-
-
- Insomnia Response Details -
-

View entire transaction

-

- Get all the details on every response. View status code, body, - headers, cookies, and more! -

-
-
-
- Insomnia Request Organization -
-

Organize everything

-

- Create workspaces or folders, drag-and-drop requests, and easily - import and export your data. -

-
-
-
-
- -
-
-
-
-

Get more done, faster

-

- Insomnia is more than just an HTTP client -
-
- {{ partial "download-button" }} -

-
-
-
-
- -
-
-
-
-

Never repeat yourself

-

- Reuse common values like API keys or - session IDs. Define environment variables globally or - switch between sub-environments for a seamless - development/production workflow. -

-
-
- Insomnia REST Client Cookies -
-
-
-
-

Write less code

-

- Generate code snippets for over thirty - language libraries, including Curl, NodeJS, Go, Swift, - Python, Java, C, and others. -

-
-
- Insomnia REST Client Cookies -
-
-
-
-

Love the experience

-

- Get started quickly with Insomnia's - intuitive interface, and choose from nine unique color themes - to tailor the experience to you. -

-
-
- Insomnia REST Client Themes -
-
-
-
- -
-
-
-
-

Insomnia is for everyone ❤

-

- Insomnia is collaborative, free, - open source, and - cross-platform – making it the perfect companion for both individuals and teams. -

- {{ partial "download-button" }} -   - Learn About Teams -
-
-
-
- -
-
-
-
-

Still not convinced?

-

Maybe this big ol' list of features will help

-
-
-
-
-
    -
  • OAuth 2.0 authentication
  • -
  • GraphQL editor
  • -
  • Multipart form builder
  • -
  • Query parameter builder
  • -
  • SSL client certificates
  • -
  • JSONPath and XPath
  • -
  • Response history
  • -
  • Data import/export
  • -
  • Rendered HTML preview
  • -
  • Image and SVG preview
  • -
  • Configurable proxy
  • -
  • Color themes
  • -
  • Cloud sync and sharing
  • -
-
-
-
    -
  • Import from curl
  • -
  • Digest, Basic, NTLM Auth
  • -
  • Nunjucks templating
  • -
  • Configurable timeout
  • -
  • HAR import
  • -
  • Request filtering
  • -
  • Toggle SSL validation
  • -
  • Keyboard shortcuts
  • -
  • Usable at almost all sizes
  • -
  • Responsive interface
  • -
  • Autocomplete Hints
  • -
  • Redirect chain visualization
  • -
  • Mac, Windows and Linux
  • -
-
-
-
-
-

Go on, give it a try. You won't regret it.

-
- {{ partial "download-button" }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - diff --git a/website/site/layouts/partials/extra-head.html b/website/site/layouts/partials/extra-head.html deleted file mode 100644 index 72f18da589..0000000000 --- a/website/site/layouts/partials/extra-head.html +++ /dev/null @@ -1,35 +0,0 @@ - - diff --git a/website/site/layouts/section/changelog.rss.xml b/website/site/layouts/section/changelog.rss.xml deleted file mode 100644 index ff8a9b3545..0000000000 --- a/website/site/layouts/section/changelog.rss.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - {{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }} - {{ .Permalink }} - Recent content {{ with .Title }}in {{.}} {{ end }}on - {{ .Site.Title }} - - Hugo -- gohugo.io{{ with .Site.LanguageCode }} - {{.}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} - ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} - {{end}}{{ with .Site.Copyright }} - {{.}}{{end}}{{ if not .Date.IsZero }} - - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - {{ end }} - - {{ range first 15 .Data.Pages }} - {{ if or (not (isset .Params "channel")) (eq .Params.channel "stable") }} - - {{ .Title }} - {{ .Permalink }} - - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - - {{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} - {{end}} - {{ .Permalink }} - - {{ partial "changelog-details" . | html }} - - - {{ end }} - {{ end }} - - diff --git a/website/site/static/_redirects b/website/site/static/_redirects deleted file mode 100644 index d33521a557..0000000000 --- a/website/site/static/_redirects +++ /dev/null @@ -1,51 +0,0 @@ -/beta.html /documentation/3_0-beta/ -/blog/:year/:month/:day/changelog-for-:rest /documentation/migrate-from-chrome/ -/blog/google-discontinuing-chrome-apps/.com / -/blog/google-discontinuing-chrome-apps/support@insomnia.rest / -/code.html /documentation/code-snippets/ -/cookies.html /documentation/cookie-management/ -/documentation/3.0-beta /documentation/3_0-beta/ -/documentation/keyboard-shortcuts.html /documentation/keyboard-shortcuts/ -/documentation/order-requests-in-the-sidebar.html /documentation/ -/documentation/schedule-a-request-on-a-set-interval.html /documentation/ -/documentation/swig-templating-language.html /documentation/environment-variables/ -/documentation/export-spec/ /documentation/import-export/ -/environments.html /documentation/environment-variables/ -/feedback.html /documentation/support-and-feedback/ -/installation.html /documentation/installation/ -/migrate-from-chrome.html /documentation/migrate-from-chrome/ -/shortcuts.html /documentation/keyboard-shortcuts/ -/tags/announcement/support@insomnia.rest /documentation/support-and-feedback/ -/workspaces.html /documentation/workspaces/ -/index.xml /blog/index.xml -/contact/ /support/ -/eula/ https://github.com/getinsomnia/insomnia/blob/master/LICENSE - -# Legacy Docs -/documentation/support-and-feedback/* /support/ -/documentation/installation/* https://support.insomnia.rest/article/23-installation -/documentation/plus/* https://support.insomnia.rest/article/47-insomnia-plus -/documentation/teams/* https://support.insomnia.rest/article/20-teams -/documentation/faq/* https://support.insomnia.rest/article/48-frequently-asked-questions -/documentation/environment-variables/* https://support.insomnia.rest/article/18-environment-variables -/documentation/template-tags/* https://support.insomnia.rest/article/40-template-tags -/documentation/cookie-management/* https://support.insomnia.rest/article/49-cookies -/documentation/workspaces/* https://support.insomnia.rest/article/50-workspaces -/documentation/authentication/* https://support.insomnia.rest/article/38-authentication -/documentation/request-chaining/* https://support.insomnia.rest/article/43-chaining-requests -/documentation/code-snippets/* https://support.insomnia.rest/article/37-code-snippet-generation -/documentation/client-certificates/* https://support.insomnia.rest/article/51-client-certificates -/documentation/import-export/* https://support.insomnia.rest/article/52-importing-and-exporting-data -/documentation/plugins/* https://support.insomnia.rest/article/26-plugins -/documentation/proxy/* https://support.insomnia.rest/article/53-http-s-proxy -/documentation/ssl-validation/* https://support.insomnia.rest/article/54-ssl-validation -/documentation/migrate-from-chrome/* https://support.insomnia.rest/article/55-migrate-from-2-0 -/documentation/security/* https://support.insomnia.rest/article/57-encryption -/documentation/forgot-password/* https://support.insomnia.rest/article/56-forgot-password -/documentation/how-you-can-help/* https://support.insomnia.rest/article/58-how-you-can-help -/documentation/keyboard-shortcuts/* https://support.insomnia.rest/article/59-keyboard-shortcuts -/documentation/backstory/* https://support.insomnia.rest/article/60-backstory -/documentation/* https://support.insomnia.rest -/docs/* https://support.insomnia.rest - - diff --git a/website/site/static/browserconfig.xml b/website/site/static/browserconfig.xml deleted file mode 100644 index 8828da25cb..0000000000 --- a/website/site/static/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #da532c - - - diff --git a/website/site/static/css/main.css b/website/site/static/css/main.css deleted file mode 100644 index 0f00d92e77..0000000000 --- a/website/site/static/css/main.css +++ /dev/null @@ -1,540 +0,0 @@ -/* ~~~~~ */ -/* LINKS */ -/* ~~~~~ */ - -a, .button { - color: #745be6; - font-weight: 400 !important; -} - -a:hover, .button:hover { - color: #6147d1; -} - -/* ~~~~~~~~~ */ -/* JUMBOTRON */ -/* ~~~~~~~~~ */ - -.jumbotron { - background: linear-gradient(165deg, #6e60cc 0%, #484389 100%); - text-align: center; - padding: 9rem 0 8rem 0; - margin-bottom: 2rem; -} - -.jumbotron *:not(.button) { - color: #fff; - line-height: 1.5em; -} - -img.jumbotron__icon { - max-height: 8rem; - margin: -2rem auto 3rem; -} - -.jumbotron__undie { - border-bottom: 0.1em solid white; -} - -.jumbotron h1 { - font-size: 2.3rem; - margin: 0; -} - -.jumbotron h2 { - margin: 0; - padding-top: 1rem; - font-size: 1.7rem; - color: #eee; -} - -.jumbotron .button { - color: #fff; - border: 1px solid #fff; - margin: 4rem auto 5rem; - font-size: 1.1em; -} - -.jumbotron .button:hover { - text-decoration: none; - background: #fff; - color: #675BC0; -} - -.jumbotron__img-container { - position: absolute; - left: 1.5rem; - right: 1.5rem; - height: 0; - max-width: 55rem; - margin: auto; -} - -.jumbotron__img { - display: block; - margin: auto; - z-index: 1; - border-radius: 0.2rem; - box-shadow: 0 0 5rem rgba(0, 0, 0, 0.2); -} - -/* ~~~~~~~~~~~~ */ -/* NOTIFICATION */ -/* ~~~~~~~~~~~~ */ - -.notification { - box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3); - position: relative; - z-index: 0; -} - -.notification__content { - padding: 0.5rem; - text-align: center; -} - -/* ~~~~~~~~~~~~~ */ -/* FEATURES LIST */ -/* ~~~~~~~~~~~~~ */ - -.feature-list { - max-width: 40rem; - margin: 1rem auto; -} - -.feature-list ul { - width: 14rem; - margin: 0 auto; -} - -.feature-list li { - line-height: 1.9em; - list-style: circle; - margin: auto; - width: auto; -} - -/* ~~~~~~~~ */ -/* ARTICLES */ -/* ~~~~~~~~ */ - -article h1[id], -article h2[id], -article h3[id] { - position: relative; -} - -article h1[id]:hover::before, -article h2[id]:hover::before, -article h3[id]:hover::before { - position: absolute; - left: -1em; - content: ' ¶'; -} - -article a > img { - outline: 2px solid transparent; -} - -article a > img:hover { - outline: 2px solid #eee; - transition: outline 200ms; -} - -/* ~~~~~~~~~~~~~~ */ -/* DOWNLOADS PAGE */ -/* ~~~~~~~~~~~~~~ */ - -.platform-download .button { - margin-top: 2rem; - width: 10rem; -} - -.platform-download__icon { - background: #ccc; - width: 10rem; - height: 10rem; -} - -.platform-download__icon::before { - display: block; - line-height: 10rem; - font-size: 4rem !important; - text-align: center; - color: #fff; -} - -/* ~~~~~~ */ -/* IMAGES */ -/* ~~~~~~ */ - -.img--promo { - width: auto; - display: inline-block; - border-radius: 0.2rem; - overflow: hidden; - box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1); - border: 1px solid #ededed; - max-height: 12rem; - margin: 1rem auto; -} - -/* ~~~~~~ */ -/* COLORS */ -/* ~~~~~~ */ - -.bg-mac { - background-color: #bbb; -} - -.bg-windows { - background-color: #00bcf2; -} - -.bg-linux { - background-color: #333; -} - -/* ~~~~~~~~~~~~~ */ -/* PRICING PAGE */ -/* ~~~~~~~~~~~~~ */ - -.pricing { - margin-top: 1rem; -} - -.pricing__column { - box-sizing: border-box; - border: 1px solid #ddd; - position: relative; - padding-bottom: 5rem; - border-radius: 3px; - overflow: hidden; - transform: scale(0.9); -} - -.pricing__column__header { - padding: 1rem 1.5rem; - background: #eee; - border-bottom: 1px solid #ddd; -} - -.pricing__column__header h1 { - font-size: 1.4rem; -} - -.pricing__column__body { - padding: 1.5rem; -} - -.pricing__column__body h2 { - font-size: 1.3rem; - margin-top: 0; - padding-bottom: 1rem; -} - -.pricing__column__footer { - padding: 0 1.5rem 1.5rem 1.5rem; - text-align: center; - position: absolute; - bottom: 0; - left: 0; - right: 0; -} - -.pricing__column__footer .button { - width: 100%; - border-color: #aaa; - color: #777; -} - -.pricing__column__footer .button:hover { - width: 100%; - border-color: #888; - background-color: #888; - color: #fff; -} - -.pricing__column__body ul { - padding-left: 1rem; - margin: 0; - display: block; -} - -.pricing__column--best { - box-shadow: 0 0 2em rgba(91, 79, 169, 0.3); - transform: scale(1); -} - -.pricing__column--best, .pricing__column--best > .pricing__column__header { - border-color: #6a57d5; -} - -.pricing__column--best > .pricing__column__header { - background: #6a57d5; -} - -.pricing__column--best > .pricing__column__footer .button { - color: #6a57d5; - border-color: #6a57d5; -} - -.pricing__column--best > .pricing__column__footer .button:hover { - color: #fff; - border-color: #6a57d5; - background-color: #6a57d5; -} - -.pricing__column--best > .pricing__column__header h1 { - color: #fff; -} - -.pricing__column--better { - box-shadow: 0 0 2em rgba(68, 68, 68, 0.3); - transform: scale(0.95); -} - -.pricing__column--better, .pricing__column--better > .pricing__column__header { - border-color: #555; -} - -.pricing__column--better > .pricing__column__header { - background: #555; -} - -.pricing__column--better > .pricing__column__footer .button { - color: #555; - border-color: #555; -} - -.pricing__column--better > .pricing__column__footer .button:hover { - color: #fff; - border-color: #555; - background-color: #555; -} - -.pricing__column--better > .pricing__column__header h1 { - color: #fff; -} - -/* ~~~~~~~ */ -/* SIDEBAR */ -/* ~~~~~~~ */ - -.docs-sidebar { - max-width: 15rem; -} - -.docs-sidebar ul { - padding: 0; - margin: 0 0 1.4rem; -} - -.docs-sidebar li { - list-style: none; - width: 100%; -} - -.docs-sidebar__entry { - padding: 0.2rem 0; - display: inline-block; - font-weight: normal; -} - -.docs-sidebar__entry--active::after { - content: "→"; -} - -.docs-sidebar h2 { - font-size: 1.2rem; - padding: 0; - margin-bottom: 0.4rem; -} - -/* ~~~~~ */ -/* LISTS */ -/* ~~~~~ */ - -ul.ul--decorated { - list-style: none; -} - -ul.ul--decorated li { - position: relative; -} - -ul.ul--decorated li:before { - position: absolute; - font-size: 0.9em; - font-weight: bold; - left: -1.4rem; -} - -li.li--major:before, -ul.ul--major li:before { - content: '\01F680'; -} - -li.li--fix:before, -ul.ul--fix li:before { - content: '\01F691'; -} - -li.li--minor:before, -ul.ul--minor li:before { - content: '\01F484'; -} - -/* ~~~~~~~~~ */ -/* APP STUFF */ -/* ~~~~~~~~~ */ - -.app-container { - max-width: 30rem; - margin: auto; -} - -.show-logged-out, -.show-logged-in { - opacity: 0; - transition: opacity 0.2s ease; -} - -.show-logged-in { - display: none; - transition: opacity 0.2s ease; -} - -body[data-logged-in="yes"] .show-logged-in { - display: block; - opacity: 1; -} - -body[data-logged-in="yes"] .show-logged-out { - display: none; - opacity: 0; -} - -body[data-logged-in="no"] .show-logged-in { - display: none; - opacity: 0; -} - -body[data-logged-in="no"] .show-logged-out { - display: block; - opacity: 1; -} - -[data-hide-until-rendered="hide"] > * { - opacity: 0 !important; -} - -[data-hide-until-rendered="show"] > * { - opacity: 1 !important; - transition: all 0.7s ease; -} - -[data-hide-until-rendered="hide"]::before { - font-size: 3rem; - content: 'Loading...'; - opacity: 0.2; - display: block; - margin: 4rem auto; - width: 100%; - text-align: center; -} - -/* ~~~~~~~~~~~~~ */ -/* MEDIA QUERIES */ -/* ~~~~~~~~~~~~~ */ - -@media only screen and (max-width: 33.75rem) { - .navbar__items { - margin-right: 0; - } - - .navbar__items li[data-menu-item="download"], - .navbar__items li[data-menu-item="account"], - .navbar__items li[data-menu-item="signup"] { - display: none; - } -} - -@media only screen and (max-width: 45rem) { - .docs-sidebar__entry--active::after { - content: "↓"; - } - - .docs-sidebar { - border-bottom: 1px solid #eee; - padding-bottom: 2rem; - max-width: none; - } - - .docs-sidebar li { - display: inline-block; - width: auto; - } - - .docs-sidebar li { - margin-right: 0.5rem; - } - - .docs-sidebar li:not(:last-child)::after { - margin-left: 0.5rem; - content: '|'; - } - - .navbar__items li[data-menu-item="download"] { - display: none; - } -} - -@media only screen and (min-width: 23rem) { - .jumbotron { - margin-bottom: 7rem; - } -} - -@media only screen and (min-width: 33.75rem) { - .img--promo { - max-height: 12rem; - } - - .jumbotron { - margin-bottom: 12rem; - } -} - -@media only screen and (min-width: 45rem) { - .img--promo { - max-height: 7rem; - } - - .jumbotron { - margin-bottom: 17rem; - } - - .pricing { - display: flex; - flex-direction: row; - } -} - -@media only screen and (min-width: 60rem) { - .img--promo { - max-height: 10rem; - } - - .jumbotron { - margin-bottom: 19rem; - } - - .jumbotron__img-container { - position: absolute; - left: 0; - right: 0; - height: 0; - margin: auto; - } -} diff --git a/website/site/static/favicon.ico b/website/site/static/favicon.ico deleted file mode 100644 index 890b17f1bb..0000000000 Binary files a/website/site/static/favicon.ico and /dev/null differ diff --git a/website/site/static/images/blog/active-users-four-months.png b/website/site/static/images/blog/active-users-four-months.png deleted file mode 100644 index 6d7f217d66..0000000000 Binary files a/website/site/static/images/blog/active-users-four-months.png and /dev/null differ diff --git a/website/site/static/images/blog/advanced-send.png b/website/site/static/images/blog/advanced-send.png deleted file mode 100644 index c80d737ad3..0000000000 Binary files a/website/site/static/images/blog/advanced-send.png and /dev/null differ diff --git a/website/site/static/images/blog/binaryfile.png b/website/site/static/images/blog/binaryfile.png deleted file mode 100644 index e9cc917683..0000000000 Binary files a/website/site/static/images/blog/binaryfile.png and /dev/null differ diff --git a/website/site/static/images/blog/certificates.png b/website/site/static/images/blog/certificates.png deleted file mode 100644 index 1249217443..0000000000 Binary files a/website/site/static/images/blog/certificates.png and /dev/null differ diff --git a/website/site/static/images/blog/code.png b/website/site/static/images/blog/code.png deleted file mode 100644 index 9cbe3ad855..0000000000 Binary files a/website/site/static/images/blog/code.png and /dev/null differ diff --git a/website/site/static/images/blog/cookies.png b/website/site/static/images/blog/cookies.png deleted file mode 100644 index e47ef70b5f..0000000000 Binary files a/website/site/static/images/blog/cookies.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-10.png b/website/site/static/images/blog/dau-10.png deleted file mode 100644 index c5f8bd48e0..0000000000 Binary files a/website/site/static/images/blog/dau-10.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-11.png b/website/site/static/images/blog/dau-11.png deleted file mode 100644 index 884398a902..0000000000 Binary files a/website/site/static/images/blog/dau-11.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-12.png b/website/site/static/images/blog/dau-12.png deleted file mode 100644 index a229c400b4..0000000000 Binary files a/website/site/static/images/blog/dau-12.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-13.png b/website/site/static/images/blog/dau-13.png deleted file mode 100644 index 4837d7dcd2..0000000000 Binary files a/website/site/static/images/blog/dau-13.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-14.png b/website/site/static/images/blog/dau-14.png deleted file mode 100644 index 1106a1148e..0000000000 Binary files a/website/site/static/images/blog/dau-14.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-15.png b/website/site/static/images/blog/dau-15.png deleted file mode 100644 index d8304983b0..0000000000 Binary files a/website/site/static/images/blog/dau-15.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-16.png b/website/site/static/images/blog/dau-16.png deleted file mode 100644 index 5782eb7884..0000000000 Binary files a/website/site/static/images/blog/dau-16.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-5.png b/website/site/static/images/blog/dau-5.png deleted file mode 100644 index 954adeee53..0000000000 Binary files a/website/site/static/images/blog/dau-5.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-6.png b/website/site/static/images/blog/dau-6.png deleted file mode 100644 index 37675bc5e0..0000000000 Binary files a/website/site/static/images/blog/dau-6.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-7.png b/website/site/static/images/blog/dau-7.png deleted file mode 100644 index f4101382a2..0000000000 Binary files a/website/site/static/images/blog/dau-7.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-8.png b/website/site/static/images/blog/dau-8.png deleted file mode 100644 index d4833a4c43..0000000000 Binary files a/website/site/static/images/blog/dau-8.png and /dev/null differ diff --git a/website/site/static/images/blog/dau-9.png b/website/site/static/images/blog/dau-9.png deleted file mode 100644 index 0853a7d18b..0000000000 Binary files a/website/site/static/images/blog/dau-9.png and /dev/null differ diff --git a/website/site/static/images/blog/devtron.png b/website/site/static/images/blog/devtron.png deleted file mode 100644 index 2fcc1b902f..0000000000 Binary files a/website/site/static/images/blog/devtron.png and /dev/null differ diff --git a/website/site/static/images/blog/docs-analytics.png b/website/site/static/images/blog/docs-analytics.png deleted file mode 100644 index d95a8803db..0000000000 Binary files a/website/site/static/images/blog/docs-analytics.png and /dev/null differ diff --git a/website/site/static/images/blog/docs-search.png b/website/site/static/images/blog/docs-search.png deleted file mode 100644 index 5c63bca724..0000000000 Binary files a/website/site/static/images/blog/docs-search.png and /dev/null differ diff --git a/website/site/static/images/blog/electron-apps.png b/website/site/static/images/blog/electron-apps.png deleted file mode 100644 index 571d5c8b7d..0000000000 Binary files a/website/site/static/images/blog/electron-apps.png and /dev/null differ diff --git a/website/site/static/images/blog/electron-hosting-cost.png b/website/site/static/images/blog/electron-hosting-cost.png deleted file mode 100644 index 44055924c9..0000000000 Binary files a/website/site/static/images/blog/electron-hosting-cost.png and /dev/null differ diff --git a/website/site/static/images/blog/environments.png b/website/site/static/images/blog/environments.png deleted file mode 100644 index 3a74330e63..0000000000 Binary files a/website/site/static/images/blog/environments.png and /dev/null differ diff --git a/website/site/static/images/blog/github-oauth/authentication-settings.png b/website/site/static/images/blog/github-oauth/authentication-settings.png deleted file mode 100644 index 54f4b2a846..0000000000 Binary files a/website/site/static/images/blog/github-oauth/authentication-settings.png and /dev/null differ diff --git a/website/site/static/images/blog/github-oauth/authorize.png b/website/site/static/images/blog/github-oauth/authorize.png deleted file mode 100644 index 38a4df610a..0000000000 Binary files a/website/site/static/images/blog/github-oauth/authorize.png and /dev/null differ diff --git a/website/site/static/images/blog/github-oauth/request.png b/website/site/static/images/blog/github-oauth/request.png deleted file mode 100644 index 498c168c18..0000000000 Binary files a/website/site/static/images/blog/github-oauth/request.png and /dev/null differ diff --git a/website/site/static/images/blog/github-oauth/response.png b/website/site/static/images/blog/github-oauth/response.png deleted file mode 100644 index a7dc97c7a4..0000000000 Binary files a/website/site/static/images/blog/github-oauth/response.png and /dev/null differ diff --git a/website/site/static/images/blog/github-oauth/timeline.png b/website/site/static/images/blog/github-oauth/timeline.png deleted file mode 100644 index bf13872962..0000000000 Binary files a/website/site/static/images/blog/github-oauth/timeline.png and /dev/null differ diff --git a/website/site/static/images/blog/graphql.png b/website/site/static/images/blog/graphql.png deleted file mode 100644 index 48e9a70d0f..0000000000 Binary files a/website/site/static/images/blog/graphql.png and /dev/null differ diff --git a/website/site/static/images/blog/har.png b/website/site/static/images/blog/har.png deleted file mode 100644 index 6990cd879d..0000000000 Binary files a/website/site/static/images/blog/har.png and /dev/null differ diff --git a/website/site/static/images/blog/history.png b/website/site/static/images/blog/history.png deleted file mode 100644 index 1d1feedd1e..0000000000 Binary files a/website/site/static/images/blog/history.png and /dev/null differ diff --git a/website/site/static/images/blog/insomnia-grid.png b/website/site/static/images/blog/insomnia-grid.png deleted file mode 100644 index 2fa037780e..0000000000 Binary files a/website/site/static/images/blog/insomnia-grid.png and /dev/null differ diff --git a/website/site/static/images/blog/material-theme.png b/website/site/static/images/blog/material-theme.png deleted file mode 100644 index a6db655f60..0000000000 Binary files a/website/site/static/images/blog/material-theme.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-10.png b/website/site/static/images/blog/mrr-10.png deleted file mode 100644 index 06baa16c57..0000000000 Binary files a/website/site/static/images/blog/mrr-10.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-11.png b/website/site/static/images/blog/mrr-11.png deleted file mode 100644 index 13918deaf8..0000000000 Binary files a/website/site/static/images/blog/mrr-11.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-12.png b/website/site/static/images/blog/mrr-12.png deleted file mode 100644 index 56920fb09d..0000000000 Binary files a/website/site/static/images/blog/mrr-12.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-13.png b/website/site/static/images/blog/mrr-13.png deleted file mode 100644 index 716887520b..0000000000 Binary files a/website/site/static/images/blog/mrr-13.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-14.png b/website/site/static/images/blog/mrr-14.png deleted file mode 100644 index dd2084075d..0000000000 Binary files a/website/site/static/images/blog/mrr-14.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-15.png b/website/site/static/images/blog/mrr-15.png deleted file mode 100644 index 306e3c4e75..0000000000 Binary files a/website/site/static/images/blog/mrr-15.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-16.png b/website/site/static/images/blog/mrr-16.png deleted file mode 100644 index 8c0eee4cd8..0000000000 Binary files a/website/site/static/images/blog/mrr-16.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-6.png b/website/site/static/images/blog/mrr-6.png deleted file mode 100644 index 7157b07c0d..0000000000 Binary files a/website/site/static/images/blog/mrr-6.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-7.png b/website/site/static/images/blog/mrr-7.png deleted file mode 100644 index bbb2cfcbd2..0000000000 Binary files a/website/site/static/images/blog/mrr-7.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-8.png b/website/site/static/images/blog/mrr-8.png deleted file mode 100644 index d7759e4d1d..0000000000 Binary files a/website/site/static/images/blog/mrr-8.png and /dev/null differ diff --git a/website/site/static/images/blog/mrr-9.png b/website/site/static/images/blog/mrr-9.png deleted file mode 100644 index 7fe8123191..0000000000 Binary files a/website/site/static/images/blog/mrr-9.png and /dev/null differ diff --git a/website/site/static/images/blog/multipart.png b/website/site/static/images/blog/multipart.png deleted file mode 100644 index a3560de718..0000000000 Binary files a/website/site/static/images/blog/multipart.png and /dev/null differ diff --git a/website/site/static/images/blog/pdf-preview.png b/website/site/static/images/blog/pdf-preview.png deleted file mode 100644 index fb23e5b844..0000000000 Binary files a/website/site/static/images/blog/pdf-preview.png and /dev/null differ diff --git a/website/site/static/images/blog/premium-themes.png b/website/site/static/images/blog/premium-themes.png deleted file mode 100644 index ced207e190..0000000000 Binary files a/website/site/static/images/blog/premium-themes.png and /dev/null differ diff --git a/website/site/static/images/blog/steps-8.png b/website/site/static/images/blog/steps-8.png deleted file mode 100644 index a52d12f0b5..0000000000 Binary files a/website/site/static/images/blog/steps-8.png and /dev/null differ diff --git a/website/site/static/images/blog/switch-workspace.png b/website/site/static/images/blog/switch-workspace.png deleted file mode 100644 index c10a15a015..0000000000 Binary files a/website/site/static/images/blog/switch-workspace.png and /dev/null differ diff --git a/website/site/static/images/blog/sync-menu.png b/website/site/static/images/blog/sync-menu.png deleted file mode 100644 index db6bba0adf..0000000000 Binary files a/website/site/static/images/blog/sync-menu.png and /dev/null differ diff --git a/website/site/static/images/blog/themes.png b/website/site/static/images/blog/themes.png deleted file mode 100644 index 06bb12c5e6..0000000000 Binary files a/website/site/static/images/blog/themes.png and /dev/null differ diff --git a/website/site/static/images/blog/time-8.png b/website/site/static/images/blog/time-8.png deleted file mode 100644 index 8be8104ea4..0000000000 Binary files a/website/site/static/images/blog/time-8.png and /dev/null differ diff --git a/website/site/static/images/blog/twitter-oauth.png b/website/site/static/images/blog/twitter-oauth.png deleted file mode 100644 index bf5e4faaeb..0000000000 Binary files a/website/site/static/images/blog/twitter-oauth.png and /dev/null differ diff --git a/website/site/static/images/blog/unix-sockets.png b/website/site/static/images/blog/unix-sockets.png deleted file mode 100644 index ac20400de5..0000000000 Binary files a/website/site/static/images/blog/unix-sockets.png and /dev/null differ diff --git a/website/site/static/images/blog/version-5/autocomplete.gif b/website/site/static/images/blog/version-5/autocomplete.gif deleted file mode 100644 index b7aa4e8454..0000000000 Binary files a/website/site/static/images/blog/version-5/autocomplete.gif and /dev/null differ diff --git a/website/site/static/images/blog/version-5/curl.png b/website/site/static/images/blog/version-5/curl.png deleted file mode 100644 index c3bc254e4a..0000000000 Binary files a/website/site/static/images/blog/version-5/curl.png and /dev/null differ diff --git a/website/site/static/images/blog/version-5/dropbox.gif b/website/site/static/images/blog/version-5/dropbox.gif deleted file mode 100644 index 64f51579f5..0000000000 Binary files a/website/site/static/images/blog/version-5/dropbox.gif and /dev/null differ diff --git a/website/site/static/images/blog/version-5/render-errors.png b/website/site/static/images/blog/version-5/render-errors.png deleted file mode 100644 index c9765b0507..0000000000 Binary files a/website/site/static/images/blog/version-5/render-errors.png and /dev/null differ diff --git a/website/site/static/images/blog/version-5/sort.gif b/website/site/static/images/blog/version-5/sort.gif deleted file mode 100644 index 31c11fc76b..0000000000 Binary files a/website/site/static/images/blog/version-5/sort.gif and /dev/null differ diff --git a/website/site/static/images/blog/version-5/variable-error.gif b/website/site/static/images/blog/version-5/variable-error.gif deleted file mode 100644 index 9afdb4b900..0000000000 Binary files a/website/site/static/images/blog/version-5/variable-error.gif and /dev/null differ diff --git a/website/site/static/images/blog/web-traffic-four-months.png b/website/site/static/images/blog/web-traffic-four-months.png deleted file mode 100644 index 7a051138c7..0000000000 Binary files a/website/site/static/images/blog/web-traffic-four-months.png and /dev/null differ diff --git a/website/site/static/images/blog/xpath.png b/website/site/static/images/blog/xpath.png deleted file mode 100644 index 51898ecc2c..0000000000 Binary files a/website/site/static/images/blog/xpath.png and /dev/null differ diff --git a/website/site/static/images/favicons/android-chrome-192x192.png b/website/site/static/images/favicons/android-chrome-192x192.png deleted file mode 100644 index 2bad63e5f9..0000000000 Binary files a/website/site/static/images/favicons/android-chrome-192x192.png and /dev/null differ diff --git a/website/site/static/images/favicons/android-chrome-512x512.png b/website/site/static/images/favicons/android-chrome-512x512.png deleted file mode 100644 index f0ca6c43ad..0000000000 Binary files a/website/site/static/images/favicons/android-chrome-512x512.png and /dev/null differ diff --git a/website/site/static/images/favicons/apple-touch-icon.png b/website/site/static/images/favicons/apple-touch-icon.png deleted file mode 100644 index 07ea488326..0000000000 Binary files a/website/site/static/images/favicons/apple-touch-icon.png and /dev/null differ diff --git a/website/site/static/images/favicons/browserconfig.xml b/website/site/static/images/favicons/browserconfig.xml deleted file mode 100644 index 98e5cd4c3b..0000000000 --- a/website/site/static/images/favicons/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #584dbc - - - diff --git a/website/site/static/images/favicons/favicon-16x16.png b/website/site/static/images/favicons/favicon-16x16.png deleted file mode 100644 index 73d55d5202..0000000000 Binary files a/website/site/static/images/favicons/favicon-16x16.png and /dev/null differ diff --git a/website/site/static/images/favicons/favicon-32x32.png b/website/site/static/images/favicons/favicon-32x32.png deleted file mode 100644 index 80b9387955..0000000000 Binary files a/website/site/static/images/favicons/favicon-32x32.png and /dev/null differ diff --git a/website/site/static/images/favicons/favicon.ico b/website/site/static/images/favicons/favicon.ico deleted file mode 100644 index 890b17f1bb..0000000000 Binary files a/website/site/static/images/favicons/favicon.ico and /dev/null differ diff --git a/website/site/static/images/favicons/manifest.json b/website/site/static/images/favicons/manifest.json deleted file mode 100644 index c0a1e1612c..0000000000 --- a/website/site/static/images/favicons/manifest.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "", - "icons": [ - { - "src": "/images/favicon/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/images/favicon/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} \ No newline at end of file diff --git a/website/site/static/images/favicons/mstile-150x150.png b/website/site/static/images/favicons/mstile-150x150.png deleted file mode 100644 index 5af9081053..0000000000 Binary files a/website/site/static/images/favicons/mstile-150x150.png and /dev/null differ diff --git a/website/site/static/images/favicons/safari-pinned-tab.svg b/website/site/static/images/favicons/safari-pinned-tab.svg deleted file mode 100644 index 5598dba1c6..0000000000 --- a/website/site/static/images/favicons/safari-pinned-tab.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - diff --git a/website/site/static/images/icon-small.png b/website/site/static/images/icon-small.png deleted file mode 100644 index ec07979ab9..0000000000 Binary files a/website/site/static/images/icon-small.png and /dev/null differ diff --git a/website/site/static/images/icon.png b/website/site/static/images/icon.png deleted file mode 100644 index 4e1e53dfc8..0000000000 Binary files a/website/site/static/images/icon.png and /dev/null differ diff --git a/website/site/static/images/screens/big/code.png b/website/site/static/images/screens/big/code.png deleted file mode 100644 index ba62394ae5..0000000000 Binary files a/website/site/static/images/screens/big/code.png and /dev/null differ diff --git a/website/site/static/images/screens/big/cookies.png b/website/site/static/images/screens/big/cookies.png deleted file mode 100644 index a40dc273d2..0000000000 Binary files a/website/site/static/images/screens/big/cookies.png and /dev/null differ diff --git a/website/site/static/images/screens/big/environments.png b/website/site/static/images/screens/big/environments.png deleted file mode 100644 index 6f5e3b34cc..0000000000 Binary files a/website/site/static/images/screens/big/environments.png and /dev/null differ diff --git a/website/site/static/images/screens/big/themes.png b/website/site/static/images/screens/big/themes.png deleted file mode 100644 index c38ab161e9..0000000000 Binary files a/website/site/static/images/screens/big/themes.png and /dev/null differ diff --git a/website/site/static/images/screens/drag.png b/website/site/static/images/screens/drag.png deleted file mode 100644 index 7ec6e9ce7a..0000000000 Binary files a/website/site/static/images/screens/drag.png and /dev/null differ diff --git a/website/site/static/images/screens/main.png b/website/site/static/images/screens/main.png deleted file mode 100644 index 6da627f230..0000000000 Binary files a/website/site/static/images/screens/main.png and /dev/null differ diff --git a/website/site/static/images/screens/responses.png b/website/site/static/images/screens/responses.png deleted file mode 100644 index d5256693fa..0000000000 Binary files a/website/site/static/images/screens/responses.png and /dev/null differ diff --git a/website/site/static/images/screens/sharing.png b/website/site/static/images/screens/sharing.png deleted file mode 100644 index 67951d8ac7..0000000000 Binary files a/website/site/static/images/screens/sharing.png and /dev/null differ diff --git a/website/site/static/images/screens/template.png b/website/site/static/images/screens/template.png deleted file mode 100644 index a5bdf8dba3..0000000000 Binary files a/website/site/static/images/screens/template.png and /dev/null differ diff --git a/website/site/static/images/twitter-card-icon.png b/website/site/static/images/twitter-card-icon.png deleted file mode 100644 index a130269ee6..0000000000 Binary files a/website/site/static/images/twitter-card-icon.png and /dev/null differ diff --git a/website/site/static/images/twitter-promo-3.png b/website/site/static/images/twitter-promo-3.png deleted file mode 100644 index d29752acd9..0000000000 Binary files a/website/site/static/images/twitter-promo-3.png and /dev/null differ diff --git a/website/site/static/robots.txt b/website/site/static/robots.txt deleted file mode 100644 index 50c84e2df5..0000000000 --- a/website/site/static/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -User-agent: * -Allow: / -Disallow: /app/* diff --git a/website/site/themes/hugo-insomnia-theme/layouts/404.html b/website/site/themes/hugo-insomnia-theme/layouts/404.html deleted file mode 100644 index 395a96e937..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/404.html +++ /dev/null @@ -1,23 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-

- {{ .Site.Params.pageNotFoundTitle }} -

-

- Take me Home -

-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - \ No newline at end of file diff --git a/website/site/themes/hugo-insomnia-theme/layouts/_default/list.html b/website/site/themes/hugo-insomnia-theme/layouts/_default/list.html deleted file mode 100644 index b1dc2b8ef5..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/_default/list.html +++ /dev/null @@ -1,23 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
- {{ $paginator := .Paginate .Data.Pages.ByDate.Reverse 10 }} - {{ range $paginator.Pages }} - - {{ end }} - - {{ partial "pagination" . }} -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/_default/rss.xml b/website/site/themes/hugo-insomnia-theme/layouts/_default/rss.xml deleted file mode 100644 index de6f6c9321..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/_default/rss.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - {{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }} - {{ .Permalink }} - Recent content {{ with .Title }}in {{.}} {{ end }}on - {{ .Site.Title }} - - Hugo -- gohugo.io{{ with .Site.LanguageCode }} - {{.}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} - ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} - {{end}}{{ with .Site.Copyright }} - {{.}}{{end}}{{ if not .Date.IsZero }} - - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - {{ end }} - - {{ range first 15 .Data.Pages }} - - {{ .Title }} - {{ .Permalink }} - - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - - {{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} - {{end}} - {{ .Permalink }} - - {{ partial "changelog-details" . | html }} - - - {{ end }} - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/_default/single.html b/website/site/themes/hugo-insomnia-theme/layouts/_default/single.html deleted file mode 100644 index a15252bd83..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/_default/single.html +++ /dev/null @@ -1,37 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "fontawesome" }} - -{{ partial "navbar" . }} - -
-
- {{ if not .Params.hideheader }} -
-
-
-

{{ .Title }}

- {{ if isset .Params "subtitle" }} -

{{ .Params.subtitle | markdownify }}

- {{ end }} -
-
-
- {{ end }} - -
-
-
- {{ .Content }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/_default/terms.html b/website/site/themes/hugo-insomnia-theme/layouts/_default/terms.html deleted file mode 100644 index b9aabdd647..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/_default/terms.html +++ /dev/null @@ -1,36 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
- -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/app/list.html b/website/site/themes/hugo-insomnia-theme/layouts/app/list.html deleted file mode 100644 index 20ebfc813d..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/app/list.html +++ /dev/null @@ -1,13 +0,0 @@ - - - Redirecting to account... - - - -Redirecting to account... - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/app/single.html b/website/site/themes/hugo-insomnia-theme/layouts/app/single.html deleted file mode 100644 index 6254b62e25..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/app/single.html +++ /dev/null @@ -1,39 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "fontawesome" }} - -{{ partial "navbar" . }} - -
-
- {{ if not .Params.hideheader }} -
-
-
-

{{ .Title }}

- {{ if isset .Params "subtitle" }} -

{{ .Params.subtitle | markdownify }}

- {{ end }} -
-
-
- {{ end }} - -
-
-
- {{ .Content }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/blog/single.html b/website/site/themes/hugo-insomnia-theme/layouts/blog/single.html deleted file mode 100644 index 2a9a660efb..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/blog/single.html +++ /dev/null @@ -1,103 +0,0 @@ -{{ partial "head" . }} - - - -{{ partial "fontawesome" }} - -{{ partial "navbar" . }} - -
-
-
-
-
-
-

{{ .Title }}

- {{ if isset .Params "subtitle" }} -

{{ .Params.subtitle }}

- {{ end }} -
- {{ if not .Date.IsZero }} - - {{ end }} -
-
-
-
-
- - {{ partial "post-series-notice" . }} - -
-
-
- {{ .Content }} -
-
-
- - {{ partial "post-series-notice" . }} - {{ partial "post-tags" . }} - - {{ if .Site.Params.enableAuthor }} -
-
-
- {{ partial "author" . }} -
-
-
- {{ end }} -
- - {{ if not .Params.disableSharing }} - - {{ end }} - - {{ if not .Params.disablecomments }} -
-
-
-
- {{ if .Site.BuildDrafts }} - Hiding comments in dev mode - {{ else }} - {{ template "_internal/disqus.html" . }} - {{ end }} -
-
-
-
- {{ end }} - -
-
-
-
-

- Ready to speed up your API testing workflow? -

-
-
- {{ partial "download-button" }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/changelog/single.html b/website/site/themes/hugo-insomnia-theme/layouts/changelog/single.html deleted file mode 100644 index df11198ed9..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/changelog/single.html +++ /dev/null @@ -1,97 +0,0 @@ -{{ partial "head" . }} - - - -{{ partial "fontawesome" }} - -{{ partial "navbar" . }} - -
-
-
-
-
-
-

Insomnia {{ .Slug }} Release

-
- -
-
-
-
-
- - {{ partial "post-tags" . }} - -
-
-
- {{ partial "changelog-details" . }} -
-
-
- - {{ partial "post-tags" . }} - - {{ if .Site.Params.enableAuthor }} -
-
-
- {{ partial "author" . }} -
-
-
- {{ end }} -
- - {{ if not .Params.disableSharing }} - - {{ end }} - - {{ if not .Params.disablecomments }} -
-
-
-
- {{ if .Site.BuildDrafts }} - Hiding comments in dev mode - {{ else }} - {{ template "_internal/disqus.html" . }} - {{ end }} -
-
-
-
- {{ end }} - -
-
-
-
-

- Ready to speed up your API testing workflow? -

-
-
- {{ partial "download-button" }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/author.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/author.html deleted file mode 100644 index a8e68295ab..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/author.html +++ /dev/null @@ -1,11 +0,0 @@ -
- Gregory Schier -
-

{{ .Site.Params.name }}

-

{{ .Site.Params.bio | markdownify }}

-

- {{ with .Site.Params.location }}{{ . }}{{ end }} -

-
-
\ No newline at end of file diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/beta-download-button.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/beta-download-button.html deleted file mode 100644 index bf5418d76d..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/beta-download-button.html +++ /dev/null @@ -1,3 +0,0 @@ - - Download on GitHub - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-details.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-details.html deleted file mode 100644 index 5d84ee8b50..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-details.html +++ /dev/null @@ -1,48 +0,0 @@ -{{ if .Content }} -{{ .Content }} -{{ else }} -

- Version {{ .Slug }} is here! -

-{{ end }} -

- {{ if or (not (isset .Params "channel")) (eq .Params.channel "stable") }} - {{ partial "download-button" }} -   - - View on GitHub - - {{ else }} - {{ partial "beta-download-button" . }} - {{ end }} -

- - -{{ if isset .Params "major" }} -

Major Changes

- -{{ end }} - -{{ if isset .Params "fixes" }} -

Bug Fixes

- -{{ end }} - -{{ if isset .Params "minor" }} -

Minor Changes

- -{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-list.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-list.html deleted file mode 100644 index 486b705f78..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-list.html +++ /dev/null @@ -1,38 +0,0 @@ -{{ range .Pages }} -{{ if or (not (isset .Params "channel")) (eq .Params.channel "stable") }} - -{{ end }} -{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-summary.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-summary.html deleted file mode 100644 index 176a6361d3..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/changelog-summary.html +++ /dev/null @@ -1,28 +0,0 @@ -{{ if .Summary }} -{{ .Summary }} -{{ else }} -

- Version {{ .Slug }} is here! -

-{{ end }} - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/contact-button.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/contact-button.html deleted file mode 100644 index c7bd3ab2a5..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/contact-button.html +++ /dev/null @@ -1,5 +0,0 @@ - - Send an Email - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/contribution-notice.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/contribution-notice.html deleted file mode 100644 index d7ca497e23..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/contribution-notice.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/download-button.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/download-button.html deleted file mode 100644 index baed921902..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/download-button.html +++ /dev/null @@ -1 +0,0 @@ -Download diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/extra-head.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/extra-head.html deleted file mode 100644 index 2fdc61ad34..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/extra-head.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/fontawesome.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/fontawesome.html deleted file mode 100644 index dba789c773..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/fontawesome.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/footer.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/footer.html deleted file mode 100644 index 48b80b40a8..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/footer.html +++ /dev/null @@ -1,47 +0,0 @@ -
-
- - -

- © {{ now.Format "2006"}} - - {{ .Site.Copyright }} - -

-
-
diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/head.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/head.html deleted file mode 100644 index cd966cce00..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/head.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - {{ if .IsHome }}{{ .Title }}{{ else }}{{ .Title }} | - {{ .Site.Title }}{{ end }} - - - - {{ .Hugo.Generator }} - - - - - - - - - {{ if eq .Section "changelog" }} - - - - - - - - - - - - - {{ else if .IsPage }} - - - - - - - - - - - - - {{ else if .IsHome }} - - - - - - - - - - - - - - {{ else if .IsNode }} - - - - - - - - - - - - - {{ end }} - - - {{ partial "extra-head" . }} - - - {{ if .RSSLink }} - - - {{ end }} - - - - - - - - - - - - - - - {{ range .Site.Params.stylesheets }} - - {{ end }} - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/js.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/js.html deleted file mode 100644 index b0e3a7c4fd..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/js.html +++ /dev/null @@ -1,4 +0,0 @@ - -{{ range .Site.Params.scripts }} - -{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/logo.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/logo.html deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/navbar.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/navbar.html deleted file mode 100644 index 7efddf1080..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/navbar.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/pagination.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/pagination.html deleted file mode 100644 index 68d3f31575..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/pagination.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
-
- -
-
-
diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/post-list.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/post-list.html deleted file mode 100644 index 2d28e1d5c1..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/post-list.html +++ /dev/null @@ -1,45 +0,0 @@ -{{ range .Pages }} - -{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/post-series-notice.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/post-series-notice.html deleted file mode 100644 index 89c58a3e12..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/post-series-notice.html +++ /dev/null @@ -1,15 +0,0 @@ -{{ if isset .Params "series" }} -
-
-
-

- {{ with .Params.series }} - This post is part of the - - {{ index . 0 }} series - {{ end }} -

-
-
-
-{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/post-tags.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/post-tags.html deleted file mode 100644 index e9f56cf508..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/post-tags.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ if .Params.tags }} -
-
-
-
- {{ partial "tags" . }} -
-
-
-
-{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/share-links.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/share-links.html deleted file mode 100644 index 13ebf22afe..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/share-links.html +++ /dev/null @@ -1,65 +0,0 @@ -

- Share this post 😊 🚀 -

- diff --git a/website/site/themes/hugo-insomnia-theme/layouts/partials/tags.html b/website/site/themes/hugo-insomnia-theme/layouts/partials/tags.html deleted file mode 100644 index 2fc060a568..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/partials/tags.html +++ /dev/null @@ -1,6 +0,0 @@ -{{ range .Params.tags }} - - {{ . }} - -{{ end }} diff --git a/website/site/themes/hugo-insomnia-theme/layouts/section/blog.html b/website/site/themes/hugo-insomnia-theme/layouts/section/blog.html deleted file mode 100644 index 58c61f601c..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/section/blog.html +++ /dev/null @@ -1,34 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-
-

Welcome to the Blog!

-

- - Subscribe via RSS - -

-
-
-
- {{ with .Paginate (where .Data.Pages.ByDate.Reverse "Type" "blog") 10 }} - {{ partial "post-list" . }} - {{ end }} - {{ partial "pagination" . }} -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/section/changelog-json.html b/website/site/themes/hugo-insomnia-theme/layouts/section/changelog-json.html deleted file mode 100644 index 0d698edd49..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/section/changelog-json.html +++ /dev/null @@ -1,45 +0,0 @@ -[ -{{ $total := len .Data.Pages }} -{{ $pages := .Data.Pages.ByDate.Reverse }} -{{ range $i, $page := $pages }} -{ -"version": "{{ .Slug }}", -{{ if isset .Params "link" }} -"link": "{{ .Params.link }}", -{{ end }} -{{ if isset .Params "channel" }} -"channel": "{{ .Params.channel }}", -{{ else }} -"channel": "stable", -{{ end }} -{{ if isset .Params "summary" }} -"summary": "{{ .Params.summary }}", -{{ end }} -"major": [ -{{ if isset .Params "major" }} -{{ $majorTotal := len .Params.major }} -{{ range $i, $v := .Params.major }} -"{{ . }}"{{ if eq $i (add $majorTotal -1) }}{{ else }},{{ end }} -{{ end }} -{{ end }} -], -"fixes": [ -{{ if isset .Params "fixes" }} -{{ $fixesTotal := len .Params.fixes }} -{{ range $i, $v := .Params.fixes }} -"{{ . }}"{{ if eq $i (add $fixesTotal -1) }}{{ else }},{{ end }} -{{ end }} -{{ end }} -], -"minor": [ -{{ if isset .Params "minor" }} -{{ $minorTotal := len .Params.minor }} -{{ range $i, $v := .Params.minor }} -"{{ . }}"{{ if eq $i (add $minorTotal -1) }}{{ else }},{{ end }} -{{ end }} -{{ end }} -] -{{ if eq $i (add $total -1) }}}{{ else }}}, -{{ end }} -{{ end }} -] diff --git a/website/site/themes/hugo-insomnia-theme/layouts/section/changelog.html b/website/site/themes/hugo-insomnia-theme/layouts/section/changelog.html deleted file mode 100644 index cd82a52f36..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/section/changelog.html +++ /dev/null @@ -1,34 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-
-

Insomnia Changelog

-

- - Subscribe via RSS - -

-
-
-
- {{ with .Paginate (where .Data.Pages.ByDate.Reverse "Type" "changelog") 10 }} - {{ partial "changelog-list" . }} - {{ end }} - {{ partial "pagination" . }} -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/sitemap.xml b/website/site/themes/hugo-insomnia-theme/layouts/sitemap.xml deleted file mode 100644 index a94731d6b8..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/sitemap.xml +++ /dev/null @@ -1,19 +0,0 @@ - - {{ range .Data.Pages }} - {{ if .Params.norobots }} - {{ else }} - - {{ .Permalink }} - - {{ if .Date.IsZero }} - 2017-01-19T00:00:00-00:00 - {{ else }} - {{ safeHTML ( .Date.Format "2006-01-02T15:04:05-07:00" ) }} - {{ end }} - - {{ with .Sitemap.ChangeFreq }}{{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} - {{ .Sitemap.Priority }}{{ end }} - - {{ end }} - {{ end }} - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/skinny/single.html b/website/site/themes/hugo-insomnia-theme/layouts/skinny/single.html deleted file mode 100644 index bcdf9dfb78..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/skinny/single.html +++ /dev/null @@ -1,38 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "fontawesome" }} - -{{ partial "navbar" . }} - -
-
- {{ if not .Params.hideheader }} -
-
-
-

{{ .Title }}

- {{ if isset .Params "subtitle" }} -

{{ .Params.subtitle | markdownify }}

- {{ end }} -
-
-
- {{ end }} - -
-
-
- {{ .Content }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/splash/single.html b/website/site/themes/hugo-insomnia-theme/layouts/splash/single.html deleted file mode 100644 index d4b801b0cc..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/splash/single.html +++ /dev/null @@ -1,53 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-
-

- {{ .Title }} -

-

- {{ .Params.subtitle }} -

- {{ .Params.cta.text }} -
-
-
- {{ .Params.image.alt }} -
-
-
- -
-
-
- {{ .Content }} -
-
-
- -
-
-
-
-

- Want to talk more? Just reach out, I'd love to help! -

-
-
- {{ partial "contact-button" . }} -
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/series.html b/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/series.html deleted file mode 100644 index 2cbdb71819..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/series.html +++ /dev/null @@ -1,34 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-
-

{{ .Title }} Blog Series

-

- - Subscribe via RSS - -

-
-
-
- {{ with .Paginate (where .Data.Pages.ByDate.Reverse "Type" "blog") 10 }} - {{ partial "post-list" . }} - {{ end }} - {{ partial "pagination" . }} -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/series.terms.html b/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/series.terms.html deleted file mode 100644 index 37559e54fb..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/series.terms.html +++ /dev/null @@ -1,36 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
- -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/tag.html b/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/tag.html deleted file mode 100644 index e996d19ecd..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/taxonomy/tag.html +++ /dev/null @@ -1,33 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "navbar" . }} - -
-
-
-
-

Blog Tag: {{ .Title }}

-
-
-
- {{ with .Paginate (where .Data.Pages.ByDate.Reverse "Type" "blog") 10 }} - {{ partial "post-list" . }} - {{ end }} - {{ partial "pagination" . }} - - -
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/layouts/wide/single.html b/website/site/themes/hugo-insomnia-theme/layouts/wide/single.html deleted file mode 100644 index 26e2129f77..0000000000 --- a/website/site/themes/hugo-insomnia-theme/layouts/wide/single.html +++ /dev/null @@ -1,38 +0,0 @@ -{{ partial "head" . }} - - -{{ partial "fontawesome" }} - -{{ partial "navbar" . }} - -
-
- {{ if not .Params.hideheader }} -
-
-
-

{{ .Title }}

- {{ if isset .Params "subtitle" }} -

{{ .Params.subtitle | markdownify }}

- {{ end }} -
-
-
- {{ end }} - -
-
-
- {{ .Content }} -
-
-
-
-
- -{{ partial "footer" . }} -{{ partial "js" . }} - - - - diff --git a/website/site/themes/hugo-insomnia-theme/static/css/base.css b/website/site/themes/hugo-insomnia-theme/static/css/base.css deleted file mode 100644 index 57b5b50f9d..0000000000 --- a/website/site/themes/hugo-insomnia-theme/static/css/base.css +++ /dev/null @@ -1,1379 +0,0 @@ -html { - font-family: 'Lato', Helvetica, 'Roboto', sans-serif; - font-size: 15px; -} - -html, body { - margin: 0; - padding: 0; -} - -main { - min-height: 28rem; -} - -hr { - border: 0; - border-bottom: 1px solid #eee; - background: none; - margin: 3rem 0; -} - -hr.hr--skinny { - margin: 1.5rem 0; -} - -/* ~~~~~~~~~~ */ -/* ANIMATIONS */ -/* ~~~~~~~~~~ */ - -@-moz-keyframes spin { - from { - -moz-transform: rotate(0deg); - } - to { - -moz-transform: rotate(360deg); - } -} - -@-webkit-keyframes spin { - from { - -webkit-transform: rotate(0deg); - } - to { - -webkit-transform: rotate(360deg); - } -} - -@keyframes spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -.spin { - -webkit-animation-name: spin; - -webkit-animation-duration: 4000ms; - -webkit-animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - -moz-animation-name: spin; - -moz-animation-duration: 4000ms; - -moz-animation-iteration-count: infinite; - -moz-animation-timing-function: linear; - animation-name: spin; - animation-duration: 4000ms; - animation-iteration-count: infinite; - animation-timing-function: linear; -} - -/* ~~~~~~~~~~~~ */ -/* BASIC STYLES */ -/* ~~~~~~~~~~~~ */ - -a { - color: #1975ff; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -a[disabled]:hover { - text-decoration: none; -} - -.error { - color: #f13d2d; -} - -.success { - color: #50a253; -} - -.boring { - color: #888; -} - -a * { - color: inherit !important; -} - -* { - line-height: 1.6em; - font-weight: 300; -} - -strong, -strong * { - font-weight: 500; -} - -p, ul, table { - font-size: 1.1rem; -} - -h1, h2, h3, h4, h5, h6, -h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { - font-weight: 500; - margin: 0.5rem 0; -} - -h1 { - font-size: 2.2rem; -} - -h2 { - font-size: 1.6rem; -} - -h3 { - font-size: 1.3rem; -} - -h4 { - font-size: 1.1rem; -} - -h5 { - font-size: 1rem; - color: #555; - font-weight: 600; -} - -h6 { - font-size: 1rem; - color: #666; - font-weight: 600; -} - -p, ul { - margin: 1rem 0 1.7rem 0; -} - -img { - display: block; - margin: auto; - max-width: 100%; - max-height: 60vh; -} - -details summary { - user-select: none; - font-weight: 500; - cursor: pointer; -} - -details summary:focus { - outline: 0; -} - -details { - border: 1px dashed #ccc; - padding: 0.5rem 1rem; -} - -details *:last-child { - margin-bottom: 0; -} - -section { - margin: 3rem 0; -} - -section.section--bordered { - margin-top: 0; - margin-bottom: 0; - padding: 2rem 0; - border-top: 1px solid #f0f0f0; -} - -article { - margin-bottom: 3rem; -} - -article ul, -article ol { - padding-left: 1.5rem; -} - -article ul ol, -article ol ol, -article ol ul, -article ul ul { - margin: 0; -} - -article table { - width: 100%; - border-spacing: 0; - border-collapse: separate; -} - -article table th { - text-align: left; - font-weight: 600; -} - -article table th, -article table td { - font-size: 1rem; - padding: 0.1rem 0.5rem; -} - -article table th, -article table td { - border-right: 1px solid #e2e2e2; -} - -article table { - border: 1px solid #e2e2e2; - margin-bottom: 2rem; -} - -article table th:last-child, -article table td:last-child { - border-right: 0; -} - -article table thead th { - border-bottom: 1px solid #e2e2e2; -} - -article table tbody tr:nth-child(odd) { - background: #f8f8f8; -} - -article.article--preview { - margin: 2rem auto; -} - -article.article--preview .article--preview__content { -} - -article.article--preview .article--preview__footer { - margin-bottom: 1rem; -} - -article.article--preview .article--preview__footer .tags__tag { - margin: 0 1rem 0 0; -} - -article.article--preview .article--preview__read-more { - text-align: right; -} - -article.article--preview .article--preview__separator { - border-bottom: 1px solid #eee; -} - -article.article--preview h1 { - font-size: 1.7rem; -} - -article h1 { - font-size: 1.9rem; -} - -article.article--preview section { - margin: 0; -} - -article.article--preview header * { - color: inherit; -} - -article section { - margin: 1rem 0; -} - -article img.small { - display: block; - max-width: 100%; - max-height: 40vh; - border: 1px solid #f5f5f5; - box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1); -} - -article img { - border-radius: 3px; - margin: 2rem auto 3rem auto; -} - -article iframe { - display: block; - border: 1px solid #eee; - margin: 2rem auto 3rem auto; - width: 100%; -} - -header.header--big { - text-align: center; - padding: 3rem 0 2rem 0; -} - -/* ~~~~~~~ */ -/* NOTICES */ -/* ~~~~~~~ */ - -.notice { - display: block; - border: 1px dashed #d0d0d0; - padding: 1rem 1.5rem; - text-align: center; - color: #999; - border-radius: 0.25rem; - margin: 2rem auto; -} - -.notice code { - background-color: rgba(0, 0, 0, 0.08); -} - -.notice.info { - color: #222; - border-color: rgb(97, 71, 209); - background: rgba(97, 71, 209, 0.05); -} - -.notice.warn { - color: #222; - border-color: rgb(209, 141, 43); - background: rgba(223, 116, 10, 0.05); -} - -article header * { - margin: 0; -} - -article header p { - font-size: 1.3rem; -} - -article header time { - color: #666; -} - -article footer { - padding: 3rem 0; -} - -article .twitter-tweet { - margin: 2rem auto !important; -} - -code { - font-size: 0.75em; - border-radius: 0.2em; - tab-size: 2; - color: inherit; - white-space: nowrap; -} - -pre code { - white-space: pre; - margin-bottom: 2rem; - margin-top: 2rem; -} - -code, code * { - font-family: Menlo, 'Source Code Pro', monospace; -} - -blockquote { - border-left: 0.5rem solid #f0f0f0; - padding: 1rem 1rem 1rem 2rem; - margin: 0 0 2rem; -} - -blockquote * { - margin: 0; - font-style: italic; - font-size: 1.1em; - color: #888; -} - -*:not(pre) > code { - padding: 0.2em 0.5em; - background-color: #f3f3f3; - font-weight: 400; -} - -pre > code { - background: #f8f8f8; - display: block; - padding: 1rem 1.5rem; - border-radius: 0.3rem; - overflow: auto; -} - -.fa { - width: 1.2em; - display: inline-block; - height: 1em; - text-align: center; -} - -.row-center-y { - display: flex; - flex-direction: row; - align-items: center; - flex-wrap: wrap; -} - -/* ~~~~~~~~~~ */ -/* PAGINATION */ -/* ~~~~~~~~~~ */ - -.pagination { - display: flex; - flex-direction: row; - justify-content: space-between; -} - -/* ~~~~~~~ */ -/* BUTTONS */ -/* ~~~~~~~ */ - -.button { - display: inline-block; - text-align: center; - min-width: 6em; - box-sizing: border-box; - padding: 0.5em 0.8em; - margin: auto; - font-size: 1rem; - background: transparent; - border: 1px solid; - border-radius: 3px; - cursor: pointer; - outline: none; - transition: all 0.2s ease; -} - -.button--inline { - display: inline-block; -} - -.button--compact { - padding: 0.25rem 0.8rem; -} - -button[disabled], -.button[disabled] { - cursor: default; - opacity: 0.5; -} - -.button:not([disabled]):focus, -.button:not([disabled]):hover { - background: #675BC0; -} - -.button:not([disabled]):focus, -.button:not([disabled]):focus *, -.button:not([disabled]):hover, -.button:not([disabled]):hover * { - text-decoration: none; - color: #fff; -} - -.button--no-outline { - border-color: transparent !important; -} - -/* ~~~~~ */ -/* FORMS */ -/* ~~~~~ */ - -.form-control { - font-size: 1.1rem; - border: 0; - width: 100%; - box-sizing: border-box; - margin-bottom: 1rem; -} - -.form-row { - display: flex; - align-items: center; - justify-content: center; - align-content: center; - flex-direction: row; -} - -.form-row > * { - width: 100%; - margin-left: 0.5rem; - margin-right: 0.5rem; -} - -.form-row > p { - margin: 0; -} - -.form-row > *:first-child { - margin-left: 0; -} - -.form-row > *:last-child { - margin-right: 0; -} - -.form-control label * { - font-size: 1rem; -} - -.form-control label, -.form-control label > a, -.form-control label > button, -.form-control label > small, -.form-control label > span { - font-weight: 500; - font-size: 0.9rem; -} - -.form-control label > * { - margin-top: 0; -} - -.form-control input, -.form-control select { - font-size: 1rem; - display: block; - border: 1px solid #ddd; - padding: 0.3rem 0.5rem; - border-radius: 3px; - box-sizing: border-box; - width: 100%; - background: #fbfbfb; -} - -.form-control--no-label { - padding-top: 1.8rem; -} - -.form-control input, -.form-control select, -.form-control button { - height: 2.4rem; -} - -.form-control input[type="checkbox"], -.form-control input[type="radio"] { - margin-right: 0.5rem; - height: 1em; -} - -.form-control select { - display: inline-block; - width: auto; -} - -.form-control input[type="checkbox"], -.form-control input[type="radio"] { - display: inline-block; - width: auto; -} - -.form-control.error input, -.form-control.error input:focus { - color: #ff3138; - border-color: inherit; -} - -.form-control input:focus, -.form-control select:focus { - border: 1px solid #aaa; - background: #fff; -} - -.form-control input:not([type="radio"]):not([type="checkbox"]):focus, -.form-control select:focus { - outline: 0; -} - -.form-control > .button { - white-space: nowrap; - padding: 0.3rem 1rem; -} - -.form-pair { - width: 100%; -} - -.form-pair > .form-control { - width: 50%; - float: left; - display: inline-block; -} - -.form-pair > .form-control:first-child { - padding-right: 0.5rem; -} - -.form-pair > .form-control:last-child { - padding-left: 0.5rem; -} - -/* ~~~~~~~ */ -/* HELPERS */ -/* ~~~~~~~ */ - -.text-xxl { - font-size: 2rem; -} - -.text-xl { - font-size: 1.7rem; -} - -.text-lg { - font-size: 1.4rem; -} - -.text-md { - font-size: 1.1rem; -} - -.text-sm { - font-size: 0.95rem; -} - -.subtle { - opacity: 0.7; -} - -.hide { - display: none; -} - -small, -.small { - font-size: 0.85em !important; -} - -.italic { - font-style: italic; -} - -.bold, -.bold * { - font-weight: 600; -} - -.wide { - width: 100% !important; -} - -.width--auto { - width: auto; -} - -.no-margin { - margin: 0; -} - -.no-margin-bottom { - margin-bottom: 0; -} - -.no-wrap { - white-space: nowrap; -} - -.padding-top { - padding-top: 3rem; -} - -.padding-top-lg { - padding-top: 6rem; -} - -.padding-top-sm { - padding-top: 1.5rem; -} - -.padding-bottom { - padding-bottom: 3rem; -} - -.padding-bottom-lg { - padding-bottom: 6rem; -} - -.margin-top { - margin-top: 3rem; -} - -/* ~~~~~~ */ -/* THEMES */ -/* ~~~~~~ */ - -.dark { - background: radial-gradient(circle at 50% 50%, #292A26, #1d1e1b 400%) -} - -.dark h1, .dark h2, .dark h3 { - color: #eee; -} - -.dark, .dark .button, .dark a, .dark * { - color: #ccc; -} - -.dark a:hover { - color: #ddd; -} - -.dark .button:hover { - color: #333; - background: #fff; -} - -.light { - background: #f5f5f5; -} - -/* ~~~~~~~ */ -/* NAV BAR */ -/* ~~~~~~~ */ - -body.floating-navbar .navbar { - float: left; - width: 100%; -} - -body.floating-navbar .navbar a { - opacity: 0.5; - transition: opacity 200ms; - color: #fff !important; -} - -body.floating-navbar .navbar a:hover { - color: #fff; - opacity: 1; -} - -.navbar * { - color: #555; - font-weight: 400; -} - -.navbar a:hover, .navbar a:hover * { - color: #000; -} - -.navbar__container { - display: flex; - align-items: center; - flex-direction: row; - height: 5rem; - margin-top: 0 !important; -} - -.navbar__container * { - margin: 0; -} - -.navbar__title { - white-space: nowrap; -} - -.navbar__title h1 { - font-size: 1.3rem; -} - -.navbar__title:hover { - text-decoration: none !important; -} - -.navbar__icon { - min-width: 2.9rem; - width: 2.9rem; -} - -.navbar__icon img { - background: #5b4fa9; - border-radius: 50%; - height: 2.0rem; - width: 2.0rem; - padding: 3px; - box-sizing: border-box; -} - -body.floating-navbar .navbar__icon img { - background: none; -} - -.navbar__items { - text-align: right; - width: 100%; - white-space: nowrap; - margin-right: -1rem; -} - -.navbar__items li { - list-style: none; - display: inline-block; -} - -.navbar__items li > * { - padding: 1rem; -} - -/* ~~~~~~ */ -/* FOOTER */ -/* ~~~~~~ */ - -.footer { - text-align: center; - background: linear-gradient(165deg, #6e60cc 0%, #484389 100%); - overflow: auto; - align-self: flex-end; -} - -.footer * { - color: rgba(255, 255, 255, 0.6); -} - -.footer a:hover, .footer a:hover * { - color: #fff; - text-decoration: none; -} - -.footer__menu { - max-width: 40rem; - margin: 0 auto 3rem auto; -} - -.footer__menu a { - margin: 0.8rem 1rem; - font-size: 1rem; - display: inline-block; -} - -/* ~~~~~~~~ */ -/* COMMENTS */ -/* ~~~~~~~~ */ - -.comments { - background: #f5f5f5; - padding: 3rem 0; - margin: 0; -} - -/* ~~~~~~~~~~~ */ -/* SHARE LINKS */ -/* ~~~~~~~~~~~ */ - -.share { - border-top: 1px solid #f5f5f5; - padding: 2rem 0; - margin: 0; -} - -.share-buttons { - display: flex; - width: 100%; - flex-direction: row; - justify-content: space-between; - flex-wrap: wrap; -} - -.button--share { - text-align: center; - display: inline-block; - color: #ffffff; - outline: none; - margin: 0.5rem 0.1rem; - padding: 0.3rem 0; - min-width: 4.5rem; -} - -.button--share.twitter { - color: #55acee; -} - -.button--share.twitter:hover { - background: #55acee; -} - -.button--share.google-plus { - color: #dd4b39; -} - -.button--share.google-plus:hover { - background: #dd4b39; -} - -.button--share.facebook { - color: #3B5998; -} - -.button--share.facebook:hover { - background: #3B5998; -} - -.button--share.stumbleupon { - color: #EB4823; -} - -.button--share.stumbleupon:hover { - background: #EB4823; -} - -.button--share.reddit { - color: #ff5700; -} - -.button--share.reddit:hover { - background: #ff5700; -} - -.button--share.linkedin { - color: #4875B4; -} - -.button--share.linkedin:hover { - background: #4875B4; -} - -.button--share.email { - color: #444444; -} - -.button--share.email:hover { - background: #444444; -} - -.button--share:hover { - color: #fff; -} - -.button--share:active { - color: #e2e2e2; - outline: none; -} - -/* ~~~~ */ -/* TAGS */ -/* ~~~~ */ - -.tags { - margin: 0; -} - -a.tags__tag { - display: inline-block; - padding: 0.2rem 0.5rem; - font-size: 0.8rem; - font-weight: 300; - margin-right: 0.5rem; - margin-top: 0.5rem; - margin-bottom: 0.5rem; - text-transform: uppercase; -} - -a.tags__tag:hover { - text-decoration: none; - background: #7f62f3; - color: #fff; -} - -.tags__tag:hover { - opacity: 1; -} - -/* ~~~~~~~~~~~~~~~~~~ */ -/* TEMPLATE OVERRIDES */ -/* ~~~~~~~~~~~~~~~~~~ */ - -body.template-skinny main { - max-width: 58rem; - margin-left: auto; - margin-right: auto; -} - -body.template-wide .container { - max-width: 60rem; - width: 90%; -} - -body.template-splash main h2 { - margin-top: 4rem; -} - -body.template-changelog main .container, -body.template-splash main .container, -body.template-blog main .container { - max-width: 44rem; -} - -body.template-blog article > header { - margin-top: 2rem; -} - -body.template-app main { - max-width: 44rem; - margin: auto; -} - -/* ~~~~~~~~~~~~ */ -/* EDITOR THEME */ -/* ~~~~~~~~~~~~ */ - -.highlight .hll { - background-color: #ffffcc -} - -.highlight .c { - color: #999988; - font-style: italic -} - -/* Comment */ -.highlight .err { - color: #a61717; - background-color: #e3d2d2 -} - -/* Error */ -.highlight .k { - color: #000000; - font-weight: bold -} - -/* Keyword */ -.highlight .o { - color: #000000; - font-weight: bold -} - -/* Operator */ -.highlight .cm { - color: #999988; - font-style: italic -} - -/* Comment.Multiline */ -.highlight .cp { - color: #999999; - font-weight: bold; - font-style: italic -} - -/* Comment.Preproc */ -.highlight .c1 { - color: #999988; - font-style: italic -} - -/* Comment.Single */ -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic -} - -/* Comment.Special */ -.highlight .gd { - color: #000000; - background-color: #ffdddd -} - -/* Generic.Deleted */ -.highlight .ge { - color: #000000; - font-style: italic -} - -/* Generic.Emph */ -.highlight .gr { - color: #aa0000 -} - -/* Generic.Error */ -.highlight .gh { - color: #999999 -} - -/* Generic.Heading */ -.highlight .gi { - color: #000000; - background-color: #ddffdd -} - -/* Generic.Inserted */ -.highlight .go { - color: #888888 -} - -/* Generic.Output */ -.highlight .gp { - color: #555555 -} - -/* Generic.Prompt */ -.highlight .gs { - font-weight: bold -} - -/* Generic.Strong */ -.highlight .gu { - color: #aaaaaa -} - -/* Generic.Subheading */ -.highlight .gt { - color: #aa0000 -} - -/* Generic.Traceback */ -.highlight .kc { - color: #000000; - font-weight: bold -} - -/* Keyword.Constant */ -.highlight .kd { - color: #000000; - font-weight: bold -} - -/* Keyword.Declaration */ -.highlight .kn { - color: #000000; - font-weight: bold -} - -/* Keyword.Namespace */ -.highlight .kp { - color: #000000; - font-weight: bold -} - -/* Keyword.Pseudo */ -.highlight .kr { - color: #000000; - font-weight: bold -} - -/* Keyword.Reserved */ -.highlight .kt { - color: #445588; - font-weight: bold -} - -/* Keyword.Type */ -.highlight .m { - color: #009999 -} - -/* Literal.Number */ -.highlight .s { - color: #d01040 -} - -/* Literal.String */ -.highlight .na { - color: #008080 -} - -/* Name.Attribute */ -.highlight .nb { - color: #0086B3 -} - -/* Name.Builtin */ -.highlight .nc { - color: #445588; - font-weight: bold -} - -/* Name.Class */ -.highlight .no { - color: #008080 -} - -/* Name.Constant */ -.highlight .nd { - color: #3c5d5d; - font-weight: bold -} - -/* Name.Decorator */ -.highlight .ni { - color: #800080 -} - -/* Name.Entity */ -.highlight .ne { - color: #990000; - font-weight: bold -} - -/* Name.Exception */ -.highlight .nf { - color: #990000; - font-weight: bold -} - -/* Name.Function */ -.highlight .nl { - color: #990000; - font-weight: bold -} - -/* Name.Label */ -.highlight .nn { - color: #555555 -} - -/* Name.Namespace */ -.highlight .nt { - color: #000080 -} - -/* Name.Tag */ -.highlight .nv { - color: #008080 -} - -/* Name.Variable */ -.highlight .ow { - color: #000000; - font-weight: bold -} - -/* Operator.Word */ -.highlight .w { - color: #bbbbbb -} - -/* Text.Whitespace */ -.highlight .mf { - color: #009999 -} - -/* Literal.Number.Float */ -.highlight .mh { - color: #009999 -} - -/* Literal.Number.Hex */ -.highlight .mi { - color: #009999 -} - -/* Literal.Number.Integer */ -.highlight .mo { - color: #009999 -} - -/* Literal.Number.Oct */ -.highlight .sb { - color: #d01040 -} - -/* Literal.String.Backtick */ -.highlight .sc { - color: #d01040 -} - -/* Literal.String.Char */ -.highlight .sd { - color: #d01040 -} - -/* Literal.String.Doc */ -.highlight .s2 { - color: #d01040 -} - -/* Literal.String.Double */ -.highlight .se { - color: #d01040 -} - -/* Literal.String.Escape */ -.highlight .sh { - color: #d01040 -} - -/* Literal.String.Heredoc */ -.highlight .si { - color: #d01040 -} - -/* Literal.String.Interpol */ -.highlight .sx { - color: #d01040 -} - -/* Literal.String.Other */ -.highlight .sr { - color: #009926 -} - -/* Literal.String.Regex */ -.highlight .s1 { - color: #d01040 -} - -/* Literal.String.Single */ -.highlight .ss { - color: #990073 -} - -/* Literal.String.Symbol */ -.highlight .bp { - color: #999999 -} - -/* Name.Builtin.Pseudo */ -.highlight .vc { - color: #008080 -} - -/* Name.Variable.Class */ -.highlight .vg { - color: #008080 -} - -/* Name.Variable.Global */ -.highlight .vi { - color: #008080 -} - -/* Name.Variable.Instance */ -.highlight .il { - color: #009999 -} - -/* Literal.Number.Integer.Long */ - -/* ~~~~~~~~~~~~~ */ -/* MEDIA QUERIES */ -/* ~~~~~~~~~~~~~ */ - -@media only screen and (max-width: 33.75rem) { - .navbar__title { - display: none; - } -} - -@media only screen and (max-width: 45rem) { - article.article--preview .article--preview__read-more { - text-align: left; - } -} - -@media only screen and (min-width: 45rem) { - html { - font-size: 16px; - } -} diff --git a/website/site/themes/hugo-insomnia-theme/static/css/simple-grid.min.css b/website/site/themes/hugo-insomnia-theme/static/css/simple-grid.min.css deleted file mode 100644 index 15971d1735..0000000000 --- a/website/site/themes/hugo-insomnia-theme/static/css/simple-grid.min.css +++ /dev/null @@ -1 +0,0 @@ -body,html{height:100%;width:100%;margin:0;padding:0;left:0;top:0;font-size:100%}.center,.container{margin-left:auto;margin-right:auto}*{font-family:Lato,Helvetica,sans-serif;color:#333447;line-height:1.5}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}.font-light{font-weight:300}.font-regular{font-weight:400}.font-heavy{font-weight:700}.left{text-align:left}.right{text-align:right}.center{text-align:center}.justify{text-align:justify}.container{width:90%}.row{position:relative;width:100%}.row [class^=col]{float:left;margin:.5rem 2%;min-height:.125rem}.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{width:96%}.col-1-sm{width:4.33%}.col-2-sm{width:12.66%}.col-3-sm{width:21%}.col-4-sm{width:29.33%}.col-5-sm{width:37.66%}.col-6-sm{width:46%}.col-7-sm{width:54.33%}.col-8-sm{width:62.66%}.col-9-sm{width:71%}.col-10-sm{width:79.33%}.col-11-sm{width:87.66%}.col-12-sm{width:96%}.row::after{content:"";display:table;clear:both}.hidden-sm{display:none}@media only screen and (min-width:33.75em){.container{width:80%}}@media only screen and (min-width:45em){.col-1{width:4.33%}.col-2{width:12.66%}.col-3{width:21%}.col-4{width:29.33%}.col-5{width:37.66%}.col-6{width:46%}.col-7{width:54.33%}.col-8{width:62.66%}.col-9{width:71%}.col-10{width:79.33%}.col-11{width:87.66%}.col-12{width:96%}.hidden-sm{display:block}}@media only screen and (min-width:60em){.container{width:75%;max-width:60rem}} diff --git a/website/src/analytics.js b/website/src/analytics.js deleted file mode 100644 index 3c73bbbfe1..0000000000 --- a/website/src/analytics.js +++ /dev/null @@ -1,7 +0,0 @@ -export function trackEvent (...args) { - window.ga && window.ga('send', 'event', ...args); -} - -export function setUserId (accountId) { - window.ga && window.ga('set', 'userId', accountId); -} diff --git a/website/src/components/change-email.js b/website/src/components/change-email.js deleted file mode 100644 index a98b79911b..0000000000 --- a/website/src/components/change-email.js +++ /dev/null @@ -1,90 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../session'; -import {trackEvent} from '../analytics'; - -class ChangeEmail extends Component { - state = { - loading: false, - password: '', - newEmail: '', - loginError: '', - error: '', - }; - - _handleUpdateInput = e => { - this.setState({[e.target.name]: e.target.value, error: ''}); - }; - - _handleSubmit = async e => { - e.preventDefault(); - - this.setState({loading: true}); - const {whoami} = this.props; - - try { - await session.login(whoami.email, this.state.password); - } catch (err) { - this.setState({loginError: err.message, error: '', loading: false}); - trackEvent('Account', 'Change Email Error Logging In'); - return; - } - - try { - await session.changePasswordAndEmail( - this.state.password, - this.state.password, - this.state.newEmail - ); - window.location = '/app/account/'; - trackEvent('Account', 'Change Email Success'); - } catch (err) { - console.error('Failed to update email', err.stack); - this.setState({error: err.message, loading: false}); - trackEvent('Account', 'Change Email Error'); - } - }; - - render () { - const {whoami} = this.props; - const {error, loginError, loading} = this.state; - return ( -
-

Your current email is {whoami.email}

-
- -
-
- -
- {error ?
** {error}
: null} -
- {loading ? - : - - } -
-
- ) - } -} - -ChangeEmail.propTypes = { - whoami: PropTypes.shape({ - email: PropTypes.string.isRequired, - }).isRequired -}; - -export default ChangeEmail; diff --git a/website/src/components/change-password.js b/website/src/components/change-password.js deleted file mode 100644 index 57cc8e6960..0000000000 --- a/website/src/components/change-password.js +++ /dev/null @@ -1,110 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../session'; -import {trackEvent} from '../analytics'; - -class ChangePassword extends Component { - state = { - loading: false, - oldPassword: '', - newPassword: '', - confirmNewPassword: '', - loginError: '', - error: '', - }; - - _handleUpdateInput = e => { - this.setState({[e.target.name]: e.target.value, error: ''}); - }; - - _handleUpdateConfirmPasswordInput = e => { - this._handleUpdateInput(e); - - if (this.state.newPassword !== e.target.value) { - e.target.setCustomValidity('Passwords did not match'); - } else { - e.target.setCustomValidity(''); - } - }; - - _handleSubmit = async e => { - e.preventDefault(); - - this.setState({loading: true}); - - const {whoami} = this.props; - - try { - await session.login(whoami.email, this.state.oldPassword); - } catch (err) { - this.setState({loginError: err.message, error: '', loading: false}); - trackEvent('Account', 'Change Password Error Logging In'); - return; - } - - try { - await session.changePasswordAndEmail( - this.state.oldPassword, - this.state.newPassword, - whoami.email - ); - window.location = '/app/account/'; - trackEvent('Account', 'Change Password Success'); - } catch (err) { - console.error('Failed to update password', err.stack); - this.setState({error: err.message, loading: false}); - trackEvent('Account', 'Change Password Error'); - } - }; - - render () { - const {error, loginError, loading} = this.state; - return ( -
-
- -
-
- -
-
- -
- {error ?
** {error}
: null} -
- {loading ? - : - - } -
-
- ) - } -} - -ChangePassword.propTypes = { - whoami: PropTypes.shape({ - email: PropTypes.string.isRequired, - }).isRequired -}; - -export default ChangePassword; diff --git a/website/src/components/common/cancel.js b/website/src/components/common/cancel.js deleted file mode 100644 index d50592142c..0000000000 --- a/website/src/components/common/cancel.js +++ /dev/null @@ -1,31 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -class CancelLink extends Component { - _handleClick = async e => { - e.preventDefault(); - - const confirmed = confirm( - 'Are you sure? Your subscription will remain active ' + - 'until the end of your current billing period' - ); - - if (!confirmed) { - trackEvent('Account', 'Cancel Cancelled'); - return; - } - - await session.cancelAccount(); - trackEvent('Account', 'Cancel'); - window.location.reload(); - }; - - render () { - return Cancel Subscription - } -} - -CancelLink.propTypes = {}; - -export default CancelLink; diff --git a/website/src/components/common/reverify.js b/website/src/components/common/reverify.js deleted file mode 100644 index e78cf73d09..0000000000 --- a/website/src/components/common/reverify.js +++ /dev/null @@ -1,65 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -const STATE_DEFAULT = 'default'; -const STATE_LOADING = 'loading'; -const STATE_DONE = 'done'; - -class VerifyButton extends Component { - state = { - state: STATE_DEFAULT, - error: '', - }; - - _noOp = e => e.preventDefault(); - - _handleClick = async e => { - e.preventDefault(); - this.setState({state: STATE_LOADING}); - - try { - await session.verify(); - trackEvent('Account', 'Resend Verification Email'); - this.setState({state: STATE_DONE}); - } catch (err) { - this.setState({error: err.message}) - } - }; - - render () { - const {state, error} = this.state; - - if (error) { - return ( - - {error} - - ) - } - - if (state === STATE_LOADING) { - return ( - - Loading... - - ) - } else if (state === STATE_DONE) { - return ( - - Verification Email Sent - - ) - } else { - return ( - - Resend Verification Email - - ) - } - } -} - -VerifyButton.propTypes = {}; - -export default VerifyButton; diff --git a/website/src/components/common/sign-out.js b/website/src/components/common/sign-out.js deleted file mode 100644 index ae5f6efa5c..0000000000 --- a/website/src/components/common/sign-out.js +++ /dev/null @@ -1,20 +0,0 @@ -import React, {Component} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -class SignOutLink extends Component { - _handleClick = async e => { - e.preventDefault(); - await session.logout(); - trackEvent('Account', 'Logout'); - window.location = '/app/logout/'; - }; - - render () { - return Sign Out - } -} - -SignOutLink.propTypes = {}; - -export default SignOutLink; diff --git a/website/src/components/home.js b/website/src/components/home.js deleted file mode 100644 index 3b5b125312..0000000000 --- a/website/src/components/home.js +++ /dev/null @@ -1,168 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import SignOutLink from './common/sign-out'; -import CancelLink from './common/cancel'; -import VerifyButton from './common/reverify'; - -class Home extends Component { - renderNotice () { - const {billingDetails, whoami} = this.props; - - let notice = null; - - const trialEndDate = new Date(whoami.trialEnd * 1000); - const trialEndMillis = trialEndDate.getTime() - Date.now(); - const trialDays = Math.ceil(trialEndMillis / 1000 / 60 / 60 / 24); - const isTrialOver = trialDays <= 0; - - if (!billingDetails && !isTrialOver) { - notice = ( -

- You still have {trialDays} day{trialDays === 1 ? '' : 's'} left - on your free trial -

- ) - } else if (billingDetails && billingDetails.isPaymentRequired) { - notice = ( -

- Payment Required. Please subscribe to a plan to continue - using Insomnia. -
-
- - Update Subscription - -

- ) - } else if (!billingDetails && isTrialOver) { - notice = ( -

- Your trial ended {-1 * trialDays} day{trialDays === 1 ? '' : 's'} ago. - Please subscribe to a plan to continue using your account. -
-
- - Update Subscription - -

- ) - } else if (billingDetails.subCancelled && billingDetails.subPeriodEnd * 1000 > Date.now()) { - const dateString = (new Date(billingDetails.subPeriodEnd * 1000)).toDateString(); - notice = ( -

- Subscription Cancelled and will end {dateString} -
-
- - Resubscribe - -

- ) - } else if (billingDetails.subCancelled) { - notice = ( -

- Your subscription is Cancelled -
-
- - Resubscribe - -

- ) - } - - return
{notice}
; - } - - renderLoginNotice () { - if (this.props.whoami.appNumLaunches) { - return null; - } - - return ( -

- You may now sign in to the app 💻 -

- ) - } - - render () { - const {whoami, billingDetails} = this.props; - const description = billingDetails && billingDetails.description; - - const total = billingDetails && billingDetails.subTotal; - const discountAmount = billingDetails ? total * (billingDetails.subPercentOff / 100) : 0; - const totalAfterDiscount = total - discountAmount; - const periodEnd = billingDetails && new Date(billingDetails.subPeriodEnd * 1000).toDateString(); - - return ( -
- {this.renderLoginNotice()} - {this.renderNotice()} -

Hi {whoami.firstName},

-

Your email address is {whoami.email}.

- {description ?

You are subscribed to {description}!

: null} - {(billingDetails && !billingDetails.subCancelled) ? ( -

- Your next invoice is scheduled for {periodEnd} and will be - {" "} - ${(totalAfterDiscount / 100).toFixed(2)} USD - {billingDetails.subPercentOff ? ( - - {" "} - (after {billingDetails.subPercentOff}% discount) - - ) : null} - . -

- ) : null} -

Here are some things you might want to do.

- -
- ) - } -} - -Home.propTypes = { - whoami: PropTypes.shape({ - firstName: PropTypes.string.isRequired, - planName: PropTypes.string.isRequired, - trialEnd: PropTypes.number.isRequired, - isTrialing: PropTypes.bool.isRequired, - isPaymentRequired: PropTypes.bool.isRequired, - isVerified: PropTypes.bool.isRequired, - appNumLaunches: PropTypes.number.isRequired, - canManageTeams: PropTypes.bool.isRequired, - }).isRequired, - billingDetails: PropTypes.shape({ - description: PropTypes.string.isRequired, - isPaymentRequired: PropTypes.bool.isRequired, - subTrialing: PropTypes.bool.isRequired, - subTrialEnd: PropTypes.number.isRequired, - subCancelled: PropTypes.bool.isRequired, - subPeriodEnd: PropTypes.number.isRequired, - subPercentOff: PropTypes.number.isRequired, - subTotal: PropTypes.number.isRequired, - }), -}; - -export default Home; diff --git a/website/src/components/index.js b/website/src/components/index.js deleted file mode 100644 index c8f176c509..0000000000 --- a/website/src/components/index.js +++ /dev/null @@ -1,109 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import Home from './home'; -import Login from './login'; -import SignUp from './signup'; -import Subscribe from './subscribe'; -import Teams from './teams'; -import ChangePassword from './change-password'; -import ChangeEmail from './change-email'; -import * as session from '../session'; -import {setUserId} from '../analytics'; - -class App extends Component { - state = {loading: true}; - component = null; - - _handleReload = async () => { - let whoami; - - const whoamiTask = session.whoami(); - const billingDetailsTask = session.billingDetails(); - const teamsTask = session.listTeams(); - - // Fetch Account info - try { - whoami = await whoamiTask; - } catch (err) { - // If not logged in, logout and redirect to login page - if (err.statusCode === 403) { - await session.logout(); - } - - localStorage.setItem('login.next', window.location.href); - window.location = '/app/signup/'; - return; - } - - setUserId(whoami.accountId); - - // Fetch the things - const teams = await teamsTask; - const billingDetails = await billingDetailsTask; - - const path = window.location.pathname; - if (path.match(/^\/app\/account\/$/)) { - this.component = - } else if (path.match(/^\/app\/subscribe\/$/)) { - this.component = - } else if (path.match(/^\/app\/change-password\/$/)) { - this.component = - } else if (path.match(/^\/app\/change-email\/$/)) { - this.component = - } else if (path.match(/^\/app\/teams\/$/)) { - this.component = ( - - ) - } - - // Give some time for components waiting on this to finish to update their - // state before we refresh on them. - setTimeout(() => { - this.setState({loading: false}); - }, 0) - }; - - componentWillMount () { - const {path} = this.props; - - // Routes that don't require session - if (path === '/app/login/') { - this.component = ; - } else if (path === '/app/signup/') { - this.component = ; - } - - // Show one of the above components - if (this.component) { - this.setState({loading: false}); - } else { - this._handleReload(); - } - } - - render () { - if (this.component) { - return this.component; - } - - if (this.state.loading) { - return ( -
- Loading... -
- ) - } else { - return
Page Not Found
; - } - } -} - -App.propTypes = { - path: PropTypes.string.isRequired -}; - -export default App; diff --git a/website/src/components/login.js b/website/src/components/login.js deleted file mode 100644 index 86ca84ccac..0000000000 --- a/website/src/components/login.js +++ /dev/null @@ -1,84 +0,0 @@ -import React, {Component, PropTypes} from 'react'; - -import * as session from '../session'; -import {trackEvent} from '../analytics'; - -class Login extends Component { - state = { - loading: false, - email: '', - password: '', - error: '', - }; - - _handleUpdateInput = e => { - this.setState({[e.target.name]: e.target.value, error: ''}); - }; - - _handleSubmit = async e => { - e.preventDefault(); - - this.setState({loading: true}); - - try { - await session.login(this.state.email, this.state.password); - - const nextUrl = localStorage.getItem('login.next') || '/app/account/'; - localStorage.removeItem('login.next'); - - window.location = nextUrl; - trackEvent('Account', 'Login Success'); - } catch (err) { - this.setState({error: err.message, loading: false}); - trackEvent('Account', 'Login Error'); - } - }; - - render () { - const {loading, error} = this.state; - - return ( -
-
- -
-
- -
- {error ? ** {error} : null} -
-
- Or, Sign Up -
-
- {loading ? - : - - } -
-
-
-

- Forgot your password? -

-
- ) - } -} - -Login.propTypes = {}; - -export default Login; diff --git a/website/src/components/signup.js b/website/src/components/signup.js deleted file mode 100644 index 5e88c6596f..0000000000 --- a/website/src/components/signup.js +++ /dev/null @@ -1,221 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../session'; -import {trackEvent} from '../analytics'; - -class SignUp extends Component { - state = { - step: 1, - agreeToTerms: false, - agreeToEmails: true, - loading: false, - firstName: '', - lastName: '', - email: '', - password: '', - passwordConfirm: '', - error: '', - }; - - _handleUpdateInput = e => { - const value = e.target.type === 'checkbox' ? e.target.checked : e.target.value; - this.setState({[e.target.name]: value, error: ''}); - }; - - _handleUpdatePasswordConfirm = e => { - this._handleUpdateInput(e); - - if (this.state.password !== e.target.value) { - e.target.setCustomValidity('Passwords did not match'); - } else { - e.target.setCustomValidity(''); - } - }; - - _handleBack = e => { - e.preventDefault(); - this.setState({step: this.state.step - 1}); - }; - - _handleSubmit = async e => { - e.preventDefault(); - - if (this.state.step < 2) { - this.setState({step: this.state.step + 1}); - return; - } - - if (!this.state.agreeToTerms) { - alert('Please verify that you agree to the terms of service'); - return; - } - - this.setState({loading: true}); - - try { - await session.signupAndLogin( - this.state.firstName, - this.state.lastName, - this.state.email, - this.state.password, - this.state.agreeToEmails, - ); - - const nextUrl = localStorage.getItem('login.next') || '/app/account/'; - localStorage.removeItem('login.next'); - - window.location = nextUrl; - trackEvent('Account', 'Signup Success'); - } catch (err) { - console.error('Failed to sign up', err); - this.setState({error: err.message, loading: false}); - trackEvent('Account', 'Signup Error'); - } - }; - - renderStep1 () { - const {error, loading} = this.state; - return ( -
-
-
- -
-
- -
-
-
- -
-
- -
- {error ?
** {error}
: null} -
-
- or, Log In -
-
- {loading ? - : - - } -
-
-
- ) - } - - renderStep2 () { - const {error, loading, agreeToTerms, agreeToEmails} = this.state; - return ( -
-
-

- Keep your password safe because it cannot be recovered. -
- Read More about - how your password is used to encrypt your data. -

-
-
- -
-
- -
-
- -
- {error ? ** {error} : null} -
-
- < Back -
-
- {loading ? - : - - } -
-
-
- ) - } - - render () { - const {step} = this.state; - - let inner; - if (step === 1) { - inner = this.renderStep1(); - } else if (step === 2) { - inner = this.renderStep2(); - } - - return ( -
- {inner} -
- -
- ) - } -} - -SignUp.propTypes = {}; - -export default SignUp; diff --git a/website/src/components/subscribe.js b/website/src/components/subscribe.js deleted file mode 100644 index e8a73871d7..0000000000 --- a/website/src/components/subscribe.js +++ /dev/null @@ -1,426 +0,0 @@ -import React, {Component, PropTypes} from 'react'; - -import * as session from '../session'; -import {trackEvent} from '../analytics'; - -const planTypeTeam = 'team'; -const planTypePlus = 'plus'; -const planCycleMonthly = 'monthly'; -const planCycleYearly = 'yearly'; -const minTeamSize = 2; -const pricePerMember = 8; - -const planIdMap = { - 'plus-monthly-1': [planTypePlus, planCycleMonthly, 1], - 'plus-yearly-1': [planTypePlus, planCycleYearly, 1], - 'team-monthly-1': [planTypeTeam, planCycleMonthly, 5], - 'team-yearly-1': [planTypeTeam, planCycleYearly, 5], -}; - -class Subscribe extends Component { - constructor (props) { - super(props); - - const {billingDetails, whoami} = props; - - const quantity = Math.max(minTeamSize, billingDetails ? billingDetails.subQuantity : 5); - - const planDescription = window.location.hash === '#teams' ? - planIdMap['team-monthly-1'] : planIdMap[whoami.planId]; - - const fullName = `${whoami.firstName} ${whoami.lastName}`.trim(); - - this.state = { - loading: false, - planType: planDescription ? planDescription[0] : planTypePlus, - planCycle: planDescription ? planDescription[1] : planCycleMonthly, - quantity: quantity || 5, - useExistingBilling: billingDetails && billingDetails.hasCard, - fullName: fullName, - cardNumber: '', - expireMonth: '01', - expireYear: '2018', - cvc: '', - zip: '', - error: '', - }; - } - - _handleCardNumberChange = e => { - // Using timeout or else target.value will not have been updated yet - const value = e.target.value.trim(); - if (!value) { - return; - } - - const cardType = Stripe.card.cardType(value); - const lastChar = value[e.target.value.length - 1]; - const num = value.replace(/[^0-9]*/g, ''); - let newNum = ''; - - if (cardType.match(/american express/i)) { - // 1111 222222 33333 - const g1 = num.slice(0, 4); - const g2 = num.slice(4, 10); - const g3 = num.slice(10, 15); - - newNum = g1; - newNum += g2 ? ` ${g2}` : ''; - newNum += g3 ? ` ${g3}` : ''; - } else if (cardType.match(/diners club/i)) { - // 1111 2222 3333 44 - const g1 = num.slice(0, 4); - const g2 = num.slice(4, 8); - const g3 = num.slice(8, 12); - const g4 = num.slice(12, 14); - - newNum = g1; - newNum += g2 ? ` ${g2}` : ''; - newNum += g3 ? ` ${g3}` : ''; - newNum += g4 ? ` ${g4}` : ''; - } else { - // 1111 2222 3333 4444 - const g1 = num.slice(0, 4); - const g2 = num.slice(4, 8); - const g3 = num.slice(8, 12); - const g4 = num.slice(12, 16); - - newNum = g1; - newNum += g2 ? ` ${g2}` : ''; - newNum += g3 ? ` ${g3}` : ''; - newNum += g4 ? ` ${g4}` : ''; - } - - // Handle trailing dash so we can add and delete dashes properly - if (lastChar === ' ') { - newNum += ' '; - } - - // this.setState({cardType: cardType === 'Unknown' ? '' : cardType}); - if (cardType.toLowerCase() !== 'unknown') { - this.setState({cardType}); - } else { - this.setState({cardType: ''}); - } - - // Only update number if it changed from the user's original to prevent cursor jump - if (newNum !== value) { - e.target.value = newNum; - } - - if (Stripe.card.validateCardNumber(newNum)) { - e.target.setCustomValidity(''); - } else { - e.target.setCustomValidity('Invalid card number'); - } - - this._handleUpdateInput(e); - }; - - _handleUpdateInput = e => { - const value = e.target.type === 'checkbox' ? - e.target.checked : - e.target.value; - - this.setState({[e.target.name]: value, error: ''}); - }; - - _handleSubmit = async e => { - e.preventDefault(); - - this.setState({loading: true}); - - const params = { - name: this.state.fullName, - number: this.state.cardNumber.replace(/ /g, ''), - cvc: this.state.cvc, - exp_month: parseInt(this.state.expireMonth, 10), - exp_year: parseInt(this.state.expireYear, 10), - }; - - if (this.state.zip) { - params['address_zip'] = this.state.zip - } - - const teamSize = Math.max(minTeamSize, this.state.quantity); - const quantity = this.state.planType === planTypePlus ? 1 : teamSize; - const planId = `${this.state.planType}-${this.state.planCycle}-1`; - - const finishBilling = async tokenId => { - try { - await session.subscribe(tokenId, planId, quantity); - window.location = '/app/account/'; - } catch (err) { - this.setState({error: err.message}); - } - }; - - if (this.state.useExistingBilling) { - await finishBilling(); - trackEvent('Subscribe', 'Existing Billing Success', `${planId} x ${quantity}`); - } else { - Stripe.setPublishableKey(process.env.STRIPE_PUB_KEY); - Stripe.card.createToken(params, async (status, response) => { - if (status === 200) { - await finishBilling(response.id); - trackEvent('Subscribe', 'New Billing Success', `${planId} x ${quantity}`); - } else { - this.setState({error: 'Payment failed unexpectedly. Please try again.'}); - trackEvent('Subscribe', 'Add Card Error', `${planId} x ${quantity}`); - } - - this.setState({loading: false}); - }); - } - }; - - _calculatePrice (planType, planCycle, quantity) { - quantity = Math.max(quantity, minTeamSize); - const priceIndex = planCycle === planCycleMonthly ? 0 : 1; - const price = planType === planTypePlus ? - [5, 50] : - [pricePerMember * quantity, pricePerMember * 10 * quantity]; - - return price[priceIndex]; - } - - _getPlanDescription (planType, planCycle, quantity) { - const cycle = planCycle === planCycleMonthly ? 'month' : 'year'; - const price = this._calculatePrice(planType, planCycle, quantity); - - return `$${price} / ${cycle}`; - } - - renderBillingNotice () { - const {whoami, billingDetails} = this.props; - - const trialEndDate = new Date(whoami.trialEnd * 1000); - const trialEndMillis = trialEndDate.getTime() - Date.now(); - const trialDays = Math.ceil(trialEndMillis / 1000 / 60 / 60 / 24); - - if (!billingDetails && trialDays > 0) { - return ( -

- You still have {trialDays} day{trialDays === 1 ? '' : 's'} left - on your free trial -

- ) - } - - return null - } - - render () { - const { - loading, - error, - cardType, - planType, - planCycle, - expireMonth, - expireYear, - quantity, - useExistingBilling, - fullName, - } = this.state; - - const {billingDetails} = this.props; - - return ( -
- {this.renderBillingNotice()} -
- -
- {planType === planTypeTeam ? ( -
- -
- ) : null} -
-
- -
-
- -
-
-
-

Billing Information

- {billingDetails && billingDetails.hasCard ? ( -
- -
- ) : null} - - {useExistingBilling ? ( -
- ) : ( -
-
- -
-
- -
-
-
- -
- - {" "} - -
-
- -
-
- -
- -
-
- )} - - {error ? ** {error} : null} - -
- {loading ? - : - - } -
- -
-

- Payments secured by Stripe -

-
- ) - } -} - -Subscribe.propTypes = { - whoami: PropTypes.shape({ - planId: PropTypes.string.isRequired, - }).isRequired, - billingDetails: PropTypes.shape({ - subQuantity: PropTypes.number.isRequired, - hasCard: PropTypes.bool.isRequired, - lastFour: PropTypes.string.isRequired, - }) -}; - -export default Subscribe; diff --git a/website/src/components/teams/add-account-form.js b/website/src/components/teams/add-account-form.js deleted file mode 100644 index 2a6a7244f3..0000000000 --- a/website/src/components/teams/add-account-form.js +++ /dev/null @@ -1,85 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -class AddTeamAccountForm extends Component { - constructor (props) { - super(props); - - this.state = { - password: '', - loading: false, - newMemberEmail: '', - error: '', - }; - } - - _handleUpdateInput = e => { - this.setState({[e.target.name]: e.target.value, error: ''}); - }; - - _handleSubmit = async e => { - e.preventDefault(); - - const {teamId, onAdd} = this.props; - const {newMemberEmail} = this.state; - - this.setState({loading: true}); - - try { - await session.inviteToTeam(teamId, newMemberEmail, this.state.password); - await onAdd(); - this.setState({loading: false}); - trackEvent('Teams', 'Add Member Success'); - } catch (err) { - this.setState({error: err.message, loading: false}); - trackEvent('Teams', 'Add Member Error'); - } - }; - - render () { - const {membersRemaining} = this.props; - const {loading, error} = this.state; - return ( -
- {error ? ({error}) : null} -
-
- -
-
- -
-
- {loading ? - : - - } -
-
-
- ); - } -} - -AddTeamAccountForm.propTypes = { - onAdd: PropTypes.func.isRequired, - teamId: PropTypes.string.isRequired, - membersRemaining: PropTypes.number.isRequired, -}; - -export default AddTeamAccountForm; diff --git a/website/src/components/teams/index.js b/website/src/components/teams/index.js deleted file mode 100644 index 2d2c2e72db..0000000000 --- a/website/src/components/teams/index.js +++ /dev/null @@ -1,190 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import LeaveTeamLink from './leave-link'; -import RemoveTeamAccountLink from './remove-account-link'; -import UpdateTeamNameForm from './update-name-form'; -import AddAccountToTeamForm from './add-account-form'; - -class Teams extends Component { - state = { - loading: false, - error: '', - }; - - _getOwnedTeam () { - const {teams, whoami} = this.props; - return teams.find(t => t.ownerAccountId === whoami.accountId); - }; - - renderEditTeam () { - const {whoami, billingDetails} = this.props; - const ownedTeam = this._getOwnedTeam(); - - let membersRemaining = 0; - - if (billingDetails && ownedTeam) { - membersRemaining = billingDetails.subQuantity - ownedTeam.accounts.length; - } else if (whoami.isTrialing && ownedTeam) { - membersRemaining = 5 - ownedTeam.accounts.length; - } - - let inner = null; - if (!whoami.isTrialing && !whoami.canManageTeams) { - inner = ( -
-

Manage who is on your team.

-

- Upgrade to Teams to manage your own team -

- - Upgrade to Teams - -

-
- ) - } else if (ownedTeam) { - const {handleReload} = this.props; - - // Sort the accounts to put the user first. NOTE: We're making a copy since - // sort modifies the original. - const accounts = [...ownedTeam.accounts].sort((a, b) => - a.id === whoami.accountId ? -1 : 1 - ); - - inner = ( -
-

Manage who is on {ownedTeam.name}.

- - -
- -
-
- ) - } else { - // This should never happen... - inner = ( -

- Uh oh! Your account does not have a default team. Please - contact support@insomnia.rest -

- ) - } - - return ( -
-

Your Team

- {inner} -
- ) - } - - renderTeams () { - const {teams, whoami} = this.props; - - return ( -
-

Teams You're On

-

- These are the teams you've been invited to. -

- {teams.length ? ( -
    - {teams.map(team => ( -
  • - {team.name} - {" "} - {team.ownerAccountId === whoami.accountId ? ( - (your team) - ) : ( - - leave - - )} -
  • - ))} -
- ) : ( -

- You are not on any teams yet. -

- )} -
- ) - } - - render () { - const {loading} = this.state; - - if (loading) { - return
Loading...
- } - return ( -
- {this.renderEditTeam()} -
- {this.renderTeams()} -
- ) - } -} - -Teams.propTypes = { - handleReload: PropTypes.func.isRequired, - whoami: PropTypes.shape({ - accountId: PropTypes.string.isRequired, - firstName: PropTypes.string.isRequired, - lastName: PropTypes.string.isRequired, - email: PropTypes.string.isRequired, - canManageTeams: PropTypes.bool.isRequired, - }).isRequired, - billingDetails: PropTypes.shape({ - subQuantity: PropTypes.number.isRequired, - }), - teams: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string.isRequired, - ownerAccountId: PropTypes.string.isRequired, - accounts: PropTypes.arrayOf(PropTypes.shape({ - firstName: PropTypes.string.isRequired, - lastName: PropTypes.string.isRequired, - email: PropTypes.string.isRequired, - id: PropTypes.string.isRequired, - })).isRequired, - })).isRequired, -}; - -export default Teams; diff --git a/website/src/components/teams/leave-link.js b/website/src/components/teams/leave-link.js deleted file mode 100644 index 0521ffcb9a..0000000000 --- a/website/src/components/teams/leave-link.js +++ /dev/null @@ -1,49 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -class LeaveTeamLink extends Component { - state = { - loading: false, - }; - - _handleClick = async e => { - e.preventDefault(); - - const {teamName, teamId, onLeave} = this.props; - - if (!confirm(`Are you sure you want to leave ${teamName}?`)) { - return; - } - - this.setState({loading: true}); - - try { - await session.leaveTeam(teamId); - await onLeave(); - trackEvent('Teams', 'Leave Success'); - } catch (err) { - alert(`Failed to leave team: ${err.message}`); - this.setState({loading: false}); - trackEvent('Teams', 'Leave Error'); - } - }; - - render () { - const {children, className} = this.props; - const {loading} = this.state; - return ( - - {loading ? 'leaving...' : children} - - ); - } -} - -LeaveTeamLink.propTypes = { - onLeave: PropTypes.func.isRequired, - teamId: PropTypes.string.isRequired, - teamName: PropTypes.string.isRequired, -}; - -export default LeaveTeamLink; diff --git a/website/src/components/teams/remove-account-link.js b/website/src/components/teams/remove-account-link.js deleted file mode 100644 index d30bad1801..0000000000 --- a/website/src/components/teams/remove-account-link.js +++ /dev/null @@ -1,51 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -class RemoveAccountLink extends Component { - state = { - loading: false - }; - - _handleClick = async e => { - e.preventDefault(); - - const {teamName, teamId, accountName, accountId, onRemove} = this.props; - - if (!confirm(`Are you sure you want to remove ${accountName} from ${teamName}?`)) { - return; - } - - this.setState({loading: true}); - - try { - await session.removeFromTeam(teamId, accountId); - await onRemove(); - trackEvent('Teams', 'Remove Member Success'); - } catch (err) { - alert(`Failed to remove from team: ${err.message}`); - this.setState({loading: false}); - trackEvent('Teams', 'Remove Member Error'); - } - }; - - render () { - const {children, className} = this.props; - const {loading} = this.state; - return ( - - {loading ? 'removing...' : children} - - ); - } -} - -RemoveAccountLink.propTypes = { - onRemove: PropTypes.func.isRequired, - teamId: PropTypes.string.isRequired, - teamName: PropTypes.string.isRequired, - accountId: PropTypes.string.isRequired, - accountName: PropTypes.string.isRequired, -}; - -export default RemoveAccountLink; diff --git a/website/src/components/teams/update-name-form.js b/website/src/components/teams/update-name-form.js deleted file mode 100644 index 50345b7458..0000000000 --- a/website/src/components/teams/update-name-form.js +++ /dev/null @@ -1,76 +0,0 @@ -import React, {Component, PropTypes} from 'react'; -import * as session from '../../session'; -import {trackEvent} from '../../analytics'; - -class UpdateTeamNameForm extends Component { - constructor (props) { - super(props); - - this.state = { - loading: false, - teamName: props.teamName, - error: '', - }; - } - - _handleUpdateInput = e => { - this.setState({[e.target.name]: e.target.value, error: ''}); - }; - - _handleSubmit = async e => { - e.preventDefault(); - - const {teamId, onUpdate} = this.props; - const {teamName} = this.state; - - this.setState({loading: true}); - - try { - await session.changeTeamName(teamId, teamName); - await onUpdate(); - trackEvent('Teams', 'Update Name Success'); - } catch (err) { - alert(`Failed to leave team: ${err.message}`); - trackEvent('Teams', 'Update Name Error'); - } - - this.setState({loading: false}); - }; - - render () { - const {teamName} = this.props; - const {loading, error} = this.state; - return ( -
-
-
- -
- - {error ? ({error}) : null} - -
- {loading ? - : - } -
-
-
- ); - } -} - -UpdateTeamNameForm.propTypes = { - onUpdate: PropTypes.func.isRequired, - teamId: PropTypes.string.isRequired, - teamName: PropTypes.string.isRequired, -}; - -export default UpdateTeamNameForm; diff --git a/website/src/crypt.js b/website/src/crypt.js deleted file mode 100644 index 88c3ca2c63..0000000000 --- a/website/src/crypt.js +++ /dev/null @@ -1,361 +0,0 @@ -import HKDF from 'hkdf'; -import srp from 'srp-js'; -import forge from 'node-forge'; - -const DEFAULT_BYTE_LENGTH = 32; -const DEFAULT_PBKDF2_ITERATIONS = 1E5; // 100,000 - -/** - * Generate hex signing key used for AES encryption - * - * @param pass - * @param email - * @param salt - * @returns {Promise} - */ -export async function deriveKey (pass, email, salt) { - const combinedSalt = await _hkdfSalt(salt, email); - return _pbkdf2Passphrase(pass, combinedSalt); -} - -/** - * Encrypt with RSA256 public key - * - * @param publicKeyJWK - * @param plaintext - * @return String - */ -export function encryptRSAWithJWK (publicKeyJWK, plaintext) { - if (publicKeyJWK.alg !== 'RSA-OAEP-256') { - throw new Error('Public key algorithm was not RSA-OAEP-256'); - } else if (publicKeyJWK.kty !== 'RSA') { - throw new Error('Public key type was not RSA'); - } else if (!publicKeyJWK.key_ops.find(o => o === 'encrypt')) { - throw new Error('Public key does not have "encrypt" op'); - } - - const encodedPlaintext = encodeURIComponent(plaintext); - - const n = _b64UrlToBigInt(publicKeyJWK.n); - const e = _b64UrlToBigInt(publicKeyJWK.e); - const publicKey = forge.rsa.setPublicKey(n, e); - - const encrypted = publicKey.encrypt(encodedPlaintext, 'RSA-OAEP', { - md: forge.md.sha256.create() - }); - return forge.util.bytesToHex(encrypted); -} - -export function decryptRSAWithJWK (privateJWK, encryptedBlob) { - const n = _b64UrlToBigInt(privateJWK.n); - const e = _b64UrlToBigInt(privateJWK.e); - const d = _b64UrlToBigInt(privateJWK.d); - const p = _b64UrlToBigInt(privateJWK.p); - const q = _b64UrlToBigInt(privateJWK.q); - const dP = _b64UrlToBigInt(privateJWK.dp); - const dQ = _b64UrlToBigInt(privateJWK.dq); - const qInv = _b64UrlToBigInt(privateJWK.qi); - - const privateKey = forge.rsa.setPrivateKey(n, e, d, p, q, dP, dQ, qInv); - const bytes = forge.util.hexToBytes(encryptedBlob); - const decrypted = privateKey.decrypt(bytes, 'RSA-OAEP', { - md: forge.md.sha256.create() - }); - - return decodeURIComponent(decrypted); -} - -export function recryptRSAWithJWK (privateJWK, publicJWK, encryptedBlob) { - const decrypted = decryptRSAWithJWK(privateJWK, encryptedBlob); - return encryptRSAWithJWK(publicJWK, decrypted); -} - -/** - * Encrypt data using symmetric key - * - * @param jwkOrKey JWK or string representing symmetric key - * @param plaintext string of data to encrypt - * @param additionalData any additional public data to attach - * @returns {{iv, t, d, ad}} - */ -export function encryptAES (jwkOrKey, plaintext, additionalData = '') { - // TODO: Add assertion checks for JWK - const rawKey = typeof jwkOrKey === 'string' ? jwkOrKey : _b64UrlToHex(jwkOrKey.k); - const key = forge.util.hexToBytes(rawKey); - - const iv = forge.random.getBytesSync(12); - const cipher = forge.cipher.createCipher('AES-GCM', key); - - // Plaintext could contain weird unicode, so we have to encode that - const encodedPlaintext = encodeURIComponent(plaintext); - - cipher.start({additionalData, iv, tagLength: 128}); - cipher.update(forge.util.createBuffer(encodedPlaintext)); - cipher.finish(); - - return { - iv: forge.util.bytesToHex(iv), - t: forge.util.bytesToHex(cipher.mode.tag), - d: forge.util.bytesToHex(cipher.output), - ad: forge.util.bytesToHex(additionalData) - }; -} - - -/** - * Decrypt AES using a key - * - * @param jwkOrKey JWK or string representing symmetric key - * @param message - * @returns String - */ -export function decryptAES (jwkOrKey, message) { - // TODO: Add assertion checks for JWK - const rawKey = typeof jwkOrKey === 'string' ? jwkOrKey : _b64UrlToHex(jwkOrKey.k); - const key = forge.util.hexToBytes(rawKey); - - // ~~~~~~~~~~~~~~~~~~~~ // - // Decrypt with AES-GCM // - // ~~~~~~~~~~~~~~~~~~~~ // - - const decipher = forge.cipher.createDecipher('AES-GCM', key); - decipher.start({ - iv: forge.util.hexToBytes(message.iv), - tagLength: message.t.length * 4, - tag: forge.util.hexToBytes(message.t), - additionalData: forge.util.hexToBytes(message.ad) - }); - - decipher.update(forge.util.createBuffer(forge.util.hexToBytes(message.d))); - - if (decipher.finish()) { - return decodeURIComponent(decipher.output.toString()) - } else { - throw new Error('Failed to decrypt data') - } -} - -/** - * Decrypt and re-encrypt with new keys - * - * @param oldJwkOrKey - * @param newJwkOrKey - * @param message - * @returns {{iv, t, d, ad}} - */ -export function recryptAES (oldJwkOrKey, newJwkOrKey, message) { - const decrypted = decryptAES(oldJwkOrKey, message); - return encryptAES(newJwkOrKey, decrypted); -} - -/** - * Generate a random salt in hex - * - * @returns {string} - */ -export function getRandomHex (bytes = DEFAULT_BYTE_LENGTH) { - return forge.util.bytesToHex(forge.random.getBytesSync(bytes)); -} - -/** - * Generate a random account Id - * - * @returns {string} - */ -export function generateAccountId () { - return `act_${getRandomHex(DEFAULT_BYTE_LENGTH)}`; -} - -/** - * Generate a random key - * - * @returns {Promise} - */ -export function srpGenKey () { - return new Promise((resolve, reject) => { - srp.genKey((err, secret1Buffer) => { - if (err) { - reject(err); - } else { - resolve(secret1Buffer.toString('hex')) - } - }); - }) -} - -/** - * Generate a random AES256 key for use with symmetric encryption - */ -export async function generateAES256Key () { - const c = window.crypto; - const subtle = c ? c.subtle : null; - - if (subtle) { - console.log('-- Using Native AES Key Generation --'); - const key = await subtle.generateKey( - {name: 'AES-GCM', length: 256}, - true, - ['encrypt', 'decrypt'] - ); - return subtle.exportKey('jwk', key); - } else { - console.log('-- Using Falback Forge AES Key Generation --'); - const key = forge.util.bytesToHex(forge.random.getBytesSync(32)); - return { - kty: 'oct', - alg: 'A256GCM', - ext: true, - key_ops: ['encrypt', 'decrypt'], - k: _hexToB64Url(key), - }; - } -} - -/** - * Generate RSA keypair JWK with 2048 bits and exponent 0x10001 - * - * @returns Object - */ -export async function generateKeyPairJWK () { - // NOTE: Safari has crypto.webkitSubtle, but does not support RSA-OAEP-SHA256 - const subtle = window.crypto && window.crypto.subtle; - - if (subtle) { - console.log('-- Using Native RSA Generation --'); - - const pair = await subtle.generateKey({ - name: 'RSA-OAEP', - publicExponent: new Uint8Array([1, 0, 1]), - modulusLength: 2048, - hash: 'SHA-256' - }, - true, - ['encrypt', 'decrypt'] - ); - - return { - publicKey: await subtle.exportKey('jwk', pair.publicKey), - privateKey: await subtle.exportKey('jwk', pair.privateKey) - }; - } else { - console.log('-- Using Forge RSA Generation --'); - - const pair = forge.pki.rsa.generateKeyPair({bits: 2048, e: 0x10001}); - const privateKey = { - alg: 'RSA-OAEP-256', - kty: 'RSA', - key_ops: ['decrypt'], - ext: true, - d: _bigIntToB64Url(pair.privateKey.d), - dp: _bigIntToB64Url(pair.privateKey.dP), - dq: _bigIntToB64Url(pair.privateKey.dQ), - e: _bigIntToB64Url(pair.privateKey.e), - n: _bigIntToB64Url(pair.privateKey.n), - p: _bigIntToB64Url(pair.privateKey.p), - q: _bigIntToB64Url(pair.privateKey.q), - qi: _bigIntToB64Url(pair.privateKey.qInv) - }; - - const publicKey = { - alg: 'RSA-OAEP-256', - kty: 'RSA', - key_ops: ['encrypt'], - e: _bigIntToB64Url(pair.publicKey.e), - n: _bigIntToB64Url(pair.publicKey.n), - }; - - return {privateKey, publicKey}; - } -} - - -// ~~~~~~~~~~~~~~~~ // -// Helper Functions // -// ~~~~~~~~~~~~~~~~ // - -/** - * Combine email and raw salt into usable salt - * - * @param rawSalt - * @param rawEmail - * @returns {Promise} - */ -function _hkdfSalt (rawSalt, rawEmail) { - return new Promise(resolve => { - const hkdf = new HKDF('sha256', rawSalt, rawEmail); - hkdf.derive('', DEFAULT_BYTE_LENGTH, buffer => resolve(buffer.toString('hex'))); - }) -} - -/** - * Convert a JSBN BigInteger to a URL-safe version of base64 encoding. This - * should only be used for encoding JWKs - * - * @param n BigInteger - * @returns {string} - */ -function _bigIntToB64Url (n) { - return _hexToB64Url(n.toString(16)); -} - -function _hexToB64Url (h) { - const bytes = forge.util.hexToBytes(h); - return btoa(bytes) - .replace(/=/g, '') - .replace(/\+/g, '-') - .replace(/\//g, '_'); -} - -function _b64UrlToBigInt (s) { - return new forge.jsbn.BigInteger(_b64UrlToHex(s), 16); -} - -function _b64UrlToHex (s) { - const b64 = s.replace(/-/g, '+').replace(/_/g, '/'); - return forge.util.bytesToHex(atob(b64)); -} - -window.b64urltohex = _b64UrlToHex; -window.forge = forge; - -/** - * Derive key from password - * - * @param passphrase - * @param salt hex representation of salt - */ -async function _pbkdf2Passphrase (passphrase, salt) { - if (window.crypto && window.crypto.subtle) { - console.log('-- Using native PBKDF2 --'); - - const k = await window.crypto.subtle.importKey( - 'raw', - Buffer.from(passphrase, 'utf8'), - {name: 'PBKDF2'}, - false, - ['deriveBits'] - ); - - const algo = { - name: 'PBKDF2', - salt: new Buffer(salt, 'hex'), - iterations: DEFAULT_PBKDF2_ITERATIONS, - hash: 'SHA-256' - }; - - const derivedKeyRaw = await window.crypto.subtle.deriveBits(algo, k, DEFAULT_BYTE_LENGTH * 8); - return new Buffer(derivedKeyRaw).toString('hex'); - } else { - console.log('-- Using Forge PBKDF2 --'); - - const derivedKeyRaw = forge.pkcs5.pbkdf2( - passphrase, - forge.util.hexToBytes(salt), - DEFAULT_PBKDF2_ITERATIONS, - DEFAULT_BYTE_LENGTH, - forge.md.sha256.create() - ); - - return forge.util.bytesToHex(derivedKeyRaw); - } -} diff --git a/website/src/fetch.js b/website/src/fetch.js deleted file mode 100644 index 67fc615df7..0000000000 --- a/website/src/fetch.js +++ /dev/null @@ -1,95 +0,0 @@ -import 'whatwg-fetch'; -import {parse as urlParse} from 'url'; -import * as session from './session'; -import {version} from '../package.json'; - -let commandListeners = []; -export function onCommand (callback) { - console.log(`-- Added DB Listener -- `); - commandListeners.push(callback); -} - -export function offCommand (callback) { - console.log(`-- Removed DB Listener -- `); - commandListeners = commandListeners.filter(l => l !== callback); -} - -export function post (path, obj) { - return _fetch('POST', path, obj) -} - -export function patch (path, obj) { - return _fetch('PATCH', path, obj) -} - -export function get (path, sessionId = null) { - return _fetch('GET', path, null, sessionId) -} - -/** Send an HTTP DELETE request */ -export function del (path, sessionId = null) { - return _fetch('DELETE', path, null, sessionId) -} - -export function put (path, sessionId = null) { - return _fetch('PUT', path, null, sessionId) -} - -async function _fetch (method, path, json, sessionId = null) { - const config = { - method: method, - headers: new Headers() - }; - - // Set some client information - config.headers.set('X-Insomnia-Client', getClientString()); - - if (json) { - config.body = JSON.stringify(json, null, 2); - config.headers.set('Content-Type', 'application/json'); - } - - sessionId = sessionId || session.getCurrentSessionId(); - if (sessionId) { - config.headers.set('X-Session-Id', sessionId) - } - - const response = await fetch(_getUrl(path), config); - - const uri = response.headers.get('x-insomnia-command'); - uri && _notifyCommandListeners(uri); - - if (!response.ok) { - const err = new Error(`Response ${response.status} for ${path}`); - err.message = await response.text(); - err.statusCode = response.status; - throw err - } - - if (response.headers.get('content-type') === 'application/json') { - return response.json() - } else { - return response.text() - } -} - -function _getUrl (path) { - return `https://api.insomnia.rest${path}`; -} - -function _notifyCommandListeners (uri) { - const parsed = urlParse(uri, true); - - const command = `${parsed.hostname}${parsed.pathname}`; - const args = JSON.parse(JSON.stringify(parsed.query)); - - commandListeners.map(fn => fn(command, args)); -} - -function getClientString () { - return `${isDev() ? 'development': 'production'}::browser::${version}` -} - -function isDev () { - return process.env.NODE_ENV !== 'production'; -} diff --git a/website/src/index.js b/website/src/index.js deleted file mode 100644 index 81c5f39272..0000000000 --- a/website/src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; - -import App from './components' - -const root = document.querySelector('#react-root'); -root && ReactDOM.render(, root); diff --git a/website/src/main.js b/website/src/main.js deleted file mode 100644 index 1ffd9b1133..0000000000 --- a/website/src/main.js +++ /dev/null @@ -1,138 +0,0 @@ -import * as session from './session'; - -(function () { - // Handle download links - const els = document.querySelectorAll('.__download-link'); - - let location = null; - let platform = null; - - if (navigator.platform.toLowerCase().indexOf('mac') !== -1) { - platform = 'Mac'; - location = '/download/#mac'; - } else if (navigator.platform.toLowerCase().indexOf('win') !== -1) { - platform = 'Windows'; - location = '/download/#windows'; - } else if (navigator.platform.toLowerCase().indexOf('linux') !== -1) { - platform = 'Linux'; - location = '/download/#ubuntu'; - } - - for (let i = 0; i < els.length; i++) { - const el = els[i]; - - if (platform) { - el.innerHTML = 'Download The App'; - } - - if (location) { - el.onclick = function (e) { - e.preventDefault(); - window.location = location; - }; - } - } -})(); - -(function () { - // Style changelog list items - const changelogListItems = document.querySelectorAll('.changelog__list-item'); - for (let i = 0; i < changelogListItems.length; i++) { - const item = changelogListItems[i]; - const match = item.innerHTML.match(/\(PR:(\d+)(:([^)]+))?\)/); - if (match) { - const prNumber = match[1]; - const user = match[3] || ''; - const userString = (user ? ' by ' + user : ''); - const anchor = document.createElement('a'); - anchor.target = '_blank'; - anchor.href = 'https://github.com/getinsomnia/insomnia/pull/' + prNumber; - anchor.innerHTML = '(#' + prNumber + userString + ')'; - item.innerHTML = item.innerHTML.replace(match[0], ''); - item.appendChild(anchor); - } - } -})(); - -(function () { - // Add linkable anchors - const headers = document.querySelectorAll([ - 'article h1[id]', - 'article h2[id]', - 'article h3[id]' - ].join(', ')); - for (let i = 0; i < headers.length; i++) { - const h = headers[i]; - h.style.cursor = 'pointer'; - - h.addEventListener('click', function (e) { - window.location.hash = '#' + e.target.getAttribute('id'); - }); - } -})(); - -(function () { - // Replace images with links to images - for (const img of document.querySelectorAll('article img')) { - const a = document.createElement('a'); - a.href = img.getAttribute('src'); - a.target = '_blank'; - if (!img.hasAttribute('title') && img.hasAttribute('alt')) { - img.setAttribute('title', img.getAttribute('alt')); - } - img.parentNode.replaceChild(a, img); - a.appendChild(img); - } -})(); - -!function (e, o, n) { - window.HSCW = o; - window.HS = n; - n.beacon = n.beacon || {}; - const t = n.beacon; - t.userConfig = {}; - t.readyQueue = []; - t.config = function (e) { - this.userConfig = e - }; - t.ready = function (e) { - this.readyQueue.push(e) - }; - o.config = { - docs: {enabled: !0, baseUrl: "//insomnia.helpscoutdocs.com/"}, - contact: {enabled: !0, formId: "a9f6c8aa-b1dd-11e7-b466-0ec85169275a"} - }; - const r = e.getElementsByTagName("script")[0], c = e.createElement("script"); - c.type = "text/javascript"; - c.async = !0; - c.src = "https://djtflbt20bdde.cloudfront.net/"; - r.parentNode.insertBefore(c, r); -}(document, window.HSCW || {}, window.HS || {}); - -HS.beacon.config({ - color: '#6e60cc', - icon: 'message', - attachment: true, - poweredBy: false, - showSubject: true, - showContactFields: true, - topics: [ - {val: 'app', label: 'Desktop App'}, - {val: 'bug report', label: 'Bug Report'}, - {val: 'account', label: 'Plus or Teams Account'}, - {val: 'question', label: 'Question'}, - {val: 'plugin', label: 'Plugin Development'}, - {val: 'other', label: 'Other'}, - ] -}); - -HS.beacon.ready(async () => { - const data = await session.whoami(); - HS.beacon.identify({ - name: `${data.firstName} ${data.lastName || ''}`.trim(), - email: data.email, - // Custom - 'Account ID': data.accountId, - 'Plan Name': data.planName - }); -}); diff --git a/website/src/session.js b/website/src/session.js deleted file mode 100644 index 41f4ca5232..0000000000 --- a/website/src/session.js +++ /dev/null @@ -1,276 +0,0 @@ -import srp from 'srp-js'; -import * as crypt from './crypt'; -import * as util from './fetch'; - -/** Create a new Account for the user */ -export async function signup (firstName, lastName, rawEmail, rawPassphrase, emailsOk = true, loginAfter = false) { - const email = _sanitizeEmail(rawEmail); - const passphrase = _sanitizePassphrase(rawPassphrase); - - // Get a fancy new Account object - const account = await _initAccount(firstName, lastName, email); - - // Generate some secrets for the user base'd on password - const authSecret = await crypt.deriveKey(passphrase, account.email, account.saltKey); - const derivedSymmetricKey = await crypt.deriveKey(passphrase, account.email, account.saltEnc); - - // Generate public/private keypair and symmetric key for Account - const {publicKey, privateKey} = await crypt.generateKeyPairJWK(); - const symmetricKeyJWK = await crypt.generateAES256Key(); - - // Compute the verifier key and add it to the Account object - account.verifier = srp.computeVerifier( - _getSrpParams(), - Buffer.from(account.saltAuth, 'hex'), - Buffer.from(account.email, 'utf8'), - Buffer.from(authSecret, 'hex') - ).toString('hex'); - - // Encode keypair - const encSymmetricJWKMessage = crypt.encryptAES(derivedSymmetricKey, JSON.stringify(symmetricKeyJWK)); - const encPrivateJWKMessage = crypt.encryptAES(symmetricKeyJWK, JSON.stringify(privateKey)); - - // Add keys to account - account.publicKey = JSON.stringify(publicKey); - account.encPrivateKey = JSON.stringify(encPrivateJWKMessage); - account.encSymmetricKey = JSON.stringify(encSymmetricJWKMessage); - account.emailNewsletter = emailsOk; - - const signupData = await util.post('/auth/signup', account); - - if (loginAfter) { - await login(rawEmail, rawPassphrase, authSecret); - } - - return signupData; -} - -export function signupAndLogin (firstName, lastName, rawEmail, rawPassphrase, emailsOk) { - return signup(firstName, lastName, rawEmail, rawPassphrase, emailsOk, true); -} - -/** Create a new session for the user */ -export async function login (rawEmail, rawPassphrase, authSecret = null) { - - // ~~~~~~~~~~~~~~~ // - // Sanitize Inputs // - // ~~~~~~~~~~~~~~~ // - - const email = _sanitizeEmail(rawEmail); - const passphrase = _sanitizePassphrase(rawPassphrase); - - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // - // Fetch Salt and Submit A To Server // - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // - - const {saltKey, saltAuth} = await getAuthSalts(email); - authSecret = authSecret || await crypt.deriveKey(passphrase, email, saltKey); - const secret1 = await crypt.srpGenKey(); - const c = new srp.Client( - _getSrpParams(), - Buffer.from(saltAuth, 'hex'), - Buffer.from(email, 'utf8'), - Buffer.from(authSecret, 'hex'), - Buffer.from(secret1, 'hex') - ); - const srpA = c.computeA().toString('hex'); - const {sessionStarterId, srpB} = await util.post('/auth/login-a', {srpA, email}); - - // ~~~~~~~~~~~~~~~~~~~~~ // - // Compute and Submit M1 // - // ~~~~~~~~~~~~~~~~~~~~~ // - - c.setB(new Buffer(srpB, 'hex')); - const srpM1 = c.computeM1().toString('hex'); - const {srpM2} = await util.post('/auth/login-m1', {srpM1, sessionStarterId,}); - - // ~~~~~~~~~~~~~~~~~~~~~~~~~ // - // Verify Server Identity M2 // - // ~~~~~~~~~~~~~~~~~~~~~~~~~ // - - c.checkM2(new Buffer(srpM2, 'hex')); - - // ~~~~~~~~~~~~~~~~~~~~~~ // - // Initialize the Session // - // ~~~~~~~~~~~~~~~~~~~~~~ // - - // Compute K (used for session ID) - const sessionId = c.computeK().toString('hex'); - - // Store the information for later - localStorage.setItem('currentSessionId', sessionId); -} - -export function subscribe (tokenId, planId, quantity) { - return util.post('/api/billing/subscriptions', { - token: tokenId, - quantity: quantity, - plan: planId, - }); -} - -export function getCurrentSessionId () { - return localStorage.getItem('currentSessionId') || ''; -} - -export async function logout () { - try { - await util.post('/auth/logout'); - } catch (e) { - // Not a huge deal if this fails, but we don't want it to prevent the - // user from signing out. - console.warn('Failed to logout', e); - } - - localStorage.removeItem('currentSessionId'); -} - -export async function cancelAccount () { - await util.del('/api/billing/subscriptions'); -} - -export async function whoami () { - return util.get('/auth/whoami'); -} - -export async function verify () { - return util.post('/auth/verify'); -} - -export async function billingDetails () { - try { - return await util.get('/api/billing/details'); - } catch (e) { - return null; - } -} - -export function getAuthSalts (email) { - return util.post('/auth/login-s', {email}) -} - -export async function changePasswordAndEmail (rawOldPassphrase, rawNewPassphrase, rawNewEmail) { - // Sanitize inputs - const oldPassphrase = _sanitizePassphrase(rawOldPassphrase); - const newPassphrase = _sanitizePassphrase(rawNewPassphrase); - const newEmail = _sanitizeEmail(rawNewEmail); - - // Fetch some things - const {email: oldEmail, saltEnc, encSymmetricKey} = await whoami(); - const {saltKey, saltAuth} = await getAuthSalts(oldEmail); - - // Generate some secrets for the user base'd on password - const oldSecret = await crypt.deriveKey(oldPassphrase, oldEmail, saltEnc); - const newSecret = await crypt.deriveKey(newPassphrase, newEmail, saltEnc); - const oldAuthSecret = await crypt.deriveKey(oldPassphrase, oldEmail, saltKey); - const newAuthSecret = await crypt.deriveKey(newPassphrase, newEmail, saltKey); - - // Compute the verifier key and add it to the Account object - const oldVerifier = srp.computeVerifier( - _getSrpParams(), - Buffer.from(saltAuth, 'hex'), - Buffer.from(oldEmail, 'utf8'), - Buffer.from(oldAuthSecret, 'hex') - ).toString('hex'); - - const newVerifier = srp.computeVerifier( - _getSrpParams(), - Buffer.from(saltAuth, 'hex'), - Buffer.from(newEmail, 'utf8'), - Buffer.from(newAuthSecret, 'hex') - ).toString('hex'); - - // Re-encrypt existing keys with new secret - const newEncSymmetricKeyJSON = crypt.recryptAES(oldSecret, newSecret, JSON.parse(encSymmetricKey)); - const newEncSymmetricKey = JSON.stringify(newEncSymmetricKeyJSON); - - return util.post(`/auth/change-password`, { - verifier: oldVerifier, - newEmail: newEmail, - encSymmetricKey: encSymmetricKey, - newVerifier, - newEncSymmetricKey, - }); -} - -export async function inviteToTeam (teamId, emailToInvite, rawPassphrase) { - // Ask the server what we need to do to invite the member - const inviteInstructions = await util.post(`/api/teams/${teamId}/invite-a`, {email: emailToInvite}); - const {accountPublicKey, resourceGroupKeys, accountId} = inviteInstructions; - - // Compute keys necessary to invite the member - const passPhrase = _sanitizePassphrase(rawPassphrase); - const {email, saltEnc, encPrivateKey, encSymmetricKey} = await whoami(); - const secret = await crypt.deriveKey(passPhrase, email, saltEnc); - let symmetricKey; - try { - symmetricKey = crypt.decryptAES(secret, JSON.parse(encSymmetricKey)); - } catch (err) { - console.log('Failed to decrypt key', err.stack); - throw new Error('Invalid password'); - } - const privateKey = crypt.decryptAES(JSON.parse(symmetricKey), JSON.parse(encPrivateKey)); - const privateKeyJWK = JSON.parse(privateKey); - const publicKeyJWK = JSON.parse(accountPublicKey); - - // Build the invite data request - const newResourceGroupKeys = {}; - for (const resourceGroupId of Object.keys(resourceGroupKeys)) { - newResourceGroupKeys[resourceGroupId] = crypt.recryptRSAWithJWK( - privateKeyJWK, - publicKeyJWK, - resourceGroupKeys[resourceGroupId] - ); - } - - // Actually invite the member - await util.post(`/api/teams/${teamId}/invite-b`, { - accountId, - resourceGroupKeys: newResourceGroupKeys, - }); -} - -export function leaveTeam (teamId) { - return util.del(`/api/teams/${teamId}/leave`); -} - -export function changeTeamName (teamId, name) { - return util.patch(`/api/teams/${teamId}`, {name}); -} - -export function removeFromTeam (teamId, accountId) { - return util.del(`/api/teams/${teamId}/accounts/${accountId}`); -} - -export function listTeams () { - return util.get('/api/teams'); -} - - -// ~~~~~~~~~~~~~~~~ // -// Helper Functions // -// ~~~~~~~~~~~~~~~~ // - -async function _initAccount (firstName, lastName, email) { - return { - email, - firstName, - lastName, - id: await crypt.generateAccountId(), - saltEnc: await crypt.getRandomHex(), - saltAuth: await crypt.getRandomHex(), - saltKey: await crypt.getRandomHex(), - }; -} - -function _getSrpParams () { - return srp.params[2048]; -} - -function _sanitizeEmail (email) { - return email.trim().toLowerCase(); -} - -function _sanitizePassphrase (passphrase) { - return passphrase.trim().normalize('NFKD'); -} diff --git a/website/webpack.config.babel.js b/website/webpack.config.babel.js deleted file mode 100644 index 559119f86c..0000000000 --- a/website/webpack.config.babel.js +++ /dev/null @@ -1,67 +0,0 @@ -import webpack from 'webpack'; -import path from 'path'; - -const isDev = process.env.NODE_ENV !== 'production'; - -let outputFile; -let devtool; -let env; -let stripePubKey; -let extraPlugins; - -if (isDev) { - outputFile = `[name].min.js`; - devtool = 'source-map'; - env = 'development'; - stripePubKey = 'pk_test_MbOhGu5jCPvr7Jt4VC6oySdH'; - extraPlugins = []; -} else { - outputFile = `[name].min.js`; - devtool = 'source-map'; - env = 'production'; - stripePubKey = 'pk_live_lntbVSXY3v1RAytACIQJ5BBH'; - extraPlugins = [ - new webpack.optimize.UglifyJsPlugin({ - mangle: { - // Don't mangle BigInteger because node-srp asserts it's type by name - except: ['BigInteger'] - } - }) - ]; -} - -export default { - context: path.join(__dirname, './src'), - entry: { - app: './index.js', - main: './main.js' - }, - devtool, - output: { - path: path.resolve('./site/static/javascript/build'), - filename: outputFile, - libraryTarget: 'umd', - umdNamedDefine: true - }, - module: { - rules: [ - { - test: /\.json$/, - use: ['json-loader'] - }, - { - test: /\.js$/, - use: ['babel-loader'], - exclude: /(node_modules|bower_components)/ - } - ] - }, - plugins: [ - new webpack.optimize.ModuleConcatenationPlugin(), - new webpack.DefinePlugin({ - 'process.env.NODE_ENV': JSON.stringify(env), - 'process.env.STRIPE_PUB_KEY': JSON.stringify(stripePubKey), - }), - ...extraPlugins - ] -};