@vizzly/dashboard 0.15.0-dev-bc6f8543474a2b6449f75c417595b4e1144c9d0a → 0.15.0-dev-4beae8623ea0574c0fe50b5f3fd0ef2ec64b955a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,7 @@ var isEmpty$2 = _interopDefault(require('lodash/isEmpty'));
10
10
  var _ = require('lodash');
11
11
  var ___default = _interopDefault(_);
12
12
  var semanticLayerPublic = require('@vizzly/semantic-layer-public');
13
+ var pino = _interopDefault(require('pino'));
13
14
  var moment = _interopDefault(require('moment-timezone'));
14
15
  var Joi = _interopDefault(require('@vizzly/joi'));
15
16
  var uuid = require('uuid');
@@ -773,6 +774,43 @@ var snakeCaseToHumanReadable = function snakeCaseToHumanReadable(str) {
773
774
  return capitalise(_replaceAll(str, '_', ' '));
774
775
  };
775
776
 
777
+ var enableBrowserLogging = function enableBrowserLogging() {
778
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') return true;
779
+ return false;
780
+ };
781
+ var getOptions = function getOptions() {
782
+ if (enableBrowserLogging()) {
783
+ return {
784
+ browser: {
785
+ asObject: true
786
+ }
787
+ };
788
+ } else {
789
+ var _process$env, _process$env2, _process$env3, _process$env4;
790
+ var otelExporter = (_process$env = process.env) == null ? void 0 : _process$env['OTEL_EXPORTER_OTLP_ENDPOINT'];
791
+ var otelLogsExporter = (_process$env2 = process.env) == null ? void 0 : _process$env2['OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'];
792
+ var enableTerminalLogging = !!((_process$env3 = process.env) != null && _process$env3['TERMINAL_LOGGING']);
793
+ var enableOTEL = !!otelExporter || !!otelLogsExporter;
794
+ var logLevel = ((_process$env4 = process.env) == null ? void 0 : _process$env4['LOG_LEVEL']) || 'info';
795
+ var targets = [];
796
+ if (!!process.stdout.isTTY || !enableOTEL || !!enableTerminalLogging) {
797
+ targets.push({
798
+ target: 'pino-pretty',
799
+ level: logLevel,
800
+ customPrettifiers: {},
801
+ options: {
802
+ colorize: true,
803
+ singleLine: false
804
+ }
805
+ });
806
+ }
807
+ return pino.transport({
808
+ targets: targets
809
+ });
810
+ }
811
+ };
812
+ var logger = /*#__PURE__*/pino( /*#__PURE__*/getOptions());
813
+
776
814
  var LOG_LEVELS = ['debug', 'info', 'warning', 'error', 'properties'];
777
815
 
778
816
  // Singleton.
@@ -807,46 +845,66 @@ var shouldLog = function shouldLog(level) {
807
845
  });
808
846
  return currentLogLevelIndex <= logLevelIndex;
809
847
  };
810
- var format = function format(value) {
811
- if (value instanceof Error) return value;
812
- if (_.isObject(value)) return JSON.stringify(value);
813
- if (_.isArray(value)) return JSON.stringify(value);
814
- return value;
815
- };
816
848
  var logDebug = function logDebug() {
817
- var _console;
818
849
  for (var _len = arguments.length, message = new Array(_len), _key = 0; _key < _len; _key++) {
819
850
  message[_key] = arguments[_key];
820
851
  }
821
852
  // Actually log as info because then it shows in browsers without making another change...
822
- if (shouldLog('debug')) (_console = console).info.apply(_console, ["[VIZZLY DEBUG]"].concat(message.map(format)));
853
+ if (shouldLog('debug')) logger.info.apply(logger, parseToPino("[VIZZLY DEBUG]", message));
823
854
  };
824
855
  var logInfo = function logInfo() {
825
- var _console2;
826
856
  for (var _len2 = arguments.length, message = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
827
857
  message[_key2] = arguments[_key2];
828
858
  }
829
- if (shouldLog('info')) (_console2 = console).info.apply(_console2, ["[VIZZLY INFO]"].concat(message.map(format)));
859
+ if (shouldLog('info')) logger.info.apply(logger, parseToPino("[VIZZLY INFO]", message));
830
860
  };
831
861
  var logProperties = function logProperties() {
832
862
  for (var _len3 = arguments.length, message = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
833
863
  message[_key3] = arguments[_key3];
834
864
  }
835
- if (shouldLog('properties')) console.info("[VIZZLY Dashboard Properties]", message);
865
+ if (shouldLog('properties')) logger.info.apply(logger, parseToPino("[VIZZLY Dashboard Properties]", message));
836
866
  };
