Skip to content

alpheusday/tsdown

Repository files navigation

Alpheus tsdown Configuration

A shareable tsdown configuration.

Installation

Install this package as a dependency in the project:

# npm
npm i @apst/tsdown

# Yarn
yarn add @apst/tsdown

# pnpm
pnpm add @apst/tsdown

# Bun
bun add @apst/tsdown

Usage

Implement the preset into tsdown.config.ts:

import { defineConfig } from "@apst/tsdown";
import { 
    esmPreset,
    cjsPreset,
    dtsPreset,
} from "@apst/tsdown/presets";

export default defineConfig(
    {
        entry: {
            index: "./src/index.ts",
        },
    },
    [
        esmPreset(),
        cjsPreset(),
        dtsPreset(),
    ],
);

With IIFE output:

import type { UserConfig } from "tsdown";

import { defineConfig } from "@apst/tsdown";
import { 
    esmPreset,
    cjsPreset,
    dtsPreset,
    iifePreset,
} from "@apst/tsdown/presets";

const options: UserConfig = {
    entry: {
        index: "./src/index.ts",
    },
};

const iifeOptions: UserConfig = {
    entry: {
        init: "./src/init.ts",
    },
    noExternal: [
        /** ... */
    ],
};

export default defineConfig([
    esmPreset(options),
    cjsPreset(options),
    dtsPreset(options),
    iifePreset(iifeOptions),
]);

APIs

For the APIs, please refer to the APIs.

License

This project is licensed under the terms of the MIT license.