smart-builder

WIP: A tool to build mono-repo packages in the right order.

APACHE-2.0 License

Stars
0

DotMH Smart Builder

[!WARNING] This project is pre-release and so may contain bugs or not work as expected. It is also likely to change

Introduction

A tool to build Monorepos based on the dependency graph. This allows you to build the packages in the right order.

It will read the pnpm-workspace.yaml file to get the list of packages and determine the order to build them in It will then run the build command set up in the BUILD_SCRIPT variable It is designed to ONLY Work with pnpm workspaces not npm or yarn at the moment

Running

[!WARNING] This project is pre-release and so may contain bugs or not work as expected. It is also likely to change

$ pnpm add @dotmh/smart-builder
$ pnpm exec smart-builder

It needs to run from the root project folder (that is the folder that contains pnpm-workspaces.yaml or pnpm-lock.yaml)

Configuration

This uses environment variables to configure its behaviour.

  • SKIP_BUILD - set to yes to enable - will allow you to see what it is going to build and in what order
  • DEBUG - set to yes to enable - will allow you to see more logging

Ignoring

To ignore a package from the build list add it to the .sbignore file at the root of the project Add the package names to ignore on a new line for each.

License

This repo is set up with an Apache 2.0 license and this will carry over to any projects that are generated from the template unless you remove it.

Badges
Extracted from project README
Conventional Commits Prettier License Contributor Covenant Quality gate
Related Projects