export class UniversalInterceptorの例がコンパイル通らない

https://angular.jp/guide/universal#サーバーリクエストに絶対-url-を使用する

Angular 9.1.0を使ってますが、 strict: falseだとこのコンパイルは通りまして、strict: trueにすると

error TS2339: Property 'protocol' does not exist on type 'Request<any, any, any, any>'.

17       let newUrl = `${this.request.protocol}://${this.request.get('host')}`;

としてexpressの型定義で死にます。anyにすりゃ直りますけど…ここ詰まった方、直した方いますか?

Angular公式の例を

import { Request } from 'express';

から

import { Request } from 'express-serve-static-core';

にかえてnpm i -D @types/express-serve-static-coreしたらコンパイル通って動くようになったので、とりあえず様子見中ですが、これが正しいのかは謎。

気になるのは公式のサンプルコードが間違ってるのか、このワークアラウンドが筋悪いのか、どっちなのかという話。

@types/express のバージョンはいくつでしたか?

latest 4.17.6ですね。

  "dependencies": {
    ...
    "@angular/core": "^9.1.0",
    ...
    "@angular/platform-server": "^9.1.1",
    ...
  },
  "devDependencies": {
    ...
    "@types/express": "^4.17.6",
    "@types/express-serve-static-core": "^4.17.5",
    ...
    "typescript": "~3.8.3"
  },