I accepted the task to publish the oidc-client-js type definition file to the @types organization on NPM . There are two bits to this task:
- Publish the type definitions to NPM.
- Update those type definitions easily.
The TypeScript handbook describes two ways to publish declaration files . The handbook recommends the first approach.
There are two main ways you can publish... 1. bundling with your npm package [emphasis added], or 2. publishing to the @types organization on npm. If you control the npm package you are publishing declarations for, then the first approach is favored [emphasis added].
First, we add a
main
and a
types
property to our package.json.
{
"name": "oidc-client",
"main": "./lib/oidc-client.js",
"types": "./lib/oidc-client.d.ts"
}
Second, we publicize our type declaration by adding a reference to our package in
the DefinitelyTyped repo external package list
.
Actually,
do NOT publicize your declaration files.
The type definitions are now published to NPM, and it's easy to update them.
Note
:
see the TypeScript handbook for details
on including declarations for package
dependencies
.