Skip to content

Webpack plugin generating single dts file for bundling TypeScript NPM packages

License

Notifications You must be signed in to change notification settings

vytenisu/npm-dts-webpack-plugin

Repository files navigation

npm-dts-webpack-plugin

This WebPack plugin generates single index.d.ts file for whole NPM package.

It allows creating bundled NPM library packages without TypeScript sources and yet still keeping code suggestions wherever these libraries are imported.

TypeScript picks up index.d.ts automatically.


Installation

First install the plugin:

npm install --save-dev npm-dts-webpack-plugin

Then add plugin to WebPack configuration:

const NpmDtsPlugin = require('npm-dts-webpack-plugin')

module.exports = {
  ......
  plugins: [
    new NpmDtsPlugin()
  ],
  ......
}

You can also choose to customize behavior by providing options supported by "npm-dts" module:

const NpmDtsPlugin = require('npm-dts-webpack-plugin')

module.exports = {
  ......
  plugins: [
    new NpmDtsPlugin({
      logLevel: 'debug'
    })
  ],
  ......
}

Supported options

Option Description
entry Allows changing main src file from index.ts to something else. It can also be declared as a path, relative to rootDir of TSC. Note that if rootDir is not specified in tsconfig.json and all TS source code is under some sub-directory such as "src" - TSC might auto-magically set rootDir to "src".
force Ignores non-critical errors and attempts to at least partially generate typings (disabled by default).
logLevel Log level (error, warn, info, verbose, debug) (defaults to "info").
output Overrides recommended output target to a custom one (defaults to "index.d.ts").
root NPM package directory containing package.json (defaults to current working directory).
tmp Directory for storing temporary information (defaults to OS-specific temporary directory). Note that tool completely deletes this folder once finished.
tsc Passed through additional TSC options (defaults to ""). Note that they are not validated or checked for suitability.

About

Webpack plugin generating single dts file for bundling TypeScript NPM packages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published