Skip to content

Releases: houseabsolute/precious

v0.7.3

17 Jun 04:46
v0.7.3
aff941a
Compare
Choose a tag to compare
  • The generated config for Go projects no longer uses golangci-lint for code formatting. Instead, it is configured to use gofumpt.
  • The generated config for golangci-lint creates a config file named .golangci.yml file instead of golangci-lint.yml. This removes the need to pass the -C file to golangci-lint.
  • The generated config for Go projects does enable golangci-lint as a tidier with its --fix flag. This is useful for applying fixes from various linters.

v0.7.2

19 May 03:12
v0.7.2
a2355c8
Compare
Choose a tag to compare
  • Added fix as an alias for the tidy command. Implemented by @mmcclimon (Michael McClimon). GH #70.
  • Added shell and toml components for precious config --component ... options.

v0.7.1

05 May 05:35
v0.7.1
71c6243
Compare
Choose a tag to compare
  • Added an --auto flag for precious config init. If this is specified then precious will look at all the files in your project and generate config based on the types of files it finds. Suggested by John Vandenberg (@jayvdb). GH #67.
  • Fixed a bug when running precious config init. The --component argument was not required, when it should require at least one. If none were given it would create an empty precious.toml file. Reported by John Vandenberg (@jayvdb). GH #67.
  • Changed how precious config init generates config for Perl. The perlimports command is now the first one in the generated config. This is necessary because perlimports may change the code in a way that perltidy will then change further. Running perlimports after perltidy meant that tidying Perl code could leave the code in a state where it fails linting checks. Implemented by Olaf Alders (@oalders). GH #68.
  • Added/cleaned up some debugging output for the new invoke.per-x-or-y options. Fixes GH #65 and #66.

v0.7.0

30 Mar 09:18
v0.7.0
6008be4
Compare
Choose a tag to compare
  • Added three new experimental invoke options:

    • invoke.per-file-or-dir = n
    • invoke.per-file-or-once = n
    • invoke.per-dir-or-once = n

    These will run the command in different ways depending on how many files or directories match the command's config. This lets you pick the fastest way to run commands that can be invoked in more than one way. For example, if you're in a large repo and have only made changes to files in a few directories, golangci-lint is much faster when run once per directory. But once the number of directories is large enough, it's faster to just run it once on the whole repo.

  • All config keys have been changed to use dashes instead of underscores, so for example path_args is not path-args and ok_exit_codes is now ok-exit-codes. However, the names with underscores will continue to work. I do not intend to ever deprecate the underscore version. They simply will not be used in the docs and examples.

  • Fixed cases where precious would exit with an exit code of 1 on errors that were not linting failures. Going forward, an exit code of 1 should only be used for linting failures.

  • precious will now emit a warning if your config file uses any of the deprecated config keys, run_mode and chdir. Support for these options will be removed entirely in a future release.

v0.6.4

23 Mar 03:04
v0.6.4
5ee5bfc
Compare
Choose a tag to compare
  • Added a --git-diff-from <REF> option that will find all files changed in the diff between <REF> and the current HEAD. Requested by Michael McClimon. GH #64.

v0.6.3

05 Mar 12:13
v0.6.3
be18427
Compare
Choose a tag to compare
  • When running precious config init and asking for the Perl or Rust components, precious would tell you to install omegasort even though the generated config did not use it. Reported by Olaf Alders. GH #61.
  • If precious was run with --staged and a file that was staged had been deleted from the filesystem but not removed with git rm, it would exit with a very unhelpful error like Error: No such file or directory (os error 2), without any indication of what the file was. Now it will simply ignore such a deleted file, though it will log a debug-level message saying that the file is being ignored. Fixes #63.

v0.6.2

18 Dec 18:37
v0.6.2
c91027d
Compare
Choose a tag to compare
  • When printing the results of running a command that was invoked with a long list of paths, the output will now summarize the paths affected instead of always printing all of them. GH #60.

v0.6.1

06 Nov 17:03
v0.6.1
cd426f7
Compare
Choose a tag to compare
  • The dev/bin/check-go-mod.sh script created when running precious config init --component go is now executable. Reported by Olaf Olders. GH #56.
  • The generated config for Go now excludes the vendor directory for all commands. Implemented by Olaf Alders. GH #57.
  • When running precious config init, it would overwrite an existing file if it was given a --path argument, but not if the argument was left unset. Now it will always error out instead of overwriting an existing file. Reported by Olaf Alders. GH #58.
  • When running precious config init --component go a golangci-lint.yml file will also be created. GH #59.
  • As of this release there are no longer binaries built for MIPS on Linux. These targets have been demoted to tier 3 support by the Rust compiler.

v0.6.0

29 Oct 18:38
v0.6.0
d77f105
Compare
Choose a tag to compare
  • Added a new precious config init command that can generate precious.toml for you. Suggested by Olaf Alders. GH #53.

v0.5.2

09 Oct 14:31
51ca79b
Compare
Choose a tag to compare
  • Help output is now line-wrapped based on your terminal width.
  • Added a new precious config list command that prints a table showing all the commands in your config file. Requested by Olaf Alders. GH #52.