Skip to content

Commit

Permalink
Adds targets for the other environments
Browse files Browse the repository at this point in the history
  • Loading branch information
orta committed Jul 9, 2021
1 parent c98084e commit fa4572e
Show file tree
Hide file tree
Showing 6 changed files with 157 additions and 1 deletion.
36 changes: 36 additions & 0 deletions deploy/createTypesPackages.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
30 changes: 30 additions & 0 deletions deploy/readmes/audioworklet.md
Original file line number Diff line number Diff line change
@@ -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}}.
30 changes: 30 additions & 0 deletions deploy/readmes/serviceworker.md
Original file line number Diff line number Diff line change
@@ -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}}.
30 changes: 30 additions & 0 deletions deploy/readmes/sharedworker.md
Original file line number Diff line number Diff line change
@@ -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}}.
2 changes: 1 addition & 1 deletion deploy/readmes/web.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
30 changes: 30 additions & 0 deletions deploy/readmes/webworker.md
Original file line number Diff line number Diff line change
@@ -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}}.

0 comments on commit fa4572e

Please sign in to comment.