tsup VS lerna

Compare tsup vs lerna and see what are their differences.

tsup

The simplest and fastest way to bundle your TypeScript libraries. (by egoist)

lerna

:dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository. (by lerna)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
tsup lerna
21 162
8,085 35,365
- 0.4%
7.2 8.9
26 days ago 18 days ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

tsup

Posts with mentions or reviews of tsup. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-30.
  • Server-side Rendering (SSR) From Scratch with React
    5 projects | dev.to | 30 Aug 2023
    Now, we can run all this server reaching the port 4000. If you want to test, build it with tsup or any other way that you want, like ts-node.
  • Creating a package/library using nextjs and typescript
    1 project | /r/nextjs | 12 Jul 2023
    If you're building hooks, providers & components you can go with only React + TypeScript, and use something ESBuild or tsup to build it.
  • Is there an automated way to create a file with the Node interpreter specified?
    2 projects | /r/typescript | 21 Jun 2023
    I am using `tsup` to transpile my application - https://github.com/egoist/tsup
  • Create an npm package template with TypeScript and tsup
    2 projects | dev.to | 10 Jun 2023
  • Ease your module bundling woes with tsup
    1 project | /r/Frontend | 6 Jun 2023
    I spent way to much time over the last couple days trying to line up vite/rollup to bundle my component library with types, type maps and the correct formats. Until I ran across this blog post which introduced me to https://github.com/egoist/tsup and it all just worked in a single readable command. I figured I'd share with you beautiful people so you could get your code bundled faster and carry on with the fun part of programming.
  • Building a modern gRPC-powered microservice using Node.js, Typescript, and Connect
    15 projects | dev.to | 20 Apr 2023
    As we iterate on the definition, we are going to want a better developer experience for rebuilding the package on changes. Typically, for a “library” or “utility” style package, I’d reach for either unbuild’s stub concept or use esbuild/tsup/rollup to implement a more traditional watch/rebuild, but in this case, I’m watching a proto file that lives outsides of the source, which breaks assumptions of those tools.
  • ESM vs Dual Package?
    1 project | /r/node | 25 Mar 2023
    My most recent project uses tsup to package a CJS and a ESM version separately, and I just publish both. It's too early to go full ESM, but I also don't want to stay on CJS, granted that we've been slowly moving away from it. To me as a dev it makes no difference, but if you want to use one or the other as a library consumer, you have a choice in my package
  • TypeScript tooling and ecosystem
    4 projects | /r/typescript | 4 Mar 2023
    If you want to stay in that ecosystem, try tsup. But you should still try to wire up a canonical tsc-based project first to understand the fundamentals.
  • Best builder for typescript library ?
    1 project | /r/typescript | 28 Oct 2022
    Have a look at tsup (https://tsup.egoist.dev) and microbundle (https://www.npmjs.com/package/microbundle)...
  • Creating Modern npm Packages
    3 projects | /r/javascript | 13 Sep 2022
    I actually recommend using tsup to build instead of tsc. It can bundle if you want, makes it easier to output multiple formats if you want, etc. It's also dead simple and lightning fast (like, MUCH faster than tasc). It's zero config so the build script is as simple as this.

lerna

Posts with mentions or reviews of lerna. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-28.
  • Add Step-up Authentication Using Angular and NestJS
    4 projects | dev.to | 28 Mar 2024
    Open the project up in your favorite IDE. Let's take a quick look at the project organization. The project has an Angular frontend and NestJS API backend housed in a Lerna monorepo. If you are curious about how to recreate the project, check out the repo's README file. I'll include all the npx commands, CLI commands, and the manual steps used to create the project.
  • Things I learned while building projects with NX
    5 projects | dev.to | 18 Mar 2024
    Lerna currently maintained by Nx team
  • tsParticles 3.0.0 is out. Breaking changes ahead.
    3 projects | dev.to | 4 Dec 2023
  • Nx 16.8 Release!!!
    5 projects | dev.to | 6 Sep 2023
    On Netlify's enterprise tier, approximately 46% of builds are monorepos, with the majority leveraging Nx and Lerna. Recognizing this trend, Netlify has focused on enhancing the setup and deployment experiences for monorepo projects. In particular they worked on an "automatic monorepo detection" feature. When you connect your project to GitHub, Netlify automatically detects if it's part of a monorepo, reads the relevant settings, and pre-configures your project. This eliminates the need for manual setup. This feature also extends to local development via the Netlify CLI.
  • Mocha/Chai with TypeScript (2023 update)
    3 projects | dev.to | 12 Aug 2023
  • Help with library implementation in a big webapp
    2 projects | /r/webdev | 26 Jun 2023
    This is the exact problem monorepos were born to solve. Not only will a monorepo let you share UI components, you'll be able to gradually add shared application logic as well (for instance, do all of your apps have their own logic for connecting to a database? you could roll that into a shared library with a monorepo). There are a lot of tools for accomplishing this in JS, but probably the most popular is lerna, which is built on top of NX (though lots of teams roll their own monorepo in nx without lerna, which IMO is a totally valid option).
  • How to Build and Publish Your First React NPM Package
    8 projects | dev.to | 9 Jun 2023
    To begin, you need to prepare your environment. A few ways to build a React package include tools like Bit, Storybook, Lerna, and TSDX. However, for this tutorial, you will use a zero-configuration bundler for tiny modules called Microbundle.
  • Utility for making sure that I'm using the right `@types/react`
    2 projects | /r/typescript | 5 Jun 2023
    If so, are you using a monorepo tool like Nx or Lerna? If not, start there and see if it solves your problem.
  • [AskJS] Is there a silver bullet for consuming Typescript libraries in a Monorepo?
    5 projects | /r/javascript | 9 May 2023
    I mean I don't know what your monorepo looks like, but for example infernojs (actually written with typescript) uses lerna, and lerna seems simpler than typescript references
  • Understanding npm Versioning
    3 projects | dev.to | 4 Apr 2023
    Tools for publishing, such as Lerna (when using the --conventional-commit flag), follow this convention when incrementing package versions and generating changelog files.

What are some alternatives?

When comparing tsup and lerna you can also consider the following projects:

Rollup - Next-generation ES module bundler

turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]

esbuild - An extremely fast bundler for the web

nx - Smart Monorepos · Fast CI

vite - Next generation frontend tooling. It's fast!

changesets - 🦋 A way to manage your versioning and changelogs with a focus on monorepos

swc - Rust-based platform for the Web

pnpm - Fast, disk space efficient package manager

webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

tsdx - Zero-config CLI for TypeScript package development

single-spa - The router for easy microfrontends