ignite icon indicating copy to clipboard operation
ignite copied to clipboard

Convert boilerplate into yarn workspace

Open joshuayoes opened this issue 2 years ago • 3 comments

Problem

Currently, in order to work on the boilerplate, you either need to:

cd boilerplate
yarn install
yarn start

Or you need to:

npm link
npx ignite-cli new PizzaApp \
        --bundle=com.pizzaapp \
        --git \
        --install-deps \
        --packager=yarn \
        --target-path=~/Code/PizzaApp \
        --overwrite
cd ~/Code/PizzaApp
yarn start

This is a pretty clunky workflow.

Potential Solution

Convert ignite into a monorepo, where we have two workspaces: cli and boilerplate

That way, we can treat boilerplate as a real app, and get tooling with typescript intelisense, prettier, etc. out of the box.

joshuayoes avatar Sep 16 '22 22:09 joshuayoes

monorepo

Me when @joshuayoes suggests going back to a monorepo on Ignite

jamonholmgren avatar Sep 20 '22 03:09 jamonholmgren

I'm not really understanding why a yarn workspace would make it better. The first option seems pretty straightforward, no?

jamonholmgren avatar Sep 20 '22 03:09 jamonholmgren

Me when @joshuayoes suggests going back to a monorepo on Ignite

Why did we move away from monorepos?


Here is the main pros I see is for CI/CD stuff:

  • we could run prettier, lint, typecheck, format, etc in the CI if it were a yarn workspace, and better parallelize those tests. This would mean less manual testing and review from external contributors.
  • a lot of the E2E tests are bottlenecked by creating node_modules, we could potentially run way more of them in parallel by having them get installed into a real workspace and make our npx ignite-cli new tests leaner

joshuayoes avatar Sep 20 '22 17:09 joshuayoes

monorepo

jamonholmgren avatar Nov 18 '22 19:11 jamonholmgren

(Lest people think I'm a jerk, I did this on Zoom with Josh there...lol)

jamonholmgren avatar Nov 18 '22 19:11 jamonholmgren