chrome-extension-boilerplate-react-vite icon indicating copy to clipboard operation
chrome-extension-boilerplate-react-vite copied to clipboard

More modular feature selection

Open PatrykKuniczak opened this issue 2 years ago • 6 comments

Is your feature request related to a problem? Please describe. I think the good idea is create this template more modular. I mean give to the developer option to select, which feature he want to select.

Describe the solution you'd like IDN how to do it, i know some features must be installed independly as a core functionallity, but rest could be optional. In my case, after install i must remove half of this, cause i don't need it.

PatrykKuniczak avatar Sep 17 '23 13:09 PatrykKuniczak

Can you elaborate on this a bit more? Increasing the number of features that need to be manually removed is not where I want to go either.

Jonghakseo avatar Sep 20 '23 01:09 Jonghakseo

  1. Jest - No everyone testing code, like me, for hobby purpose it's sometimes wasting time :)
  2. React Testing Library - Te same
  3. Typescript, maybe could be overkill for beginners, but it's hard topic, cause if you know good React, u should know good JS and TS have some helpers for bigger project.

But if somebody want to create react with JS, then it's good give that opportunity for people. But that's big issue, i think for that next repo is required, but some templates offer js and ts in one package.

  1. Sass and Twing - Cause some people use CSS-in-JS

PatrykKuniczak avatar Sep 20 '23 14:09 PatrykKuniczak

These are my thoughts on configuring the environment.

  • Do we really need to provide an optional JEST+RTL configuration? It seems to me that if you don't use it, you shouldn't have to write a test file. More precisely, can we make it easy for users to opt-in/out of the configuration for the test environment - I don't think it would be easy.

  • Typescipt is like that... It's a tough topic, but it's a point I'm equally concerned about.

  • Sass & Twind I completely agree.

Specifically, I'm curious to hear your thoughts on how you think it would be appropriate to let people opt-in to modular configuration.

I think there are two ways to do it.

  1. configure boilerplate initial settings via script at initialize time based on the desired environment configuration (I think this would be time consuming and not the way I want boilerplate to evolve).

  2. remove all those features and provide an integration guide via README.md. The idea is to leave a minimal set of configuration files in the source code and let the README do the rest of the guiding, leaving the user to integrate on their own.

Jonghakseo avatar Oct 06 '23 15:10 Jonghakseo

  • I think JEST + RTL isn't necessary, cause it's a several extra files, which are in project, which we're don't using. I know it's everything as a dev deps and disappear in bundle, but you don't want to have unused files in your project.

  • I know TS is a tough topic, maybe not for this time, maybe later :)

And

If you don't want to script like Vite, you can create it as a several modules, like Radix: https://www.radix-ui.com/primitives/docs/overview/introduction#incremental-adoption

And the core being installed as a starting template, and if user want, he can install more packages, which have additional files, and configs.

In this year i have my own project to end, maybe i need to work on that on Q1 in next year, but i want to help you in that project, i will open 2 PR in this weekend, stay tuned :)

Now i have only time for small changes, but in next year, we can build sth better than now, but i appreciate your work on this repo, cause it helps me a lot with my plugin :)

PatrykKuniczak avatar Oct 06 '23 19:10 PatrykKuniczak

Thank you for your contribution. It's giving me some extra inspiration. I'm also behind schedule with a personal project, but I'll do my best to make it up :)

Jonghakseo avatar Oct 07 '23 05:10 Jonghakseo

@Jonghakseo I'm in, if you want to start this feature, but i have time for it after new year, i will ping you here, if i'm open to start.

You can do research and think about how to implement it :)

PatrykKuniczak avatar Nov 18 '23 19:11 PatrykKuniczak

hmm i think being more modular better do a CLI interface? It starts to fill more like a framework already..

tngflx avatar Jan 31 '24 13:01 tngflx

hmm i think being more modular better do a CLI interface? It starts to fill more like a framework already..

Yeah like CLI, but I think we're far from framework now ;)

PatrykKuniczak avatar Feb 02 '24 20:02 PatrykKuniczak

This boilerplate started out as a small side project to solve a personal pain point for me, but it filled up with the dedication, contributions, and needs of many people.

I'll give it some more thought as to direction, but I'm hoping to remove as much unintuitive behavior as possible, and for anyone to feel free to modify it after the fork...

Jonghakseo avatar Feb 03 '24 09:02 Jonghakseo

@PatrykKuniczak haha yeah its still so far from it. But all the foundation are here, great work to @Jonghakseo , I started built my chrome extension first time with as little hassle as possible, just few hiccups and workaround. Willing to help to expand this project more when im free.

tngflx avatar Feb 04 '24 03:02 tngflx

hiccups

I join to this template, cause i was also trying to build my first plugin, and i don't know how to do it, i do it wrongly on first time, cause i create vite with react template, and develop as normal page, and occasionally run build and check how it looks like in the plugin.

And i fix some bugs and help with improving, that other people have better dev experience :)

But with this template it's soooo easy to develop :)

PatrykKuniczak avatar Feb 04 '24 09:02 PatrykKuniczak

Renewal complete with new project structure.

  • https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite/issues/400

Jonghakseo avatar May 12 '24 08:05 Jonghakseo