Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thought about easing the configs #104

Open
Jarrodsz opened this issue Dec 14, 2023 · 2 comments
Open

Thought about easing the configs #104

Jarrodsz opened this issue Dec 14, 2023 · 2 comments

Comments

@Jarrodsz
Copy link

Jarrodsz commented Dec 14, 2023

I've been working extensively on a project that includes a comprehensive stack with components like a dashboard, admin panel, etc., all built on a mono repository. The setup has been fantastic, but I've identified a potential area for improvement.

In my current workflow, I've encountered several issues, particularly with importing from packages and integrating tools like Storybook in a Remix mono repo setup. These challenges led me to forego the mono repo approach in a new project to streamline the process and avoid configuration complexities.

One idea I've been considering is the possibility of simplifying the configuration process. Specifically, what if we could enhance the existing CLI to centralize the configuration management? Imagine having a master configuration file that governs the settings for all packages and apps. The CLI could then automatically update the respective tsconfig, package.json, and other configuration files. This approach would eliminate repetitive, sometimes nearly identical configurations, reducing the risk of errors and duplications.

Currently, due to unresolved issues with the mono repo setup, I'm developing and refining my packages within a single Remix app under app/packages. The goal is to eventually transition them back to a mono repo structure. A unified configuration system would greatly accelerate this process, making it more efficient and user-friendly.

This is just a thought, and I'm curious to hear if it resonates with others. Perhaps there are already solutions or ideas in this direction that I'm not aware of. Any feedback or suggestions would be greatly appreciated!

Thank you for considering this idea!

@PhilDL
Copy link
Owner

PhilDL commented Dec 15, 2023

Hi @Jarrodsz I totally agree with the sentiment and I think it resonates with others because kiliman is working on something that could be useful to us https://twitter.com/kiliman/status/1733221823402160268

These "Remix Packs" could integrate seamlessly into the monorepo tools.

Personally I will continue to create turbo generators in this repository to streamline package creation as much as I can, I will keep you updated.

@Jarrodsz
Copy link
Author

Jarrodsz commented Dec 15, 2023

Ue

Hi @Jarrodsz I totally agree with the sentiment and I think it resonates with others because kiliman is working on something that could be useful to us https://twitter.com/kiliman/status/1733221823402160268

These "Remix Packs" could integrate seamlessly into the monorepo tools.

Personally I will continue to create turbo generators in this repository to streamline package creation as much as I can, I will keep you updated.

I have not the exact details sorry for that but you know what i mean with the config files.

do you think we can cli it from a master file?
I did some docs for myself on the older repro version on what files to modify for an app to integrate a package

Something like

CLI Command Structure:
pnpm config:create: This command creates a master template for configuration. It should prompt the user for necessary parameters or have a set of defaults.

p:config apply: Applies the configuration from the master template to specific packages or apps within the monorepo.

Configuration Template Generation:
The script should have a template generator that creates a master configuration file. This file will be used as a reference for configuring each package or app.
Include placeholders in the template for package-specific or app-specific settings.

Configuration Application:
Develop a function to read the master configuration file and apply its settings to individual packages or apps.
This could involve modifying tsconfig.json, package.json, and other necessary files within each package or app directory.
Ensure that the script can handle various scenarios and configurations, adapting as needed.

Integration with Existing Tools:
If you already have a CLI for creating new packages in the monorepo, consider integrating this new functionality into it. This would provide a seamless experience for users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants