diff --git a/deploy/createTypesPackages.mjs b/deploy/createTypesPackages.mjs index 7f6507f13..a18f02eee 100644 --- a/deploy/createTypesPackages.mjs +++ b/deploy/createTypesPackages.mjs @@ -13,6 +13,42 @@ export const packages = [ { from: "../generated/dom.iterable.generated.d.ts", to: "index.iterable.d.ts" } ], }, + { + name: "@types/webworker", + description: "Types for the global scope of Web Workers", + readme: "./readmes/webworker.md", + files: [ + { from: "../generated/webworker.generated.d.ts", to: "index.d.ts" }, + { from: "../generated/webworker.iterable.generated.d.ts", to: "index.iterable.d.ts" } + ], + }, + { + name: "@types/serviceworker", + description: "Types for the global scope of Service Workers", + readme: "./readmes/serviceworker.md", + files: [ + { from: "../generated/serviceworker.generated.d.ts", to: "index.d.ts" }, + { from: "../generated/serviceworker.iterable.generated.d.ts", to: "index.iterable.d.ts" } + ], + }, + { + name: "@types/audioworklet", + description: "Types for the global scope of Audio Worklets", + readme: "./readmes/audioworklet.md", + files: [ + { from: "../generated/audioworklet.generated.d.ts", to: "index.d.ts" }, + { from: "../generated/audioworklet.iterable.generated.d.ts", to: "index.iterable.d.ts" } + ], + }, + { + name: "@types/sharedworker", + description: "Types for the global scope of Shared Workers", + readme: "./readmes/sharedworker.md", + files: [ + { from: "../generated/sharedworker.generated.d.ts", to: "index.d.ts" }, + { from: "../generated/sharedworker.iterable.generated.d.ts", to: "index.iterable.d.ts" } + ], + }, ]; // Note: You can add 'version: "1.0.0"' to a package above diff --git a/deploy/readmes/audioworklet.md b/deploy/readmes/audioworklet.md new file mode 100644 index 000000000..efe92e521 --- /dev/null +++ b/deploy/readmes/audioworklet.md @@ -0,0 +1,30 @@ +### `@types/audioworklet` - Types for the global scope of Audio Worklets + +> The AudioWorklet interface of the Web Audio API is used to supply custom audio processing scripts that execute in a separate thread to provide very low latency audio processing. The worklet's code is run in the AudioWorkletGlobalScope global execution context, using a separate Web Audio thread which is shared by the worklet and other audio nodes. + +From [MDN Web Docs: AudioWorklet](https://developer.mozilla.org/en-US/docs/Web/API/AudioWorklet) + +This package contains type definitions which will set up the global environment for your TypeScript project to match the runtime environment of an Audio Worklet. The APIs inside `@types/audioworklet` are [generated from](https://github.com/microsoft/TypeScript-DOM-lib-generator/) the specifications for [Web Audio](https://webaudio.github.io/web-audio-api/). + +## Installation + +To use `@types/audioworklet` you need to do two things: + +1. Install the dependency: `npm install @types/audioworklet --save-dev`, `yarn add @types/audioworklet --dev` or `pnpm add @types/audioworklet --dev`. +1. Update your [`tsconfig.json`](https://www.typescriptlang.org/tsconfig) 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. + + 1. **Without "lib"** - You will need to add `"lib": []`. The value you want to add inside your lib should correlate to your [`"target"`](https://www.typescriptlang.org/tsconfig#target). For example if you had `"target": "es2017"`, then you would add `"lib": ["es2017"]` + 1. **With "lib"** - You should remove `"dom"`. + +That's all. + + +## 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/audioworklet` 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 {{version}} at {{release_href}}. \ No newline at end of file diff --git a/deploy/readmes/serviceworker.md b/deploy/readmes/serviceworker.md new file mode 100644 index 000000000..a5b85f89c --- /dev/null +++ b/deploy/readmes/serviceworker.md @@ -0,0 +1,30 @@ +### `@types/serviceworker` - Types for the global scope of Service Workers + +> Service workers essentially act as proxy servers that sit between web applications, the browser, and the network (when available). They are intended, among other things, to enable the creation of effective offline experiences, intercept network requests and take appropriate action based on whether the network is available, and update assets residing on the server. They will also allow access to push notifications and background sync APIs. + +From [MDN Web Docs: Service Worker API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) + +This package contains type definitions which will set up the global environment for your TypeScript project to match the runtime environment of a Service Worker. The APIs inside `@types/serviceworker` are [generated from](https://github.com/microsoft/TypeScript-DOM-lib-generator/) the specifications for JavaScript. Given the size and state of constant change in web browsers, `@types/serviceworker` only has APIs which have passed a certain level of standardization and are available in at least two of the most popular browser engines. + +## Installation + +To use `@types/serviceworker` you need to do two things: + +1. Install the dependency: `npm install @types/serviceworker --save-dev`, `yarn add @types/serviceworker --dev` or `pnpm add @types/serviceworker --dev`. +1. Update your [`tsconfig.json`](https://www.typescriptlang.org/tsconfig) 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. + + 1. **Without "lib"** - You will need to add `"lib": []`. The value you want to add inside your lib should correlate to your [`"target"`](https://www.typescriptlang.org/tsconfig#target). For example if you had `"target": "es2017"`, then you would add `"lib": ["es2017"]` + 1. **With "lib"** - You should remove `"dom"`. + +That's all. + + +## 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/serviceworker` 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 {{version}} at {{release_href}}. \ No newline at end of file diff --git a/deploy/readmes/sharedworker.md b/deploy/readmes/sharedworker.md new file mode 100644 index 000000000..3ead55c7f --- /dev/null +++ b/deploy/readmes/sharedworker.md @@ -0,0 +1,30 @@ +### `@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](https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker) + +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](https://github.com/microsoft/TypeScript-DOM-lib-generator/) the specifications for JavaScript. + +## Installation + +To use `@types/sharedworker` you need to do two things: + +1. Install the dependency: `npm install @types/sharedworker --save-dev`, `yarn add @types/sharedworker --dev` or `pnpm add @types/sharedworker --dev`. +1. Update your [`tsconfig.json`](https://www.typescriptlang.org/tsconfig) 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. + + 1. **Without "lib"** - You will need to add `"lib": []`. The value you want to add inside your lib should correlate to your [`"target"`](https://www.typescriptlang.org/tsconfig#target). For example if you had `"target": "es2017"`, then you would add `"lib": ["es2017"]` + 1. **With "lib"** - You should remove `"dom"`. + +That's all. + + +## 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 {{version}} at {{release_href}}. \ No newline at end of file diff --git a/deploy/readmes/web.md b/deploy/readmes/web.md index a0e8b5c49..b9dfe7715 100644 --- a/deploy/readmes/web.md +++ b/deploy/readmes/web.md @@ -2,7 +2,7 @@ This module contains the DOM types for the majority of the web APIs used in a web browser. -The APIs inside `@types/web` are generated from the specifications for CSS, HTML and JavaScript. Given the size and state of constant change in web browsers, `@types/web` only has APIs which have passed a certain level of standardization and are available in at least two different browser engines. +The APIs inside `@types/web` are [generated from](https://github.com/microsoft/TypeScript-DOM-lib-generator/) the specifications for CSS, HTML and JavaScript. Given the size and state of constant change in web browsers, `@types/web` only has APIs which have passed a certain level of standardization and are available in at least two of the most popular browser engines. `@types/web` is also included inside TypeScript, available as `dom` in the [`lib`](https://www.typescriptlang.org/tsconfig#lib) section and included in projects by default. By using `@types/web` you can lock your the web APIs used in your projects, easing the process of updating TypeScript and offering more control in your environment. diff --git a/deploy/readmes/webworker.md b/deploy/readmes/webworker.md new file mode 100644 index 000000000..369771c12 --- /dev/null +++ b/deploy/readmes/webworker.md @@ -0,0 +1,30 @@ +### `@types/webworker` - Types for the global scope of Web Workers + +> 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. + +From [MDN Web Docs: Worker API](https://developer.mozilla.org/en-US/docs/Web/API/Worker) + +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](https://github.com/microsoft/TypeScript-DOM-lib-generator/) the specifications for JavaScript. + +## Installation + +To use `@types/webworker` you need to do two things: + +1. Install the dependency: `npm install @types/webworker --save-dev`, `yarn add @types/webworker --dev` or `pnpm add @types/webworker --dev`. +1. Update your [`tsconfig.json`](https://www.typescriptlang.org/tsconfig) 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. + + 1. **Without "lib"** - You will need to add `"lib": []`. The value you want to add inside your lib should correlate to your [`"target"`](https://www.typescriptlang.org/tsconfig#target). For example if you had `"target": "es2017"`, then you would add `"lib": ["es2017"]` + 1. **With "lib"** - You should remove `"dom"`. + +That's all. + + +## 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/webworker` 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 {{version}} at {{release_href}}. \ No newline at end of file