The Worker interface of the Web Workers API represents a background task that can be created via script, which can send messages back to its creator. Creating a worker is done by calling the
Worker("path/to/worker/script")
constructor.
This package contains type definitions which will set up the global environment for your TypeScript project to match the runtime environment of a Web Worker. The APIs inside @types/webworker
are generated from the specifications for JavaScript.
With TypeScript 4.5+ using lib replacement, you can swap the WebWorker lib with this dependency:
pnpm add @typescript/lib-webworker@npm:@types/webworker --save-dev
npm install @typescript/lib-webworker@npm:@types/webworker --save-dev
yarn add @typescript/lib-webworker@npm:@types/webworker --dev
That's all.
TypeScript 4.4 and below
To use `@types/webworker` you need to do two things:
-
Install the dependency:
npm install @types/webworker --save-dev
,yarn add @types/webworker --dev
orpnpm add @types/webworker --save-dev
. -
Update your
tsconfig.json
. There are two cases to consider depending on if you havelib
defined in yourtsconfig.json
or not.-
Without "lib" - You will need to add
"lib": []
. The value you want to add inside your lib should correlate to your"target"
. For example if you had"target": "es2017"
, then you would add"lib": ["es2017"]
-
With "lib" - You should remove
"webworker"
.
-
Without "lib" - You will need to add
Removing "webworker"
gives @types/webworker the chance to provide the same set of global declarations. However, It's possible that your dependencies pull in the TypeScript Web Worker library, in which case you can either try to make that not happen, or use TypeScript 4.5 to systematically replace the library.
If you'd like to ensure that the DOM types are never accidentally included, you can use @orta/types-noop in TypeScript 4.5+.
This project does not respect semantic versioning as almost every change could potentially break a project, though we try to minimize removing types.
@types/webworker
follow the specifications, so when they mark a function/object/API/type as deprecated or removed - that is respected.
You can read what changed in version 0.0.8 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fwebworker%400.0.8.