{{ $productPathData := findRE "[^/]+.*?" .RelPermalink }} {{ $product := index $productPathData 0 }} {{ $currentVersion := index $productPathData 1 }} {{ $cloudUrls := slice }} {{- range .Site.Data.influxdb_urls.cloud.providers }} {{- range .regions }} {{ $cloudUrls = $cloudUrls | append (safeHTML .url) }} {{ end -}} {{ end -}} {{ $products := .Site.Data.products }} {{ $influxdb_urls := .Site.Data.influxdb_urls }} {{ $isDevelopmentOrTesting := or (eq .Site.Params.environment "development") (eq .Site.Params.environment "testing") (eq (getenv "HUGO_ENV") "development") (eq (getenv "HUGO_ENV") "testing") (not hugo.IsProduction) }} {{ if $isDevelopmentOrTesting }} {{/* Load individual JS files for debugging with ESM format */}} {{ $sharedParams := dict "product" $product "currentVersion" $currentVersion "isServer" hugo.IsServer "products" $products "influxdb_urls" $influxdb_urls "cloudUrls" $cloudUrls }} {{/* Load main.js first to ensure proper initialization */}} {{ $mainJS := resources.Get "js/main.js" }} {{ if $mainJS }} {{ $opts := dict "minify" false "sourceMap" "external" "targetPath" "js/main.js" "params" $sharedParams "format" "esm" "external" (slice "*") "define" (dict "process.env.NODE_ENV" "\"development\"" ) "splitting" false "bundle" true }} {{ $processed := $mainJS | js.Build $opts }} {{ if $processed }} {{ end }} {{ end }} {{/* Load other individual JS files for debugging with error handling */}} {{ $jsDir := "assets/js" }} {{ if fileExists $jsDir }} {{ range $file := (readDir $jsDir) }} {{ if and (strings.HasSuffix $file.Name ".js") (ne $file.Name "main.js") }} {{ $jsPath := printf "js/%s" $file.Name }} {{ $jsResource := resources.Get $jsPath }} {{ if $jsResource }} {{ $opts := dict "minify" false "sourceMap" "external" "targetPath" $jsPath "params" $sharedParams "format" "esm" "external" (slice "*") "define" (dict "process.env.NODE_ENV" "\"development\"" ) "splitting" false "bundle" true }} {{ $processed := $jsResource | js.Build $opts }} {{ if $processed }} {{ end }} {{ end }} {{ end }} {{ end }} {{ end }} {{ else }} {{/* Production environment: Use IIFE for better compatibility */}} {{ $mainJS := resources.Get "js/main.js" }} {{ if $mainJS }} {{ $sharedParams := dict "product" $product "currentVersion" $currentVersion "isServer" hugo.IsServer "products" $products "influxdb_urls" $influxdb_urls "cloudUrls" $cloudUrls }} {{ $opts := dict "minify" hugo.IsProduction "sourceMap" "" "targetPath" "js/main.js" "params" $sharedParams "format" "iife" "splitting" false "external" (slice "*") "define" (dict "process.env.NODE_ENV" "\"production\"" ) }} {{ $processed := "" }} {{ with $mainJS }} {{ $processed = . | js.Build $opts }} {{ end }} {{ if $processed }} {{ if hugo.IsProduction }} {{ $fingerprinted := $processed | fingerprint }} {{ if $fingerprinted }} {{ end }} {{ else }} {{ end }} {{ end }} {{ end }} {{ end }}