Skip to content

TypeScript type definitions for new JavaScript stuff that isn't yet in TypeScript's standard type definitions

License

Notifications You must be signed in to change notification settings

Offroaders123/TypeScript-types-for-new-JavaScript

 
 

Repository files navigation

TypeScript types for new JavaScript

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 Houdini CSS Typed OM 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"],
	},
}

For web workers (including service workers), use new-javascript/worker as the path. If you use a tsconfig.json or jsconfig.json configuration file, you have to exclude the worker files there with the "exclude" option so that the DOM lib doesn't get included by default. If your worker is a JavaScript and not TypeScript file, you then have to manually re-enable type checking for the file via // @ts-check. Also don't forget to exclude the DOM lib with no-default-lib="true". The start of your worker file should look like this:

// @ts-check
/// <reference no-default-lib="true" />
/// <reference types="new-javascript/worker" />

For worklets, use new-javascript/worklet/<WORKLET_NAME> as the path:

/// <reference types="new-javascript/worklet/audio" />
/// <reference types="new-javascript/worklet/paint" />
/// <reference types="new-javascript/worklet/layout" />
/// <reference types="new-javascript/worklet/animation" />

Specifications in this repository

The type declarations in this repository include the following specifications (grouped by venue):

About

TypeScript type definitions for new JavaScript stuff that isn't yet in TypeScript's standard type definitions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%