grafana/packages/grafana-ui
Hugo Häggmark db48ec1f08
Explore: Adds Live option for supported datasources (#17062)
* Wip: Initial commit

* Refactor: Adds support in Loki datasource for streaming

* Refactor: Adds Live option to RefreshInterval

* Refactor: Adds styles to logrows

* Style: Reverses the order of Explore layout on Live

* Refactor: Adds LiveLogs component

* Tests: Adds tests for epics

* Style: Adds animation to Live in RefreshPicker

* Refactor: Adds ElapsedTime and progress line to LiveLogs

* Style: Adds specific colors to each theme

* Refactor: Adds support for Lokis new API

* Fix: Adds null to resulting empty array

* Refactor: Limits the rate of incoming messages from websockets

* Refactor: Throttles messages instead for simplicity

* Refactor: Optimizes row processing performance

* Refactor: Adds stop live button

* Fix: Fixes so that RefreshPicker shows the correct value when called programmatically

* Refactor: Merges with master and removes a console.log

* Refactor: Sorts rows in correct order and fixes minor UI issues

* Refactor: Adds minor improvments to sorting and container size
2019-05-20 13:28:23 +02:00
..
.storybook Feature: Migrate Legend components to grafana/ui (#16468) 2019-04-24 10:14:18 +02:00
src Explore: Adds Live option for supported datasources (#17062) 2019-05-20 13:28:23 +02:00
CHANGELOG.md grafana/ui 6.0.0-alpha.0 release version bump 2019-02-22 11:30:45 +01:00
index.js Implemented scripts for building and releasing grafana/ui 2019-02-21 15:06:29 +01:00
package.json Chore: Update grafana-ui version to 6.2.0-alpha.0 (#17109) 2019-05-16 16:39:50 +02:00
README.md @grafana/ui - release docs v1 (#15835) 2019-03-08 14:42:19 +01:00
rollup.config.ts Build: fix failing grafana/ui build (#16913) 2019-05-07 09:07:54 +02:00
tsconfig.build.json Implemented scripts for building and releasing grafana/ui 2019-02-21 15:06:29 +01:00
tsconfig.json Implemented scripts for building and releasing grafana/ui 2019-02-21 15:06:29 +01:00
tslint.json Chore: Replaces moment with Grafanas DateTime (#16919) 2019-05-08 13:51:44 +02:00

Grafana UI components library

@grafana/ui is a collection of components used by Grafana

Our goal is to deliver Grafana's common UI elements for plugins developers and contributors.

See package source for more details.

Installation

yarn add @grafana/ui

npm install @grafana/ui

Development

For development purposes we suggest using yarn link that will create symlink to @grafana/ui lib. To do so navigate to packages/grafana-ui and run yarn link. Then, navigate to your project and run yarn link @grafana/ui to use the linked version of the lib. To unlink follow the same procedure, but use yarn unlink instead.

Building @grafana/ui

To build @grafana/ui run npm run gui:build script from Grafana repository root. The build will be created in packages/grafana-ui/dist directory. Following steps from Development you can test built package.

Releasing new version

To release new version run npm run gui:release script from Grafana repository root. The script will prepare the distribution package as well as prompt you to bump library version and publish it to the NPM registry.

Automatic version bump

When running npm run gui:release package.json file will be automatically updated. Also, package.json file will be commited and pushed to upstream branch.

Manual version bump

To use package.json defined version run npm run gui:release --usePackageJsonVersion from Grafana repository root.

Preparing release package without publishing to NPM registry

For testing purposes there is npm run gui:releasePrepare task that prepares distribution package without publishing it to the NPM registry.

V1 release process overview

  1. Package is compiled with TSC. Typings are created in /dist directory, and the compiled js lands in /compiled dir
  2. Rollup creates a CommonJS package based on compiled sources, and outputs it to /dist directory
  3. Readme, changelog and index.js files are moved to /dist directory
  4. Package version is bumped in both @grafana/ui package dir and in dist directory.
  5. Version commit is created and pushed to master branch
  6. Package is published to npm

Versioning

To limit the confusion related to @grafana/ui and Grafana versioning we decided to keep the major version in sync between those two. This means, that first version of @grafana/ui is taged with 6.0.0-alpha.0 to keep version in sync with Grafana 6.0 release.