837
867
  var logWarning = function logWarning() {
838
- var _console3;
839
868
  for (var _len4 = arguments.length, message = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
840
869
  message[_key4] = arguments[_key4];
841
870
  }
842
- if (shouldLog('warning')) (_console3 = console).warn.apply(_console3, ["[VIZZLY WARNING]"].concat(message.map(format)));
871
+ if (shouldLog('warning')) logger.warn.apply(logger, parseToPino("[VIZZLY WARNING]", message));
843
872
  };
844
873
  var logError = function logError() {
845
- var _console4;
846
874
  for (var _len5 = arguments.length, message = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
847
875
  message[_key5] = arguments[_key5];
848
876
  }
849
- if (shouldLog('error')) (_console4 = console).error.apply(_console4, ["[VIZZLY ERROR]"].concat(message.map(format)));
877
+ if (shouldLog('error')) logger.error.apply(logger, parseToPino("[VIZZLY ERROR]", message));
878
+ };
879
+ var parseToPino = function parseToPino(prefix, args) {
880
+ var inputs = _.isArray(args) ? args : [args];
881
+ var err;
882
+ var parts = [];
883
+ for (var _iterator = _createForOfIteratorHelperLoose(inputs), _step; !(_step = _iterator()).done;) {
884
+ var val = _step.value;
885
+ if (!err && val instanceof Error) {
886
+ err = val;
887
+ continue;
888
+ }
889
+ if (_.isObject(val) || _.isArray(val)) {
890
+ parts.push(JSON.stringify(val));
891
+ } else if (val !== undefined && val !== null) {
892
+ parts.push(String(val));
893
+ }
894
+ }
895
+ var msg = parts.length ? prefix + " " + parts.join(' ') : prefix;
896
+ return err ? [err, msg] : [msg];
897
+ };
898
+ var wrapCallbackInDebugLog = function wrapCallbackInDebugLog(name, fn) {
899
+ if (fn === undefined) return undefined;
900
+ return function () {
901
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
902
+ args[_key6] = arguments[_key6];
903
+ }
904
+ var result = fn.apply(void 0, args);
905
+ logDebug("Function " + name + " called with", args, 'and returned', result);
906
+ return result;
907
+ };
850
908
  };
851
909
 
852
910
  var NULL_REPLACEMENT = 'No value';
@@ -13026,7 +13084,7 @@ var formatShortDateAndTime = function formatShortDateAndTime(date) {
13026
13084
  });
13027
13085
  return date.toLocaleTimeString(EN_GB_LOCALE, options);
13028
13086
  };
13029
- var format$1 = function format(value, _format) {
13087
+ var format = function format(value, _format) {
13030
13088
  if (_format === 'day_of_month' && (typeof value === 'number' || typeof value === 'string')) {
13031
13089
  return "" + value + numberPostfix(typeof value === 'string' ? parseInt(value) : value);
13032
13090
  }
@@ -13416,7 +13474,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
13416
13474
  noValueReplacement = noValue;
13417
13475
  }
13418
13476
  if (value === null || value === undefined) return noValueReplacement;
13419
- return format$1(value, 'hour_of_day');
13477
+ return format(value, 'hour_of_day');
13420
13478
  }
13421
13479
  },
13422
13480
  _vizzly_month_of_year: {
@@ -13426,7 +13484,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
13426
13484
  noValueReplacement = noValue;
13427
13485
  }
13428
13486
  if (value === null || value === undefined) return noValueReplacement;
13429
- return format$1(value, 'month_of_year');
13487
+ return format(value, 'month_of_year');
13430
13488
  }
13431
13489
  },
13432
13490
  _vizzly_day_of_month: {
@@ -13436,7 +13494,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
13436
13494
  noValueReplacement = noValue;
13437
13495
  }
13438
13496
  if (value === null || value === undefined) return noValueReplacement;
13439
- return format$1(value, 'day_of_month');
13497
+ return format(value, 'day_of_month');
13440
13498
  }
13441
13499
  },
13442
13500
  _vizzly_day_of_week_iso: {
@@ -13446,7 +13504,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
13446
13504
  noValueReplacement = noValue;
13447
13505
  }
13448
13506
  if (value === null || value === undefined) return noValueReplacement;
13449
- return format$1(value, 'day_of_week_iso');
13507
+ return format(value, 'day_of_week_iso');
13450
13508
  }
13451
13509
  },
13452
13510
  _vizzly_week_of_year: {
@@ -13456,7 +13514,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
13456
13514
  noValueReplacement = noValue;
13457
13515
  }
13458
13516
  if (value === null || value === undefined) return noValueReplacement;
13459
- return format$1(value, 'week_of_year');
13517
+ return format(value, 'week_of_year');
13460
13518
  }
