next-forge icon indicating copy to clipboard operation
next-forge copied to clipboard

Modular Installation

Open supersyntx opened this issue 11 months ago • 7 comments

Is your feature request related to a problem? Please describe. It would be really good if we can choose what we need in the CLI.

Describe the solution you'd like Provide options to choose which packages we want/need. Currently, I remove manually, it's not really good experience.

supersyntx avatar Jan 29 '25 18:01 supersyntx

@haydenbleasel this is absolutely required. it's a headache to remove or swap out packages / tech stack right now. it takes significant amount of time just to even start the projects properly.

skev007 avatar Feb 06 '25 09:02 skev007

yes, i agree. i want to use this as a baseline but removing things i dont need is incredibly annoying/breaks everything!

imide avatar Feb 06 '25 21:02 imide

seems to be a duplicate of #274 , however last update was a month ago

imide avatar Feb 06 '25 21:02 imide

same...

RicSala avatar Mar 05 '25 15:03 RicSala

This a challenging feature to build due to the size and scope of the template. The more interconnected packages are to each other amplifies this challenge exponentially. Additionally this would require the update script to be rebuilt or concede to it adding the the original packages back.

dmick92 avatar Mar 18 '25 15:03 dmick92

@dmick92 Yep exactly. I've tried to keep the packages relatively isolated using three techniques:

  1. Running turbo boundaries to ensure each package has its dependencies correctly listed
  2. Having each package manage its own keys, middleware, primitive components, etc.
  3. Exporting generically named functions e.g. authMiddleware so you can swap out the package vendor easily.

haydenbleasel avatar Mar 18 '25 17:03 haydenbleasel

I think the best solution would be to create a couple templates that would account for the most common stripped versions. Maybe a one with only Clerk and one with Clerk and Stripe. This would be a lot easier to maintain imho.

This approach would allow having a CLI flag for both init and updating to newer versions.

There will never be a 1 size fits all but I think maybe 2 -3 templates would address 80% of the community.

dmick92 avatar Mar 18 '25 17:03 dmick92

Merging into #274

haydenbleasel avatar May 20 '25 19:05 haydenbleasel