diff --git a/.circleci/config.yml b/.circleci/config.yml index f47ced6143..5e1d86d0db 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -50,6 +50,7 @@ jobs: steps: - attach_workspace: *attach_options - run: npm test + - run: npm run test:side-effects dtslint: <<: *defaults diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000..5d76da121a --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +integration/side-effects/snapshots/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index 54a14c1d05..2632efc6c6 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,7 @@ spec-build/ # Misc npm-debug.log .DS_STORE + +# The check-side-effects package generates and deletes this file. +# If the process is killed, it will be left behind. +check-side-effects.tmp-input.js \ No newline at end of file diff --git a/integration/side-effects/README.md b/integration/side-effects/README.md new file mode 100644 index 0000000000..d139b54869 --- /dev/null +++ b/integration/side-effects/README.md @@ -0,0 +1,9 @@ +This test checks if the side effects for loading RxJs packages have changed using . + +Running `npm test:side-effects` will check all ES modules listed in `side-effects.json`. + +Running `npm test:side-effects:update` will update any changed side effects. + +To add a new ES module to this test, add a new entry in `side-effects.json`. + +Usually the ESM and FESM should have the same output, but retained objects that were renamed during the flattening step will leave behind a different name. diff --git a/integration/side-effects/side-effects.json b/integration/side-effects/side-effects.json new file mode 100644 index 0000000000..af8a31c18b --- /dev/null +++ b/integration/side-effects/side-effects.json @@ -0,0 +1,52 @@ +{ + "tests": [ + { + "esModules": "../../dist/esm5/index.js", + "expectedOutput": "./snapshots/esm5/index.js" + }, + { + "esModules": "../../dist/esm2015/index.js", + "expectedOutput": "./snapshots/esm2015/index.js" + }, + { + "esModules": "../../dist/esm5/ajax/index.js", + "expectedOutput": "./snapshots/esm5/ajax.js" + }, + { + "esModules": "../../dist/esm2015/ajax/index.js", + "expectedOutput": "./snapshots/esm2015/ajax.js" + }, + { + "esModules": "../../dist/esm5/fetch/index.js", + "expectedOutput": "./snapshots/esm5/fetch.js" + }, + { + "esModules": "../../dist/esm2015/fetch/index.js", + "expectedOutput": "./snapshots/esm2015/fetch.js" + }, + { + "esModules": "../../dist/esm5/operators/index.js", + "expectedOutput": "./snapshots/esm5/operators.js" + }, + { + "esModules": "../../dist/esm2015/operators/index.js", + "expectedOutput": "./snapshots/esm2015/operators.js" + }, + { + "esModules": "../../dist/esm5/testing/index.js", + "expectedOutput": "./snapshots/esm5/testing.js" + }, + { + "esModules": "../../dist/esm2015/testing/index.js", + "expectedOutput": "./snapshots/esm2015/testing.js" + }, + { + "esModules": "../../dist/esm5/webSocket/index.js", + "expectedOutput": "./snapshots/esm5/websocket.js" + }, + { + "esModules": "../../dist/esm2015/webSocket/index.js", + "expectedOutput": "./snapshots/esm2015/websocket.js" + } + ] +} diff --git a/integration/side-effects/snapshots/esm2015/ajax.js b/integration/side-effects/snapshots/esm2015/ajax.js new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/integration/side-effects/snapshots/esm2015/ajax.js @@ -0,0 +1 @@ + diff --git a/integration/side-effects/snapshots/esm2015/fetch.js b/integration/side-effects/snapshots/esm2015/fetch.js new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/integration/side-effects/snapshots/esm2015/fetch.js @@ -0,0 +1 @@ + diff --git a/integration/side-effects/snapshots/esm2015/index.js b/integration/side-effects/snapshots/esm2015/index.js new file mode 100644 index 0000000000..792fba30c0 --- /dev/null +++ b/integration/side-effects/snapshots/esm2015/index.js @@ -0,0 +1,7 @@ +var NotificationKind; + +(function(NotificationKind) { + NotificationKind["NEXT"] = "N"; + NotificationKind["ERROR"] = "E"; + NotificationKind["COMPLETE"] = "C"; +})(NotificationKind || (NotificationKind = {})); diff --git a/integration/side-effects/snapshots/esm2015/operators.js b/integration/side-effects/snapshots/esm2015/operators.js new file mode 100644 index 0000000000..792fba30c0 --- /dev/null +++ b/integration/side-effects/snapshots/esm2015/operators.js @@ -0,0 +1,7 @@ +var NotificationKind; + +(function(NotificationKind) { + NotificationKind["NEXT"] = "N"; + NotificationKind["ERROR"] = "E"; + NotificationKind["COMPLETE"] = "C"; +})(NotificationKind || (NotificationKind = {})); diff --git a/integration/side-effects/snapshots/esm2015/testing.js b/integration/side-effects/snapshots/esm2015/testing.js new file mode 100644 index 0000000000..792fba30c0 --- /dev/null +++ b/integration/side-effects/snapshots/esm2015/testing.js @@ -0,0 +1,7 @@ +var NotificationKind; + +(function(NotificationKind) { + NotificationKind["NEXT"] = "N"; + NotificationKind["ERROR"] = "E"; + NotificationKind["COMPLETE"] = "C"; +})(NotificationKind || (NotificationKind = {})); diff --git a/integration/side-effects/snapshots/esm2015/websocket.js b/integration/side-effects/snapshots/esm2015/websocket.js new file mode 100644 index 0000000000..792fba30c0 --- /dev/null +++ b/integration/side-effects/snapshots/esm2015/websocket.js @@ -0,0 +1,7 @@ +var NotificationKind; + +(function(NotificationKind) { + NotificationKind["NEXT"] = "N"; + NotificationKind["ERROR"] = "E"; + NotificationKind["COMPLETE"] = "C"; +})(NotificationKind || (NotificationKind = {})); diff --git a/integration/side-effects/snapshots/esm5/ajax.js b/integration/side-effects/snapshots/esm5/ajax.js new file mode 100644 index 0000000000..5d63e0559f --- /dev/null +++ b/integration/side-effects/snapshots/esm5/ajax.js @@ -0,0 +1 @@ +import "tslib"; diff --git a/integration/side-effects/snapshots/esm5/fetch.js b/integration/side-effects/snapshots/esm5/fetch.js new file mode 100644 index 0000000000..5d63e0559f --- /dev/null +++ b/integration/side-effects/snapshots/esm5/fetch.js @@ -0,0 +1 @@ +import "tslib"; diff --git a/integration/side-effects/snapshots/esm5/index.js b/integration/side-effects/snapshots/esm5/index.js new file mode 100644 index 0000000000..5d63e0559f --- /dev/null +++ b/integration/side-effects/snapshots/esm5/index.js @@ -0,0 +1 @@ +import "tslib"; diff --git a/integration/side-effects/snapshots/esm5/operators.js b/integration/side-effects/snapshots/esm5/operators.js new file mode 100644 index 0000000000..5d63e0559f --- /dev/null +++ b/integration/side-effects/snapshots/esm5/operators.js @@ -0,0 +1 @@ +import "tslib"; diff --git a/integration/side-effects/snapshots/esm5/testing.js b/integration/side-effects/snapshots/esm5/testing.js new file mode 100644 index 0000000000..5d63e0559f --- /dev/null +++ b/integration/side-effects/snapshots/esm5/testing.js @@ -0,0 +1 @@ +import "tslib"; diff --git a/integration/side-effects/snapshots/esm5/websocket.js b/integration/side-effects/snapshots/esm5/websocket.js new file mode 100644 index 0000000000..5d63e0559f --- /dev/null +++ b/integration/side-effects/snapshots/esm5/websocket.js @@ -0,0 +1 @@ +import "tslib"; diff --git a/package-lock.json b/package-lock.json index 3e26e6876c..f9898e00bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@reactivex/rxjs", - "version": "6.4.0", + "version": "6.5.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -171,6 +171,15 @@ "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==", "dev": true }, + "@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/sinon": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-4.1.3.tgz", @@ -339,7 +348,8 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", "integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=", - "dev": true + "dev": true, + "optional": true }, "anymatch": { "version": "1.3.2", @@ -391,6 +401,7 @@ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", "dev": true, + "optional": true, "requires": { "glob": "^7.0.0", "graceful-fs": "^4.1.0", @@ -1646,6 +1657,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", "dev": true, + "optional": true, "requires": { "hoek": "0.9.x" } @@ -1938,6 +1950,130 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, + "check-side-effects": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/check-side-effects/-/check-side-effects-0.0.20.tgz", + "integrity": "sha512-tx7dvqAK0z8PM/gTTnfi6oW1Scn9f8EbMSZ1mu//4oIpNWF6ZNW2SFX7Cnsgq9xZjYeoD+YaUVx9CC0fEFizkQ==", + "dev": true, + "requires": { + "@angular-devkit/build-optimizer": "0.14.0-beta.5", + "minimist": "~1.2.0", + "rollup": "~1.11.3", + "rollup-plugin-node-resolve": "~4.2.3", + "rollup-plugin-terser": "~4.0.4" + }, + "dependencies": { + "@angular-devkit/build-optimizer": { + "version": "0.14.0-beta.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.14.0-beta.5.tgz", + "integrity": "sha512-sQ86BGrd65QD9fV+wgDWNFKS2kxsZFj/lSn3pjgguV43XjGvnNlXnsVAgZOruygyXjB/afEOkNpO/4sKFNxiMw==", + "dev": true, + "requires": { + "loader-utils": "1.2.3", + "source-map": "0.5.6", + "typescript": "3.2.4", + "webpack-sources": "1.3.0" + } + }, + "@types/node": { + "version": "11.13.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.18.tgz", + "integrity": "sha512-sMHdXLccscaxI+Hlzz58yLQue3lQyXP+6aQniDRi5oju3n0123kcjhicVGF20WF7cHiwJ2vxMbXc4skOclosoA==", + "dev": true + }, + "acorn": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz", + "integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "rollup": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.11.3.tgz", + "integrity": "sha512-81MR7alHcFKxgWzGfG7jSdv+JQxSOIOD/Fa3iNUmpzbd7p+V19e1l9uffqT8/7YAHgGOzmoPGN3Fx3L2ptOf5g==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "@types/node": "^11.13.9", + "acorn": "^6.1.1" + } + }, + "rollup-plugin-node-resolve": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.2.4.tgz", + "integrity": "sha512-t/64I6l7fZ9BxqD3XlX4ZeO6+5RLKyfpwE2CiPNUKa+GocPlQhf/C208ou8y3AwtNsc6bjSk/8/6y/YAyxCIvw==", + "dev": true, + "requires": { + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.10.0" + } + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "dev": true + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "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==", + "dev": true + } + } + } + } + }, "cheerio": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", @@ -2324,7 +2460,8 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=", - "dev": true + "dev": true, + "optional": true }, "commitizen": { "version": "2.9.6", @@ -4953,6 +5090,7 @@ "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-0.3.1.tgz", "integrity": "sha1-vzQFA2jyTW3J38ZoirXOrY+GhCo=", "dev": true, + "optional": true, "requires": { "any-promise": "~0.1.0" } @@ -5005,12 +5143,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5025,17 +5165,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -5152,7 +5295,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -5164,6 +5308,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5178,6 +5323,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5185,12 +5331,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -5209,6 +5357,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -5289,7 +5438,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -5301,6 +5451,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -5423,6 +5574,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5930,7 +6082,8 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", - "dev": true + "dev": true, + "optional": true }, "home-or-tmp": { "version": "2.0.0", @@ -6085,7 +6238,8 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "dev": true + "dev": true, + "optional": true }, "acorn-globals": { "version": "1.0.9", @@ -6526,6 +6680,12 @@ "integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=", "dev": true }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, "is-my-json-valid": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", @@ -7152,6 +7312,27 @@ "pretty-format": "^20.0.3" } }, + "jest-worker": { + "version": "24.6.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz", + "integrity": "sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==", + "dev": true, + "requires": { + "merge-stream": "^1.0.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "jetpack-id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-1.0.0.tgz", @@ -7178,6 +7359,13 @@ "dev": true, "optional": true }, + "resolve": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz", + "integrity": "sha1-OVqe+ehz+/4SvRRAi9kbuTYAPWk=", + "dev": true, + "optional": true + }, "semver": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz", @@ -7247,7 +7435,8 @@ "version": "0.9.2", "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true + "dev": true, + "optional": true }, "bl": { "version": "0.9.5", @@ -7317,6 +7506,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.4.tgz", "integrity": "sha1-Pj081vOI4qy8D8LgIC8FM+wFB7E=", "dev": true, + "optional": true, "requires": { "graceful-fs": "^3.0.5", "jsonfile": "^2.0.0", @@ -7341,6 +7531,7 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "dev": true, + "optional": true, "requires": { "natives": "^1.1.0" } @@ -7349,19 +7540,22 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "dev": true, + "optional": true }, "jetpack-id": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/jetpack-id/-/jetpack-id-0.0.4.tgz", "integrity": "sha1-b8NaOUpK6hkIIKLOfyPSu1NRKps=", - "dev": true + "dev": true, + "optional": true }, "lazystream": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", "integrity": "sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA=", "dev": true, + "optional": true, "requires": { "readable-stream": "~1.0.2" } @@ -7378,6 +7572,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.4.tgz", "integrity": "sha1-g76hFYA+egl6eAIkJyh+23Yvr+0=", "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.0.0" } @@ -7387,6 +7582,7 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -7398,7 +7594,8 @@ "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "dev": true, + "optional": true }, "tar-stream": { "version": "1.1.5", @@ -7782,6 +7979,7 @@ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, + "optional": true, "requires": { "readable-stream": "^2.0.5" } @@ -9036,6 +9234,15 @@ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", "dev": true }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -9404,7 +9611,8 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==", - "dev": true + "dev": true, + "optional": true }, "natural-compare": { "version": "1.4.0", @@ -9744,9 +9952,10 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "", + "resolved": false, "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9755,25 +9964,25 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": "", + "resolved": false, "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "", + "resolved": false, "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { @@ -9782,13 +9991,13 @@ }, "archy": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { @@ -9797,31 +10006,31 @@ }, "arr-flatten": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "array-unique": { "version": "0.2.1", - "resolved": "", + "resolved": false, "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "async": { "version": "1.5.2", - "resolved": "", + "resolved": false, "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "resolved": "", + "resolved": false, "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { @@ -9832,7 +10041,7 @@ }, "babel-generator": { "version": "6.26.0", - "resolved": "", + "resolved": false, "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { @@ -9848,7 +10057,7 @@ }, "babel-messages": { "version": "6.23.0", - "resolved": "", + "resolved": false, "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { @@ -9857,7 +10066,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "", + "resolved": false, "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { @@ -9867,7 +10076,7 @@ }, "babel-template": { "version": "6.26.0", - "resolved": "", + "resolved": false, "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { @@ -9880,7 +10089,7 @@ }, "babel-traverse": { "version": "6.26.0", - "resolved": "", + "resolved": false, "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { @@ -9897,7 +10106,7 @@ }, "babel-types": { "version": "6.26.0", - "resolved": "", + "resolved": false, "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { @@ -9909,19 +10118,19 @@ }, "babylon": { "version": "6.18.0", - "resolved": "", + "resolved": false, "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.8", - "resolved": "", + "resolved": false, "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { @@ -9931,7 +10140,7 @@ }, "braces": { "version": "1.8.5", - "resolved": "", + "resolved": false, "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { @@ -9942,13 +10151,13 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "caching-transform": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { @@ -9959,14 +10168,14 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "", + "resolved": false, "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "", + "resolved": false, "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, @@ -9977,7 +10186,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "", + "resolved": false, "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -9990,7 +10199,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, @@ -10002,7 +10211,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true @@ -10011,37 +10220,37 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "commondir": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "", + "resolved": false, "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "core-js": { "version": "2.5.3", - "resolved": "", + "resolved": false, "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { @@ -10051,7 +10260,7 @@ }, "debug": { "version": "2.6.9", - "resolved": "", + "resolved": false, "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { @@ -10060,19 +10269,19 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "", + "resolved": false, "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { @@ -10081,7 +10290,7 @@ }, "detect-indent": { "version": "4.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { @@ -10090,7 +10299,7 @@ }, "error-ex": { "version": "1.3.1", - "resolved": "", + "resolved": false, "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { @@ -10099,19 +10308,19 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "", + "resolved": false, "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "resolved": "", + "resolved": false, "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { @@ -10126,7 +10335,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { @@ -10139,7 +10348,7 @@ }, "expand-brackets": { "version": "0.1.5", - "resolved": "", + "resolved": false, "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { @@ -10148,7 +10357,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "", + "resolved": false, "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { @@ -10157,7 +10366,7 @@ }, "extglob": { "version": "0.3.2", - "resolved": "", + "resolved": false, "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { @@ -10166,13 +10375,13 @@ }, "filename-regex": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, "fill-range": { "version": "2.2.3", - "resolved": "", + "resolved": false, "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { @@ -10185,7 +10394,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { @@ -10196,7 +10405,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { @@ -10205,13 +10414,13 @@ }, "for-in": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", - "resolved": "", + "resolved": false, "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { @@ -10220,7 +10429,7 @@ }, "foreground-child": { "version": "1.5.6", - "resolved": "", + "resolved": false, "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { @@ -10230,25 +10439,25 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "glob": { "version": "7.1.2", - "resolved": "", + "resolved": false, "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { @@ -10262,7 +10471,7 @@ }, "glob-base": { "version": "0.3.0", - "resolved": "", + "resolved": false, "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { @@ -10272,7 +10481,7 @@ }, "glob-parent": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { @@ -10281,19 +10490,19 @@ }, "globals": { "version": "9.18.0", - "resolved": "", + "resolved": false, "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "resolved": "", + "resolved": false, "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "", + "resolved": false, "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { @@ -10305,7 +10514,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "", + "resolved": false, "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { @@ -10316,7 +10525,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { @@ -10325,25 +10534,25 @@ }, "has-flag": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "hosted-git-info": { "version": "2.5.0", - "resolved": "", + "resolved": false, "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "", + "resolved": false, "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "", + "resolved": false, "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { @@ -10353,13 +10562,13 @@ }, "inherits": { "version": "2.0.3", - "resolved": "", + "resolved": false, "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.2", - "resolved": "", + "resolved": false, "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { @@ -10368,25 +10577,25 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-arrayish": { "version": "0.2.1", - "resolved": "", + "resolved": false, "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "", + "resolved": false, "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -10395,13 +10604,13 @@ }, "is-dotfile": { "version": "1.0.3", - "resolved": "", + "resolved": false, "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "resolved": "", + "resolved": false, "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { @@ -10410,19 +10619,19 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-finite": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { @@ -10431,7 +10640,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { @@ -10440,7 +10649,7 @@ }, "is-glob": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { @@ -10449,7 +10658,7 @@ }, "is-number": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { @@ -10458,43 +10667,43 @@ }, "is-posix-bracket": { "version": "0.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true }, "is-primitive": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "", + "resolved": false, "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { @@ -10503,13 +10712,13 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "resolved": "", + "resolved": false, "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { @@ -10518,7 +10727,7 @@ }, "istanbul-lib-instrument": { "version": "1.9.1", - "resolved": "", + "resolved": false, "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { @@ -10533,7 +10742,7 @@ }, "istanbul-lib-report": { "version": "1.1.2", - "resolved": "", + "resolved": false, "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { @@ -10545,7 +10754,7 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "resolved": "", + "resolved": false, "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { @@ -10556,7 +10765,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.2", - "resolved": "", + "resolved": false, "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { @@ -10569,7 +10778,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": "", + "resolved": false, "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { @@ -10580,7 +10789,7 @@ }, "istanbul-reports": { "version": "1.1.3", - "resolved": "", + "resolved": false, "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { @@ -10589,19 +10798,19 @@ }, "js-tokens": { "version": "3.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "resolved": "", + "resolved": false, "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "resolved": "", + "resolved": false, "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -10610,14 +10819,14 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "", + "resolved": false, "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { @@ -10626,7 +10835,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -10639,7 +10848,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { @@ -10649,7 +10858,7 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } @@ -10657,19 +10866,20 @@ }, "lodash": { "version": "4.17.4", - "resolved": "", + "resolved": false, "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, "longest": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.3.1", - "resolved": "", + "resolved": false, "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { @@ -10678,7 +10888,7 @@ }, "lru-cache": { "version": "4.1.1", - "resolved": "", + "resolved": false, "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { @@ -10688,7 +10898,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "", + "resolved": false, "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { @@ -10697,13 +10907,13 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { @@ -10712,7 +10922,7 @@ }, "merge-source-map": { "version": "1.0.4", - "resolved": "", + "resolved": false, "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dev": true, "requires": { @@ -10721,7 +10931,7 @@ }, "micromatch": { "version": "2.3.11", - "resolved": "", + "resolved": false, "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { @@ -10742,13 +10952,13 @@ }, "mimic-fn": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "", + "resolved": false, "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { @@ -10757,13 +10967,13 @@ }, "minimist": { "version": "0.0.8", - "resolved": "", + "resolved": false, "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "", + "resolved": false, "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -10772,13 +10982,13 @@ }, "ms": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "normalize-package-data": { "version": "2.4.0", - "resolved": "", + "resolved": false, "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { @@ -10790,7 +11000,7 @@ }, "normalize-path": { "version": "2.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { @@ -10799,7 +11009,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { @@ -10808,19 +11018,19 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object.omit": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { @@ -10830,7 +11040,7 @@ }, "once": { "version": "1.4.0", - "resolved": "", + "resolved": false, "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { @@ -10839,7 +11049,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "", + "resolved": false, "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { @@ -10849,13 +11059,13 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { @@ -10866,19 +11076,19 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", "dev": true }, "p-locate": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { @@ -10887,7 +11097,7 @@ }, "parse-glob": { "version": "3.0.4", - "resolved": "", + "resolved": false, "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { @@ -10899,7 +11109,7 @@ }, "parse-json": { "version": "2.2.0", - "resolved": "", + "resolved": false, "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { @@ -10908,7 +11118,7 @@ }, "path-exists": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { @@ -10917,25 +11127,25 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "", + "resolved": false, "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { @@ -10946,19 +11156,19 @@ }, "pify": { "version": "2.3.0", - "resolved": "", + "resolved": false, "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "", + "resolved": false, "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { @@ -10967,7 +11177,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { @@ -10976,7 +11186,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "", + "resolved": false, "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { @@ -10988,19 +11198,19 @@ }, "preserve": { "version": "0.2.0", - "resolved": "", + "resolved": false, "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "randomatic": { "version": "1.1.7", - "resolved": "", + "resolved": false, "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { @@ -11010,7 +11220,7 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { @@ -11019,7 +11229,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "", + "resolved": false, "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -11030,7 +11240,7 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { @@ -11041,7 +11251,7 @@ }, "read-pkg": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { @@ -11052,7 +11262,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { @@ -11062,7 +11272,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "", + "resolved": false, "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { @@ -11074,13 +11284,13 @@ }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "", + "resolved": false, "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { "version": "0.4.4", - "resolved": "", + "resolved": false, "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { @@ -11089,25 +11299,25 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.2", - "resolved": "", + "resolved": false, "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "", + "resolved": false, "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { @@ -11116,25 +11326,25 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "", + "resolved": false, "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "", + "resolved": false, "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, @@ -11144,7 +11354,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "", + "resolved": false, "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { @@ -11153,19 +11363,19 @@ }, "semver": { "version": "5.4.1", - "resolved": "", + "resolved": false, "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "shebang-command": { "version": "1.2.0", - "resolved": "", + "resolved": false, "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { @@ -11174,31 +11384,31 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "resolved": "", + "resolved": false, "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "", + "resolved": false, "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "", + "resolved": false, "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { @@ -11212,7 +11422,7 @@ }, "spdx-correct": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { @@ -11221,19 +11431,19 @@ }, "spdx-expression-parse": { "version": "1.0.4", - "resolved": "", + "resolved": false, "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "resolved": "", + "resolved": false, "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "", + "resolved": false, "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { @@ -11243,19 +11453,19 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -11266,7 +11476,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -11275,7 +11485,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { @@ -11284,19 +11494,19 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.1.1", - "resolved": "", + "resolved": false, "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { @@ -11309,19 +11519,19 @@ }, "to-fast-properties": { "version": "1.0.3", - "resolved": "", + "resolved": false, "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "trim-right": { "version": "1.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "resolved": "", + "resolved": false, "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, @@ -11333,7 +11543,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "", + "resolved": false, "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, @@ -11348,14 +11558,14 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { @@ -11365,7 +11575,7 @@ }, "which": { "version": "1.3.0", - "resolved": "", + "resolved": false, "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { @@ -11374,26 +11584,26 @@ }, "which-module": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "", + "resolved": false, "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -11403,7 +11613,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -11416,13 +11626,13 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "", + "resolved": false, "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { @@ -11433,19 +11643,19 @@ }, "y18n": { "version": "3.2.1", - "resolved": "", + "resolved": false, "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "", + "resolved": false, "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "10.0.3", - "resolved": "", + "resolved": false, "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", "dev": true, "requires": { @@ -11465,7 +11675,7 @@ "dependencies": { "cliui": { "version": "3.2.0", - "resolved": "", + "resolved": false, "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { @@ -11476,7 +11686,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -11491,7 +11701,7 @@ }, "yargs-parser": { "version": "8.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { @@ -11500,7 +11710,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "", + "resolved": false, "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } @@ -12534,6 +12744,7 @@ "resolved": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", "integrity": "sha1-AHo9FpR4qnEKSRcn5FPv+5LnYgM=", "dev": true, + "optional": true, "requires": { "mute-stream": "~0.0.4" } @@ -13038,11 +13249,21 @@ "dev": true }, "resolve": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz", - "integrity": "sha1-OVqe+ehz+/4SvRRAi9kbuTYAPWk=", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz", + "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", "dev": true, - "optional": true + "requires": { + "path-parse": "^1.0.6" + }, + "dependencies": { + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + } + } }, "resolve-dir": { "version": "0.1.1", @@ -13180,6 +13401,75 @@ } } }, + "rollup-plugin-terser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz", + "integrity": "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "jest-worker": "^24.0.0", + "serialize-javascript": "^1.6.1", + "terser": "^3.14.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "rollup-pluginutils": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", @@ -13469,6 +13759,12 @@ } } }, + "serialize-javascript": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", + "dev": true + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -14257,6 +14553,41 @@ "uuid": "^2.0.1" } }, + "terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, "test-exclude": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", @@ -14287,6 +14618,7 @@ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", "dev": true, + "optional": true, "requires": { "any-promise": "^1.0.0" }, @@ -14295,7 +14627,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true + "dev": true, + "optional": true } } }, @@ -14304,6 +14637,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", "dev": true, + "optional": true, "requires": { "thenify": ">= 3.1.0 < 4" } @@ -14617,6 +14951,12 @@ } } }, + "tslint-no-toplevel-property-access": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/tslint-no-toplevel-property-access/-/tslint-no-toplevel-property-access-0.0.2.tgz", + "integrity": "sha512-Oc+UUurlGLBkgeUSGxMoTpRUpaXsjqzQCEAYrYQyuU8330fi5FKlye5n53y87EJ24AlfdoxMPV7DJfFOADapfg==", + "dev": true + }, "tslint-no-unused-expression-chai": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tslint-no-unused-expression-chai/-/tslint-no-unused-expression-chai-0.0.3.tgz", diff --git a/package.json b/package.json index 0bc18b59b1..11006201c9 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,8 @@ "test:cover": "nyc npm test", "test:circular": "dependency-cruise --validate .dependency-cruiser.json -x \"^node_modules\" dist/esm5", "test:systemjs": "node integration/systemjs/systemjs-compatibility-spec.js", + "test:side-effects": "check-side-effects --test integration/side-effects/side-effects.json", + "test:side-effects:update": "npm run test:side-effects -- --update", "tests2png": "mkdirp docs_app/content/img && mocha --opts spec/support/tests2png.opts \"spec/**/*-spec.ts\"", "compat_build_all": "npm-run-all compat_clean_dist compat_build_cjs compat_build_esm5 compat_build_esm2015 compat_build_esm5_for_rollup compat_build_umd compat_generate_packages", "compat_build_closure": "node ./tools/make-closure-compat.js", @@ -187,6 +189,7 @@ "benchmark": "2.1.0", "benchpress": "2.0.0-beta.1", "chai": "4.1.2", + "check-side-effects": "0.0.20", "color": "3.0.0", "colors": "1.1.2", "commitizen": "2.9.6", @@ -238,6 +241,7 @@ "tsconfig-paths": "3.2.0", "tslint": "5.9.1", "tslint-etc": "1.2.6", + "tslint-no-toplevel-property-access": "0.0.2", "tslint-no-unused-expression-chai": "0.0.3", "typescript": "^3.0.1", "validate-commit-msg": "2.14.0", diff --git a/src/internal/observable/ConnectableObservable.ts b/src/internal/observable/ConnectableObservable.ts index 2f578293be..4e7ffbfb13 100644 --- a/src/internal/observable/ConnectableObservable.ts +++ b/src/internal/observable/ConnectableObservable.ts @@ -55,19 +55,20 @@ export class ConnectableObservable extends Observable { } } -const connectableProto = ConnectableObservable.prototype; - -export const connectableObservableDescriptor: PropertyDescriptorMap = { - operator: { value: null }, - _refCount: { value: 0, writable: true }, - _subject: { value: null, writable: true }, - _connection: { value: null, writable: true }, - _subscribe: { value: connectableProto._subscribe }, - _isComplete: { value: connectableProto._isComplete, writable: true }, - getSubject: { value: connectableProto.getSubject }, - connect: { value: connectableProto.connect }, - refCount: { value: connectableProto.refCount } -}; +export const connectableObservableDescriptor: PropertyDescriptorMap = (() => { + const connectableProto = ConnectableObservable.prototype; + return { + operator: { value: null as null }, + _refCount: { value: 0, writable: true }, + _subject: { value: null as null, writable: true }, + _connection: { value: null as null, writable: true }, + _subscribe: { value: connectableProto._subscribe }, + _isComplete: { value: connectableProto._isComplete, writable: true }, + getSubject: { value: connectableProto.getSubject }, + connect: { value: connectableProto.connect }, + refCount: { value: connectableProto.refCount } + }; +})(); class ConnectableSubscriber extends SubjectSubscriber { constructor(destination: Subject, diff --git a/src/internal/observable/dom/AjaxObservable.ts b/src/internal/observable/dom/AjaxObservable.ts index 662b8e8701..d1f3f91849 100644 --- a/src/internal/observable/dom/AjaxObservable.ts +++ b/src/internal/observable/dom/AjaxObservable.ts @@ -486,19 +486,21 @@ export interface AjaxErrorCtor { new(message: string, xhr: XMLHttpRequest, request: AjaxRequest): AjaxError; } -function AjaxErrorImpl(this: any, message: string, xhr: XMLHttpRequest, request: AjaxRequest): AjaxError { - Error.call(this); - this.message = message; - this.name = 'AjaxError'; - this.xhr = xhr; - this.request = request; - this.status = xhr.status; - this.responseType = xhr.responseType || request.responseType; - this.response = parseXhrResponse(this.responseType, xhr); - return this; -} - -AjaxErrorImpl.prototype = Object.create(Error.prototype); +const AjaxErrorImpl = (() => { + function AjaxErrorImpl(this: any, message: string, xhr: XMLHttpRequest, request: AjaxRequest): AjaxError { + Error.call(this); + this.message = message; + this.name = 'AjaxError'; + this.xhr = xhr; + this.request = request; + this.status = xhr.status; + this.responseType = xhr.responseType || request.responseType; + this.response = parseXhrResponse(this.responseType, xhr); + return this; + } + AjaxErrorImpl.prototype = Object.create(Error.prototype); + return AjaxErrorImpl; +})(); export const AjaxError: AjaxErrorCtor = AjaxErrorImpl as any; diff --git a/src/internal/observable/dom/ajax.ts b/src/internal/observable/dom/ajax.ts index 059de0ab58..d0885c1db1 100644 --- a/src/internal/observable/dom/ajax.ts +++ b/src/internal/observable/dom/ajax.ts @@ -79,4 +79,4 @@ import { AjaxObservable, AjaxCreationMethod } from './AjaxObservable'; * * ``` */ -export const ajax: AjaxCreationMethod = AjaxObservable.create; +export const ajax: AjaxCreationMethod = (() => AjaxObservable.create)(); diff --git a/src/internal/observable/fromEvent.ts b/src/internal/observable/fromEvent.ts index e69d127f67..015f56ccbb 100644 --- a/src/internal/observable/fromEvent.ts +++ b/src/internal/observable/fromEvent.ts @@ -4,7 +4,7 @@ import { isFunction } from '../util/isFunction'; import { Subscriber } from '../Subscriber'; import { map } from '../operators/map'; -const toString: Function = Object.prototype.toString; +const toString: Function = (() => Object.prototype.toString)(); export interface NodeStyleEventEmitter { addListener: (eventName: string | symbol, handler: NodeEventHandler) => this; diff --git a/src/internal/symbol/observable.ts b/src/internal/symbol/observable.ts index 02cbaaca3c..a321d71f68 100644 --- a/src/internal/symbol/observable.ts +++ b/src/internal/symbol/observable.ts @@ -8,4 +8,4 @@ declare global { } /** Symbol.observable or a string "@@observable". Used for interop */ -export const observable = typeof Symbol === 'function' && Symbol.observable || '@@observable'; +export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')(); diff --git a/src/internal/symbol/rxSubscriber.ts b/src/internal/symbol/rxSubscriber.ts index 9a40544bd3..3a558e30b5 100644 --- a/src/internal/symbol/rxSubscriber.ts +++ b/src/internal/symbol/rxSubscriber.ts @@ -1,8 +1,8 @@ /** @deprecated do not use, this is no longer checked by RxJS internals */ -export const rxSubscriber = +export const rxSubscriber = (() => typeof Symbol === 'function' ? Symbol('rxSubscriber') - : '@@rxSubscriber_' + Math.random(); + : '@@rxSubscriber_' + Math.random())(); /** * @deprecated use rxSubscriber instead diff --git a/src/internal/util/ArgumentOutOfRangeError.ts b/src/internal/util/ArgumentOutOfRangeError.ts index 949bfcc9da..b9bd72d1d1 100644 --- a/src/internal/util/ArgumentOutOfRangeError.ts +++ b/src/internal/util/ArgumentOutOfRangeError.ts @@ -5,14 +5,18 @@ export interface ArgumentOutOfRangeErrorCtor { new(): ArgumentOutOfRangeError; } -function ArgumentOutOfRangeErrorImpl(this: any) { - Error.call(this); - this.message = 'argument out of range'; - this.name = 'ArgumentOutOfRangeError'; - return this; -} +const ArgumentOutOfRangeErrorImpl = (() => { + function ArgumentOutOfRangeErrorImpl(this: any) { + Error.call(this); + this.message = 'argument out of range'; + this.name = 'ArgumentOutOfRangeError'; + return this; + } + + ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype); -ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype); + return ArgumentOutOfRangeErrorImpl; +})(); /** * An error thrown when an element was queried at a certain index of an diff --git a/src/internal/util/EmptyError.ts b/src/internal/util/EmptyError.ts index 6dacfc6aa8..6eb1d0761d 100644 --- a/src/internal/util/EmptyError.ts +++ b/src/internal/util/EmptyError.ts @@ -5,14 +5,18 @@ export interface EmptyErrorCtor { new(): EmptyError; } -function EmptyErrorImpl(this: any) { - Error.call(this); - this.message = 'no elements in sequence'; - this.name = 'EmptyError'; - return this; -} +const EmptyErrorImpl = (() => { + function EmptyErrorImpl(this: any) { + Error.call(this); + this.message = 'no elements in sequence'; + this.name = 'EmptyError'; + return this; + } + + EmptyErrorImpl.prototype = Object.create(Error.prototype); -EmptyErrorImpl.prototype = Object.create(Error.prototype); + return EmptyErrorImpl; +})(); /** * An error thrown when an Observable or a sequence was queried but has no diff --git a/src/internal/util/ObjectUnsubscribedError.ts b/src/internal/util/ObjectUnsubscribedError.ts index e068c54347..45d2066445 100644 --- a/src/internal/util/ObjectUnsubscribedError.ts +++ b/src/internal/util/ObjectUnsubscribedError.ts @@ -5,14 +5,18 @@ export interface ObjectUnsubscribedErrorCtor { new(): ObjectUnsubscribedError; } -function ObjectUnsubscribedErrorImpl(this: any) { - Error.call(this); - this.message = 'object unsubscribed'; - this.name = 'ObjectUnsubscribedError'; - return this; -} +const ObjectUnsubscribedErrorImpl = (() => { + function ObjectUnsubscribedErrorImpl(this: any) { + Error.call(this); + this.message = 'object unsubscribed'; + this.name = 'ObjectUnsubscribedError'; + return this; + } + + ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype); -ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype); + return ObjectUnsubscribedErrorImpl; +})(); /** * An error thrown when an action is invalid because the object has been diff --git a/src/internal/util/TimeoutError.ts b/src/internal/util/TimeoutError.ts index 3c654276a3..fd0ae50257 100644 --- a/src/internal/util/TimeoutError.ts +++ b/src/internal/util/TimeoutError.ts @@ -5,14 +5,18 @@ export interface TimeoutErrorCtor { new(): TimeoutError; } -function TimeoutErrorImpl(this: any) { - Error.call(this); - this.message = 'Timeout has occurred'; - this.name = 'TimeoutError'; - return this; -} +const TimeoutErrorImpl = (() => { + function TimeoutErrorImpl(this: any) { + Error.call(this); + this.message = 'Timeout has occurred'; + this.name = 'TimeoutError'; + return this; + } + + TimeoutErrorImpl.prototype = Object.create(Error.prototype); -TimeoutErrorImpl.prototype = Object.create(Error.prototype); + return TimeoutErrorImpl; +})(); /** * An error thrown when duetime elapses. diff --git a/src/internal/util/UnsubscriptionError.ts b/src/internal/util/UnsubscriptionError.ts index 293b9678a9..02f1a0d8ec 100644 --- a/src/internal/util/UnsubscriptionError.ts +++ b/src/internal/util/UnsubscriptionError.ts @@ -6,17 +6,21 @@ export interface UnsubscriptionErrorCtor { new(errors: any[]): UnsubscriptionError; } -function UnsubscriptionErrorImpl(this: any, errors: any[]) { - Error.call(this); - this.message = errors ? - `${errors.length} errors occurred during unsubscription: +const UnsubscriptionErrorImpl = (() => { + function UnsubscriptionErrorImpl(this: any, errors: any[]) { + Error.call(this); + this.message = errors ? + `${errors.length} errors occurred during unsubscription: ${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\n ')}` : ''; - this.name = 'UnsubscriptionError'; - this.errors = errors; - return this; -} + this.name = 'UnsubscriptionError'; + this.errors = errors; + return this; + } + + UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype); -UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype); + return UnsubscriptionErrorImpl; +})(); /** * An error thrown when one or more errors have occurred during the diff --git a/src/internal/util/isArray.ts b/src/internal/util/isArray.ts index a6bb48acf7..092f8a2ad8 100644 --- a/src/internal/util/isArray.ts +++ b/src/internal/util/isArray.ts @@ -1 +1 @@ -export const isArray = Array.isArray || ((x: any): x is T[] => x && typeof x.length === 'number'); +export const isArray = (() => Array.isArray || ((x: any): x is T[] => x && typeof x.length === 'number'))(); diff --git a/tslint.json b/tslint.json index ed853108b7..aafdd71ac8 100644 --- a/tslint.json +++ b/tslint.json @@ -22,8 +22,6 @@ "no-var-keyword": true, "no-empty": true, "no-unused-expression-chai": true, - "no-unused-variable": true, - "no-use-before-declare": true, "no-var-requires": true, "no-require-imports": true, "one-line": [ @@ -59,9 +57,21 @@ "check-operator", "check-separator", "check-type" + ], + "no-toplevel-property-access": [ + true, + "src/index.ts", + "src/ajax/", + "src/fetch/", + "src/internal/", + "src/internal-compatibility/", + "src/operators/", + "src/testing/", + "src/webSocket/" ] }, "rulesDirectory": [ - "tslint-no-unused-expression-chai" + "tslint-no-unused-expression-chai", + "node_modules/tslint-no-toplevel-property-access/rules" ] } \ No newline at end of file