Git Product home page Git Product logo

products's Introduction

Skill Recordings Projects

This is an exploratory project using Turborepo and pnpm to create a monorepo working environment for multiple applications and a shared common core library (or set of libraries.

Get Started

You'll need PNPM installed.

pnpm is used here based on significant performance gains reported by Jared Palmer from a customer.

pnpm i
pnpm turbo run build

This will build (and cache) the library packages and applications.

You can start the template next.js app:

cd apps/next-product-starter && pnpm run dev

Adding a Project to Vercel

The build command needs to be scoped to the specific project so we aren't building all of the repos for every single run. The -w flag runs ppm in the root of the project so all projects are built.

build:

pnpm build -w -- --scope="rust-adventure" --includeDependencies

The install command needs to also add pnpn and then run install.

install:

npm i pnpm -g && pnpm i

Develop locally using vercel

Because of the way vercel handles monorepo projects, you can only have a single project linked locally at a given time.

In the root of the project:

vercel link
vercel dev

Calling vercel link asks if you want to link the project (yes), has you pick the account (skillrecordings), and finally you enter the project name for the project you are working on.

Repeat this process if you want to work on a different project.

Tools Used

Turborepo

abstracting the complex configuration needed for most monorepos into a single cohesive build system

Turbo is the core of the developer experience that this playground is exploring and provides cohesive logical building of a monorepo that contains many apps and library packages.

It's a closed source paid product that we are excited to use and support.

Changset

๐Ÿฆ‹ A way to manage your versioning and changelogs with a focus on monorepos

Changeset is an Atlassian library that makes releasing library versions a little nicer.

pnpm

Fast, disk space efficient package manager

performant npm is just what it says it is and a modern evolution of npm/yarn etc that follows the same conventions and gives efficiency in a monorepo environment and can shave a lot of time off of builds.

cypress

for integration and e2e testing!

Resources

Here's a general tour of Turborepo from Jared:

Jared Palmer gives Joel a tour of Turborepo - Watch Video

Some good examples and background in Jared's TSDX monorepo platground.

vercel logo

products's People

Contributors

joelhooks avatar vojtaholik avatar tayiorbeii avatar jaredpalmer avatar parkergits avatar dealingwith avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.