From 092b49487dd7c9dd4799b1b2a91e5f6a44ee87c6 Mon Sep 17 00:00:00 2001 From: Kevin Franklin Kim Date: Tue, 11 Mar 2025 14:55:49 +0100 Subject: [PATCH] feat: go 1.24.1 & add directory --- cmd/provision/server.go | 16 ++++++++-------- cmd/provision/web.go | 14 +++++++------- cmd/typescript.go | 2 +- go.mod | 7 +++---- go.sum | 6 ++---- pkg/provider/cookiebot/web.go | 4 +++- pkg/provider/criteo/server.go | 5 +++-- pkg/provider/criteo/web.go | 3 ++- pkg/provider/emarsys/server.go | 5 +++-- pkg/provider/emarsys/web.go | 6 ++++-- pkg/provider/facebook/server.go | 5 +++-- pkg/provider/googleads/server.go | 5 +++-- pkg/provider/googleanalytics/server.go | 6 ++++-- pkg/provider/googleanalytics/web.go | 6 ++++-- pkg/provider/googletag/web.go | 8 +++++--- pkg/provider/googletagmanager/web.go | 4 +++- pkg/provider/hotjar/web.go | 4 +++- pkg/provider/microsoftads/server.go | 5 +++-- pkg/provider/tracify/server.go | 5 +++-- pkg/provider/umami/server.go | 6 ++++-- pkg/typescript/generator/generate_test.go | 2 +- pkg/utils/contemplate.go | 5 +++-- 22 files changed, 75 insertions(+), 54 deletions(-) diff --git a/cmd/provision/server.go b/cmd/provision/server.go index da7a7fb..90f44b0 100644 --- a/cmd/provision/server.go +++ b/cmd/provision/server.go @@ -65,7 +65,7 @@ func NewServer(root *cobra.Command) { if cfg.GoogleAnalytics.Enabled && pkgcmd.Tag(googleanalyticsprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", googleanalyticsprovider.Name, "tag", googleanalyticsprovider.Tag) - if err := googleanalyticsprovider.Server(tm, cfg.GoogleAnalytics, cfg.RedactVisitorIP, cfg.EnableGeoResolution); err != nil { + if err := googleanalyticsprovider.Server(cmd.Context(), tm, cfg.GoogleAnalytics, cfg.RedactVisitorIP, cfg.EnableGeoResolution); err != nil { return errors.Wrap(err, "failed to provision google analytics") } } @@ -79,49 +79,49 @@ func NewServer(root *cobra.Command) { if cfg.Umami.Enabled && pkgcmd.Tag(umamiprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", umamiprovider.Name, "tag", umamiprovider.Tag) - if err := umamiprovider.Server(tm, cfg.Umami); err != nil { + if err := umamiprovider.Server(cmd.Context(), tm, cfg.Umami); err != nil { return errors.Wrap(err, "failed to provision umami") } } if cfg.Facebook.Enabled && pkgcmd.Tag(facebookprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", facebookprovider.Name, "tag", facebookprovider.Tag) - if err := facebookprovider.Server(l, tm, cfg.Facebook); err != nil { + if err := facebookprovider.Server(cmd.Context(), l, tm, cfg.Facebook); err != nil { return errors.Wrap(err, "failed to provision facebook") } } if cfg.GoogleAds.Enabled && pkgcmd.Tag(googleadsprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", googleadsprovider.Name, "tag", googleadsprovider.Tag) - if err := googleadsprovider.Server(l, tm, cfg.GoogleAds); err != nil { + if err := googleadsprovider.Server(cmd.Context(), l, tm, cfg.GoogleAds); err != nil { return errors.Wrap(err, "failed to provision google ads") } } if cfg.Emarsys.Enabled && pkgcmd.Tag(emarsysprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", emarsysprovider.Name, "tag", emarsysprovider.Tag) - if err := emarsysprovider.Server(l, tm, cfg.Emarsys); err != nil { + if err := emarsysprovider.Server(cmd.Context(), l, tm, cfg.Emarsys); err != nil { return errors.Wrap(err, "failed to provision emarsys") } } if cfg.Tracify.Enabled && pkgcmd.Tag(tracifyprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", tracifyprovider.Name, "tag", tracifyprovider.Tag) - if err := tracifyprovider.Server(l, tm, cfg.Tracify); err != nil { + if err := tracifyprovider.Server(cmd.Context(), l, tm, cfg.Tracify); err != nil { return errors.Wrap(err, "failed to provision tracify") } } if cfg.Criteo.Enabled && pkgcmd.Tag(criteoprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", criteoprovider.Name, "tag", criteoprovider.Tag) - if err := criteoprovider.Server(l, tm, cfg.Criteo); err != nil { + if err := criteoprovider.Server(cmd.Context(), l, tm, cfg.Criteo); err != nil { return errors.Wrap(err, "failed to provision criteo") } } if cfg.MicrosoftAds.Enabled && pkgcmd.Tag(microsoftadsprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", microsoftadsprovider.Name, "tag", microsoftadsprovider.Tag) - if err := microsoftadsprovider.Server(l, tm, cfg.MicrosoftAds); err != nil { + if err := microsoftadsprovider.Server(cmd.Context(), l, tm, cfg.MicrosoftAds); err != nil { return errors.Wrap(err, "failed to provision microsoftads") } } diff --git a/cmd/provision/web.go b/cmd/provision/web.go index be858b6..dd724e5 100644 --- a/cmd/provision/web.go +++ b/cmd/provision/web.go @@ -49,48 +49,48 @@ func NewWeb(root *cobra.Command) { if pkgcmd.Tag(googletagprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", googletagprovider.Name, "tag", googletagprovider.Tag) - if err := googletagprovider.Web(tm, cfg.GoogleTag); err != nil { + if err := googletagprovider.Web(cmd.Context(), tm, cfg.GoogleTag); err != nil { return errors.Wrap(err, "failed to provision google tag provider") } } if pkgcmd.Tag(googletagmanagerprovider.Tag, tags) { - if err := googletagmanagerprovider.Web(tm, cfg.GoogleTagManager); err != nil { + if err := googletagmanagerprovider.Web(cmd.Context(), tm, cfg.GoogleTagManager); err != nil { return errors.Wrap(err, "failed to provision google tag manager") } } if cfg.GoogleAnalytics.Enabled && pkgcmd.Tag(googleanaylticsprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", googleanaylticsprovider.Name, "tag", googleanaylticsprovider.Tag) - if err := googleanaylticsprovider.Web(tm, cfg.GoogleAnalytics); err != nil { + if err := googleanaylticsprovider.Web(cmd.Context(), tm, cfg.GoogleAnalytics); err != nil { return errors.Wrap(err, "failed to provision google analytics provider") } } if cfg.Emarsys.Enabled && pkgcmd.Tag(emarsysprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", emarsysprovider.Name, "tag", emarsysprovider.Tag) - if err := emarsysprovider.Web(tm, cfg.Emarsys); err != nil { + if err := emarsysprovider.Web(cmd.Context(), tm, cfg.Emarsys); err != nil { return errors.Wrap(err, "failed to provision emarsys provider") } } if cfg.Hotjar.Enabled && pkgcmd.Tag(hotjarprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", hotjarprovider.Name, "tag", hotjarprovider.Tag) - if err := hotjarprovider.Web(tm, cfg.Hotjar); err != nil { + if err := hotjarprovider.Web(cmd.Context(), tm, cfg.Hotjar); err != nil { return errors.Wrap(err, "failed to provision hotjar provider") } } if cfg.Criteo.Enabled && pkgcmd.Tag(criteoprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", criteoprovider.Name, "tag", criteoprovider.Tag) - if err := criteoprovider.Web(l, tm, cfg.Criteo); err != nil { + if err := criteoprovider.Web(cmd.Context(), l, tm, cfg.Criteo); err != nil { return errors.Wrap(err, "failed to provision criteo provider") } } if cfg.Cookiebot.Enabled && pkgcmd.Tag(cookiebotprovider.Tag, tags) { l.Info("🅿️ Running provider", "name", cookiebotprovider.Name, "tag", cookiebotprovider.Tag) - if err := cookiebotprovider.Web(tm, cfg.Cookiebot); err != nil { + if err := cookiebotprovider.Web(cmd.Context(), tm, cfg.Cookiebot); err != nil { return errors.Wrap(err, "failed to provision cookiebot provider") } } diff --git a/cmd/typescript.go b/cmd/typescript.go index 5ced2ca..3bd0d98 100644 --- a/cmd/typescript.go +++ b/cmd/typescript.go @@ -27,7 +27,7 @@ func NewTypeScript(root *cobra.Command) *cobra.Command { return err } - ctpl, err := contemplate.Load(&cfg.GoogleTag.TypeScript.Config) + ctpl, err := contemplate.Load(cmd.Context(), &cfg.GoogleTag.TypeScript.Config) if err != nil { return err } diff --git a/go.mod b/go.mod index af96a1a..6a14dca 100644 --- a/go.mod +++ b/go.mod @@ -1,17 +1,16 @@ module github.com/foomo/sesamy-cli -go 1.24.0 +go 1.24.1 require ( github.com/alecthomas/chroma v0.10.0 github.com/fatih/structtag v1.2.0 github.com/foomo/go v0.0.3 - github.com/foomo/gocontemplate v0.1.4 + github.com/foomo/gocontemplate v0.1.5-0.20250311112556-59522235bcc6 github.com/foomo/sesamy-go v0.8.1 github.com/invopop/jsonschema v0.13.0 github.com/itchyny/json2yaml v0.1.4 github.com/joho/godotenv v1.5.1 - github.com/mitchellh/hashstructure/v2 v2.0.2 github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 github.com/pkg/errors v0.9.1 github.com/pterm/pterm v0.12.80 @@ -20,7 +19,6 @@ require ( github.com/stoewer/go-strcase v1.3.0 github.com/stretchr/testify v1.10.0 github.com/wissance/stringFormatter v1.3.0 - golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa google.golang.org/api v0.222.0 ) @@ -71,6 +69,7 @@ require ( go.opentelemetry.io/otel/trace v1.34.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.33.0 // indirect + golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa // indirect golang.org/x/mod v0.23.0 // indirect golang.org/x/net v0.35.0 // indirect golang.org/x/oauth2 v0.26.0 // indirect diff --git a/go.sum b/go.sum index 0e656be..ee689b3 100644 --- a/go.sum +++ b/go.sum @@ -44,8 +44,8 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/foomo/go v0.0.3 h1:5pGzcPC78dImuBTT7nsZZnH+GIQUylbCtMkFEH26uZk= github.com/foomo/go v0.0.3/go.mod h1:x6g64wiQusqaFElnh5rlk9unCgLKmfUWy0YFLejJxio= -github.com/foomo/gocontemplate v0.1.4 h1:MYSsoltno9pNMU5NwALd7PNSQ1XjN1tpqMGWAhCUETc= -github.com/foomo/gocontemplate v0.1.4/go.mod h1:BH8eODDwlqWhasSl86avbtMN3Zfgt4pWwr8/PBPM5v0= +github.com/foomo/gocontemplate v0.1.5-0.20250311112556-59522235bcc6 h1:jrBMdYBr/7r0oU4LVJ+8nqvRw4FR/W93KFHy2NpB9nY= +github.com/foomo/gocontemplate v0.1.5-0.20250311112556-59522235bcc6/go.mod h1:VOYIvxPPAT7HxrderRexS0EttcT8pyfSRkCMvS8rtxA= github.com/foomo/gostandards v0.2.0 h1:Ryd7TI9yV3Xk5B84DcUDB7KcL3LzQ8NS+TVOrFxTYfA= github.com/foomo/gostandards v0.2.0/go.mod h1:XQx7Ur6vyvxaIe2cQvAthuhPYDe+d2soibqVcXDXOh4= github.com/foomo/sesamy-go v0.8.1 h1:5m1ySZB5gW9Dymz8MFggU8DXs7F1AAcV6WW2ieX9DPI= @@ -106,8 +106,6 @@ github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUt github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= -github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 h1:BpfhmLKZf+SjVanKKhCgf3bg+511DmU9eDQTen7LLbY= github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= diff --git a/pkg/provider/cookiebot/web.go b/pkg/provider/cookiebot/web.go index 0920ed1..c23a6ba 100644 --- a/pkg/provider/cookiebot/web.go +++ b/pkg/provider/cookiebot/web.go @@ -1,13 +1,15 @@ package cookiebot import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" "github.com/foomo/sesamy-cli/pkg/provider/cookiebot/web/tag" "github.com/foomo/sesamy-cli/pkg/tagmanager" "github.com/pkg/errors" ) -func Web(tm *tagmanager.TagManager, cfg config.Cookiebot) error { +func Web(ctx context.Context, tm *tagmanager.TagManager, cfg config.Cookiebot) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err diff --git a/pkg/provider/criteo/server.go b/pkg/provider/criteo/server.go index 202e56e..b07e82c 100644 --- a/pkg/provider/criteo/server.go +++ b/pkg/provider/criteo/server.go @@ -1,6 +1,7 @@ package criteo import ( + "context" "log/slog" "github.com/foomo/sesamy-cli/pkg/config" @@ -14,7 +15,7 @@ import ( "github.com/pkg/errors" ) -func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error { +func Server(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -44,7 +45,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error return err } - eventParameters, err := utils.LoadEventParams(cfg.ServerContainer) + eventParameters, err := utils.LoadEventParams(ctx, cfg.ServerContainer) if err != nil { return err } diff --git a/pkg/provider/criteo/web.go b/pkg/provider/criteo/web.go index ae52c70..67f90f3 100644 --- a/pkg/provider/criteo/web.go +++ b/pkg/provider/criteo/web.go @@ -1,6 +1,7 @@ package criteo import ( + "context" "errors" "log/slog" @@ -10,7 +11,7 @@ import ( commonvariable "github.com/foomo/sesamy-cli/pkg/tagmanager/common/variable" ) -func Web(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error { +func Web(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err diff --git a/pkg/provider/emarsys/server.go b/pkg/provider/emarsys/server.go index d451094..a79716d 100644 --- a/pkg/provider/emarsys/server.go +++ b/pkg/provider/emarsys/server.go @@ -1,6 +1,7 @@ package emarsys import ( + "context" "log/slog" "github.com/foomo/sesamy-cli/pkg/config" @@ -16,7 +17,7 @@ import ( "github.com/pkg/errors" ) -func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Emarsys) error { +func Server(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.Emarsys) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -44,7 +45,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Emarsys) error } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.ServerContainer) + eventParameters, err := utils.LoadEventParams(ctx, cfg.ServerContainer) if err != nil { return err } diff --git a/pkg/provider/emarsys/web.go b/pkg/provider/emarsys/web.go index 171d7f7..3e724cd 100644 --- a/pkg/provider/emarsys/web.go +++ b/pkg/provider/emarsys/web.go @@ -1,6 +1,8 @@ package emarsys import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" "github.com/foomo/sesamy-cli/pkg/provider/emarsys/web/tag" "github.com/foomo/sesamy-cli/pkg/provider/emarsys/web/template" @@ -12,7 +14,7 @@ import ( "github.com/pkg/errors" ) -func Web(tm *tagmanager.TagManager, cfg config.Emarsys) error { +func Web(ctx context.Context, tm *tagmanager.TagManager, cfg config.Emarsys) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -41,7 +43,7 @@ func Web(tm *tagmanager.TagManager, cfg config.Emarsys) error { return err } - eventParameters, err := googletag.CreateWebEventTriggers(tm, cfg.WebContainer) + eventParameters, err := googletag.CreateWebEventTriggers(ctx, tm, cfg.WebContainer) if err != nil { return err } diff --git a/pkg/provider/facebook/server.go b/pkg/provider/facebook/server.go index 0fd9410..40a821e 100644 --- a/pkg/provider/facebook/server.go +++ b/pkg/provider/facebook/server.go @@ -1,6 +1,7 @@ package facebook import ( + "context" "log/slog" "github.com/foomo/sesamy-cli/pkg/config" @@ -14,7 +15,7 @@ import ( "github.com/pkg/errors" ) -func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Facebook) error { +func Server(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.Facebook) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -44,7 +45,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Facebook) erro } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.ServerContainer.Config) + eventParameters, err := utils.LoadEventParams(ctx, cfg.ServerContainer.Config) if err != nil { return err } diff --git a/pkg/provider/googleads/server.go b/pkg/provider/googleads/server.go index d1bd44e..181c2b6 100644 --- a/pkg/provider/googleads/server.go +++ b/pkg/provider/googleads/server.go @@ -1,6 +1,7 @@ package googleads import ( + "context" "log/slog" "github.com/foomo/sesamy-cli/pkg/config" @@ -15,7 +16,7 @@ import ( "github.com/pkg/errors" ) -func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.GoogleAds) error { +func Server(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.GoogleAds) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -39,7 +40,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.GoogleAds) err } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.Conversion.ServerContainer.Config) + eventParameters, err := utils.LoadEventParams(ctx, cfg.Conversion.ServerContainer.Config) if err != nil { return err } diff --git a/pkg/provider/googleanalytics/server.go b/pkg/provider/googleanalytics/server.go index 6a8d1f7..a57066b 100644 --- a/pkg/provider/googleanalytics/server.go +++ b/pkg/provider/googleanalytics/server.go @@ -1,6 +1,8 @@ package googleanalytics import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" googleanalyticsclient "github.com/foomo/sesamy-cli/pkg/provider/googleanalytics/server/client" containertag "github.com/foomo/sesamy-cli/pkg/provider/googleanalytics/server/tag" @@ -20,7 +22,7 @@ import ( api "google.golang.org/api/tagmanager/v2" ) -func Server(tm *tagmanager.TagManager, cfg config.GoogleAnalytics, redactVisitorIP, enableGeoResolution bool) error { +func Server(ctx context.Context, tm *tagmanager.TagManager, cfg config.GoogleAnalytics, redactVisitorIP, enableGeoResolution bool) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -95,7 +97,7 @@ func Server(tm *tagmanager.TagManager, cfg config.GoogleAnalytics, redactVisitor } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.ServerContainer) + eventParameters, err := utils.LoadEventParams(ctx, cfg.ServerContainer) if err != nil { return err } diff --git a/pkg/provider/googleanalytics/web.go b/pkg/provider/googleanalytics/web.go index d7bb4a4..2ad0df7 100644 --- a/pkg/provider/googleanalytics/web.go +++ b/pkg/provider/googleanalytics/web.go @@ -1,6 +1,8 @@ package googleanalytics import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" containertag "github.com/foomo/sesamy-cli/pkg/provider/googleanalytics/web/tag" "github.com/foomo/sesamy-cli/pkg/provider/googletag" @@ -10,7 +12,7 @@ import ( "github.com/pkg/errors" ) -func Web(tm *tagmanager.TagManager, cfg config.GoogleAnalytics) error { +func Web(ctx context.Context, tm *tagmanager.TagManager, cfg config.GoogleAnalytics) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -22,7 +24,7 @@ func Web(tm *tagmanager.TagManager, cfg config.GoogleAnalytics) error { return err } - eventParameters, err := googletag.CreateWebEventTriggers(tm, cfg.WebContainer) + eventParameters, err := googletag.CreateWebEventTriggers(ctx, tm, cfg.WebContainer) if err != nil { return err } diff --git a/pkg/provider/googletag/web.go b/pkg/provider/googletag/web.go index e8973cc..4646ae9 100644 --- a/pkg/provider/googletag/web.go +++ b/pkg/provider/googletag/web.go @@ -1,6 +1,8 @@ package googletag import ( + "context" + "github.com/foomo/gocontemplate/pkg/contemplate" "github.com/foomo/sesamy-cli/pkg/config" webtag "github.com/foomo/sesamy-cli/pkg/provider/googletag/web/tag" @@ -13,7 +15,7 @@ import ( api "google.golang.org/api/tagmanager/v2" ) -func Web(tm *tagmanager.TagManager, cfg config.GoogleTag) error { +func Web(ctx context.Context, tm *tagmanager.TagManager, cfg config.GoogleTag) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -56,13 +58,13 @@ func Web(tm *tagmanager.TagManager, cfg config.GoogleTag) error { return nil } -func CreateWebEventTriggers(tm *tagmanager.TagManager, cfg contemplate.Config) (map[string]map[string]string, error) { +func CreateWebEventTriggers(ctx context.Context, tm *tagmanager.TagManager, cfg contemplate.Config) (map[string]map[string]string, error) { folder, err := tm.LookupFolder("Sesamy - " + Name) if err != nil { return nil, err } - eventParameters, err := utils.LoadEventParams(cfg) + eventParameters, err := utils.LoadEventParams(ctx, cfg) if err != nil { return nil, err } diff --git a/pkg/provider/googletagmanager/web.go b/pkg/provider/googletagmanager/web.go index 308a277..c797b73 100644 --- a/pkg/provider/googletagmanager/web.go +++ b/pkg/provider/googletagmanager/web.go @@ -1,13 +1,15 @@ package googletagmanager import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" "github.com/foomo/sesamy-cli/pkg/tagmanager" commonvariable "github.com/foomo/sesamy-cli/pkg/tagmanager/common/variable" "github.com/foomo/sesamy-cli/pkg/tagmanager/web/variable" ) -func Web(tm *tagmanager.TagManager, cfg config.GoogleTagManager) error { +func Web(ctx context.Context, tm *tagmanager.TagManager, cfg config.GoogleTagManager) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err diff --git a/pkg/provider/hotjar/web.go b/pkg/provider/hotjar/web.go index ebf1096..22ed6a3 100644 --- a/pkg/provider/hotjar/web.go +++ b/pkg/provider/hotjar/web.go @@ -1,13 +1,15 @@ package hotjar import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" client "github.com/foomo/sesamy-cli/pkg/provider/hotjar/web/tag" "github.com/foomo/sesamy-cli/pkg/tagmanager" commonvariable "github.com/foomo/sesamy-cli/pkg/tagmanager/common/variable" ) -func Web(tm *tagmanager.TagManager, cfg config.Hotjar) error { +func Web(ctx context.Context, tm *tagmanager.TagManager, cfg config.Hotjar) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err diff --git a/pkg/provider/microsoftads/server.go b/pkg/provider/microsoftads/server.go index 2fa3c56..a182665 100644 --- a/pkg/provider/microsoftads/server.go +++ b/pkg/provider/microsoftads/server.go @@ -1,6 +1,7 @@ package microsoftads import ( + "context" "log/slog" "github.com/foomo/sesamy-cli/pkg/config" @@ -15,7 +16,7 @@ import ( "github.com/pkg/errors" ) -func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.MicrosoftAds) error { +func Server(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.MicrosoftAds) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -33,7 +34,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.MicrosoftAds) } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.Conversion.ServerContainer.Config) + eventParameters, err := utils.LoadEventParams(ctx, cfg.Conversion.ServerContainer.Config) if err != nil { return err } diff --git a/pkg/provider/tracify/server.go b/pkg/provider/tracify/server.go index 691056a..ae1877f 100644 --- a/pkg/provider/tracify/server.go +++ b/pkg/provider/tracify/server.go @@ -1,6 +1,7 @@ package tracify import ( + "context" "log/slog" "github.com/foomo/sesamy-cli/pkg/config" @@ -15,7 +16,7 @@ import ( "github.com/pkg/errors" ) -func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Tracify) error { +func Server(ctx context.Context, l *slog.Logger, tm *tagmanager.TagManager, cfg config.Tracify) error { folder, err := tm.UpsertFolder("Tracify - " + Name) if err != nil { return err @@ -38,7 +39,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Tracify) error } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.ServerContainer) + eventParameters, err := utils.LoadEventParams(ctx, cfg.ServerContainer) if err != nil { return err } diff --git a/pkg/provider/umami/server.go b/pkg/provider/umami/server.go index 822e42e..b4a838e 100644 --- a/pkg/provider/umami/server.go +++ b/pkg/provider/umami/server.go @@ -1,6 +1,8 @@ package umami import ( + "context" + "github.com/foomo/sesamy-cli/pkg/config" "github.com/foomo/sesamy-cli/pkg/provider/googleconsent" googleconsentvariable "github.com/foomo/sesamy-cli/pkg/provider/googleconsent/server/variable" @@ -12,7 +14,7 @@ import ( "github.com/pkg/errors" ) -func Server(tm *tagmanager.TagManager, cfg config.Umami) error { +func Server(ctx context.Context, tm *tagmanager.TagManager, cfg config.Umami) error { folder, err := tm.UpsertFolder("Sesamy - " + Name) if err != nil { return err @@ -24,7 +26,7 @@ func Server(tm *tagmanager.TagManager, cfg config.Umami) error { } { // create tags - eventParameters, err := utils.LoadEventParams(cfg.ServerContainer) + eventParameters, err := utils.LoadEventParams(ctx, cfg.ServerContainer) if err != nil { return err } diff --git a/pkg/typescript/generator/generate_test.go b/pkg/typescript/generator/generate_test.go index 59e343e..156f95f 100644 --- a/pkg/typescript/generator/generate_test.go +++ b/pkg/typescript/generator/generate_test.go @@ -338,7 +338,7 @@ func TestGenerate(t *testing.T) { }, }, } - ctpl, err := contemplate.Load(cfg) + ctpl, err := contemplate.Load(t.Context(), cfg) require.NoError(t, err) l := slog.New(slog.NewTextHandler(io.Discard, nil)) diff --git a/pkg/utils/contemplate.go b/pkg/utils/contemplate.go index e568eb0..677f170 100644 --- a/pkg/utils/contemplate.go +++ b/pkg/utils/contemplate.go @@ -1,6 +1,7 @@ package utils import ( + "context" "go/types" "github.com/foomo/gocontemplate/pkg/assume" @@ -9,8 +10,8 @@ import ( "github.com/stoewer/go-strcase" ) -func LoadEventParams(cfg contemplate.Config) (map[string]map[string]string, error) { - parser, err := contemplate.Load(&cfg) +func LoadEventParams(ctx context.Context, cfg contemplate.Config) (map[string]map[string]string, error) { + parser, err := contemplate.Load(ctx, &cfg) if err != nil { return nil, err }