Skip to content

Enable usage in monorepos #782

Open
@levino

Description

@levino

In a monorepo setup (like with yarn workspaces) it is not possible to install commitizen at the root and then use it in the packages. Being in a folder like packages/package-1 with its own package.json an running yarn cz will result in the fallback "just commit" mode, even though it it properly configured in the root. This is because cz looks for a configuration in the next available package.json or .czrc. If it finds any of these files it seems to stop with an error and the defaulting to commit instead of going up the ladder to the next higher package.json and finding its configuration.

A workaround is to copy-paste the config in all the package.jsons but there is no reason for this strange behaviour.

Activity

pmcelhaney

pmcelhaney commented on Nov 22, 2021

@pmcelhaney
Contributor

The best way to fix this is probably to use cosmiconfig (#773)

saxoncameron

saxoncameron commented on Jul 28, 2022

@saxoncameron

+1 for this! I'm just configuring a monorepo at the moment, and currently this restriction means I always have to run cz from the monorepo root, rather than anywhere within the monorepo. Considering I'm often cd'd into one of the packages/* in my terminal, this is a minor inconvenience.

I have a .czrc config in the monorepo root, so it'd be cool if Commitizen recognised that, or if the .czrc file supported an extends parameter so I could put a .czrc file in each package directory that points back to the root ../../.czrc for centralisation sake.

A cleaner solution would maybe be some magic in the CLI tool that looks for a .czrc in root of the .git folder though, maybe?

Ne-Ne

Ne-Ne commented on Aug 19, 2022

@Ne-Ne

Support for this would be awesome 🙏🏻

linked a pull request that will close this issue on Nov 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @pmcelhaney@levino@Ne-Ne@saxoncameron

      Issue actions

        Enable usage in monorepos · Issue #782 · commitizen/cz-cli