anolilab / semantic-release

A multi semantic release tool for monorepos.
MIT License
34 stars 0 forks source link

Should not overwrite `workspace:*` when release ( pnpm workspace ) #48

Closed zigang93 closed 5 months ago

zigang93 commented 5 months ago

Pre-Checks

Describe the bug

I wonder how to prevent overwrite workspace:*?

example: package-a ( v1.0.0 )

app's package.json after release "package-a": "workspace:*" to "package-a": "1.0.0"

Minimal reproduction code

No response

Additional Context

No response

Environment Info

System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M1
    Memory: 41.81 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node
    npm: 10.1.0 - ~/.nvm/versions/node/v20.9.0/bin/npm
    pnpm: 9.1.1 - ~/.nvm/versions/node/v20.9.0/bin/pnpm
    bun: 1.0.25 - /opt/homebrew/bin/bun
  Browsers:
    Chrome: 126.0.6478.61
    Safari: 17.5
  npmPackages:
    @anolilab/multi-semantic-release: ^1.1.3 => 1.1.3 
    @anolilab/semantic-release-pnpm: ^1.1.3 => 1.1.3

Which module system do you use?

Used Package Manager

pnpm

Upvote & Fund

Fund with Polar

github-actions[bot] commented 5 months ago

It looks like this is your first issue. Welcome! 👋 One of the project maintainers will be with you as soon as possible. We appreciate your patience. To safeguard the health of the project, please take a moment to read our code of conduct.

prisis commented 5 months ago

Hey @zigang93, this not really possible, the npm registry needs this version information to know how to handle npm packages dependencies.

One "maybe" working way would be that you could add a new step after semantic-release that rewrites the version that was add before the "semantic-release-git" do a push to your repo back.

Or you can use the pnpm overwrite in you root package.json to make this overwrite so this will work like the "workspace:*" in you packages

Example:

    "pnpm": {
        "overrides": {
            "@visulima/pail": "workspace:*",
        },
    },

ref https://github.com/qiwi/multi-semantic-release/pull/95

zigang93 commented 5 months ago

@prisis I don't care about npm register to publish, all my app/package is private. how can I just do some patch? can u help me which line of code to stop this behavior? I can use pnpm patch to do so

prisis commented 5 months ago

Hey :), it should be around this function https://github.com/anolilab/semantic-release/blob/173e5c619bbb00f99c12bb13ab51b986488fdd31/packages/multi-semantic-release/lib/update-deps.js#L70-L89

github-actions[bot] commented 4 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. Please note this issue tracker is not a help forum. We recommend using our GitHub Discussions tab for questions.