egoist / egoist/tsup

What is the value proposition of tsup?

Open
#806 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
11.3k
Forks
275
PR merge metrics
No merged PRs in 30d

Description

Hello! I just discovered tsup. However, I am struggling to see the benefit that tsup provides over using esbuild.

From what I gather, tsup's advantages are limited to:

- Invoke `tsc` together with esbuild, emitting type definitions (`*.d.ts`)
- ...But I can just invoke `tsc` manually in my build scripts?
- Support CSS, SASS, etc
- ...But these are limited to features already supported by esbuild, so why not just use esbuild directly?
- Transpile to ES5 using swc
- ...But, if you're going to use swc anyway, why use esbuild at all?
- Zero config
- ...But, in my experience, most projects require some build configuration anyway. Very few projects can get by with _truly_ zero config.
- One _could_ argue that providing "sensible defaults" is the core value of tsup. If so, this should be advertised better--perhaps a comparison between a regular esbuild setup with an equivalent tsup config?

Please understand that I am not trying to attack tsup; I just want to know what core value it provides. The way I see it, tsup is very similar to Vite in that it is a mashup of different tools (esbuild, swc). However, tsup appears to lack a core feature that isn't provided by the underlying tools themselves (as opposed to Vite, which provides hot module replacement). I would be happy to be proved wrong.

Oh, and please put that value proposition statement at the top of the README.

P. S. For reference, [klap](https://github.com/osdevisnot/klap) provides a rundown of its useful features in their README.

Contributor guide

Open the contributing guide

Research direction

Start with the repository README and this issue's comparison of tsup with esbuild, tsc, SWC, and Vite. Determine whether the project has a settled value proposition, then update the README's opening explanation only if that message can be agreed on and supported by the existing features.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.