GithubHelp home page GithubHelp logo

Comments (10)

vlovich avatar vlovich commented on July 16, 2024 1

I think this is a compliance issue in the runtime itself & not an issue with the types. We actually don't support constructing a FetchEvent & the exposition of the constructor at all is an oversight in the typing. The next release will remove the FetchEvent constructor until it's actually available in the Runtime.

from workers-types.

lookfirst avatar lookfirst commented on July 16, 2024 1

It was complaining at first, but clearing the cache and restarting the project cleared that up. We have success! Thanks for your patience.

2021-12-04 12-21-33

from workers-types.

dferber90 avatar dferber90 commented on July 16, 2024

I'll close this as I understand that FetchEvent was not exposed on purpose and this issue is thus irrelevant. Thanks for clarifying!

As a wacky solution for my specific issue, I found that using /// <reference lib="webworker" /> in my test files solves it for now. There's probably a much cleaner solution, but who's got the time eh

from workers-types.

lookfirst avatar lookfirst commented on July 16, 2024

@vlovich You might not support constructing a FetchEvent, but it is still necessary.

addEventListener('fetch', (event: any) => {
	event.respondWith(router.handle(event.request));
});

That is ugly.

from workers-types.

mrbbot avatar mrbbot commented on July 16, 2024

Hey! 👋 FetchEvent is still included in the typings (just without the constructor), so you can still do:

addEventListener('fetch', (event: FetchEvent) => {
  event.respondWith(router.handle(event.request));
});

Additionally, when using the global addEventListener, the type of event is inferred for fetch and scheduled events, so you can actually omit FetchEvent:

addEventListener('fetch', (event) => {
  // event is automatically typed FetchEvent
  event.respondWith(router.handle(event.request));
});

from workers-types.

lookfirst avatar lookfirst commented on July 16, 2024

@mrbbot I see it in there, but it doesn't show up in IDEA for some reason... thoughts?

"@cloudflare/workers-types": "^3.2.0",

2021-12-04 10-32-29

2021-12-04 10-35-18

from workers-types.

lookfirst avatar lookfirst commented on July 16, 2024

Also:

2021-12-04 10-37-03

from workers-types.

mrbbot avatar mrbbot commented on July 16, 2024

@lookfirst You have dom in the compilerOptions.lib array. @cloudflare/workers-types conflicts with this so you'll need to remove dom from that list.

If you've also got a front-end web app in the same project, you may want to add a separate tsconfig.json that extends this root one in the front-end's directory:

// e.g. web/tsconfig.json
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "lib": ["esnext", "dom"],
    "types": []
  }
}

from workers-types.

lookfirst avatar lookfirst commented on July 16, 2024

@mrbbot Thanks. I was getting errors without "dom" in there before, but it seems like that is magically gone now. That said, FE still isn't showing up... it is part of miniflare?

I do not have a web project at all, it is just a worker.

2021-12-04 12-16-47

from workers-types.

mrbbot avatar mrbbot commented on July 16, 2024

FetchEvent is included in miniflare, but it's also included in workers-types so you shouldn't need to import it. If you just write FetchEvent there (without importing anything), does IDEA complain? Have you tried restarting the TypeScript language service?
image

from workers-types.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.