invertase / melos

🌋 A tool for managing Dart projects with multiple packages. With IntelliJ and Vscode IDE support. Supports automated versioning, changelogs & publishing via Conventional Commits.
https://melos.invertase.dev/~melos-latest
Apache License 2.0
1.19k stars 208 forks source link

Melos Bootstrap overwrites all Intellij project config #333

Closed josh-burton closed 2 years ago

josh-burton commented 2 years ago

Is there an existing issue for this?

Version

2.5.0

Description

I regular run melos bootstrap to update the project if I have added new packages or new execs.

This seems to overwrite all Intellij config for the project. For example I exclude the .fvm/flutter_sdk folder from indexing, but each time I run bootstrap I need to redo this.

Do we need a way to run a partial bootstrap? Would it be possible not to overwrite the entire config?

Steps to reproduce

  1. Mark a folder in the IntelliJ project as excluded
  2. Run melos bootstrap
  3. The folder is now included again

Expected behavior

Some IntelliJ config should not be overwritten by bootstrap

Screenshots

No response

Additional context and comments

No response

blaugold commented 2 years ago

ATM, we are overwriting the iml files for modules every time IntelliJ files are generated.

@Salakar Could we just write them if they don't already exist? The content always seems to be the same.

Salakar commented 2 years ago

ATM, we are overwriting the iml files for modules every time IntelliJ files are generated.

@Salakar Could we just write them if they don't already exist? The content always seems to be the same.

This seems fine to me, only ones that should probably always write are the run configuration ones, all the project ones don't need to be rewritten everytime

josh-burton commented 2 years ago

Might be nice to add an option(s) to the bootstrap command to do a full overwrite/wipe/nuke or just updating missing configs.