diff --git a/package-lock.json b/package-lock.json index 973126c79bb6..ea072be4b0c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "loader-utils": "1.1.0", "source-map": "0.5.7", "typescript": "2.6.2", - "webpack-sources": "1.0.1" + "webpack-sources": "1.1.0" }, "dependencies": { "typescript": { @@ -388,18 +388,11 @@ "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==" }, "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=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "requires": { - "acorn": "4.0.13" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } + "acorn": "5.1.2" } }, "acorn-jsx": { @@ -439,6 +432,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, "requires": { "kind-of": "3.2.2", "longest": "1.0.1", @@ -598,11 +592,11 @@ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "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.7", + "bn.js": "4.11.8", "inherits": "2.0.3", "minimalistic-assert": "1.0.0" } @@ -914,9 +908,9 @@ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" }, "bn.js": { - "version": "4.11.7", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", - "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==" + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "body-parser": { "version": "1.18.2", @@ -1001,15 +995,16 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "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.0", - "inherits": "2.0.3" + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "browserify-cipher": { @@ -1017,9 +1012,9 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.0.6", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.0" + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -1037,8 +1032,8 @@ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { - "bn.js": "4.11.7", - "randombytes": "2.0.5" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -1046,7 +1041,7 @@ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -1056,11 +1051,11 @@ } }, "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "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": "0.2.9" + "pako": "1.0.6" } }, "buffer": { @@ -1235,6 +1230,8 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" @@ -1243,7 +1240,9 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true } } }, @@ -1316,6 +1315,11 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, + "chrome-trace-event": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.1.tgz", + "integrity": "sha1-ZR9NEVkCFgsLM6yhNldLF9FRnJg=" + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1984,7 +1988,7 @@ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "elliptic": "6.4.0" } }, @@ -1996,7 +2000,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.3", "ripemd160": "2.0.1", - "sha.js": "2.4.8" + "sha.js": "2.4.10" } }, "create-hmac": { @@ -2009,7 +2013,7 @@ "inherits": "2.0.3", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.8" + "sha.js": "2.4.10" } }, "cross-spawn": { @@ -2041,9 +2045,9 @@ } }, "crypto-browserify": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", - "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", + "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", @@ -2052,9 +2056,10 @@ "create-hmac": "1.1.6", "diffie-hellman": "5.0.2", "inherits": "2.0.3", - "pbkdf2": "3.0.12", + "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6", + "randomfill": "1.0.3" } }, "css-parse": { @@ -2100,6 +2105,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, "requires": { "es5-ext": "0.10.30" } @@ -2276,9 +2282,9 @@ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "requires": { - "bn.js": "4.11.7", - "miller-rabin": "4.0.0", - "randombytes": "2.0.5" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "dns-equal": { @@ -2345,9 +2351,9 @@ } }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "domelementtype": { "version": "1.3.0", @@ -2453,7 +2459,7 @@ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.3", "hmac-drbg": "1.0.1", @@ -2543,6 +2549,7 @@ "version": "0.10.30", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", + "dev": true, "requires": { "es6-iterator": "2.0.1", "es6-symbol": "3.1.1" @@ -2552,6 +2559,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -2562,6 +2570,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -2575,6 +2584,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -2587,6 +2597,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30" @@ -2596,6 +2607,7 @@ "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=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -2617,6 +2629,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", @@ -2694,6 +2707,15 @@ } } }, + "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.1", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", @@ -2746,6 +2768,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30" @@ -2796,37 +2819,12 @@ } }, "evp_bytestokey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", - "requires": { - "create-hash": "1.1.3" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "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": { - "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" - }, - "dependencies": { - "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" - } - } + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" } }, "exit": { @@ -2943,7 +2941,7 @@ "async": "2.5.0", "loader-utils": "1.1.0", "schema-utils": "0.3.0", - "webpack-sources": "1.0.1" + "webpack-sources": "1.1.0" } }, "extsprintf": { @@ -4100,11 +4098,6 @@ "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=" - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -4553,9 +4546,9 @@ } }, "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "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", @@ -4681,7 +4674,8 @@ "interpret": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=" + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", + "dev": true }, "invariant": { "version": "2.2.2", @@ -4953,11 +4947,6 @@ "tryit": "1.0.3" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, "is-subset": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", @@ -5095,11 +5084,6 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "optional": true }, - "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-parse-better-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", @@ -5469,7 +5453,8 @@ "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true }, "loose-envify": { "version": "1.3.1", @@ -5555,19 +5540,31 @@ "object-visit": "1.0.1" } }, + "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" + } + } + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, - "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", @@ -5675,11 +5672,11 @@ } }, "miller-rabin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", - "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "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.7", + "bn.js": "4.11.8", "brorand": "1.1.0" } }, @@ -5701,11 +5698,6 @@ "mime-db": "1.30.0" } }, - "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", @@ -5994,40 +5986,33 @@ } }, "node-libs-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", - "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "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.1.4", + "browserify-zlib": "0.2.0", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.0", - "domain-browser": "1.1.7", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.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": "0.10.31", - "timers-browserify": "2.0.2", + "stream-http": "2.8.0", + "string_decoder": "1.0.3", + "timers-browserify": "2.0.6", "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.10.3", "vm-browserify": "0.0.4" - }, - "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } } }, "node-modules-path": { @@ -6362,14 +6347,6 @@ } } }, - "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" - } - }, "npm-which": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", @@ -6595,9 +6572,9 @@ } }, "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "os-homedir": { "version": "1.0.2", @@ -6626,11 +6603,6 @@ "os-tmpdir": "1.0.2" } }, - "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", @@ -6650,9 +6622,9 @@ "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=" }, "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" }, "parallel-transform": { "version": "1.1.0", @@ -6677,11 +6649,11 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.0.6", + "asn1.js": "4.9.2", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", - "evp_bytestokey": "1.0.0", - "pbkdf2": "3.0.12" + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" } }, "parse-github-repo-url": { @@ -6768,11 +6740,6 @@ "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-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", @@ -6803,15 +6770,15 @@ } }, "pbkdf2": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", - "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", + "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.8" + "sha.js": "2.4.10" } }, "performance-now": { @@ -7263,11 +7230,11 @@ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "requires": { - "bn.js": "4.11.7", + "bn.js": "4.11.8", "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "parse-asn1": "5.1.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "pump": { @@ -7358,13 +7325,22 @@ } }, "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "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.6", + "safe-buffer": "5.1.1" + } + }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", @@ -7704,6 +7680,8 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, "requires": { "align-text": "0.1.4" } @@ -7956,11 +7934,12 @@ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" }, "sha.js": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", - "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { - "inherits": "2.0.3" + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "shallow-clone": { @@ -7988,6 +7967,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "1.0.0" } @@ -7995,7 +7975,8 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "shell-quote": { "version": "1.6.1", @@ -8483,9 +8464,9 @@ } }, "stream-http": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", @@ -8549,11 +8530,6 @@ "is-utf8": "0.2.1" } }, - "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", @@ -8815,9 +8791,9 @@ "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=" }, "timers-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", - "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", + "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "requires": { "setimmediate": "1.0.5" } @@ -9192,6 +9168,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, "optional": true }, "uglifyjs-webpack-plugin": { @@ -9205,7 +9182,7 @@ "serialize-javascript": "1.4.0", "source-map": "0.6.1", "uglify-es": "3.2.2", - "webpack-sources": "1.0.1", + "webpack-sources": "1.1.0", "worker-farm": "1.5.2" }, "dependencies": { @@ -9570,258 +9547,53 @@ } }, "webpack": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", - "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.0.0-beta.0.tgz", + "integrity": "sha512-5xoeywLiMS9aZZkauREImWoSc3pui9NLWsnYljgy3mm5BT+qPk8zBS6M188Be12fii/++F3PJBsXlrobNPRb7w==", "requires": { "acorn": "5.1.2", - "acorn-dynamic-import": "2.0.2", + "acorn-dynamic-import": "3.0.0", "ajv": "5.2.2", "ajv-keywords": "2.1.0", "async": "2.5.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.0.4", - "json-loader": "0.5.7", - "json5": "0.5.1", + "chrome-trace-event": "0.1.1", + "enhanced-resolve": "4.0.0-beta.4", + "eslint-scope": "3.7.1", "loader-runner": "2.3.0", "loader-utils": "1.1.0", "memory-fs": "0.4.1", "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", - "source-map": "0.5.7", - "supports-color": "4.4.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.3", + "tapable": "1.0.0-beta.5", + "uglifyjs-webpack-plugin": "1.1.5", "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "8.0.2" + "webpack-sources": "1.1.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "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" - } - }, - "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=" - }, - "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=", + "enhanced-resolve": { + "version": "4.0.0-beta.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0-beta.4.tgz", + "integrity": "sha512-9d8MpQy2g8+DRPh3vhU3DnxVTDJ7R5nD3i4N/mhRuBzuHAtFnLawXKEsjsi88S0Jfr+5i6sUJu05B9VrjxIYEg==", "requires": { "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "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" - } - }, - "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": { - "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" - } - } - } - }, - "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.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "requires": { - "has-flag": "2.0.0" - } - }, - "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": { - "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" - } - } - } - }, - "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.1" + "memory-fs": "0.4.1", + "tapable": "1.0.0-beta.5" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "schema-utils": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", + "integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==", "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" - }, - "dependencies": { - "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" - } - } - } - } + "ajv": "5.2.2", + "ajv-keywords": "2.1.0" } }, - "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=" - } - } + "tapable": { + "version": "1.0.0-beta.5", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0-beta.5.tgz", + "integrity": "sha512-TRKt8j59hRVoYaoSB5IFCbfNEcLzDaVdKrOIPlC1AJAIZTmZZTbHDXGsqiUb9IjeRAYGeQtc617oEzlsnpUi3w==" } } }, @@ -10402,12 +10174,19 @@ } }, "webpack-sources": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", - "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "requires": { "source-list-map": "2.0.0", - "source-map": "0.5.7" + "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==" + } } }, "webpack-subresource-integrity": { @@ -10460,7 +10239,9 @@ "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true }, "wordwrap": { "version": "0.0.3", diff --git a/package.json b/package.json index 4f69d66fdc0d..8c5d1b3773c2 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "typescript": "^2.6.2", "uglifyjs-webpack-plugin": "^1.1.5", "url-loader": "^0.6.2", - "webpack": "~3.10.0", + "webpack": "^4.0.0-beta.0", "webpack-dev-middleware": "~1.12.0", "webpack-dev-server": "~2.11.0", "webpack-merge": "^4.1.0", diff --git a/packages/@angular/cli/models/webpack-config.ts b/packages/@angular/cli/models/webpack-config.ts index 987217e49385..7e708abfa400 100644 --- a/packages/@angular/cli/models/webpack-config.ts +++ b/packages/@angular/cli/models/webpack-config.ts @@ -9,7 +9,6 @@ import { BuildOptions } from './build-options'; import { getBrowserConfig, getCommonConfig, - getDevConfig, getProdConfig, getStylesConfig, getServerConfig, @@ -48,10 +47,8 @@ export class NgCliWebpackConfig { const supportES2015 = tsConfig.options.target !== projectTs.ScriptTarget.ES3 && tsConfig.options.target !== projectTs.ScriptTarget.ES5; - // Only force if the default module kind is used (ES2015) - // Allows user to adjust module kind (to esNext for example) - buildOptions.forceTsCommonjs = buildOptions.forceTsCommonjs - && tsConfig.options.module === projectTs.ModuleKind.ES2015; + // TODO: Remove this functionality completely as it is no longer needed with Webpack 4 + buildOptions.forceTsCommonjs = false; this.wco = { projectRoot, buildOptions, appConfig, tsConfig, supportES2015 }; } @@ -80,8 +77,6 @@ export class NgCliWebpackConfig { public getTargetConfig(webpackConfigOptions: WebpackConfigOptions): any { switch (webpackConfigOptions.buildOptions.target) { - case 'development': - return getDevConfig(webpackConfigOptions); case 'production': return getProdConfig(webpackConfigOptions); } diff --git a/packages/@angular/cli/models/webpack-configs/browser.ts b/packages/@angular/cli/models/webpack-configs/browser.ts index 3ec6bb723a01..8991935f694b 100644 --- a/packages/@angular/cli/models/webpack-configs/browser.ts +++ b/packages/@angular/cli/models/webpack-configs/browser.ts @@ -1,4 +1,3 @@ -import * as fs from 'fs'; import * as webpack from 'webpack'; import * as path from 'path'; const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -23,23 +22,23 @@ export function getBrowserConfig(wco: WebpackConfigOptions) { ...extraEntryParser(appConfig.styles, appRoot, 'styles') ]); - if (buildOptions.vendorChunk) { - // Separate modules from node_modules into a vendor chunk. - const nodeModules = path.resolve(projectRoot, 'node_modules'); - // Resolves all symlink to get the actual node modules folder. - const realNodeModules = fs.realpathSync(nodeModules); - // --aot puts the generated *.ngfactory.ts in src/$$_gendir/node_modules. - const genDirNodeModules = path.resolve(appRoot, '$$_gendir', 'node_modules'); - - extraPlugins.push(new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - chunks: ['main'], - minChunks: (module: any) => { - return module.resource - && ( module.resource.startsWith(nodeModules) - || module.resource.startsWith(genDirNodeModules) - || module.resource.startsWith(realNodeModules)); - } + // TODO: Enable this once HtmlWebpackPlugin supports Webpack 4 + const generateIndexHtml = false; + if (generateIndexHtml) { + extraPlugins.push(new HtmlWebpackPlugin({ + template: path.resolve(appRoot, appConfig.index), + filename: path.resolve(buildOptions.outputPath, appConfig.index), + chunksSortMode: packageChunkSort(appConfig), + excludeChunks: lazyChunks, + xhtml: true, + minify: buildOptions.target === 'production' ? { + caseSensitive: true, + collapseWhitespace: true, + keepClosingSlash: true + } : false + })); + extraPlugins.push(new BaseHrefWebpackPlugin({ + baseHref: buildOptions.baseHref })); } @@ -62,15 +61,6 @@ export function getBrowserConfig(wco: WebpackConfigOptions) { } } - if (buildOptions.commonChunk) { - extraPlugins.push(new webpack.optimize.CommonsChunkPlugin({ - name: 'main', - async: 'common', - children: true, - minChunks: 2 - })); - } - if (buildOptions.subresourceIntegrity) { extraPlugins.push(new SubresourceIntegrityPlugin({ hashFuncNames: ['sha384'] @@ -87,27 +77,24 @@ export function getBrowserConfig(wco: WebpackConfigOptions) { output: { crossOriginLoading: buildOptions.subresourceIntegrity ? 'anonymous' : false }, - plugins: [ - new HtmlWebpackPlugin({ - template: path.resolve(appRoot, appConfig.index), - filename: path.resolve(buildOptions.outputPath, appConfig.index), - chunksSortMode: packageChunkSort(appConfig), - excludeChunks: lazyChunks, - xhtml: true, - minify: buildOptions.target === 'production' ? { - caseSensitive: true, - collapseWhitespace: true, - keepClosingSlash: true - } : false - }), - new BaseHrefWebpackPlugin({ - baseHref: buildOptions.baseHref - }), - new webpack.optimize.CommonsChunkPlugin({ - minChunks: Infinity, - name: 'inline' - }) - ].concat(extraPlugins), + optimization: { + splitChunks: { + chunks: buildOptions.commonChunk ? 'all' : 'initial', + cacheGroups: { + vendors: false, + vendor: buildOptions.vendorChunk && { + name: 'vendor', + chunks: 'initial', + test: (module: any, chunks: Array<{name: string}>) => { + const moduleName = module.nameForCondition ? module.nameForCondition() : ''; + return /[\\/]node_modules[\\/]/.test(moduleName) + && !chunks.some(({ name }) => name === 'polyfills'); + }, + }, + } + } + }, + plugins: extraPlugins, node: { fs: 'empty', global: true, diff --git a/packages/@angular/cli/models/webpack-configs/common.ts b/packages/@angular/cli/models/webpack-configs/common.ts index 6a7245c7a7e5..79a0143c5b6c 100644 --- a/packages/@angular/cli/models/webpack-configs/common.ts +++ b/packages/@angular/cli/models/webpack-configs/common.ts @@ -1,15 +1,17 @@ -import * as webpack from 'webpack'; import * as path from 'path'; +import { HashedModuleIdsPlugin } from 'webpack'; import * as CopyWebpackPlugin from 'copy-webpack-plugin'; import { NamedLazyChunksWebpackPlugin } from '../../plugins/named-lazy-chunks-webpack-plugin'; import { extraEntryParser, getOutputHashFormat, AssetPattern } from './utils'; import { isDirectory } from '../../utilities/is-directory'; import { requireProjectModule } from '../../utilities/require-project-module'; import { WebpackConfigOptions } from '../webpack-config'; +import { CleanCssWebpackPlugin } from '../../plugins/cleancss-webpack-plugin'; import { ScriptsWebpackPlugin } from '../../plugins/scripts-webpack-plugin'; const ProgressPlugin = require('webpack/lib/ProgressPlugin'); const CircularDependencyPlugin = require('circular-dependency-plugin'); +const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const SilentError = require('silent-error'); const resolve = require('resolve'); @@ -31,7 +33,6 @@ export function getCommonConfig(wco: WebpackConfigOptions) { const nodeModules = path.resolve(projectRoot, 'node_modules'); let extraPlugins: any[] = []; - let extraRules: any[] = []; let entryPoints: { [key: string]: string[] } = {}; if (appConfig.main) { @@ -77,6 +78,9 @@ export function getCommonConfig(wco: WebpackConfigOptions) { }); } + // TODO: Remove this when copy-webpack-plugin supports Webpack 4 + appConfig.assets = undefined; + // process asset entries if (appConfig.assets) { const copyWebpackPluginPatterns = appConfig.assets.map((asset: string | AssetPattern) => { @@ -159,26 +163,29 @@ export function getCommonConfig(wco: WebpackConfigOptions) { if (buildOptions.showCircularDependencies) { extraPlugins.push(new CircularDependencyPlugin({ - exclude: /(\\|\/)node_modules(\\|\/)/ + exclude: /[\\\/]node_modules[\\\/]/ })); } + let buildOptimizerUseRule; if (buildOptions.buildOptimizer) { // Set the cache directory to the Build Optimizer dir, so that package updates will delete it. const buildOptimizerDir = path.dirname( resolve.sync('@angular-devkit/build-optimizer', { basedir: projectRoot })); const cacheDirectory = path.resolve(buildOptimizerDir, './.cache/'); - extraRules.push({ - test: /\.js$/, - use: [{ - loader: 'cache-loader', - options: { cacheDirectory } - }, { - loader: '@angular-devkit/build-optimizer/webpack-loader', - options: { sourceMap: buildOptions.sourcemaps } - }], - }); + buildOptimizerUseRule = { + use: [ + { + loader: 'cache-loader', + options: { cacheDirectory } + }, + { + loader: '@angular-devkit/build-optimizer/webpack-loader', + options: { sourceMap: buildOptions.sourcemaps } + }, + ], + }; } if (buildOptions.namedChunks) { @@ -204,6 +211,7 @@ export function getCommonConfig(wco: WebpackConfigOptions) { } return { + mode: buildOptions.target, resolve: { extensions: ['.ts', '.js'], symlinks: !buildOptions.preserveSymlinks, @@ -238,11 +246,55 @@ export function getCommonConfig(wco: WebpackConfigOptions) { name: `[name]${hashFormat.file}.[ext]`, limit: 10000 } - } - ].concat(extraRules) + }, + { + test: /[\/\\]@angular[\/\\].+\.js$/, + sideEffects: false, + parser: { system: true }, + ...buildOptimizerUseRule, + }, + { + test: /\.js$/, + ...buildOptimizerUseRule, + }, + ] + }, + optimization: { + noEmitOnErrors: true, + minimizer: [ + new HashedModuleIdsPlugin(), + new CleanCssWebpackPlugin({ sourceMap: buildOptions.sourcemaps }), + new UglifyJSPlugin({ + sourceMap: buildOptions.sourcemaps, + parallel: true, + cache: true, + uglifyOptions: { + ecma: wco.supportES2015 ? 6 : 5, + warnings: buildOptions.verbose, + ie8: false, + mangle: { + safari10: true, + }, + compress: { + // Disabled because of an issue with Mapbox GL when using the Webpack node global: + // https://github.com/mapbox/mapbox-gl-js/issues/4359#issuecomment-303880888 + // https://github.com/angular/angular-cli/issues/5804 + // https://github.com/angular/angular-cli/pull/7931 + typeofs : false, + pure_getters: buildOptions.buildOptimizer, + // PURE comments work best with 3 passes. + // See https://github.com/webpack/webpack/issues/2899#issuecomment-317425926. + passes: buildOptions.buildOptimizer ? 3 : 1, + }, + output: { + ascii_only: true, + comments: false, + webkit: true, + }, + } + }), + ], }, - plugins: [ - new webpack.NoEmitOnErrorsPlugin() - ].concat(extraPlugins) + plugins: extraPlugins, }; } diff --git a/packages/@angular/cli/models/webpack-configs/development.ts b/packages/@angular/cli/models/webpack-configs/development.ts deleted file mode 100644 index 5b2227cc51a6..000000000000 --- a/packages/@angular/cli/models/webpack-configs/development.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { NamedModulesPlugin } from 'webpack'; - -import { WebpackConfigOptions } from '../webpack-config'; - -export function getDevConfig(_wco: WebpackConfigOptions) { - return { - plugins: [new NamedModulesPlugin()] - }; -} diff --git a/packages/@angular/cli/models/webpack-configs/index.ts b/packages/@angular/cli/models/webpack-configs/index.ts index 70560367f79f..cf1528aca6f0 100644 --- a/packages/@angular/cli/models/webpack-configs/index.ts +++ b/packages/@angular/cli/models/webpack-configs/index.ts @@ -1,6 +1,5 @@ export * from './browser'; export * from './common'; -export * from './development'; export * from './production'; export * from './server'; export * from './styles'; diff --git a/packages/@angular/cli/models/webpack-configs/production.ts b/packages/@angular/cli/models/webpack-configs/production.ts index 55f4b08e48d6..3c80819fb9fa 100644 --- a/packages/@angular/cli/models/webpack-configs/production.ts +++ b/packages/@angular/cli/models/webpack-configs/production.ts @@ -1,10 +1,8 @@ import * as path from 'path'; -import * as webpack from 'webpack'; import * as fs from 'fs'; import * as semver from 'semver'; import { stripIndent } from 'common-tags'; import { LicenseWebpackPlugin } from 'license-webpack-plugin'; -import { PurifyPlugin } from '@angular-devkit/build-optimizer'; import { BundleBudgetPlugin } from '../../plugins/bundle-budget'; import { StaticAssetPlugin } from '../../plugins/static-asset'; import { GlobCopyWebpackPlugin } from '../../plugins/glob-copy-webpack-plugin'; @@ -12,7 +10,6 @@ import { WebpackConfigOptions } from '../webpack-config'; import { resolveProjectModule } from '../../utilities/require-project-module'; import { NEW_SW_VERSION } from '../../utilities/service-worker'; -const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const OLD_SW_VERSION = '>= 1.0.0-beta.5 < 2.0.0'; @@ -127,52 +124,8 @@ export function getProdConfig(wco: WebpackConfigOptions) { })); } - const uglifyCompressOptions: any = { - // Disabled because of an issue with Mapbox GL when using the Webpack node global and UglifyJS: - // https://github.com/mapbox/mapbox-gl-js/issues/4359#issuecomment-303880888 - // https://github.com/angular/angular-cli/issues/5804 - // https://github.com/angular/angular-cli/pull/7931 - typeofs : false - }; - - if (buildOptions.buildOptimizer) { - // This plugin must be before webpack.optimize.UglifyJsPlugin. - extraPlugins.push(new PurifyPlugin()); - uglifyCompressOptions.pure_getters = true; - // PURE comments work best with 3 passes. - // See https://github.com/webpack/webpack/issues/2899#issuecomment-317425926. - uglifyCompressOptions.passes = 3; - } - return { entry: entryPoints, - plugins: [ - new webpack.EnvironmentPlugin({ - 'NODE_ENV': 'production' - }), - new webpack.HashedModuleIdsPlugin(), - new webpack.optimize.ModuleConcatenationPlugin(), - ...extraPlugins, - // Uglify should be the last plugin as PurifyPlugin needs to be before it. - new UglifyJSPlugin({ - sourceMap: buildOptions.sourcemaps, - parallel: true, - cache: true, - uglifyOptions: { - ecma: wco.supportES2015 ? 6 : 5, - warnings: buildOptions.verbose, - ie8: false, - mangle: { - safari10: true, - }, - compress: uglifyCompressOptions, - output: { - ascii_only: true, - comments: false, - webkit: true, - }, - } - }), - ] + plugins: extraPlugins, }; } diff --git a/packages/@angular/cli/models/webpack-configs/styles.ts b/packages/@angular/cli/models/webpack-configs/styles.ts index 858c3d677581..c293830eed1b 100644 --- a/packages/@angular/cli/models/webpack-configs/styles.ts +++ b/packages/@angular/cli/models/webpack-configs/styles.ts @@ -1,9 +1,6 @@ import * as webpack from 'webpack'; import * as path from 'path'; -import { - CleanCssWebpackPlugin, - SuppressExtractedTextChunksWebpackPlugin, -} from '../../plugins/webpack'; +import { SuppressExtractedTextChunksWebpackPlugin } from '../../plugins/webpack'; import { extraEntryParser, getOutputHashFormat } from './utils'; import { WebpackConfigOptions } from '../webpack-config'; import { pluginArgs, postcssArgs } from '../../tasks/eject'; @@ -43,10 +40,11 @@ export function getStylesConfig(wco: WebpackConfigOptions) { const extraPlugins: any[] = []; const cssSourceMap = buildOptions.sourcemaps; + // TODO: Remove once extract text plugin works with Webpack 4 + buildOptions.extractCss = false; + // Maximum resource size to inline (KiB) const maximumInlineSize = 10; - // Minify/optimize css in production. - const minimizeCss = buildOptions.target === 'production'; // determine hashing format const hashFormat = getOutputHashFormat(buildOptions.outputHashing); // Convert absolute resource URLs to account for base-href and deploy-url. @@ -264,10 +262,6 @@ export function getStylesConfig(wco: WebpackConfigOptions) { extraPlugins.push(new SuppressExtractedTextChunksWebpackPlugin()); } - if (minimizeCss) { - extraPlugins.push(new CleanCssWebpackPlugin({ sourceMap: cssSourceMap })); - } - return { entry: entryPoints, module: { rules }, diff --git a/packages/@angular/cli/package.json b/packages/@angular/cli/package.json index 6e3506fcd798..c4ad95625af6 100644 --- a/packages/@angular/cli/package.json +++ b/packages/@angular/cli/package.json @@ -78,7 +78,7 @@ "stylus-loader": "^3.0.1", "uglifyjs-webpack-plugin": "^1.1.5", "url-loader": "^0.6.2", - "webpack": "~3.10.0", + "webpack": "~4.0.0-beta.0", "webpack-dev-middleware": "~1.12.0", "webpack-dev-server": "~2.11.0", "webpack-merge": "^4.1.0", diff --git a/packages/@angular/cli/plugins/named-lazy-chunks-webpack-plugin.ts b/packages/@angular/cli/plugins/named-lazy-chunks-webpack-plugin.ts index 13cb9e4b0c1c..ccc729ca7a94 100644 --- a/packages/@angular/cli/plugins/named-lazy-chunks-webpack-plugin.ts +++ b/packages/@angular/cli/plugins/named-lazy-chunks-webpack-plugin.ts @@ -26,15 +26,16 @@ export class NamedLazyChunksWebpackPlugin extends webpack.NamedChunksPlugin { } // Try to figure out if it's a lazy loaded route or import(). - if (chunk.blocks - && chunk.blocks.length > 0 - && chunk.blocks[0] instanceof AsyncDependenciesBlock - && chunk.blocks[0].dependencies.length === 1 - && (chunk.blocks[0].dependencies[0] instanceof ContextElementDependency - || chunk.blocks[0].dependencies[0] instanceof ImportDependency) + const blocks = chunk.getBlocks && chunk.getBlocks(); + if (blocks + && blocks.length > 0 + && blocks[0] instanceof AsyncDependenciesBlock + && blocks[0].dependencies.length === 1 + && (blocks[0].dependencies[0] instanceof ContextElementDependency + || blocks[0].dependencies[0] instanceof ImportDependency) ) { // Create chunkname from file request, stripping ngfactory and extension. - const request = chunk.blocks[0].dependencies[0].request; + const request = blocks[0].dependencies[0].request; const chunkName = basename(request).replace(/(\.ngfactory)?\.(js|ts)$/, ''); if (!chunkName || chunkName === '') { // Bail out if something went wrong with the name. diff --git a/packages/@ngtools/webpack/package.json b/packages/@ngtools/webpack/package.json index 46d693bdae1c..eff982c4effe 100644 --- a/packages/@ngtools/webpack/package.json +++ b/packages/@ngtools/webpack/package.json @@ -35,6 +35,6 @@ "webpack-sources": "^1.1.0" }, "peerDependencies": { - "webpack": "^2.2.0 || ^3.0.0" + "webpack": "^2.2.0 || ^3.0.0 || ^4.0.0-beta.0 || ^4.0.0" } }