fix: resolve all golangci-lint issues
- Add package comments to all packages (pkg/config, pkg/logger, internal/*, cmd/platform)
- Fix context key warnings by using custom ContextKey type
- Export ContextKey type to avoid unexported-return warnings
- Update all context value operations to use ContextKey instead of string
- Update RequestIDKey() and UserIDKey() to return ContextKey
- Fix error checking issues (errcheck)
- Properly handle os.Chdir errors in defer statements
- Properly handle os.Setenv/os.Unsetenv errors in tests
- Fix security warnings (gosec)
- Change directory permissions from 0755 to 0750 in tests
- Change file permissions from 0644 to 0600 in tests
- Fix unused parameter warnings (revive)
- Replace unused parameters with _ in:
* RegisterLifecycleHooks lifecycle functions
* Mock logger implementations
* noOpLogger methods
- Fix type assertion issues (staticcheck)
- Remove unnecessary type assertions in tests
- Use simpler compile-time checks
- Fix exported type stuttering warning
- Add nolint directive for ConfigProvider (standard interface pattern)
- Update golangci-lint configuration
- Add version: 2 field (required for newer versions)
- Remove unsupported linters (typecheck, gosimple)
- Move formatters (gofmt, goimports) to separate formatters section
- Simplify linter list to only well-supported linters
All linting issues resolved (0 issues reported by golangci-lint).
All tests pass and code compiles successfully.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
// Package di provides dependency injection container and providers using uber-go/fx.
|
||||
package di
|
||||
|
||||
import (
|
||||
|
||||
@@ -67,13 +67,13 @@ func CoreModule() fx.Option {
|
||||
// RegisterLifecycleHooks registers lifecycle hooks for logging.
|
||||
func RegisterLifecycleHooks(lc fx.Lifecycle, l logger.Logger) {
|
||||
lc.Append(fx.Hook{
|
||||
OnStart: func(ctx context.Context) error {
|
||||
OnStart: func(_ context.Context) error {
|
||||
l.Info("Application starting",
|
||||
logger.String("component", "bootstrap"),
|
||||
)
|
||||
return nil
|
||||
},
|
||||
OnStop: func(ctx context.Context) error {
|
||||
OnStop: func(_ context.Context) error {
|
||||
l.Info("Application shutting down",
|
||||
logger.String("component", "bootstrap"),
|
||||
)
|
||||
|
||||
@@ -16,9 +16,15 @@ func TestProvideConfig(t *testing.T) {
|
||||
|
||||
// Set environment variable
|
||||
originalEnv := os.Getenv("ENVIRONMENT")
|
||||
defer os.Setenv("ENVIRONMENT", originalEnv)
|
||||
defer func() {
|
||||
if err := os.Setenv("ENVIRONMENT", originalEnv); err != nil {
|
||||
t.Logf("Failed to restore environment variable: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
os.Setenv("ENVIRONMENT", "development")
|
||||
if err := os.Setenv("ENVIRONMENT", "development"); err != nil {
|
||||
t.Fatalf("Failed to set environment variable: %v", err)
|
||||
}
|
||||
|
||||
// Create a test app with ProvideConfig
|
||||
app := fx.New(
|
||||
@@ -51,9 +57,15 @@ func TestProvideConfig_DefaultEnvironment(t *testing.T) {
|
||||
|
||||
// Unset environment variable
|
||||
originalEnv := os.Getenv("ENVIRONMENT")
|
||||
defer os.Setenv("ENVIRONMENT", originalEnv)
|
||||
defer func() {
|
||||
if err := os.Setenv("ENVIRONMENT", originalEnv); err != nil {
|
||||
t.Logf("Failed to restore environment variable: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
os.Unsetenv("ENVIRONMENT")
|
||||
if err := os.Unsetenv("ENVIRONMENT"); err != nil {
|
||||
t.Fatalf("Failed to unset environment variable: %v", err)
|
||||
}
|
||||
|
||||
// Create a test app with ProvideConfig
|
||||
app := fx.New(
|
||||
@@ -240,7 +252,7 @@ func (m *mockConfigProvider) Get(key string) any {
|
||||
return m.values[key]
|
||||
}
|
||||
|
||||
func (m *mockConfigProvider) Unmarshal(v any) error {
|
||||
func (m *mockConfigProvider) Unmarshal(_ any) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -300,8 +312,8 @@ type mockLogger struct {
|
||||
onStopCalled bool
|
||||
}
|
||||
|
||||
func (m *mockLogger) Debug(msg string, fields ...logger.Field) {}
|
||||
func (m *mockLogger) Info(msg string, fields ...logger.Field) {
|
||||
func (m *mockLogger) Debug(_ string, _ ...logger.Field) {}
|
||||
func (m *mockLogger) Info(msg string, _ ...logger.Field) {
|
||||
if msg == "Application starting" {
|
||||
m.onStartCalled = true
|
||||
}
|
||||
@@ -309,11 +321,11 @@ func (m *mockLogger) Info(msg string, fields ...logger.Field) {
|
||||
m.onStopCalled = true
|
||||
}
|
||||
}
|
||||
func (m *mockLogger) Warn(msg string, fields ...logger.Field) {}
|
||||
func (m *mockLogger) Error(msg string, fields ...logger.Field) {}
|
||||
func (m *mockLogger) With(fields ...logger.Field) logger.Logger {
|
||||
func (m *mockLogger) Warn(_ string, _ ...logger.Field) {}
|
||||
func (m *mockLogger) Error(_ string, _ ...logger.Field) {}
|
||||
func (m *mockLogger) With(_ ...logger.Field) logger.Logger {
|
||||
return m
|
||||
}
|
||||
func (m *mockLogger) WithContext(ctx context.Context) logger.Logger {
|
||||
func (m *mockLogger) WithContext(_ context.Context) logger.Logger {
|
||||
return m
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user