Skip to content

Typescript: functions.https.onRequest() res mismatched type with cors middleware res #713

Open
@mikgross

Description

@mikgross

Related issues

[REQUIRED] Version info

node:

10

firebase-functions:
3.7
firebase-tools:
7.5
firebase-admin:
8.6

[REQUIRED] Test case

const corsCheck = cors({
    origin : [
        // dev url
        'http://localhost:4200'
    ],
    methods: 'POST',
    credentials: true
})

export const userSignIn = functions.https.onRequest((req, res: functions.Response) => {

    corsCheck(req, res, async () => {
        res.status(200).send('Nice');
    }
}

[REQUIRED] Steps to reproduce

run deploy command firebase deploy --only functions

[REQUIRED] Expected behavior

Correctly deploys my function

[REQUIRED] Actual behavior

The deploy fails, because of type Repsonse from functions doesn't match with type Response expected by CORS: Argument of type 'Response' is not assignable to parameter of type 'Response'.
Type 'Response' is missing the following properties from type 'Response': status, sendStatus, links, send, and 70 more.

Were you able to successfully deploy your functions?

error TS2345: Argument of type 'Response' is not assignable to parameter of type 'Response'.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions