Quick Start
Prerequisites
Before you begin, make sure your project already has:
- Node.js and npm
- A TypeScript source entry, such as
src/index.ts
Susee can be used as a CLI tool or from code through its API.
Install susee
Install susee as a development dependency in your package:
sh
npm i -D susee
Check that installation works:
sh
npx susee --version
Create a config file
Generate a starter config in your project root:
sh
npx susee init
Supported config filenames:
susee.config.tssusee.config.jssusee.config.mjs
Define your package entries
Example susee.config.ts:
ts
import type { SuSeeConfig } from "susee";
const config: SuSeeConfig = {
entryPoints: [
{
entry: "src/index.ts",
exportPath: ".",
format: ["esm", "commonjs"],
renameDuplicates: true,
},
],
outDir: "dist",
allowUpdatePackageJson: false,
};
export default config;
Build with config
Run susee from your project root:
bash
npx susee
Susee reads your susee.config.*, builds each entry, and writes output to dist by default.
Build directly from CLI (without config)
For quick one-off builds, use the direct build command:
bash
npx susee build src/index.ts --outdir dist --format esm
Common options:
--format <esm|commonjs|cjs>--outdir <path>--rename[=true|false]--allow-update[=true|false]--minify[=true|false]
Use the programmatic API
You can also run builds in scripts:
ts
import { build } from "susee";
await build({
entryPoints: [
{
entry: "src/index.ts",
exportPath: ".",
format: ["esm", "commonjs"],
renameDuplicates: true,
},
],
outDir: "dist",
allowUpdatePackageJson: true,
});
Verify output
After build, confirm:
- Output files are generated in your configured
outDir - ESM and/or CommonJS artifacts exist as expected
- Type declarations are available for consumers