Commit Graph

89 Commits

Author SHA1 Message Date
Leon Sorokin
eb90d0c4b5
TimeSeries: Support for log scale and negative numbers (#54812) 2022-09-08 11:52:57 -05:00
Timur Olzhabayev
b5b41988cf
Docs: Deprecating packages_api and removing it from our pipelines (#54473) 2022-09-01 18:15:44 +02:00
sam boyer
4d433084a5
plugins: New static scanner and validator, with Thema slot support (#53754)
* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add slot definitions

* Start sketching out pfs package

* Rerun codegen with fixes, new cuetsy

* Catch up dashboard with new cuetsy

* Update to go1.18

* Use new vmuxers in thema

* Add slot system in Go

* Draft finished implementation of pfs

* Collapse slot pkg into coremodel dir; add PluginInfo

* Add the mux type on top of kernel

* Refactor plugin generator for extensibility

* Change models.cue package, numerous debugs

* Bring new output to parity with old

* Remove old plugin generation logic

* Misc tweaking

* Reintroduce generation of shared schemas

* Drop back to go1.17

* Add globbing to tsconfig exclude

* Introduce pfs test on existing testdata

* Make most existing testdata tests pass with pfs

* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add APIType control concept, regen pluginmeta

* Use proper numeric types for schema fields

* Make pluginmeta schema follow Go type breakdown

* More decomposition into distinct types

* Add test case for no plugin.json file

* Fix missing ref to #Dependencies

* Remove generated TS for pluginmeta

* Update dependencies, rearrange go.mod

* Regenerate without Model prefix

* Use updated thema loader; this is now runnable

* Skip app plugin with weird include

* Make plugin tree extractor reusable

* Split out slot lineage load/validate logic

* Add myriad tests for new plugin validation failures

* Add test for zip fixtures

* One last run of codegen

* Proper delinting

* Ensure validation order is deterministic

* Let there actually be sorting

* Undo reliance on builtIn field (#54009)

* undo builtIn reliance

* fix tests

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-22 12:11:45 -04:00
Esteban Beltran
88419aa8fe
Grafana/schema: Fix plugins API regression. Add back "hidden" in LegendDisplayMode (#53925) 2022-08-19 17:06:33 +02:00
Esteban Beltran
edb54fc8d3
Fix: Rename timezones prop to timezone for plugins compatibility (#53926) 2022-08-19 16:59:56 +02:00
sam boyer
c23a9d78ab
Actually enforce dashboard schema on devenv (#53797)
* Relocate dashboards test so it runs

* Cover newer schema versions in stripnulls

* Strip nulls and remove iteration fields

* Fix fiscalYearStartMonth bounds

* Fix up and format dashboard schema

* Update thema, tidy Go dependencies
2022-08-16 22:07:57 -04:00
sam boyer
e6903582d0
coremodels: Include nested optional fields in output (#53355) 2022-08-08 21:48:21 +00:00
Ashley Harrison
202f5d38c8
Add missing package to @grafana/schema (#53252) 2022-08-03 11:28:01 -04:00
Jack Westbrook
d87bf30e9e
Build: Introduce ESM and Treeshaking to NPM package builds (#51517)
* Revert "Chore: Bump terser to fix security vulnerability (#53052)"

This reverts commit 7ae74d2a18.

* feat: use tsc and rollup directly with esbuild and publishConfig, files props

* refactor(grafana-data): fix isolatedModules re-export type error

* refactor(grafana-data): import paths from src not package name

* refactor(rollup): fix dts output.file

* chore(grafana-schema): delete dashboard_experimental.gen.ts - cannot work with isolatedModules

* refactor(grafana-e2e-selectors): fix export types isolatedModules error

* refactor(grafana-runtime): fix isolatedModules re-export type error

* refactor(grafana-ui): fix isolatedModules re-export type error

* feat(grafana-ui): use named imports for treeshaking

* refactor(grafana-ui): use named imports for treeshaking

* feat: react and react-dom as peerDeps for packages

* feat(grafana-ui): emotion packages as peerDeps

* feat(grafana-e2e): use tsc, rollup, esbuild for bundling

* chore(packages): clean up redundant dependencies

* chore(toolkit): deprecate unused package:build task

* chore(schema): put back dashboard_experimental and exclude to prevent isolatedModules error

* docs(packages): update readme

* chore(storybook): disable isolatedModules for builds

* chore: relax peerDeps for emotion and react

* revert(grafana-ui): put @emotion dependencies back

* refactor: replace relative package imports with package name

* build(packages): set emitDeclaration false for typecheck scripts to work

* test(publicdashboarddatasource): move test next to implementation. try to appease the betterer gods

* chore(storybook): override ts-node config for storybook compilation

* refactor(grafana-data): use ternary so babel doesnt complain about expecting flow types

* chore(toolkit): prefer files and publishConfig package.json props over copying

* build(npm): remove --contents dist arg from publishing commands

* chore(packages): introduce sideEffects prop to package.json to hint package can be treeshaken

* chore(packages): remove redundant index.js files

* feat(packages): set publishConfig.access to public

* feat(packages): use yarn berry and npm for packaging and publishing

* refactor(packages): simplify rollup configs

* chore(schema): add comment explaining need to exclude dashboard_experimental

* revert(toolkit): put back clean to prevent cli failures

* ci(packages): run packages:pack before a canary publish

* chore(gitignore): add npm-artifacts directory to ignore list

* test(publicdashboarddatasource): fix module mocking

* chore(packages): delete package.tgz when running clean

* chore(grafana-data): move dependencies from devDeps to prevent build resolution errors
2022-08-03 15:47:09 +02:00
Ieva
67d817ff48
update versions (#53167) 2022-08-02 11:55:46 -04:00
Alyssa Bull
6ec9a7682d
Various Panels: Add ability to toggle legend with keyboard shortcut (#52241) 2022-07-27 13:39:55 -06:00
renovate[bot]
a4355bd6e4
Update Monthly patch updates (#52885)
* Update Monthly patch updates

* ignore updates to lezer-logql and @types/slate

* update lockfile

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-27 16:02:48 +01:00
renovate[bot]
4d7e26abfd
Update dependency rollup to v2.77.1 (#52786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 11:33:24 +01:00
kay delaney
c35c3abaa3
Chore: Bump typescript version to 4.7.4 (#52325)
* Chore: Bump typescript version to 4.7.4

* Bump related packages

* Revert eslint-plugin-react upgrade
2022-07-25 13:47:59 +01:00
Ryan McKinley
2fa10dc903
TimeSeries: Support multiple timezones in x axis (#52424)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-07-22 22:18:27 -05:00
Leon Sorokin
d7b208ec58
TimeSeries: Add option for symmetrical y axes (align 0) (#52555) 2022-07-21 23:38:22 -05:00
Leon Sorokin
a5a8052916
TimeSeries: Add option to match axis color to series color (#51437) 2022-07-18 17:50:07 -05:00
sam boyer
4c4aa95d38
coremodels: Automatically generate coremodel registries (#50057)
* coremodel: Generate static registry

* Actually make codegen work

Also, remove the per-coremodel assignability test from generator set.

* Make wire gen depend on cue gen

This is necessary now that we're generating a wire set as part of
coremodel registry generation.

* Add wire inject bits to http server

* s/staticregistry/registry/

* move to static and dynamic wording

* Move registry type into registry package

* Use static registry in http handler

* Oi comments
2022-06-15 15:47:04 +02:00
renovate[bot]
dd98107201
Update dependency rollup to v2.75.6 (#50770)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-15 10:09:32 +01:00
Dimitris Sotirakis
443083c7df
Bump version: Update main branch version to 9.1.0-pre (#50803)
* Update main branch version to 9.1.0-pre

* Update yarn.lock
2022-06-14 09:06:14 -07:00
renovate[bot]
246099c52d
Update dependency @swc/helpers to v0.4.0 (#50730)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-13 19:14:40 +00:00
sam boyer
8876d56495
schema: Migrate from scuemata to thema (#49805)
* Remove crufty scuemata bits

Buhbye to: cue/ dir with old definitions, CI steps for checking unnecessary
things, and the original dashboard scuemata file.

* Remove grafana-cli cue subcommand

* Remove old testdata

* Don't swallow errors from codegen

* Small nits and tweaks to cuectx package

* WIP - refactor pluggen to use Thema

Also consolidate the embed.FS in the repo root.

* Finish halfway rename

* Convert all panel models.cue to thema

* Rewrite pluggen to use Thema

* Remove pkg/schema, and trim command

* Remove schemaloader service and usages

Will be replaced by coremodel-centric hydrate/dehydrate system Soon™.

* Remove schemaloader from wire

* Remove hangover field on histogram models.cue

* Fix lint errors, some vestiges of trim service

* Remove unused cuetsify cli command
2022-06-06 17:52:44 -07:00
sam boyer
4783db59c7
schema: Use latest cuetsy to fix union generation (#50013)
Also, include the RowPanel type in code generation.
2022-06-01 13:14:55 -04:00
Ashley Harrison
333195ce21
Chore: Dashboard schema (#49993)
* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:pkg/coremodel/dashboard/lineage.cue

* user essentials mob! 🔱

Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: polinaboneva <polina.boneva@grafana.com>
2022-06-01 10:05:27 -04:00
Ivan Babrou
a6693ba62f
TimeSeries: Add an option to set legend width (#49126)
* Add an option to set legend width

* Add width to the cue file

* Use legendStyle

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-05-31 19:16:37 +02:00
sam boyer
be06d37a20
schema: Generate Go and Typescript from Thema coremodels (#49193)
* Add go code generator for coremodels

* Just generate the entire coremodel for now

Maybe we'll need more flexibility as more coremodels are added, but for
now this is fine.

* Add note on type comment about stability, grodkit

* Remove local replace directive for thema

* Generate typescript from coremodel

* Update pkg/coremodel/dashboard/addenda.go

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Update cuetsy to new release

* Update thema to latest

* Fix enum generation for FieldColorModeId

* Put main generated object at the end of the file

* Tweaks to generated Go output

* Retweak back to var

* Add generated coremodel test

* Remove local replace statement again

* Add Make target and call into cuetsy cmd from gen

* Rename and comment linsrc for readability

* Move key codegen bits into reusable package

* Move body of cuetsifier into codegen pkg

Also genericize the diffing output into reusable WriteDiffer.

* Refactor coremodel generator to use WriteDiffer

* Add gen-cue step to CI

* Whip all the codegen automation into shape

* Add simplistic coremodel canonicality controls

* Remove erroneously committed test

* Bump thema version

* Remove dead code

* Improve wording of non-canonicality comment

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-27 03:21:37 +02:00
Josh Hunt
9092150143
Cue: Update Text, Stat, and Annolist panel cue schemas (#49479)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:public/app/plugins/panel/stat/types.ts

* user essentials mob! 🔱

* user essentials mob! 🔱

* Use generate defaults, and fix a few remaining issues

* Add annolist to dashboard dist plugins

* minor fixes

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
2022-05-25 12:07:32 +01:00
renovate[bot]
be7de1041a
Update Monthly patch updates (#49257)
* Update Monthly patch updates

* remove @types/slate update and run prettier

* fix @types/slate resolution

* lockfile update

* more fixes

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-20 13:07:07 +01:00
renovate[bot]
258e48678a
Update dependency rollup to v2.74.0 (#49215)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-19 10:13:16 +01:00
renovate[bot]
eecee16b66
Update dependency @rollup/plugin-commonjs to v22 (#49172)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-18 16:16:55 +01:00
renovate[bot]
7ac9a0a087
Update dependency rollup to v2.73.0 (#49152)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-18 13:04:21 +01:00
kay delaney
de3e981985
Chore: Upgrade typescript to 4.6.4 (#49016) 2022-05-17 12:08:10 +01:00
renovate[bot]
46e53cf42c
Update dependency @rollup/plugin-node-resolve to v13.3.0 (#48645)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-03 17:17:55 +01:00
Josh Hunt
3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
sam boyer
5e11af0121
schema: Finish converting dashboard schema datasource references to objects (#47806)
* coremodel: finish string -> object datasource ref

Seems we missed updating a couple of the datasource references from
strings to objects.

* cue fmt

* Also fix dashboard in scuemata dashboard schema

* Update devenv/dev-dashboards/panel-graph/graph-ng-stacking2.json

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-04-15 19:41:07 +02:00
Jack Westbrook
398f2b3d18
Build: Fix failing recompile of Grafana packages (#47492)
* build(packages): remove incremental as cache fails to recompile

* build(packages): remove tsBuildInfoFile property from tsconfig files
2022-04-11 09:41:03 +02:00
Tania
1c13bfdd1b
Chore: Update pre version (#47438) 2022-04-07 14:32:37 +02:00
renovate[bot]
7b23c7fe1e
Update Monthly patch updates (#46875)
* Update Monthly patch updates

* Remove 3 packages...

* Fix type error

* undo cypress upgrade

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-23 14:56:44 +00:00
renovate[bot]
801d751b20
Update dependency rollup to v2.70.0 (#46275)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 08:59:50 +01:00
Jack Westbrook
efe9eed758
Chore: Move Typescript cache file to root (#45964)
* chore(typescript): move TS cache file to root of repo

* chore(typescript): cache packages ts checks to disk for faster yarn typecheck
2022-03-04 09:26:25 +01:00
renovate[bot]
141b1fad20
Update dependency rollup to v2.69.0 (#46098)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 18:35:16 +00:00
renovate[bot]
26e5af4b2e
Update dependency rollup to v2.68.0 (#45747)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 17:21:56 +00:00
Dominik Prokop
eb537e2efd
TablePanel: Add cell inspect option (#45620)
* TablePanel: Add cell preview option

* Review comments

* Change modal title

* Review

* Review 2

* Docs
2022-02-28 15:35:05 +01:00
Ryan McKinley
bb86ba99ee
Heatmap: new panel based based on uPlot (#44080)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-16 14:49:17 -08:00
Jack Westbrook
979907e9dd
Chore: Set tsconfig target to ES6 (#44842)
* chore(tsconfig): update grafana/tsconfig to 1.2.0 for outputting es6

* rewrote the unsubscription part to use first().

* test: update failing tests to work with es6 output

* removed bug where we dispatch a promise instead of an array of ritch history.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-02-10 14:37:39 +01:00
Dominik Prokop
ffea53f2f6
TimeSeries: Add support for negative Y and constant transform (#44774)
* add negative y config

* Handle negative y and constant transform in Timeseries panel

* Typechecks

* Add migration from old graph panel

* Docs update

* Revert "Add migration from old graph panel"

This reverts commit 33b5a90b66.

* Revert VizLegendItem changes

* Automatically separate positive and negative stacks within a group

* Update packages/grafana-ui/src/components/VizLegend/VizLegend.story.tsx

* Remove SeriesLabel component

* Update docs/sources/visualizations/time-series/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/visualizations/time-series/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Leftover reverts

* Don't crate bands (for now0 for negative -y stack

* Add docs note about transform being only available as an override

* Fill negative bands in reversed direction

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-08 07:27:02 -08:00
renovate[bot]
9c2363ef08
Update dependency rollup to v2.67.1 (#44750)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 12:18:11 +00:00
Andres Martinez Gotor
71e3e6ec93
Chore: Update pre version (#44855) 2022-02-03 16:52:53 +01:00
renovate[bot]
e9375ecd4c
Update dependency rollup to v2.66.1 (#44348)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:59:06 +01:00
renovate[bot]
53dfae3c86
Update dependency rollup to v2.65.0 (#44302)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 09:37:03 +00:00