Flutter Devtools create file in my $HOME and don't allow for relocation
- Langage dominant
- Dart
- Étoiles
- 1.7k
- Forks
- 404
- Merge moyen
- 6 j 17 h
- PR mergées (30 j)
- 18
Description
In my home directory the following directory is created whenever I use devtools:
```
$ tree -a ~/.flutter-devtools
/Users/bartek/.flutter-devtools
└── .devtools
```
Content of that single file is:
```
$ cat ~/.flutter-devtools/.devtools
{
"analyticsEnabled": true,
"isFirstRun": false,
"lastReleaseNotesVersion": "2.31.0",
"2023-Q4": {
"surveyActionTaken": false,
"surveyShownCount": 0
}
}
```
I don't like when programs clutter my personal `~`. I very much echo sentiment of [this article](https://0x46.net/thoughts/2019/02/01/dotfile-madness). Unfortunately it looks like the location of that file is currently hardcoded ([example](https://github.com/flutter/devtools/blob/8a528c6d6575df48cdde795af82863b7b1b4d26d/packages/devtools_shared/lib/src/server/file_system.dart#L20-L23)).
Therefore I'd like for Flutter DevTools to respect [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), so that the `.devtools` file could be stored in (e.g.) `~/.local/state`, that is, `$XDG_STATE_HOME`.
To support migration, Flutter Devtools would continue to use `~/.flutter-devtools/.devtools` if it exists. If it does not exist, it should default to the appropriate XDG base directory.
I am willing to contribute this feature, if only the maintainers of this project agree with this suggestion.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par packages/devtools_shared/lib/src/server/file_system.dart, au chemin codé en dur indiqué dans l’issue, et lisez la gestion du système de fichiers dans les environs. Vérifiez comment le fichier existant ~/.flutter-devtools/.devtools est détecté et déterminez l’emplacement d’état XDG approprié à la plateforme ; le travail est considéré comme terminé lorsque les fichiers existants sont préservés et que l’emplacement XDG est utilisé pour les nouvelles installations.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- dart
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 42/100