/freighter

:ship: A batteries-included monorepo framework

Primary LanguageTypeScriptMIT LicenseMIT

freighter logo

Freighter

Monorepos without the hassle.

Project Status

⛔ UNMAINTAINED

Too much work, not enough reward. The downside of a lego-brick ecosystem is that nothing has cohesion. To properly build Freighter, it would require forking much of the ecosystem and combining it into a monolithic build system, which is far out of scope.

It was a fun experiment, but I'll settle for a bespoke build process in the future.

Purpose

Freighter scaffolds and manages monorepo configurations. Here's what you get right out of the box:

Usage

Requirements: you've already got yarn and git installed.

Installation:

$ yarn global add @freighter/cli

Now you should have a new freighter command in the terminal. Try out the init command:

$ freighter init new-project

In about 15-30 seconds, you should have yourself a fancy, batteries-included monorepo 🎉

Here are the scripts you'll probably find useful:

  • yarn lint runs ESLint on all the packages
  • yarn test runs every test in the monorepo
  • yarn flow type checks everything
  • yarn ci run all 3 in CI mode

Guarantees

None.

I built Freighter because it can take days to configure all the tooling that makes monorepos so enjoyable. I don't want to spend days. Frankly, I'd rather be building apps. So if Freighter ends up being more work than it's worth, I'll abandon it.

🐉 You've been warned.

Why the name?

Because freighters ship containers. npm packages are kinda like containers. Therefore, monorepos are freighters. #science

Accelerating the project

If you like the idea of Freighter, give it a star ⭐

It'll help me gauge interest in the project.