JSPM

@grafana/grafana-foundation-sdk

10.3.0-cogv0.0.x.1710413060
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9222
  • Score
    100M100P100Q148639F
  • License Apache-2.0

A set of tools, types and libraries for building and manipulating Grafana objects.

Package Exports

  • @grafana/grafana-foundation-sdk/accesspolicy
  • @grafana/grafana-foundation-sdk/alertgroups
  • @grafana/grafana-foundation-sdk/annotationslist
  • @grafana/grafana-foundation-sdk/azuremonitor
  • @grafana/grafana-foundation-sdk/barchart
  • @grafana/grafana-foundation-sdk/bargauge
  • @grafana/grafana-foundation-sdk/candlestick
  • @grafana/grafana-foundation-sdk/canvas
  • @grafana/grafana-foundation-sdk/cloudwatch
  • @grafana/grafana-foundation-sdk/cog
  • @grafana/grafana-foundation-sdk/common
  • @grafana/grafana-foundation-sdk/dashboard
  • @grafana/grafana-foundation-sdk/dashboardlist
  • @grafana/grafana-foundation-sdk/datagrid
  • @grafana/grafana-foundation-sdk/debug
  • @grafana/grafana-foundation-sdk/elasticsearch
  • @grafana/grafana-foundation-sdk/gauge
  • @grafana/grafana-foundation-sdk/geomap
  • @grafana/grafana-foundation-sdk/googlecloudmonitoring
  • @grafana/grafana-foundation-sdk/grafanapyroscope
  • @grafana/grafana-foundation-sdk/heatmap
  • @grafana/grafana-foundation-sdk/histogram
  • @grafana/grafana-foundation-sdk/librarypanel
  • @grafana/grafana-foundation-sdk/logs
  • @grafana/grafana-foundation-sdk/loki
  • @grafana/grafana-foundation-sdk/news
  • @grafana/grafana-foundation-sdk/nodegraph
  • @grafana/grafana-foundation-sdk/parca
  • @grafana/grafana-foundation-sdk/piechart
  • @grafana/grafana-foundation-sdk/preferences
  • @grafana/grafana-foundation-sdk/prometheus
  • @grafana/grafana-foundation-sdk/publicdashboard
  • @grafana/grafana-foundation-sdk/role
  • @grafana/grafana-foundation-sdk/rolebinding
  • @grafana/grafana-foundation-sdk/stat
  • @grafana/grafana-foundation-sdk/statetimeline
  • @grafana/grafana-foundation-sdk/statushistory
  • @grafana/grafana-foundation-sdk/table
  • @grafana/grafana-foundation-sdk/team
  • @grafana/grafana-foundation-sdk/tempo
  • @grafana/grafana-foundation-sdk/testdata
  • @grafana/grafana-foundation-sdk/text
  • @grafana/grafana-foundation-sdk/timeseries
  • @grafana/grafana-foundation-sdk/trend
  • @grafana/grafana-foundation-sdk/xychart

Readme

Grafana Foundation SDK – TypeScript

A set of tools, types and builder libraries for building and manipulating Grafana objects in TypeScript.

â„šī¸ This branch contains types and builders generated for Grafana v10.3.x. Other supported versions of Grafana can be found at this repository's root.

Maturity

The code in this repository should be considered experimental. Documentation is only available alongside the code. It comes with no support, but we are keen to receive feedback on the product and suggestions on how to improve it, though we cannot commit to resolution of any particular issue. No SLAs are available. It is not meant to be used in production environments, and the risks are unknown/high.

Grafana Labs defines experimental features as follows:

Projects and features in the Experimental stage are supported only by the Engineering teams; on-call support is not available. Documentation is either limited or not provided outside of code comments. No SLA is provided.

Experimental projects or features are primarily intended for open source engineers who want to participate in ensuring systems stability, and to gain consensus and approval for open source governance projects.

Projects and features in the Experimental phase are not meant to be used in production environments, and the risks are unknown/high.

Installing

yarn add '@grafana/grafana-foundation-sdk@~10.3.0-cogv0.0.x.1710413060'

Example usage

import { DashboardBuilder, RowBuilder } from '@grafana/grafana-foundation-sdk/dashboard';
import { DataqueryBuilder } from '@grafana/grafana-foundation-sdk/prometheus';
import { PanelBuilder } from '@grafana/grafana-foundation-sdk/timeseries';

const builder = new DashboardBuilder('[TEST] Node Exporter / Raspberry')
  .uid('test-dashboard-raspberry')
  .tags(['generated', 'raspberrypi-node-integration'])

  .refresh('1m')
  .time({from: 'now-30m', to: 'now'})
  .timezone('browser')

  .withRow(new RowBuilder('Overview'))
  .withPanel(
    new PanelBuilder()
      .title('Network Received')
      .unit('bps')
      .min(0)
      .withTarget(
        new DataqueryBuilder()
          .expr('rate(node_network_receive_bytes_total{job="integrations/raspberrypi-node", device!="lo"}[$__rate_interval]) * 8')
          .legendFormat("{{ device }}")
      )
  )
;

console.log(JSON.stringify(builder.build(), null, 2));

License

Apache 2.0 License