Niedzielski has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/387583 )
Change subject: Chore: upgrade dependencies ...................................................................... Chore: upgrade dependencies • preact v8.2.5 → 8.2.6 • Fix: AnyComponent type to allow parameterized class usage. (Removed workaround in preact-utils.ts.) • Update: add link preload "as" to HTMLAttributes type definition. (Removed workarounds in html-page.ts.) • (Added a workaround for preact/debug to the Webpack config.) https://github.com/developit/preact/releases/tag/8.2.6 • ts-loader v2.3.7 → 3.1.1 Drop support for typescript < 2.0. This upgrade causes an error compiling node_modules so this patch temporarily disables the "checkJs" TypeScript compiler option. https://github.com/TypeStrong/ts-loader/releases/tag/v3.0.0 https://github.com/TypeStrong/ts-loader/releases/tag/v3.0.3 https://github.com/TypeStrong/ts-loader/releases/tag/v3.0.4 https://github.com/TypeStrong/ts-loader/releases/tag/v3.0.5 https://github.com/TypeStrong/ts-loader/releases/tag/v3.1.0 https://github.com/TypeStrong/ts-loader/releases/tag/v3.1.1 • domino v1.0.29 → 1.0.30 https://github.com/fgnass/domino/blob/b4cacbb/CHANGELOG.md#domino-1030-24-oct-2017 • path-to-regexp v2.0.0 → 2.1.0 https://github.com/pillarjs/path-to-regexp/blob/b0b9a92/History.md#210--2017-10-20 • webpack-dev-server v2.9.2 → 2.9.3 https://github.com/webpack/webpack-dev-server/releases/tag/v2.9.3 • extract-text-webpack-plugin v3.0.1 → 3.0.2 https://github.com/webpack-contrib/extract-text-webpack-plugin/releases/tag/v3.0.2 • typescript-eslint-parser v8.0.0 → 8.0.1 https://github.com/eslint/typescript-eslint-parser/releases/tag/v8.0.1 • eslint v4.8.0 → 4.10.0 Lots of changes as per usual. It's unclear why there's a version minor bump to v4.10.0. https://github.com/eslint/eslint/releases/tag/v4.9.0 https://github.com/eslint/eslint/releases/tag/v4.10.0 • eslint-plugin-import v2.7.0 → 2.8.0 https://github.com/benmosher/eslint-plugin-import/blob/4071379/CHANGELOG.md#280---2017-10-18 • sinon v4.0.1 → 4.0.2 https://github.com/sinonjs/sinon/blob/39e5737/docs/changelog.md#402--2017-10-25 • @types/express v4.0.37 → 4.0.39 • @types/history v4.6.0 → 4.6.1 • @types/mocha v2.2.43 → 2.2.44 • @types/node v8.0.34 → 8.0.47 No significant output differences identified. Bug: T176965 Bug: T177011 Change-Id: I0a06a7385520f499eb15f4a5be4d93ebf4bebaac --- M package-lock.json M package.json M src/common/components/preact-utils.ts M src/common/routers/route.ts M src/common/routers/router.ts M src/server/components/html-page.tsx M tsconfig.json M webpack.config.ts 8 files changed, 222 insertions(+), 164 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/marvin refs/changes/83/387583/1 diff --git a/package-lock.json b/package-lock.json index 4b9f2ba..d31efd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,32 +13,43 @@ "@types/webpack": "3.0.9" } }, + "@types/body-parser": { + "version": "1.16.7", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.16.7.tgz", + "integrity": "sha512-Obn1/GG0sYsnlAlhhSR1hvYRGBpQT+fzSi2IlGN8emCE4iu6f6xIjaq499B1sa7N9iBLzxyOUBo5bzgJd16BvA==", + "dev": true, + "requires": { + "@types/express": "4.0.39", + "@types/node": "8.0.47" + } + }, "@types/compression": { "version": "0.0.34", "resolved": "https://registry.npmjs.org/@types/compression/-/compression-0.0.34.tgz", "integrity": "sha512-NUEw+1DmdMFjVXSaSYf0okgyrnydH7q2DpWTA5/M5lgsUzwut0Ir8qgkTKCavM558CXhNrj5TTTqe3WCfUHMAQ==", "dev": true, "requires": { - "@types/express": "4.0.37" + "@types/express": "4.0.39" } }, "@types/express": { - "version": "4.0.37", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.37.tgz", - "integrity": "sha512-tIULTLzQpFFs5/PKnFIAFOsXQxss76glppbVKR3/jddPK26SBsD5HF5grn5G2jOGtpRWSBvYmDYoduVv+3wOXg==", + "version": "4.0.39", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.39.tgz", + "integrity": "sha512-dBUam7jEjyuEofigUXCtublUHknRZvcRgITlGsTbFgPvnTwtQUt2NgLakbsf+PsGo/Nupqr3IXCYsOpBpofyrA==", "dev": true, "requires": { - "@types/express-serve-static-core": "4.0.52", - "@types/serve-static": "1.7.32" + "@types/body-parser": "1.16.7", + "@types/express-serve-static-core": "4.0.56", + "@types/serve-static": "1.13.0" } }, "@types/express-serve-static-core": { - "version": "4.0.52", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.52.tgz", - "integrity": "sha512-UpN389YLcQEIn1t4Kxc8TlCrg43r6o8IcF57LvmbCGNhWzz0dEg4AaUsN6IHrrSjPzPmmJ1FLYXGPP/expXOWg==", + "version": "4.0.56", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.56.tgz", + "integrity": "sha512-/0nwIzF1Bd4KGwW4lhDZYi5StmCZG1DIXXMfQ/zjORzlm4+F1eRA4c6yJQrt4hqX//TDtPULpSlYwmSNyCMeMg==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.0.47" } }, "@types/extract-text-webpack-plugin": { @@ -51,27 +62,27 @@ } }, "@types/history": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.6.0.tgz", - "integrity": "sha512-2A0stT6b61DANLErAfSkeQ77N+A3FbR7ardUJUP3xm9f4W8qtG9ispBYDUX42Fl1EbR0rqSV3IWjbB6ew7hXRw==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.6.1.tgz", + "integrity": "sha512-Z8DQIdWtl0ff+tXDKeG3P0IOXd0kCI5wCXqZZjymjwcwe/o46BlEXeDrN09L9qnhzHmo9ObpkrlMCHPfbVvewA==", "dev": true }, "@types/mime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.1.tgz", - "integrity": "sha512-rek8twk9C58gHYqIrUlJsx8NQMhlxqHzln9Z9ODqiNgv3/s+ZwIrfr+djqzsnVM12xe9hL98iJ20lj2RvCBv6A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", + "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==", "dev": true }, "@types/mocha": { - "version": "2.2.43", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.43.tgz", - "integrity": "sha512-xNlAmH+lRJdUMXClMTI9Y0pRqIojdxfm7DHsIxoB2iTzu3fnPmSMEN8SsSx0cdwV36d02PWCWaDUoZPDSln+xw==", + "version": "2.2.44", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.44.tgz", + "integrity": "sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw==", "dev": true }, "@types/node": { - "version": "8.0.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.34.tgz", - "integrity": "sha512-Jnmm57+nHqvJUPwUzt1CLoLzFtF2B2vgG7cWFut+a4nqTp9/L6pL0N+o0Jt3V7AQnCKMsPEqQpLFZYleBCdq3w==", + "version": "8.0.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.47.tgz", + "integrity": "sha512-kOwL746WVvt/9Phf6/JgX/bsGQvbrK5iUgzyfwZNcKVFcjAUVSpF9HxevLTld2SG9aywYHOILj38arDdY1r/iQ==", "dev": true }, "@types/node-fetch": { @@ -80,17 +91,17 @@ "integrity": "sha1-UhB46PDGmhWOUCIAWsqS0mIPbVc=", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.0.47" } }, "@types/serve-static": { - "version": "1.7.32", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.7.32.tgz", - "integrity": "sha512-WpI0g7M1FiOmJ/a97Qrjafq2I938tjAZ3hZr9O7sXyA6oUhH3bqUNZIt7r1KZg8TQAKxcvxt6JjQ5XuLfIBFvg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.0.tgz", + "integrity": "sha512-wvQkePwCDZoyQPGb64DTl2TEeLw54CQFXjY+tznxYYxNcBb4LG40ezoVbMDa0epwE4yogB0f42jCaH0356x5Mg==", "dev": true, "requires": { - "@types/express-serve-static-core": "4.0.52", - "@types/mime": "1.3.1" + "@types/express-serve-static-core": "4.0.56", + "@types/mime": "2.0.0" } }, "@types/source-map": { @@ -111,7 +122,7 @@ "integrity": "sha512-Bskfd5wztYbQ/mvU4rgHUB3fKcjW2hA6o/F0JN8O+jRPJQDN/2pPV6SmdIiFm2vLyyN/XQzoCULTE05ZOpnNbQ==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.0.47" } }, "@types/uglify-js": { @@ -129,7 +140,7 @@ "integrity": "sha512-xXqusBBKbYb8fA1jtE3iO75uRW1ejqGuH93V+6fhbfNY59ndKjfhftJVxcSaYAMDjmFTRBHy82d+513JKuHD5g==", "dev": true, "requires": { - "@types/node": "8.0.34", + "@types/node": "8.0.47", "@types/tapable": "0.2.3", "@types/uglify-js": "2.6.29" } @@ -1530,9 +1541,9 @@ } }, "domino": { - "version": "1.0.29", - "resolved": "https://registry.npmjs.org/domino/-/domino-1.0.29.tgz", - "integrity": "sha1-3oqh9vmOPFU4/remH6acHqu6zgY=" + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/domino/-/domino-1.0.30.tgz", + "integrity": "sha512-ikq8WiDSkICdkElud317F2Sigc6A3EDpWsxWBwIZqOl95km4p/Vc9Rj98id7qKgsjDmExj0AVM7JOd4bb647Xg==" }, "domutils": { "version": "1.5.1", @@ -1770,14 +1781,14 @@ } }, "eslint": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.8.0.tgz", - "integrity": "sha1-Ip7w41Tg5h2DfHqA/fuoJeGZgV4=", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz", + "integrity": "sha512-MMVl8P/dYUFZEvolL8PYt7qc5LNdS2lwheq9BYa5Y07FblhcZqFyaUqlS8TW5QITGex21tV4Lk0a3fK8lsJIkA==", "dev": true, "requires": { "ajv": "5.2.2", "babel-code-frame": "6.26.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "concat-stream": "1.6.0", "cross-spawn": "5.1.0", "debug": "3.1.0", @@ -1791,7 +1802,7 @@ "functional-red-black-tree": "1.0.1", "glob": "7.1.2", "globals": "9.18.0", - "ignore": "3.3.5", + "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.0.0", @@ -1830,14 +1841,14 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "debug": { @@ -1881,9 +1892,9 @@ } }, "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==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { "has-flag": "2.0.0" @@ -1919,7 +1930,7 @@ "dev": true, "requires": { "debug": "2.6.8", - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "eslint-module-utils": { @@ -1933,9 +1944,9 @@ } }, "eslint-plugin-import": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz", - "integrity": "sha512-HGYmpU9f/zJaQiKNQOVfHUh2oLWW3STBrCgH0sHTX1xtsxYlH1zjLh8FlQGEIdZSdTbUMaV36WaZ6ImXkenGxQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", + "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==", "dev": true, "requires": { "builtin-modules": "1.1.1", @@ -2207,7 +2218,7 @@ "dev": true, "requires": { "iconv-lite": "0.4.18", - "jschardet": "1.5.1", + "jschardet": "1.6.0", "tmp": "0.0.33" } }, @@ -2221,9 +2232,9 @@ } }, "extract-text-webpack-plugin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.1.tgz", - "integrity": "sha512-zv0/Cg2mU8uMzeQQ3oyfJvZU4Iv/GbQYUIr/HU+8pZetT/0W3xj6XAbxoG4gsp8SbnYcFd4BOsCAZPl9NvplPw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "dev": true, "requires": { "async": "2.5.0", @@ -2242,6 +2253,12 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, "fast-levenshtein": { @@ -2816,9 +2833,9 @@ "dev": true }, "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", "dev": true }, "ignore-by-default": { @@ -2838,6 +2855,27 @@ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true + }, + "import-local": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", + "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + } + } }, "imurmurhash": { "version": "0.1.4", @@ -2894,7 +2932,7 @@ "dev": true, "requires": { "ansi-escapes": "3.0.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.0.5", @@ -2925,14 +2963,14 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "has-flag": { @@ -2951,9 +2989,9 @@ } }, "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==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { "has-flag": "2.0.0" @@ -3300,9 +3338,9 @@ } }, "jschardet": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", - "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz", + "integrity": "sha512-xYuhvQ7I9PDJIGBWev9xm0+SMSed3ZDBAmvVjbFR1ZRLAF+vlXcQu6cRI9uAlj81rzikElRVteehwV7DuX2ZmQ==", "dev": true }, "jsesc": { @@ -3381,9 +3419,9 @@ "dev": true }, "just-extend": { - "version": "1.1.22", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.22.tgz", - "integrity": "sha1-MzCvdWyralQnAMZLLk5KoGLVL/8=", + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", + "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==", "dev": true }, "kind-of": { @@ -4137,12 +4175,6 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "native-promise-only": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -4155,13 +4187,13 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "nise": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.1.1.tgz", - "integrity": "sha512-f5DMJB0MqBaSuP2NAwPx7HyVKPdaozds0KsNe9XIP3npKWt/QUg73l5TTLRTSwfG/Y3AB0ktacuxX4QNcg6vVw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.0.tgz", + "integrity": "sha512-q9jXh3UNsMV28KeqI43ILz5+c3l+RiNW8mhurEwCKckuHQbL+hTJIKKTiUlCPKlgQ/OukFvSnKB/Jk3+sFbkGA==", "dev": true, "requires": { "formatio": "1.2.0", - "just-extend": "1.1.22", + "just-extend": "1.1.27", "lolex": "1.6.0", "path-to-regexp": "1.7.0", "text-encoding": "0.6.4" @@ -4748,9 +4780,9 @@ "dev": true }, "path-to-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.0.0.tgz", - "integrity": "sha512-DPZblKdQsbV6B3fHknj89h6Nw/Z5zFK0nFX+DVN7y8a+IUHf9taJWvMK+ue0+AEjXrke0KVRCcfm2pOYGSRk8g==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.1.0.tgz", + "integrity": "sha512-dZY7QPCPp5r9cnNuQ955mOv4ZFVDXY/yvqeV7Y1W2PJA3PEFcuow9xKFfJxbBj1pIjOAP+M2B4/7xubmykLrXw==" }, "path-type": { "version": "2.0.0", @@ -5422,9 +5454,9 @@ } }, "preact": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.5.tgz", - "integrity": "sha1-y/o5YqgBJ2gVn20B1G+cHrMhPAo=" + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.6.tgz", + "integrity": "sha1-ACi0Ju+Y/Mp0Gjxhf/W4E7mpR8c=" }, "preact-render-to-string": { "version": "3.7.0", @@ -5874,12 +5906,29 @@ "dev": true }, "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { "path-parse": "1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } } }, "resolve-from": { @@ -6158,36 +6207,33 @@ "dev": true }, "sinon": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.0.1.tgz", - "integrity": "sha512-4qIY0pCWCvGCJpV/1JkFu9kbsNEZ9O34cG1oru/c7OCDtrEs50Gq/VjkA2ID5ZwLyoNx1i1ws118oh/p6fVeDg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.0.2.tgz", + "integrity": "sha512-4mUsjHfjrHyPFGDTtNJl0q8cv4VOJGvQykI1r3fnn05ys0sQL9M1Y+DyyGNWLD2PMcoyqjJ/nFDm4K54V1eQOg==", "dev": true, "requires": { "diff": "3.2.0", "formatio": "1.2.0", "lodash.get": "4.4.2", "lolex": "2.1.3", - "native-promise-only": "0.8.1", - "nise": "1.1.1", - "path-to-regexp": "1.7.0", - "samsam": "1.3.0", - "text-encoding": "0.6.4", + "nise": "1.2.0", + "supports-color": "4.5.0", "type-detect": "4.0.3" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "isarray": "0.0.1" + "has-flag": "2.0.0" } } } @@ -6516,24 +6562,24 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.2.3", + "ajv": "5.3.0", "ajv-keywords": "2.1.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "lodash": "4.17.4", "slice-ansi": "1.0.0", "string-width": "2.1.1" }, "dependencies": { "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ansi-styles": { @@ -6546,14 +6592,14 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "has-flag": { @@ -6563,9 +6609,9 @@ "dev": true }, "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==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { "has-flag": "2.0.0" @@ -6674,12 +6720,12 @@ "dev": true }, "ts-loader": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.7.tgz", - "integrity": "sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-3.1.1.tgz", + "integrity": "sha512-AQmLFSIgTiR8AlS5BxqvoHpZ3OUTwHHuDZTAZ2KcKsYRz/yANGeQn4Se/DCQ4cn1/eVvN37f/caVW4+kUPNNHw==", "dev": true, "requires": { - "chalk": "2.1.0", + "chalk": "2.3.0", "enhanced-resolve": "3.4.1", "loader-utils": "1.1.0", "semver": "5.4.1" @@ -6695,14 +6741,14 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "has-flag": { @@ -6712,9 +6758,9 @@ "dev": true }, "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==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { "has-flag": "2.0.0" @@ -6836,9 +6882,9 @@ "dev": true }, "typescript-eslint-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-8.0.0.tgz", - "integrity": "sha1-gfcLv/yhE5wdxaEwEgin/YIT+LI=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-8.0.1.tgz", + "integrity": "sha1-6MrFN9mW4Ww9uw18TVCXmeZ6/gw=", "dev": true, "requires": { "lodash.unescape": "4.0.1", @@ -7160,9 +7206,9 @@ } }, "webpack-dev-server": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.2.tgz", - "integrity": "sha512-ppL53TttdTPfiZA4EphKRE4QgtXssjLdHBwNs/MOx/fWLHCrZ0JeyE+eFcHrAcv7qOJgvR5jFZ1quO7i1LNieA==", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.3.tgz", + "integrity": "sha512-bwq7sj452FRH+oVfgOA8xXKkLYPTNsYB4dQ0Jhz3ydjNJ9MvhpGJtehFW8Z0cEcwNkRRiF4aYbReiSGQ4pbS1w==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -7171,10 +7217,12 @@ "chokidar": "1.7.0", "compression": "1.7.1", "connect-history-api-fallback": "1.4.0", + "debug": "3.1.0", "del": "3.0.0", "express": "4.16.2", "html-entities": "1.2.1", "http-proxy-middleware": "0.17.4", + "import-local": "0.1.1", "internal-ip": "1.2.0", "ip": "1.1.5", "loglevel": "1.5.1", @@ -7208,6 +7256,15 @@ "wrap-ansi": "2.1.0" } }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", diff --git a/package.json b/package.json index eef72d6..7a4f141 100644 --- a/package.json +++ b/package.json @@ -45,35 +45,35 @@ }, "dependencies": { "compression": "1.7.1", - "domino": "1.0.29", + "domino": "1.0.30", "express": "4.16.2", "isomorphic-unfetch": "2.0.0", - "path-to-regexp": "2.0.0", - "preact": "8.2.5", + "path-to-regexp": "2.1.0", + "preact": "8.2.6", "preact-render-to-string": "3.7.0" }, "devDependencies": { "@types/assets-webpack-plugin": "3.5.0", "@types/compression": "0.0.34", - "@types/express": "4.0.37", + "@types/express": "4.0.39", "@types/extract-text-webpack-plugin": "3.0.0", - "@types/history": "4.6.0", - "@types/mocha": "2.2.43", - "@types/node": "8.0.34", + "@types/history": "4.6.1", + "@types/mocha": "2.2.44", + "@types/node": "8.0.47", "@types/node-fetch": "1.6.7", "@types/touch": "3.1.0", "assets-webpack-plugin": "3.5.1", "copyfiles": "1.2.0", "css-loader": "0.28.7", - "eslint": "4.8.0", + "eslint": "4.10.0", "eslint-config-node-services": "2.2.3", "eslint-config-prettier": "2.6.0", "eslint-config-wikimedia": "0.5.0", - "eslint-plugin-import": "2.7.0", + "eslint-plugin-import": "2.8.0", "eslint-plugin-jsdoc": "3.1.3", "eslint-plugin-json": "1.2.0", "eslint-plugin-prettier": "2.3.1", - "extract-text-webpack-plugin": "3.0.1", + "extract-text-webpack-plugin": "3.0.2", "history": "4.7.2", "husky": "0.14.3", "ignore-styles": "5.0.1", @@ -81,16 +81,16 @@ "nodemon": "1.12.1", "npm-run-all": "4.1.1", "prettier": "1.7.4", - "sinon": "4.0.1", + "sinon": "4.0.2", "style-loader": "0.19.0", "svg-inline-loader": "0.8.0", "touch": "3.1.0", - "ts-loader": "2.3.7", + "ts-loader": "3.1.1", "ts-node": "3.3.0", "typescript": "2.5.3", - "typescript-eslint-parser": "8.0.0", + "typescript-eslint-parser": "8.0.1", "webpack": "3.8.1", - "webpack-dev-server": "2.9.2", + "webpack-dev-server": "2.9.3", "wikimedia-ui-base": "0.9.2" } } diff --git a/src/common/components/preact-utils.ts b/src/common/components/preact-utils.ts index ebc1e3e..22a43d1 100644 --- a/src/common/components/preact-utils.ts +++ b/src/common/components/preact-utils.ts @@ -1,13 +1,8 @@ -import { FunctionalComponent, ComponentConstructor } from "preact"; +import "preact"; // todo: delete pending https://github.com/developit/preact/pull/869. export type ComponentChild = JSX.Element | string; export type ComponentChildren = ComponentChild[]; - -// todo: consider upstreaming type definition for AnyComponent -export type AnyComponent<PropsType, StateType> = - | FunctionalComponent<PropsType> - | ComponentConstructor<PropsType, StateType>; export interface ChildrenProps { children?: ComponentChildren; diff --git a/src/common/routers/route.ts b/src/common/routers/route.ts index a402259..e9915f5 100644 --- a/src/common/routers/route.ts +++ b/src/common/routers/route.ts @@ -1,5 +1,5 @@ import * as pathToRegExp from "path-to-regexp"; -import { AnyComponent } from "../components/preact-utils"; +import { AnyComponent } from "preact"; import HttpResponse from "../data-clients/http-response"; /** diff --git a/src/common/routers/router.ts b/src/common/routers/router.ts index cc5e4f8..7c91b9c 100644 --- a/src/common/routers/router.ts +++ b/src/common/routers/router.ts @@ -1,4 +1,4 @@ -import { AnyComponent } from "../components/preact-utils"; +import { AnyComponent } from "preact"; import { AnyRoute, PageModule, diff --git a/src/server/components/html-page.tsx b/src/server/components/html-page.tsx index 844f7b1..50c9ea8 100644 --- a/src/server/components/html-page.tsx +++ b/src/server/components/html-page.tsx @@ -25,11 +25,9 @@ <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>{title ? `${title} - ` : ""}Marvin</title> {/* Preload the stylesheet before the scripts */} - <link rel="preload" href={style(manifest)} {...{ as: "style" }} /> + <link rel="preload" href={style(manifest)} as="style" /> <link rel="stylesheet" href={style(manifest)} /> - {assets.map(path => ( - <link rel="preload" href={path} {...{ as: "script" }} /> - ))} + {assets.map(path => <link rel="preload" href={path} as="script" />)} </head> <body> <div id="root">{children}</div> diff --git a/tsconfig.json b/tsconfig.json index 738add8..dd427b0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,10 @@ "moduleResolution": "node", "sourceMap": true, "allowJs": true, - "checkJs": true, + + // todo: reenable. This is causing ts-loader errors in + // node_modules/unfetch/dist/unfetch.es.js. + // "checkJs": true, "strict": true, diff --git a/webpack.config.ts b/webpack.config.ts index d237589..0e41110 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -145,6 +145,11 @@ }, resolve: { + alias: { + // todo: remove. https://github.com/developit/preact/issues/924 + preact$: "preact/dist/preact.js" + }, + // Add `.ts` and `.tsx` as a resolvable extension. extensions: [".ts", ".tsx", ".js"] }, -- To view, visit https://gerrit.wikimedia.org/r/387583 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0a06a7385520f499eb15f4a5be4d93ebf4bebaac Gerrit-PatchSet: 1 Gerrit-Project: marvin Gerrit-Branch: master Gerrit-Owner: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: Sniedzielski <sniedziel...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits