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

BUG: one dependency with more than one version #2114

Closed
Akuukis opened this issue May 29, 2019 · 2 comments
Closed

BUG: one dependency with more than one version #2114

Akuukis opened this issue May 29, 2019 · 2 comments
Labels

Comments

@Akuukis
Copy link

Akuukis commented May 29, 2019

Lerna incorrectly organizes dependency with more than one version.

Expected Behavior

Lerna would figure out the optimal locations for modules.

Current Behavior

# Folder Structure
node_modules/
    bignumber.js/    # <-- v4.0.0
    stellar-base/
        package.json    # <-- depends on bignumber.js@^4.0.0
    stellar-sdk/
        package.json    # <-- depends on stellar-base@1.0.2 and bignumber.js@^4.0.0
workspaces/
    common/
        node_modules/
            bignumber.js/    # <-- v7.2.1
        src/    # <-- Re-exports Bignumber but with my config values
        package.json    # <-- depends on bignumber.js@^7.1.0
    pkg1/
        src/    # <-- PROBLEM HURTS HERE, see below
        package.json    # <-- depends on common and stellar-sdk@1.0.2 
// workspaces/pkg1/src/index.ts
import { BigNumber } from '@my/common'

export const something = (garbage: any) => BigNumber(garbage)
/*           ^^^^^^^^^
The inferred type of 'something' cannot be named without a reference
to '../../../common/node_modules/bignumber.js/bignumber'.
This is likely not portable. A type annotation is necessary.ts(2742)
*/

As we see, for the developer workspaces/pkg1/src/index.ts will resolve to bignumber.js@4.0.0 instead of bignumber.js@7.2.1 that is used and re-exported by common. That's wrong. And now even Typescript throws an error for that (although it took a while time to decrypt the message).

Workaround

Add bignumber.js@7.2.1 as dependency for pkg1.

Steps to Reproduce

See nutshell of not-working structure above.

Here's the previous, working structure:

# Folder Structure
node_modules/
    bignumber.js/    # <-- v7.2.1
    stellar-base/
        node_modules/
            bignumber.js/    # <-- v4.0.0
        package.json    # <-- depends on bignumber.js@^4.0.0
    stellar-sdk/
        package.json    # <-- depends on stellar-base@0.9.0 (DOES NOT depend on bignumber.js@^4.0.0)
workspaces/
    common/
        src/    # <-- Re-exports Bignumber but with my config values
        package.json    # <-- depends on bignumber.js@^7.1.0
    pkg1/
        src/    # <-- PROBLEM HURTS HERE, see below
        package.json    # <-- depends on common and stellar-sdk@0.11.0

Related issues

Context

I have a large monorepo written in typescript and want to upgrade stellar-sdk.

Your Environment

Executable Version
lerna --version 3.13.3
npm --version 6.4.1
yarn --version 1.16.0
node --version v8.16.0
OS Version
Ubuntu Ubuntu 18.04.2 LTS
@Akuukis Akuukis changed the title BUG: dependencies with several versions BUG: dependency with several versions May 29, 2019
@Akuukis Akuukis changed the title BUG: dependency with several versions BUG: one dependency with more than one version May 29, 2019
@github-actions
Copy link

github-actions bot commented Jun 3, 2022

Hi Folks 👋

You may or may not know that lerna is now under the stewardship of Nrwl (announcement here #3121), a company with a long history of not just producing valuable open-source software (OSS), but also backing others (at the time of writing, Nrwl has donated over $50,000 to OSS it hasn't created, see https://opencollective.com/nx for full details).

Quite simply, Nrwl ❤️ OSS, and is committed to making lerna the best it can be. We use it ourselves.

In order to take this awesome project forward from its current state, it is important that we focus our finite resources on what is most important to lerna users in 2022.

With that in mind, we have identified this issue as being potentially stale due to its age and/or lack of recent activity.


Next steps:

We want to give you some time to read through this comment and take action per one of the steps outlined below, so for the next 14 days we will not make any further updates to this issue.

@Akuukis as the original author of this issue, we are looking to you to update us on the latest state of this as it relates to the latest version of lerna.

Please choose one of the steps below, depending on what type of issue this is:

  • A) If this issue relates to a potential BUG in the latest version of lerna:

  • B) If this issue is a FEATURE request to be added to the latest version of lerna:

    • Simply comment back on this thread so that we know you still want us to consider the request for the latest version of lerna.
  • C) If this issue is a QUESTION which is applicable to latest version of lerna:

  • D) If this issue is no longer applicable to the latest version of lerna:

    • Please close the issue.

If we do not hear from @Akuukis on this thread within the next 14 days, we will automatically close this issue.

If you are another user impacted by this issue but it ends up being closed as part of this process, we still want to hear from you! Please simply head over to our new issue templates and fill out all the requested details on the template which applies to your situation:

https://github.com/lerna/lerna/issues/new/choose

Thank you all for being a part of this awesome community, we could not be more excited to help move things forward from here 🙏 🚀

@github-actions github-actions bot added the stale label Jun 3, 2022
@github-actions
Copy link

Hi Folks 👋

You will have seen in our message above that we at Nrwl are working really hard to bring the lerna repo up to date with what matters most to its community in June 2022.

As previously stated in that message, because we have not heard from the original author of this issue within the last 14 days, we are now automatically closing it.

If any users, including the original author, are still impacted by this issue then we still want to hear from you!

All we ask is that you first update to the latest lerna (5.1.4 at the time of writing) to make sure it is still reproducible, and then fill out one of our new issue templates, providing all the requested details which apply to your situation:

https://github.com/lerna/lerna/issues/new/choose

Many thanks again! 🙏


P.S. Over and above getting to grips with the repo, we have also been hard at work launching a new website, resolving all vulnerabilities, merging exciting new features and reigniting community PR contributions! 🚀

You can read our recent blog post to learn more about what we've been up to:
https://blog.nrwl.io/lerna-5-1-new-website-new-guides-new-lerna-example-repo-distributed-caching-support-and-speed-64d66410bec7

@github-actions github-actions bot locked and limited conversation to collaborators Jun 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant