npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ts-live/dts-bundle

v0.0.8

Published

Export TypeScript .d.ts files as an external module definition

Downloads

4

Readme

dts-bundle

该模块用来对指定 .d.ts 文件进行解析,把其包含的类型声明及依赖的类型声明都打包到指定 json 文件里。json 元素的 keymoduleNamevaluemoduleName 的类型声明。

Usage

安装:

npm i @ts-live/dts-bundle

使用

import {DtsBundle} from '@ts-live/dts-bundle';

const dts = new DtsBundle({
    projectDir: __dirname,
    moduleName: 'ts-previewer-demo',
    entry: './index.d.ts',
    out: './src/dts/types.json'
});

dts.bundle();

或者可以直接通过命令 dts-bundle -c ./.dts-bundle.js 来使用。-c 选项用来指定配置文件,默认为当前目录下的 .dts-bundle.js 文件,如:

//.dts-bundle.js
module.exports = {
    moduleName: 'ts-previewer-demo',
    entry: './index.d.ts',
    out: './src/dts/types.json',
    // debugOut: './src/dts/types.d.ts',
    parseExternal: () => true,
}

options

.dts-bundle.js 支持的配置选项或者实例 DtsBundle 时的完整参数定义如下:

interface IOptions {
    // entry 对应的 module
    moduleName: string;
    // .d.ts 入口文件
    entry: string;
    // 项目地址,需要时绝对路径,如果是相对路径,会相对 process.cwd 来转为绝对路径
    projectDir: string;
    // 生成的类型文件地址
    out: string;
    // 指定生成的 ts 文件路径,方便查看调试
    debugOut?: string;
    // 其他的 modules 会一起合并到最终生成的类型文件里
    extraModules?: string[];
    // 其他的 reference 会一起合并到最终生成的类型文件里
    extraReferences?: string[];
    // 解析外部依赖模块的路径,返回 false 跳过该 module,否则返回 module 的 .d.ts 绝对路径
    parseExternal?: (moduleName: string) => string | boolean;
}