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

Improve project update experience by getting rid of annoying paper-cuts #310

Open
5 tasks
joshuadavidthomas opened this issue Sep 11, 2024 · 1 comment
Open
5 tasks
Labels
🧑‍💻 dx Enhancements or issues related to the developer experience and workflow 🏋️ improvement Enhancements or optimizations to existing functionality 🧁 needs baking Requires more time for consideration or development before further action

Comments

@joshuadavidthomas
Copy link
Member

Not sure exactly which direction to go with this, but the update process can be quite frustrating. Some of that is just due to the nature of updating itself, especially if a project is many versions behind the current template version.

However, there are certain paper-cuts that keep coming up across all updates for any project. Ideally, I'd like to cut out as many of these as possible. Some are around the actual template questionnaire and some are around merge conflicts that arise after updating.

For the questionnaire, if one is just updating the template but not changing anything about the configuration of the project, then I'd like it to be a simple process of just accepting all the previous answers, which could even be automated by a copier CLI flag (pretty sure that exists).

For the merge conflicts, some are unavoidable due to template changes. But surely there's a different approach for some of them that could reduce the conflicts to the actually meaningful ones.

Keeping a list of them in this issue for now as I think on how best to fix it.

  • SECRET_KEY in settings is randomly generated on every template generation
  • Needing to manually look up the most recent version numbers of Tailwind, Playwright, and django-twc-ui
    • If the dependency has been updated since the last template refresh, either by Dependabot or by hand, then the answer contained within the copier.yml file that pre-populates the questions on update is out-of-date
    • Python, Django, and Node.js are probably the only ones where it makes sense to specify versions. Otherwise, I would think a simple boolean of 'include tailwindcss?' and then grabbing the latest version number from either npm or GitHub automatically.
  • Needing to copy in the django-twc-ui access token everytime
  • Overriding the base conftest.py in the tests directory with customizations for that project can lead to some gnarly merge conflicts
  • If any of the Python or Node dependencies are updated, you need to remember to regenerate the requisite dep lock files by hand
@joshuadavidthomas joshuadavidthomas added 🏋️ improvement Enhancements or optimizations to existing functionality 🧑‍💻 dx Enhancements or issues related to the developer experience and workflow 🧁 needs baking Requires more time for consideration or development before further action labels Sep 11, 2024
@joshuadavidthomas
Copy link
Member Author

As far as the versions are concerned for Node.js, maybe using something like this? https://stackoverflow.com/a/11949502

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 dx Enhancements or issues related to the developer experience and workflow 🏋️ improvement Enhancements or optimizations to existing functionality 🧁 needs baking Requires more time for consideration or development before further action
Projects
None yet
Development

No branches or pull requests

1 participant