Setup a Monorepo with PNPM workspaces and speed it up with Nx!

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • React

    The library for web and native user interfaces.

  • package centric repositories which are used for developing and publishing a cohesive set of reusable packages. This is a common setup in the open source world and can be seen in repositories such as Angular, React, Vue and many others. Those repos are characterized by most commonly having a packages folder and which are then commonly published to some public registry such as NPM.

  • Angular

    Deliver web apps with confidence ๐Ÿš€

  • package centric repositories which are used for developing and publishing a cohesive set of reusable packages. This is a common setup in the open source world and can be seen in repositories such as Angular, React, Vue and many others. Those repos are characterized by most commonly having a packages folder and which are then commonly published to some public registry such as NPM.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Vue.js

    This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

  • package centric repositories which are used for developing and publishing a cohesive set of reusable packages. This is a common setup in the open source world and can be seen in repositories such as Angular, React, Vue and many others. Those repos are characterized by most commonly having a packages folder and which are then commonly published to some public registry such as NPM.

  • TypeScript

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

  • As the technology stack I've chosen to go with React (so we can import it in Remix) and TypeScript (because it can almost be considered a standard nowadays). Let's install these dependencies from the root of the workspace:

  • nx-recipes

    ๐Ÿง‘โ€๐Ÿณ Common recipes to productively use Nx with various technologies and in different setups. Made with โค๏ธ by the Nx Team

  • You can find an example of such setup on the Nx Recipe GitHub repository: https://github.com/nrwl/nx-recipes/tree/main/pnpm-workspace

  • volta

    Volta: JS Toolchains as Code. โšก

  • To get started, let's make sure you have PNPM installed. The official docs have an installation page with detailed instructions. I also recommend using something like Volta in particular if you have to deal with multiple different versions of NPM/PNPM and node versions.

  • nx

    Smart Monorepos ยท Fast CI

  • This is exactly where Nx can help. It is optimized for monorepo scenarios and comes with an advanced task scheduling mechanism. We still rely on the package installation and package linking mechanism that PNPM workspaces provide us, but use Nx instead to run our tasks in the most efficient way.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Loading Components Dynamically in an Angular App

    5 projects | dev.to | 9 Dec 2021
  • Angular Signals, Reactive Context, and Dynamic Dependency Tracking

    1 project | dev.to | 24 Apr 2024
  • Episode 24/15: Wiz behind the curtain, Copilot in VSCode

    1 project | dev.to | 18 Apr 2024
  • Always unsubscribe. No exceptions. Debate closed.

    1 project | dev.to | 11 Apr 2024
  • Angular Signals: Best Practices

    1 project | dev.to | 1 Apr 2024