Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bun-plugin-dts

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bun-plugin-dts

A bun plugin for generating dts files

  • 0.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.4K
decreased by-58.6%
Maintainers
0
Weekly downloads
 
Created
Source

bun-plugin-dts

A Bun plugin for generating .d.ts files.

Install

bun add -d bun-plugin-dts

Usage

import dts from 'bun-plugin-dts'

await Bun.build({
  entrypoints: ['./src/index.ts', './src/other.ts'],
  outdir: './dist',
  plugins: [
    dts()
  ],
})

// Generates `dist/index.d.ts` and `dist/other.d.ts`

Options

This plugin utilizes dts-bundle-generator internally, allowing you to easily customize its behavior by passing specific options for dts-bundle-generator.

type Options = {
  libraries?: LibrariesOptions;
  /**
   * Fail if generated dts contains class declaration.
   */
  failOnClass?: boolean;
  output?: OutputOptions;
  compilationOptions?: CompilationOptions;
}

interface LibrariesOptions {
  /**
   * Array of package names from node_modules to inline typings from.
   * Used types will be inlined into the output file.
   */
  inlinedLibraries?: string[];
  /**
   * Array of package names from node_modules to import typings from.
   * Used types will be imported using `import { First, Second } from 'library-name';`.
   * By default all libraries will be imported (except inlined libraries and libraries from @types).
   */
  importedLibraries?: string[];
  /**
   * Array of package names from @types to import typings from via the triple-slash reference directive.
   * By default all packages are allowed and will be used according to their usages.
   */
  allowedTypesLibraries?: string[];
}

interface OutputOptions {
  /**
   * Sort output nodes in ascendant order.
   */
  sortNodes?: boolean;
  /**
   * Name of the UMD module.
   * If specified then `export as namespace ModuleName;` will be emitted.
   */
  umdModuleName?: string;
  /**
   * Enables inlining of `declare global` statements contained in files which should be inlined (all local files and packages from inlined libraries).
   */
  inlineDeclareGlobals?: boolean;
  /**
   * Enables inlining of `declare module` statements of the global modules
   * (e.g. `declare module 'external-module' {}`, but NOT `declare module './internal-module' {}`)
   * contained in files which should be inlined (all local files and packages from inlined libraries)
   */
  inlineDeclareExternals?: boolean;
  /**
   * Allows remove "Generated by dts-bundle-generator" comment from the output
   */
  noBanner?: boolean;
  /**
   * Enables stripping the `const` keyword from every direct-exported (or re-exported) from entry file `const enum`.
   * This allows you "avoid" the issue described in https://github.com/microsoft/TypeScript/issues/37774.
   */
  respectPreserveConstEnum?: boolean;
  /**
   * By default all interfaces, types and const enums are marked as exported even if they aren't exported directly.
   * This option allows you to disable this behavior so a node will be exported if it is exported from root source file only.
   */
  exportReferencedTypes?: boolean;
}

interface CompilationOptions {
  /**
   * Allows disable resolving of symlinks to the original path.
   * By default following is enabled.
   * @see https://github.com/timocov/dts-bundle-generator/issues/39
   */
  followSymlinks?: boolean;
  /**
   * Path to the tsconfig file that will be used for the compilation.
   */
  preferredConfigPath?: string;
}

License

MIT

Keywords

FAQs

Package last updated on 08 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc