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.
To use @types/sharedworker you need to do two things:
-
Install the dependency:
npm install @types/sharedworker --save-dev,yarn add @types/sharedworker --devorpnpm add @types/sharedworker --dev. -
Update your
tsconfig.jsonto avoid clashing with the DOM APIs. There are two cases to consider depending on if you havelibdefined in yourtsconfig.jsonor 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".
- Without "lib" - You will need to add
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/sharedworker 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 {{version}} at {{release_href}}.