jaredpalmer / tsdx

Zero-config CLI for TypeScript package development
https://tsdx.io
MIT License
11.26k stars 508 forks source link

Add TSDX's own typedefs in order to use in tsdx.config.js with JSDoc #822

Open cncolder opened 4 years ago

cncolder commented 4 years ago

Current Behavior

TSDX is a zero-config CLI that helps you develop, test, and publish modern TypeScript packages

But tsdx missing .d.ts files itself. Even cannot require it.

Desired Behavior

Bundle .d.ts aside .js Make tsdx require-able

Suggested Solution

Add "declaration": true to tsconfig.json Add main and types fields to package.json

Who does this impact? Who is this for?

TSDX config file is js only. But user can active IntelliSense by JSDoc comments.

const rollup = require('rollup')
const tsdx = require('tsdx')

module.exports = {
    /**
     * @param {rollup.RollupOptions} config
     * @param {tsdx.TsdxOptions} options
     */
    rollup(config, options) {
        config.plugins.push({
            name: 'abc',
        })

        return config
    },
}

Describe alternatives you've considered

Send pr to @types/tsdx. But it's not a good idea. Because tsdx source code is typescript.

Additional context