How to add custom "typings" in typescript 2.0 / 3.0
Typescripttypescript2.0Typescript Problem Overview
According to this article typings system for typescript 2.0 has changed and so it is not clear how to attach custom typings now. Should I always create NPM package for that?
Thank you in advance!
Typescript Solutions
Solution 1 - Typescript
You can create local custom typings just for your project, where you can declare types for JS libraries. For that, you need to:
-
Create directory structure to keep your type declaration files so that your directory structure looks similar to this:
. ├── custom_typings │ └── some-js-lib │ └── index.d.ts └── tsconfig.json
-
In the
index.d.ts
file, add a declaration for your JS library:declare module 'some-js-lib' { export function hello(world: string): void }
-
(Optional: skip if you have TypeScript >= 4.x) Add a reference to this type declaration in the
compilerOptions
section of yourtsconfig.json
:{ "compilerOptions": { ... "typeRoots": ["./node_modules/@types", "./custom_typings"] }, ... }
-
Use the declared module in your code:
import { hello } from 'some-js-lib' hello('world!')