@nesvel/tsup-config
v1.0.3
Published
Shared tsup configuration presets for the Nesvel monorepo
Readme
@nesvel/tsup-config
Shared tsup configuration presets for the Nesvel monorepo.
Installation
npm install --save-dev @nesvel/tsup-config tsupUsage
Create a tsup.config.ts file in your package root:
Base Library
For standard TypeScript libraries:
import { defineConfig } from 'tsup';
import { preset as basePreset } from '@nesvel/tsup-config';
export default defineConfig(basePreset);NestJS Library
For NestJS modules and libraries (uses tsc for decorators):
import { defineConfig } from 'tsup';
import { nestLibPreset } from '@nesvel/tsup-config';
export default defineConfig(nestLibPreset);NestJS Application
For NestJS applications (single-file bundle with shebang):
import { defineConfig } from 'tsup';
import { nestAppPreset } from '@nesvel/tsup-config';
export default defineConfig(nestAppPreset);CLI Library
For CLI tools and binaries:
import { defineConfig } from 'tsup';
import { cliLibPreset } from '@nesvel/tsup-config';
export default defineConfig(cliLibPreset);React Library
For React component libraries:
import { defineConfig } from 'tsup';
import { reactLibPreset } from '@nesvel/tsup-config';
export default defineConfig(reactLibPreset);Custom Configuration
You can override any preset option:
import { defineConfig } from 'tsup';
import { preset as basePreset } from '@nesvel/tsup-config';
export default defineConfig({
...basePreset,
minify: true,
sourcemap: true,
});Utilities
The package also exports utility functions:
import {
loadPackageJson,
computeExternals,
buildBanner,
} from '@nesvel/tsup-config';
const pkg = loadPackageJson();
const externals = computeExternals(pkg);
const banner = buildBanner(pkg);Features
- 🎯 Multiple presets for different project types
- 📦 Auto-detects dependencies as externals
- 🔖 Adds license banner to output
- 🚀 Optimized for both ESM and CJS
- 🛠️ TypeScript declaration files
- 🎨 Source maps in development
License
MIT
