This repository contains TypeScript type definitions for a lot of new JavaScript stuff that isn’t yet in TypeScript’s standard type definitions (see below for the complete list). These range from the File System Access API over View Transitions to View Transitions or Handwriting Recognition. Some specifications have only partially been integrated into TypeScript’s standard type declarations, in which case this repository contains only the parts of the specifications that aren’t there (yet). For most specifications I have used WebIDL2TS, a tool that automatically converts WebIDL to TypeScript type definitions, and manually edited the stuff where it didn’t generate the desired result.
Also take a look Better-TypeScript, which contains various TypeScript type definitions to make working with TypeScript more convenient.
NPM: new-javascript
GitHub: BenjaminAster/TypeScript-types-for-new-JavaScript
Install using npm:
npm i -D new-javascript@latest
Reference the type definitions directly in your TypeScript/JavaScript files…
/// <reference types="new-javascript" />
…or include them in your tsconfig.json
or jsconfig.json
:
{
"compilerOptions": {
"types": ["new-javascript"],
},
}
Since combining web worker scripts and scripts running on the main thread in one project is rather difficult in TypeScript by default, all worker-exclusive interfaces (e.g. FileReaderSync
, FileSystemSyncAccessHandle
) are included by default in this package (see worker.d.ts). For service worker and shared worker types, see Better-TypeScript.
For worklets, use new-javascript/worklet/<WORKLET_NAME>
as the path:
new-javascript/worklet/audio
for audio workletsnew-javascript/worklet/paint
for paint workletsnew-javascript/worklet/layout
for layout workletsnew-javascript/worklet/animation
for animation worklets
/// <reference types="new-javascript/worklet/audio" />
/// <reference types="new-javascript/worklet/paint" />
/// <reference types="new-javascript/worklet/layout" />
/// <reference types="new-javascript/worklet/animation" />
The type declarations in this repository include the following specifications (grouped by venue):