Skip to content

Respect XDG Base Directory Specification #172

@hyperupcall

Description

@hyperupcall

Hello!

Right now, DEFAULT_STORE has a default value of ~/.git-stats while CONFIG_PATH has a default value of ~/.git-stats-config.js

I would prefer if git-stats did not put the files in the home directory - I propose using the XDG Base Directory Specification to determine the location defaults. Many modern applications today place their configuration and data files in compliance with this standard, making it easy to backup homogeneous (with respect to their type) data or keep the home directory tidy.

This would mean

  • .git-stats would default to $XDG_STATE_HOME/git-stats/git-stats.json
  • .git-stats-config.js would default to $XDG_CONFIG_HOME/git-stats/git-stats-config.js

Per the specification, if the environment variables $XDG_STATE_HOME or $XDG_CONFIG_HOME do not exist, then they default to ~/.local/state and ~/.config respectively

To ensure that the changes are backwards compatible, the code can check if ~/.git-stats or ~/.git-stats-config.js exist. If a particular one does not exist in the home folder, then the new changes take effect for that particular file

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions