From 57e02c30c03df2118801aa8db40f3ffb9256157d Mon Sep 17 00:00:00 2001 From: Samuel Bodin <1637651+bodinsamuel@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:26:08 +0200 Subject: [PATCH] fix(rules): add GolangCI Lint --- src/rules/__snapshots__/index.test.ts.snap | 1 + .../docker/__snapshots__/component.test.ts.snap | 6 ++++++ .../__snapshots__/component.test.ts.snap | 5 +++++ .../spec/golang/__snapshots__/lockfile.test.ts.snap | 5 +++++ src/rules/tool/golangcilint.ts | 13 +++++++++++++ src/rules/tool/index.ts | 1 + src/types/techs.ts | 1 + 7 files changed, 32 insertions(+) create mode 100644 src/rules/tool/golangcilint.ts diff --git a/src/rules/__snapshots__/index.test.ts.snap b/src/rules/__snapshots__/index.test.ts.snap index 96f31804..236dc4af 100644 --- a/src/rules/__snapshots__/index.test.ts.snap +++ b/src/rules/__snapshots__/index.test.ts.snap @@ -177,6 +177,7 @@ exports[`all > should match everything 1`] = ` "gitlab.ci", "goacmelego", "golang", + "golangcilint", "googleanalytics", "grafana", "hashicorp_vault", diff --git a/src/rules/spec/docker/__snapshots__/component.test.ts.snap b/src/rules/spec/docker/__snapshots__/component.test.ts.snap index 5244dfdb..36c4e6be 100644 --- a/src/rules/spec/docker/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/docker/__snapshots__/component.test.ts.snap @@ -28,6 +28,7 @@ exports[`docker > should match everything 1`] = ` "elasticsearch", "gitguardian", "goacmelego", + "golangcilint", "grafana", "hashicorp_vault", "httpd", @@ -222,6 +223,11 @@ exports[`docker > should match everything 2`] = ` "goacme/lego", "0.0.0", ], + [ + "docker", + "golangci/golangci-lint", + "0.0.0", + ], [ "docker", "grafana/grafana-enterprise", diff --git a/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap b/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap index e6752313..85ef226d 100644 --- a/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap @@ -372,6 +372,11 @@ exports[`docker > should match all dependencies 2`] = ` "github/ghas-jira-integration", "1", ], + [ + "githubAction", + "golangci/golangci-lint-action", + "1", + ], [ "githubAction", "google-github-actions/auth", diff --git a/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap b/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap index 39b7008f..5a7c3bb3 100644 --- a/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap +++ b/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap @@ -503,6 +503,11 @@ exports[`golang (lockfile) > should match everything 2`] = ` "github.com/go-telegram-bot-api/telegram-bot-api/v5", "v1.0.0", ], + [ + "golang", + "github.com/golangci/golangci-lint", + "v1.0.0", + ], [ "golang", "github.com/hashicorp/terraform-plugin-sdk/v2", diff --git a/src/rules/tool/golangcilint.ts b/src/rules/tool/golangcilint.ts new file mode 100644 index 00000000..74f22c38 --- /dev/null +++ b/src/rules/tool/golangcilint.ts @@ -0,0 +1,13 @@ +import { register } from '../../register.js'; + +register({ + tech: 'golangcilint', + name: 'GolangCI Lint', + type: 'tool', + files: ['.golangcit.yml'], + dependencies: [ + { type: 'golang', name: 'github.com/golangci/golangci-lint' }, + { type: 'githubAction', name: 'golangci/golangci-lint-action' }, + { type: 'docker', name: 'golangci/golangci-lint' }, + ], +}); diff --git a/src/rules/tool/index.ts b/src/rules/tool/index.ts index 0566eda1..df8d476c 100644 --- a/src/rules/tool/index.ts +++ b/src/rules/tool/index.ts @@ -2,6 +2,7 @@ import './ansible.js'; import './apiplatform.js'; import './gitlab.js'; import './goacmelego.js'; +import './golangcilint.js'; import './helm.js'; import './lighthouse.js'; import './mailhog.js'; diff --git a/src/types/techs.ts b/src/types/techs.ts index 7061cc97..e6141e19 100644 --- a/src/types/techs.ts +++ b/src/types/techs.ts @@ -191,6 +191,7 @@ export type AllowedKeys = | 'gitlab' | 'goacmelego' | 'golang' + | 'golangcilint' | 'googleanalytics' | 'grafana' | 'hashicorp_vault'