chore: add govet, gocritic and revive

pull/5567/head
Henrique Dias 2025-11-20 07:56:56 +01:00
parent 6d5aa355e4
commit 5df5508a85
5 changed files with 17 additions and 11 deletions

View File

@ -2,8 +2,13 @@ version: "2"
linters: linters:
default: standard default: standard
enable:
- gocritic
- govet
- revive
exclusions: exclusions:
presets: presets:
- std-error-handling - std-error-handling
- comments
paths: paths:
- frontend/ - frontend/

View File

@ -35,7 +35,7 @@ var docsCmd = &cobra.Command{
rootCmd.Root().DisableAutoGenTag = true rootCmd.Root().DisableAutoGenTag = true
err = doc.GenMarkdownTreeCustom(cmd.Root(), tempDir, func(f string) string { err = doc.GenMarkdownTreeCustom(cmd.Root(), tempDir, func(_ string) string {
return "" return ""
}, func(s string) string { }, func(s string) string {
return s return s

View File

@ -54,7 +54,7 @@ var (
) )
// TODO(remove): remove after July 2026. // TODO(remove): remove after July 2026.
func migrateFlagNames(f *pflag.FlagSet, name string) pflag.NormalizedName { func migrateFlagNames(_ *pflag.FlagSet, name string) pflag.NormalizedName {
if newName, ok := flagNamesMigrations[name]; ok { if newName, ok := flagNamesMigrations[name]; ok {
if !warnedFlags[name] { if !warnedFlags[name] {
@ -146,7 +146,7 @@ The precedence of the configuration values are as follows:
Also, if the database path doesn't exist, File Browser will enter into Also, if the database path doesn't exist, File Browser will enter into
the quick setup mode and a new database will be bootstrapped and a new the quick setup mode and a new database will be bootstrapped and a new
user created with the credentials from options "username" and "password".`, user created with the credentials from options "username" and "password".`,
RunE: withViperAndStore(func(cmd *cobra.Command, _ []string, v *viper.Viper, st *store) error { RunE: withViperAndStore(func(_ *cobra.Command, _ []string, v *viper.Viper, st *store) error {
if !st.databaseExisted { if !st.databaseExisted {
err := quickSetup(v, st.Storage) err := quickSetup(v, st.Storage)
if err != nil { if err != nil {

View File

@ -160,13 +160,14 @@ func withViperAndStore(fn func(cmd *cobra.Command, args []string, v *viper.Viper
} }
exists, err := dbExists(path) exists, err := dbExists(path)
if err != nil { switch {
case err != nil:
return err return err
} else if exists && options.expectsNoDatabase { case exists && options.expectsNoDatabase:
log.Fatal(path + " already exists") log.Fatal(path + " already exists")
} else if !exists && !options.expectsNoDatabase && !options.allowsNoDatabase { case !exists && !options.expectsNoDatabase && !options.allowsNoDatabase:
log.Fatal(path + " does not exist. Please run 'filebrowser config init' first.") log.Fatal(path + " does not exist. Please run 'filebrowser config init' first.")
} else if !exists && !options.expectsNoDatabase { case !exists && !options.expectsNoDatabase:
log.Println("WARNING: filebrowser.db can't be found. Initialing in " + strings.TrimSuffix(path, "filebrowser.db")) log.Println("WARNING: filebrowser.db can't be found. Initialing in " + strings.TrimSuffix(path, "filebrowser.db"))
} }
@ -193,7 +194,7 @@ func withViperAndStore(fn func(cmd *cobra.Command, args []string, v *viper.Viper
} }
func withStore(fn func(cmd *cobra.Command, args []string, store *store) error, options storeOptions) cobraFunc { func withStore(fn func(cmd *cobra.Command, args []string, store *store) error, options storeOptions) cobraFunc {
return withViperAndStore(func(cmd *cobra.Command, args []string, v *viper.Viper, store *store) error { return withViperAndStore(func(cmd *cobra.Command, args []string, _ *viper.Viper, store *store) error {
return fn(cmd, args, store) return fn(cmd, args, store)
}, options) }, options)
} }

View File

@ -25,12 +25,12 @@ func TestFileCache(t *testing.T) {
// store new key // store new key
err := cache.Store(ctx, key, []byte(value)) err := cache.Store(ctx, key, []byte(value))
require.NoError(t, err) require.NoError(t, err)
checkValue(t, ctx, fs, filepath.Join(cacheRoot, cachedFilePath), cache, key, value) checkValue(ctx, t, fs, filepath.Join(cacheRoot, cachedFilePath), cache, key, value)
// update existing key // update existing key
err = cache.Store(ctx, key, []byte(newValue)) err = cache.Store(ctx, key, []byte(newValue))
require.NoError(t, err) require.NoError(t, err)
checkValue(t, ctx, fs, filepath.Join(cacheRoot, cachedFilePath), cache, key, newValue) checkValue(ctx, t, fs, filepath.Join(cacheRoot, cachedFilePath), cache, key, newValue)
// delete key // delete key
err = cache.Delete(ctx, key) err = cache.Delete(ctx, key)
@ -40,7 +40,7 @@ func TestFileCache(t *testing.T) {
require.False(t, exists) require.False(t, exists)
} }
func checkValue(t *testing.T, ctx context.Context, fs afero.Fs, fileFullPath string, cache *FileCache, key, wantValue string) { func checkValue(ctx context.Context, t *testing.T, fs afero.Fs, fileFullPath string, cache *FileCache, key, wantValue string) {
t.Helper() t.Helper()
// check actual file content // check actual file content
b, err := afero.ReadFile(fs, fileFullPath) b, err := afero.ReadFile(fs, fileFullPath)