config.tsx 1018 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* global process */
  2. /**
  3. * This module is used to define the look and feels for charts rendered via the
  4. * backend chart rendering service Chartcuterie.
  5. *
  6. * Be careful what you import into this file, as it will end up being bundled
  7. * into the configuration file loaded by the service.
  8. */
  9. import * as worldMap from 'app/data/world.json';
  10. import {discoverCharts} from './discover';
  11. import {ChartcuterieConfig, ChartType, RenderConfig, RenderDescriptor} from './types';
  12. /**
  13. * All registered style descriptors
  14. */
  15. const renderConfig: RenderConfig<ChartType> = new Map();
  16. /**
  17. * Chartcuterie configuration object
  18. */
  19. const config: ChartcuterieConfig = {
  20. version: process.env.COMMIT_SHA!,
  21. init: echarts => {
  22. echarts.registerMap('sentryWorld', worldMap);
  23. },
  24. renderConfig,
  25. };
  26. /**
  27. * Register a style descriptor
  28. */
  29. const register = (renderDescriptor: RenderDescriptor<ChartType>) =>
  30. renderConfig.set(renderDescriptor.key, renderDescriptor);
  31. discoverCharts.forEach(register);
  32. export default config;