13461
13519
  }
13462
13520
  };
@@ -13828,7 +13886,7 @@ function formattedFallbackDateTime(value) {
13828
13886
  var formattedDate;
13829
13887
  try {
13830
13888
  // Attempt to format using your custom DateTime functions
13831
- formattedDate = format$1(date, 'DD MMMM YYYY, hh:mm') || '';
13889
+ formattedDate = format(date, 'DD MMMM YYYY, hh:mm') || '';
13832
13890
  if (!formattedDate) throw new Error('Invalid format');
13833
13891
  } catch (e) {
13834
13892
  // Fallback to native Date handling if custom format fails
@@ -16181,119 +16239,119 @@ var defaultDateTimeFormatOptions = {
16181
16239
  hour_of_day: {
16182
16240
  description: 'Hour of the day',
16183
16241
  formatter: function formatter(date) {
16184
- return format$1(date, 'hour_of_day');
16242
+ return format(date, 'hour_of_day');
16185
16243
  }
16186
16244
  },
16187
16245
  /** @deprecated - moved to number formatting option */
16188
16246
  month_of_year: {
16189
16247
  description: 'Month of the year',
16190
16248
  formatter: function formatter(date) {
16191
- return format$1(date, 'month_of_year');
16249
+ return format(date, 'month_of_year');
16192
16250
  }
16193
16251
  },
16194
16252
  /** @deprecated - moved to number formatting option */
16195
16253
  day_of_month: {
16196
16254
  description: 'Day of month',
16197
16255
  formatter: function formatter(date) {
16198
- return format$1(date, 'day_of_month');
16256
+ return format(date, 'day_of_month');
16199
16257
  }
16200
16258
  },
16201
16259
  /** @deprecated - moved to number formatting option */
16202
16260
  day_of_week_iso: {
16203
16261
  description: 'Day of week',
16204
16262
  formatter: function formatter(date) {
16205
- return format$1(date, 'day_of_week_iso');
16263
+ return format(date, 'day_of_week_iso');
16206
16264
  }
16207
16265
  },
16208
16266
  /** @deprecated - moved to number formatting option */
16209
16267
  week_of_year: {
16210
16268
  description: 'Week of year',
16211
16269
  formatter: function formatter(date) {
16212
- return format$1(date, 'week_of_year');
16270
+ return format(date, 'week_of_year');
16213
16271
  }
16214
16272
  },
16215
16273
  'DD/MM/YYYY': {
16216
16274
  description: 'DD/MM/YYYY',
16217
16275
  formatter: function formatter(date) {
16218
- return format$1(date, 'DD/MM/YYYY');
16276
+ return format(date, 'DD/MM/YYYY');
16219
16277
  }
16220
16278
  },
16221
16279
  'MM/DD/YYYY': {
16222
16280
  description: 'MM/DD/YYYY',
16223
16281
  formatter: function formatter(date) {
16224
- return format$1(date, 'MM/DD/YYYY');
16282
+ return format(date, 'MM/DD/YYYY');
16225
16283
  }
16226
16284
  },
16227
16285
  'DD-MM-YYYY': {
16228
16286
  description: 'DD-MM-YYYY',
16229
16287
  formatter: function formatter(date) {
16230
- return format$1(date, 'DD-MM-YYYY');
16288
+ return format(date, 'DD-MM-YYYY');
16231
16289
  }
16232
16290
  },
16233
16291
  'MM-DD-YYYY': {
16234
16292
  description: 'MM-DD-YYYY',
16235
16293
  formatter: function formatter(date) {
16236
- return format$1(date, 'MM-DD-YYYY');
16294
+ return format(date, 'MM-DD-YYYY');
16237
16295
  }
16238
16296
  },
16239
16297
  'DD MMMM YYYY, hh:mm': {
16240
16298
  description: 'DD MMMM YYYY, hh:mm',
16241
16299
  formatter: function formatter(date) {
16242
- return format$1(date, 'DD MMMM YYYY, hh:mm');
16300
+ return format(date, 'DD MMMM YYYY, hh:mm');
16243
16301
  }
16244
16302
  },
16245
16303
  'dddd DD MMMM YYYY, hh:mm': {
16246
16304
  description: 'dddd DD MMMM YYYY, hh:mm',
16247
16305
  formatter: function formatter(date) {
16248
- return format$1(date, 'dddd DD MMMM YYYY, hh:mm');
16306
+ return format(date, 'dddd DD MMMM YYYY, hh:mm');
16249
16307
  }
16250
16308
  },
16251
16309
  'hh:mm': {
16252
16310
  description: 'hh:mm',
16253
16311
  formatter: function formatter(date) {
16254
- return format$1(date, 'hh:mm');
16312
+ return format(date, 'hh:mm');
16255
16313
  }
16256
16314
  },
16257
16315
  'hh:mm:ss': {
16258
16316
  description: 'hh:mm:ss',
16259
16317
  formatter: function formatter(date) {
16260
- return format$1(date, 'hh:mm:ss');
16318
+ return format(date, 'hh:mm:ss');
16261
16319
  }
16262
16320
  },
16263
16321
  'DD MMMM YYYY': {
16264
16322
  description: 'DD MMMM YYYY',
16265
16323
  formatter: function formatter(date) {
16266
- return format$1(date, 'DD MMMM YYYY');
16324
+ return format(date, 'DD MMMM YYYY');
16267
16325
  }
16268
16326
  },
16269
16327
  'MMMM YYYY': {
16270
16328
  description: 'MMMM YYYY',
16271
16329
  formatter: function formatter(date) {
16272
- return format$1(date, 'MMMM YYYY');
16330
+ return format(date, 'MMMM YYYY');
16273
16331
  }
16274
16332
  },
16275
16333
  YYYY: {
16276
16334
  description: 'YYYY',
16277
16335
  formatter: function formatter(date) {
16278
- return format$1(date, 'YYYY');
16336
+ return format(date, 'YYYY');
16279
16337
  }
16280
16338
  },
16281
16339
  'YYYY-MM-DD[T]HH:mm:ss': {
16282
16340
  description: 'YYYY-MM-DD[T]HH:mm:ss',
16283
16341
  formatter: function formatter(date) {
16284
- return format$1(date, 'YYYY-MM-DD[T]HH:mm:ss');
16342
+ return format(date, 'YYYY-MM-DD[T]HH:mm:ss');
16285
16343
  }
16286
16344
  },
16287
16345
  quarter: {
16288
16346
  description: 'Quarter',
16289
16347
  formatter: function formatter(date) {
16290
- return format$1(date, 'quarter');
16348
+ return format(date, 'quarter');
16291
16349
  }
16292
16350
  },
16293
16351
  week: {
16294
16352
  description: 'Week',
16295
16353
  formatter: function formatter(date) {
16296
- return format$1(date, 'week');
16354
+ return format(date, 'week');
16297
16355
  }
16298
16356
  }
16299
16357
  };
@@ -28765,7 +28823,7 @@ function DateFilter(props) {
28765
28823
  gap: "0.25rem",
28766
28824
  children: [jsxRuntime.jsxs(Flex, {
28767
28825
  children: [dateType === DateType.Fixed && jsxRuntime.jsx(DateTimeInput, {
28768
- value: value ? format$1(new Date(value), 'YYYY-MM-DD[T]HH:mm:ss') : undefined,
28826
+ value: value ? format(new Date(value), 'YYYY-MM-DD[T]HH:mm:ss') : undefined,
28769
28827
  onChange: function onChange(date) {
28770
28828
  var value = date ? date.toISOString() : null;
28771
28829
  setFilter({
@@ -69144,7 +69202,7 @@ function available(dashboard) {
69144
69202
  return Array.from(tagSet);
69145
69203
  }
69146
69204
 
69147
- function getOptions(allAvailableTags) {
69205
+ function getOptions$1(allAvailableTags) {
69148
69206
  var seenKeys = new Set();
69149
69207
  var tagOptions = [];
69150
69208
  allAvailableTags.forEach(function (tag) {
@@ -69181,7 +69239,7 @@ var TagsForm = function TagsForm(props) {
69181
69239
  dashboard = _useDashboardContext.dashboard;
69182
69240
  var allAvailableTags = available(dashboard);
69183
69241
  var getTagOptions = function getTagOptions() {
69184
- return getOptions(allAvailableTags);
69242
+ return getOptions$1(allAvailableTags);
69185
69243
  };
69186
69244
  var selectedTags = function selectedTags() {
69187
69245
  var options = getTagOptions();
@@ -81256,7 +81314,7 @@ var GlobalProviderContents = function GlobalProviderContents(props) {
81256
81314
  maxCSVDownloadLimit: props.maxCSVDownloadLimit,
81257
81315
  textOverrides: props.textOverrides,
81258
81316
  developerTools: props.developerTools,
81259
- dashboardFilters: props.dashboardFilters,
81317
+ dashboardFilters: wrapCallbackInDebugLog('dashboardFilters', props.dashboardFilters),
81260
81318
  onDashboardFilterChange: props.onDashboardFilterChange,
81261
81319
  onSave: onSave,
81262
81320
  onOpenConfigManagerUi: canOpenConfigManagerUi ? onOpenConfigManagerUi : undefined,