question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve Chakra versioning strategy

See original GitHub issue

Since @chakra-ui/react acts as a combined gateway to (nearly) all Chakra UI functionality, its version should reflect that by having all minor version bumps to its internal dependencies applied to itself as well. This allows the @chakra-ui/react package to reflect all backwards-compatible functionality changes for the system as a whole.

We’ve currently configured https://github.com/atlassian/changesets to bump internal dependency changes using patch which is probably the more correct thing to do in that situation since the technically correct thing would result in constant major version bumps, but in the case of @chakra-ui/react, we want to instead receive any minor version bumps.

Examples

In my mind, here’s how versioning should look (assume all packages starting at 1.0.0):

  1. Internal dependency adds backwards-compatible functionality
  • @chakra-ui/hooks adds a new useCoolThing export
    • @chakra-ui/hooks@1.0.0 -> @chakra-ui/hooks@1.1.0 (minor)
  • @chakra-ui/react@1.0.0 -> @chakra-ui/react@1.1.0 (minor) to reflect the added system-level functionality
  1. Multiple internal dependencies add backwards-compatible functionality
  • @chakra-ui/hooks adds a new useCoolThing export
    • @chakra-ui/hooks@1.0.0 -> @chakra-ui/hooks@1.1.0 (minor)
  • @chakra-ui/accordion adds a new AccordionCoolestItem export
    • @chakra-ui/accordion@1.0.0 -> @chakra-ui/accordion@1.1.0 (minor)
  • @chakra-ui/react@1.0.0 -> @chakra-ui/react@1.1.0 (minor) to reflect the added system-level functionality
  1. Internal dependency adds bug fix
  • @chakra-ui/hooks fixes a bug with useCoolThing
    • @chakra-ui/hooks@1.0.0 -> @chakra-ui/hooks@1.0.1 (patch)
  • @chakra-ui/react@1.0.0 -> @chakra-ui/react@1.0.1 (patch) to reflect the system-level bug fix
  1. Multiple internal dependencies add bug fixes
  • @chakra-ui/hooks fixes a bug with useCoolThing
    • @chakra-ui/hooks@1.0.0 -> @chakra-ui/hooks@1.0.1 (patch)
  • @chakra-ui/accordion fixes a bug with useAccordionItem
    • @chakra-ui/accordion@1.0.0 -> @chakra-ui/accordion@1.0.1 (patch)
  • @chakra-ui/react@1.0.0 -> @chakra-ui/react@1.0.1 (patch) to reflect the system-level bug fixes
  1. Internal dependencies add backwards-compatible functionality and bug fixes
  • @chakra-ui/hooks fixes a bug with useCoolThing
    • @chakra-ui/hooks@1.0.0 -> @chakra-ui/hooks@1.0.1 (patch)
  • @chakra-ui/accordion adds a new AccordionCoolestItem export
    • @chakra-ui/accordion@1.0.0 -> @chakra-ui/accordion@1.1.0 (minor)
  • @chakra-ui/react@1.0.0 -> @chakra-ui/react@1.1.1 (minor and patch) to reflect maximum version bump of all system-level changes (I believe this is the automatic changesets behavior, but I need to test that; see https://github.com/atlassian/changesets/blob/master/docs/decisions.md#how-changesets-are-combined for more info)
  1. New package is published
  • @chakra-ui/new-component is created
    • @chakra-ui/new-component@1.0.0 to reflect start of new package
  • @chakra-ui/react@1.0.0 -> @chakra-ui/react@1.1.0 (minor) to reflect the added system-level functionality

How?

I think we have two possible solutions:

  • Include @chakra-ui/react in all changeset files matching the version bump of the dependent package. This requires manual effort, but allows us to fully control the process.
  • Build our own customized release plan. I’m not sure changesets supports this yet and need to investigate, but it would allow us to automate this so we don’t have to always include @chakra-ui/react bumps in our changeset files.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
segunadebayocommented, May 3, 2021

I’m going to close this for now since we don’t have a better solution.

I’d suggest adding this issue description as a guideline for the @chakra-ui/react-team instead. We can do this manually in the meantime till there’s some solution out there that can help.

Thanks.

1reaction
timkindbergcommented, Jan 13, 2021

I’m not sure you’d need to go to 1.1.1 if there was a minor and patch, I think going to 1.1.0 is sufficient.

Read more comments on GitHub >

github_iconTop Results From Across the Web

7 chakra balancing strategies - Liberate Your True Self
Heart Chakra: To increase your compassion, tolerance, ability to give and receive love, applying Rose, Patchouli, Palmarosa, or Bergamot ...
Read more >
Beginner's Guide to Energy Blocks and Chakra Healing
Discover the transformative power of chakras in the original guide to creating harmony between your physical body, mind, and spirit through ...
Read more >
A Beginner's Chakra Guide for Improving Communication ...
Sit down cross-legged, or lie down. · Start your breath work to become still and present. · Begin to focus and visualize your...
Read more >
How to Meditate on Chakras: 13 Steps (with Pictures) - wikiHow
1. Know your chakras. Chakras are compared to discs that lie horizontally in your body and spin. They correspond with different glands and...
Read more >
8 Ways to Control Chakra - wikiHow
1. There are 7 chakras that run down the center of your body. Before you start trying to control your chakras, it helps...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found