@types/sharedworker
- Types for the global scope of Web Workers
The SharedWorker interface represents a specific kind of worker that can be accessed from several browsing contexts, such as several windows, iframes or even workers. They implement an interface different than dedicated workers and have a different global scope, SharedWorkerGlobalScope
.
From MDN Web Docs: SharedWorker API
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/sharedworker
are generated from the specifications for JavaScript.
Installation
To use @types/sharedworker
you need to do two things:
-
Install the dependency: npm install @types/sharedworker --save-dev
, yarn add @types/sharedworker --dev
or pnpm add @types/sharedworker --dev
.
-
Update your tsconfig.json
to avoid clashing with the DOM APIs. There are two cases to consider depending on if you have lib
defined in your tsconfig.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
"dom"
.
If you'd like to ensure that the DOM types are never accidentally included, you can use @orta/types-noop in TypeScript 4.5+.
SemVer
This project does not respect semantic versioning as almost every change could potentially break a project, though we try to minimize removing types.
@types/sharedworker
follow the specifications, so when they mark a function/object/API/type as deprecated or removed - that is respected.
Deploy Metadata
You can read what changed in version 0.0.150 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fsharedworker%400.0.150.