Files
grafana/packages
Torkel Ödegaard 140ecbcf79 QueryProcessing: Observable query interface and RxJS for query & stream processing (#18899)
* I needed to learn some rxjs and understand this more, so just playing around

* Updated

* Removed all the complete calls

* Refactoring

* StreamHandler -> observable start

* progress

* simple singal works

* Handle update time range

* added error handling

* wrap old function

* minor changes

* handle data format in the subscribe function

* Use replay subject to return last value to subscribers

* Set loading state after no response in 50ms

* added missing file

* updated comment

* Added cancelation of network requests

* runRequest: Added unit test scenario framework

* Progress on tests

* minor refactor of unit tests

* updated test

* removed some old code

* Shared queries work again, and also became so much simplier

* unified query and observe methods

* implict any fix

* Fixed closed subject issue

* removed comment

* Use last returned data for loading state

* WIP: Explore to runRequest makover step1

* Minor progress

* Minor progress on explore and runRequest

* minor progress

* Things are starting to work in explore

* Updated prometheus to use new observable query response, greatly simplified code

* Revert refId change

* Found better solution for key/refId/requestId problem

* use observable with loki

* tests compile

* fix loki query prep

* Explore: correct first response handling

* Refactorings

* Refactoring

* Explore: Fixes LoadingState and GraphResults between runs (#18986)

* Refactor: Adds state to DataQueryResponse

* Fix: Fixes so we do not empty results before new data arrives
Fixes: #17409

* Transformations work

* observable test data

* remove single() from loki promise

* Fixed comment

* Explore: Fixes failing Loki and Prometheus unit tests (#18995)

* Tests: Makes datasource tests work again

* Fix: Fixes loki datasource so highligthing works

* Chore: Runs Prettier

* Fixed query runner tests

* Delay loading state indication to 200ms

* Fixed test

* fixed unit tests

* Clear cached calcs

* Fixed bug getProcesedDataFrames

* Fix the correct test is a better idea

* Fix: Fixes so queries in Explore are only run if Graph/Table is shown (#19000)

* Fix: Fixes so queries in Explore are only run if Graph/Table is shown
Fixes: #18618

* Refactor: Removes unnecessary condition

* PanelData: provide legacy data only when needed  (#19018)

* no legacy

* invert logic... now compiles

* merge getQueryResponseData and getDataRaw

* update comment about query editor

* use single getData() function

* only send legacy when it is used in explore

* pre process rather than post process

* pre process rather than post process

* Minor refactoring

* Add missing tags to test datasource response

* MixedDatasource: Adds query observable pattern to MixedDatasource (#19037)

* start mixed datasource

* Refactor: Refactors into observable parttern

* Tests: Fixes tests

* Tests: Removes console.log

* Refactor: Adds unique requestId
2019-09-12 17:28:46 +02:00
..

Grafana frontend packages

Versioning

We use Lerna for packages versioning and releases

All packages are versioned according to the current Grafana version:

  • Grafana v6.3.0-alpha1 -> @grafana/* packages @ 6.3.0-alpha.1
  • Grafana v6.2.5 -> @grafana/* packages @ 6.2.5
  • Grafana - master branch version (based on package.json, i.e. 6.4.0-pre) -> @grafana/* packages @ 6.4.0-pre- (see details below about packages publishing channels)

Please note that @grafana/toolkit, @grafana/ui, @grafana/data & @grafana/runtime packages are considered ALPHA even though they are not released as alpha versions

Stable releases

Even though packages are released under a stable version, they are considered ALPHA until further notice!

Stable releases are published under latest tag on npm.

Alpha and beta releases

Alpha and beta releases are published under next tag on npm.

Automatic pre-releases

Every commit to master that has changes within packages directory is a subject of npm packages release. ALL packages will be released under version from lerna.json file with commit SHA added to it:

<lerna.json version>-<COMMIT_SHA>

Automatic prereleases are published under canary dist tag.

Manual release

All of the steps below should be performed on a release branch, according to Grafana Release Guide

Make sure you are logged in to npm in your terminal and that you are a part of Grafana org on npm

  1. Run yarn packages:prepare script from root directory. This will perform tests on the packages and prompt for version of the packages. The version should be the same as the one being released.
  • Make sure you use semver convention. So, place a dot between prerelease id and prelease number!!! i.e. 6.3.0-alpha.1
  • Make sure you confirm the version bump when prompted!
  1. Commit changes (lerna.json & package.json files) - "Packages version update: <VERSION>"
  2. Run yarn packages:build script that will prepare distribution packages in packages/grafana-*/dist. These directories are going to be published to npm
  3. Depending whether or not it's a prerelease:
  • When releasing a prelease run packages:publishNext to publish new versions.
  • When releasing a stable version run packages:publishLatest to publish new versions.
  1. Push version commit to the release branch

Building individual packages

To build induvidual packages run grafana-toolkit package:build --scope=<ui|toolkit|runtime|data>