VeryGoodOpenSource / very_good_cli

A Very Good Command-Line Interface for Dart created by Very Good Ventures 🦄
http://cli.vgv.dev
MIT License
2.11k stars 185 forks source link

fix: [dart_cli] Activating a cli project after updating files and version doesn't use the new version #1078

Open eripoll opened 1 week ago

eripoll commented 1 week ago

Description For some reason I can't figure out, for the past three days, no matter how I try to do it, as I am developing my dart_cli template-base CLI project, whenever I change anything in a file and activate the package, the newest version of the file is not the one I see when testing my cli.

Steps To Reproduce

  1. dart pub global activate very_good_cli to get the latest version of very_good_cli

  2. very_good create dart_cli sfdk_cli to create a brand new CLI project

  3. dart pub get in the newly created project to get dependencies.

  4. dart pub global activate --source path . to build and install the executable without changing anything in the project.

  5. I get

    Resolving dependencies... 
    Downloading packages... 
    _fe_analyzer_shared 68.0.0 (72.0.0 available)
    analyzer 6.5.0 (6.7.0 available)
    macros 0.1.0-main.0 (0.1.2-main.4 available)
    very_good_analysis 5.1.0 (6.0.0 available)
    Got dependencies!
    4 packages have newer versions incompatible with dependency constraints.
    Try `dart pub outdated` for more information.
    Package sfdk_cli is currently active at path ".../sfdk_cli".
  6. sfdk_cli --version

  7. I get

    Building package executable... 
    Built sfdk_cli:sfdk_cli.
    0.0.1

    which is expected.

  8. Change version to 0.0.2 in the pub spec.yaml file and dart pub global activate --source path . again

  9. I get

    Resolving dependencies... 
    Downloading packages... 
    _fe_analyzer_shared 68.0.0 (72.0.0 available)
    analyzer 6.5.0 (6.7.0 available)
    macros 0.1.0-main.0 (0.1.2-main.4 available)
    very_good_analysis 5.1.0 (6.0.0 available)
    Got dependencies!
    4 packages have newer versions incompatible with dependency constraints.
    Try `dart pub outdated` for more information.
    Package sfdk_cli is currently active at path ".../sfdk_cli".
    Installed executable sfdk_cli.
    Activated sfdk_cli 0.0.2 at path ".../sfdk_cli".

    which is expected (except for the dependencies issues)

  10. Run sfdk_cli --version again

  11. I get 0.0.1

If I change anything in the files from the template, like just changing the help text from Print the current version. to Print the current version of the CLI., if I add any debugging instructions, NOTHING is being picked, as if the package is stuck to the previous version.

Cleaning the cache, deactivating, etc do not change a thing. I have also been unable to fix the dependency constraints issues...

Additional Context My dart version is Dart SDK version: 3.4.3 (stable) MacOS 14.5 (23F79)

Any thoughts? Can anyone reproduce? I've been going insane for the past couple days trying to figure this out...

wolfenrain commented 6 days ago

Thank you for bringing this to our attention @eripoll

I was able to reproduce this with the steps and also reproduced it with both the very_good_cli, dart_frog_cli and the mason_cli. None of them showed this issue in the past and I know that the last two haven't actively had changes to them that could impact this.

I suspect this is some strange pub issue, I haven't yet seen the issue on Windows while working on the Dart Frog CLI there but no matter what it will require some further investigation to find the true culprit.

eripoll commented 6 days ago

Good to hear you were able to reproduce! I was going bonkers here 😀 If I can be of some assistance, let me know!

I was able to reproduce this with the steps and also reproduced it with both the very_good_cli, dart_frog_cli and the mason_cli. None of them showed this issue in the past and I know that the last two haven't actively had changes to them that could impact this.

I suspect this is some strange pub issue, I haven't yet seen the issue on Windows while working on the Dart Frog CLI there but no matter what it will require some further investigation to find the true culprit.

eripoll commented 4 days ago

@wolfenrain It may be related: https://github.com/dart-lang/pub/issues/4295