@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.203 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fsharedworker%400.0.203.