Commit Graph
100 Commits
Author SHA1 Message Date
Esteban Beltran ec5623f552 Sandbox: Fix cloneDeep not working inside plugins (#81950) 2024-02-06 16:47:29 +01:00
Esteban Beltran 89271df647 Chore: Levitate to ignore private packages for compatibility comparison (#81798) 2024-02-02 16:25:32 +02:00
Esteban Beltran ea243b536c Levitate: fix markdown diff format (#81477)
* Add some fake breaking changes

* try to generate another breaking chnage

* Keep trying

* Update levitate script

* Add fake breaking changes

* Use latest

* Strip ansi

* Test

* Remove ansi stripping

* ClearAnsi again

* another regex

* Revert some changes used for testing

* Rename function

* Fix indentation in levitate workflow

* Remove test breaking changes

* Remove breaking changes

* Update actions

* Trigger breaking change

* restore file
2024-02-02 09:19:30 +01:00
Esteban Beltran d738b96742 Chore: Fix levitate workflow to not post a comment when there's no breaking change (#80266) 2024-01-10 10:27:22 +02:00
Esteban Beltran fc8e2472e1 Chore: Simplify Levitate breaking changes workflow (#80014)
* Test using an app instead of token for this workflow

* Rename workflow for testing

* Add a test workflow

* Test 1

* Integrate report

* Checkout repository

* Try with github token instad of the app

* Use short slog instead of adding org

* Add failure to pipeline when breakikng

* Change exit code to report

* Improve message

* Restore files

* Temporarily lift restriction

* Put pack path restriction

* remove comment
2024-01-04 18:19:20 +01:00
Esteban Beltran 5c67c4b082 Chore: Log error from App loading in console and faro (#79977)
* Chore: Log error from App loading in console and faro

* Add error spy for console
2024-01-03 15:51:31 +01:00
Esteban Beltran fd2c326964 Faro: Send context with faro logError function (#79499)
* Faro: Send context with faro logError function

* Empty commit
2024-01-03 11:45:23 +02:00
Esteban Beltran 234ccb886f Chore: Improve levitate comment output (#79749)
* Test removing the icon component

* Use different component

* Replace \n with <br>

* Fix formatting

* Empty commit

* Improve formatting

* Fix breaking lines format

* Remove output

* Remove breaking change
2023-12-20 12:40:47 +00:00
Esteban Beltran 5fd5a8e385 Chore: Improve levitate CI PR messaage (#79679)
* Chore: Improve levitate CI PR messaage

* Temporary disable the skip

* Remove ignore

* Add an artificial breaking change

* Restore

* Restore

* Trigger breaking change (maybe?)

* --wip-- [skip ci]

* Empty commit

* Keep trying

* Breaking change maybe?

* Add levitate markdown to persistent output

* Move markdown output

* no skipping

* Force run

* remove skip

* Try

* Fix workflow

* tryu

* fix typo

* remove duplicated id

* Test

* Invert commands

* Fix script

* Do not output the markdown directly

* Try 2

* Try with base64

* Update message

* Update message

* Fix base64 encoding

* Update report

* Fix

* test file

* Try without base64

* Fix report to not use base64

* restore skip file

* revert breaking changes

* Empty commit
2023-12-20 10:09:58 +01:00
Esteban Beltran 7e68e3f49e Sandbox: Improve logging of sandbox lifecycle for monitoring (#79297)
* Sandbox: Log a plugin loading inside the sandbox

* Improve tracking of general sandbox errors

* Fix import
2023-12-12 16:28:56 +01:00
Esteban Beltran 46142da4db Chore: Migrate from aria-label to data-testid in plugin-related tests (#79272)
* Update basicsettings for datasource

* Change aria-label for data-testid

* Update more tests

* Update betterer

* Remove unnecessary data-testid

* Put back aria label for some datasource selectors

* Try to use data-testid with alerts

* Update betterer
2023-12-11 15:05:54 +01:00
Esteban BeltranandJoseph Perez 6ee2bd4d29 Docs: Improve comments for panel props for plugins (#78596)
* Docs: Improve comments for panel props for plugins

* Update packages/grafana-data/src/types/panel.ts

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update packages/grafana-data/src/types/panel.ts

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

---------

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-12-08 15:23:55 +01:00
Esteban Beltran 02a079e64a Plugins: Fix outline for elements inside a plugin page (#78004) 2023-11-24 14:21:17 +01:00
Esteban Beltran cfc67a9e2d Sandbox: do not load grafana signed app plugins into the sandbox (#78334)
* Sandbox: do not load grafana signed app plugins into the sandbox

* remove unused dependency
2023-11-20 12:00:31 +01:00
Esteban Beltran 5a2127c221 Sandbox: Fix configuration key for sandbox exceptions (#78317)
* Sandbox: Disable incident app inside the sandbox code

* Fix wrong key for default config and config key

* Rllback file
2023-11-17 12:35:09 +02:00
Esteban Beltran e4d41e878f Sandbox: Exclude incidents app (#78204)
* Exclude incident app from sandbox

* Revert js changes. use config
2023-11-15 16:40:07 +02:00
Esteban Beltran b6d6375e2b Sandbox: Add setImmediate polyfill (#78093) 2023-11-14 10:40:58 +01:00
Esteban Beltran 3a4f73338c Plugins: Show a not found error page when accessing an app for a not-found plugin (#77922)
* Plugins: Shows a not found error page when accesing an app for a non-found plugin

* Use loadingError in state to verify is a loading error
2023-11-09 15:33:25 +01:00
Esteban Beltranrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Zoltán BediJosh Huntjoshhunt
0b03344baa Chore: Update to typescript 5 (#76511)
* Update dependency typescript to v5

* Update yarn.lock

* Fix typescript errors

* Update typescript version sdk

* Revert useDescription.ts

* Fix ts errors

* Fix Typescript errors after Symbol.unscopables type change

* Fix colormanipulator errors

* Update packages/grafana-data/src/vector/FunctionalVector.ts

* Fix ts errors in dashboardmigrator

* Fix sandbox component typescript error

* Update yarn

* Update to typescript 5.2

* Fix typescript error

* update typescript/vscode patch/sdk/whatever

* fix ts errors in elasticsearch

* Fix two errors in alerting

* Fix error in dashboard-scene

* Fix errors in dashboard tests

* Fix errors in explore tests

* Fix error in plugins sandbox

* fix error in DashboardQueryRunner

* fix errors in grafana-data

* fix errors in PanelChrome story

* update betterer

* better fix for cloud monitoring

* fix error in reducer tester

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
2023-11-07 13:20:20 +00:00
Esteban Beltran 9585e2b19c Plugins: Only track metrics for grafana packages and core packages (#77785)
* Plugins: Only track metrics for grafana packages and core packages

* Move bind after cache check

* Update tests for metrics tracking
2023-11-07 13:56:26 +01:00
Esteban Beltran 7107ba0104 Sandbox: Patch history.replaceState to make it work inside the sandbox (#76255)
* Patch history.replaceState api instead of doing a live distortion

* Add better patching mechanism

* Remove console log
2023-11-07 09:09:17 +01:00
Esteban Beltran c986029f43 Sandbox: Add e2e tests to test global variables access (#76598)
* Sandbox: Add e2e tests to test global variables access

* Trigger drone again

* Add be.visible validation to global object elements
2023-10-16 15:00:46 +02:00
Esteban Beltran 665dc1fa44 Sandbox: e2e tests for apps running inside the frontend sandbox (#76357)
* Sandbox: Add tests for apps inside the sandbox

* Force type to prevent flawky test
2023-10-12 09:43:59 +02:00
Esteban Beltran ac27fea5bc Sandbox: Add basic e2e tests for datasources inside sandbox (#76226)
* Sandbox: initial dummy datasource plugin for e2e

* WIP: tests

* Add metrics to plugin.json so it shows up in explore

* Fix false positives in frontend-sandbox-datasource.spec.ts

* Change typed name to be static

* Add code to delete the datasource after tests are complete

* Add fail on status code

* Update tests for more config

* Replace visit with existing page

* Delete cleanup code
2023-10-10 16:41:20 +03:00
Esteban Beltran 7b8945571c Sandbox: Fix dynamic loaded chunks not processed correcly inside the sandbox (#76047)
* Sandbox: Patch dynamic chunks using CDN method

* Patch plugin apis when dynamically loaded

* use same method to transform all code
2023-10-09 14:23:47 +02:00
Esteban Beltran 5549cd7a76 Sandbox: Fix history.replace calls inside the sandbox (#76049)
* Sandbox: Fix `history.replace` calls inside the sandbox

* Improve signature verification and comments

* Add clarifying comment
2023-10-09 10:42:38 +02:00
Esteban Beltran 027028d9a0 Sandbox: Make jquery available to plugins in the global scope (#75960) 2023-10-04 16:25:47 +02:00
Esteban Beltran 9747cdd7d1 Sandbox: Update to latest near membrane version ^0.13.0 (#75605)
* Sandbox: Update to latest near membrane version ^0.13.0

* Use exact version

* Replace throw with reject

* Add nera membrane to renovate skip list
2023-10-03 10:22:17 +02:00
Esteban Beltran 677a2ad4d8 Sandbox: Patch array vector prototype methods inside the sandbox (#75835) 2023-10-03 09:02:55 +02:00
Esteban Beltran 36ed4ce291 Plugins: Fix regexes in metrics tracking and remove plugin guess logic (#75720) 2023-10-02 16:15:37 +02:00
Esteban Beltran e45867c635 Sandbox: allow access to window.grafanaBootData for plugins (#75522)
* Sandbox: allow access to window.grafanaBootData for plugins

* Do not overlog access to bootdata

* Fix wrong string
2023-09-29 17:15:04 +02:00
Esteban Beltran f890cb23b8 Sandbox: use same trusted types default policy than grafana main realm (#75539) 2023-09-27 16:50:23 +02:00
Esteban Beltran 2bbd5521fe Sandbox: Use resolveCache to resolve plugin's code file as systemjs does (#75509)
* Sandbox: Use resolveCache to resolve plugin's code file as systemjs does

* Add clarifying comments
2023-09-27 13:56:35 +02:00
Esteban Beltran 5983bcec86 Sandbox: Add additional e2e tests for panel editor (#75447)
* Sandbox: Add e2e test to validate panel editors reaching out of their render space

* remove props
2023-09-27 11:34:23 +02:00
Esteban BeltranandLevente Balogh 95889b2e25 Tests: Add basic e2e tests for frontend plugin sandbox (#70759)
* Add initial e2e tests for sandboxing

* Add tests for sandbox on

* Add additional sandbox tests

* Move sandbox into various suite

* Test drone setup

* Move variable

* Update drone

* Update plugins path for e2e

* Revert drone changes

* use drone from main

* Use lib.star from main

* Move sandbox test to its own suite

* Expand methods to inject iframes

* Restore e2e script

* Add back change to script

* Update tests for trusted types

* Integrate custom plugins into grafana-server

* Echo for deubging

* add debugging message

* Expand message

* Add extra for ci

* fix path

* Improve start-server logic

* Remove duplicated logic

* Restore file deleted by mistake

* Restore file to main
p

* restore file

* Restore start script

* Update e2e/panels-suite/frontend-sandbox-panel.spec.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-09-26 10:58:47 +02:00
Esteban Beltran 8e8bd2760b Plugins: Report plugin utilization of Grafana runtime dependencies (#75156)
* Plugins: Report plugin utilization of Grafana runtime dependencies

* Change approach to determine pluginName too

* Fix tests

* Update tests

* remove commented code
2023-09-21 13:36:32 +02:00
Esteban Beltran 62d0becd25 Sandbox: Set sandbox wrapper to height 100% for panel plugins (#75004)
Sandbox: Fix panel plugin not showing scrollbars
2023-09-19 09:11:56 +02:00
Esteban Beltran c7b6ac065a Sandbox: Make window.monaco and window.Prism available for plugins inside the sandbox (#74977)
* Sandbox: Make `window.monaco` available for plugins inside the sandbox

* Add Prism as an endowment

* Fix typo
2023-09-18 10:45:09 +02:00
Esteban Beltran b9c681e1a7 Sandbox: Fix panel custom editors not working inside the sandbox (#74589)
* Sandbox: Fix panel custom editors not working inside the sandbox

* Use the plugin-id in the specific rendering category
2023-09-11 13:43:57 +02:00
Esteban Beltran ae858fcdd2 Sandbox: Fix sandbox not loading SystemJs.module objects correctly inside plugins (#74445) 2023-09-06 16:46:31 +03:00
Esteban Beltran f8026463a8 Sandbox: Fix plugins not loading due to wrong plugin module url (#74436) 2023-09-06 13:49:09 +03:00
Esteban Beltran 27ed2a0f7e Adds levitate levignore configuration file to prevent breaking change notifications from expected typescript symbols (#74371)
* Adds levitate levignore configuration file to prevent breaking change notifications from expected typescript symbols

* Add root file to codeowners

* Remove unnecessary word boundary

* Exand it to changes and a\dditions too
2023-09-05 15:00:13 +02:00
Esteban Beltran b8dd081d8a Sandbox: Fix post message trying to serialize proxy objects inside plugins (#73596) 2023-09-01 16:54:06 +03:00
Esteban Beltran 050b9d9a85 Sandbox: Fix prismjs syntax for plugins defining its own language (#73393)
* Sandbox: Fix prismjs syntax for plugins defining its own language

* Add clarifying comment
2023-08-22 13:04:57 +02:00
Esteban Beltran 84181eb613 Sandbox: Fix monaco editor custom languages not working correctly inside the sandbox (#72911) 2023-08-11 10:50:57 +02:00
Esteban Beltran 81a940f675 Sandbox: Redirect calls to window.location to window.locationSandbox (#72252) 2023-07-28 15:04:23 +03:00
Esteban Beltran 20d7cf34b2 Sandbox: Set the style attribute of all Element child to be a live target (#72208) 2023-07-24 17:23:40 +02:00
Esteban Beltran a5cf278263 Docs: Update instructions for local publishing grafana npm packages (#72110) 2023-07-24 09:43:31 +02:00
Esteban Beltran e8e3f81e38 Sandbox: Add support for webpack dynamic imports (#71714) 2023-07-20 13:19:57 +02:00
Esteban Beltran bc5bcd8b26 FeatureToggles: Support changing feature toggles with localstorage (#71567) 2023-07-18 09:25:52 +02:00
Esteban Beltran 0db1d16c09 Plugins: Make datasource instances live targets for the sandbox (#71472) 2023-07-13 15:44:52 +02:00
Esteban Beltran 78efef4ac0 Plugins: App plugins running inside a sandbox div will have height 100% (#71453) 2023-07-13 14:59:20 +02:00
Esteban Beltran 72f6793344 Plugins: Add monitoring only mode to frontend sandbox (#70688) 2023-07-05 13:48:25 +02:00
Esteban Beltran d618bc46d1 Plugins: Add config option to exclude specific plugins from frontend sandbox (#70899) 2023-07-05 11:16:56 +02:00
Esteban Beltran 5732fc7b2a Plugins: Add CDN support to sandboxed frontend plugins (#70608) 2023-06-28 16:58:37 +03:00
Esteban Beltran bb18fd719a Chore: Wrap custom configuration in development environment check (#70833) 2023-06-28 14:39:23 +02:00
Esteban Beltran 7237766b69 Revert "Chore: Wrap custom configuration in development environment check" (#70831) 2023-06-28 15:23:45 +03:00
Esteban Beltran 8e6ec665c1 Chore: Wrap custom configuration in development environment check (#70731) 2023-06-28 13:41:32 +02:00
Esteban Beltran 53231cb68d Sandbox: Fix react class components stale state (#70572) 2023-06-23 17:44:03 +02:00
Esteban Beltran baf83e241e Docs: Add tested with BrowserStack to README (#70512) 2023-06-22 14:13:50 +02:00
Esteban Beltran ed5a697825 Plugins: Sandbox frontend plugins DOM access. (#69246) 2023-06-21 14:49:22 +02:00
Esteban Beltran cb21e9cd96 Chore: Run betterer and eslint/prettier in parallel for pre-commit hooks (#69788) 2023-06-21 09:23:33 +02:00
Esteban Beltran 1ed4c0382b Plugins: Add Initial implementation for frontend plugins sandboxing (#68889) 2023-06-05 10:51:36 +02:00
Esteban BeltranandJack Westbrook 50fb1497e5 Toolkit: Remove deprecated plugin:build (#67485)
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-04-28 14:33:16 +02:00
Esteban Beltran 0ec40a51eb Toolkit: Remove deprecated package:build, node-version-check and toolkit:build commands (#67475) 2023-04-28 11:53:23 +03:00
Esteban Beltran 82838a2176 Toolkit: Remove deprecated plugin:github-publish command (#67471) 2023-04-28 09:54:16 +02:00
Esteban Beltran 22713186cb Toolkit: Remove plugin:ci-build plugin:ci-package plugin:ci-report and related files (#67212) 2023-04-26 15:01:32 +02:00
Esteban Beltran c54d2133a7 Build: Setup webpack configuration for direct-input bundled datasource (#67199) 2023-04-26 12:45:34 +03:00
Esteban Beltran c7aafea370 Toolkit: Remove deprecated plugin:sign command (#67130) 2023-04-25 15:24:16 +03:00
Esteban Beltran 0d0c6401e3 Toolkit: Remove deprecated searchTestData (#67134) 2023-04-25 11:52:59 +02:00
Esteban Beltran 872e79f687 Toolkit: Remove plugin:dev and plugin:test (#67125) 2023-04-24 17:18:42 +02:00
Esteban Beltran 362936b002 Build: Force same version of @emotion/react via webpack config (#66822) 2023-04-24 17:13:52 +02:00
Esteban Beltran 5dac0c9871 Toolkit: Remove plugin:create and component:create commands (#66729) 2023-04-19 15:15:37 +02:00
Esteban Beltran cebd71cc36 Docs: Update publish a plugin FAQ to cover more common questions (#62001) 2023-01-25 08:19:32 +00:00
Esteban Beltran 4454d5eb49 Build: Fix eslint in file (#61568) 2023-01-16 15:42:02 +00:00
Esteban Beltran 9c0d830e26 Docs: Add source code url field description in publish a plugin documentation (#61080) 2023-01-06 13:28:51 +01:00
Esteban Beltran d9d94ebc56 Toolkit: Deprecate all plugin related commands (#60290) 2022-12-14 11:10:05 +01:00
Esteban Beltran a7a2c0f373 Linting: Speed up betterer by sharing eslint instances by groups (#60019) 2022-12-09 09:18:19 +01:00
Esteban Beltran 0a9b238d39 Build: Adds a fallback script to fix package.json main and types fields before packaging (#59628) 2022-12-01 11:34:52 +01:00
Esteban Beltran cced175ccf Docs: Replace toolkit command to scaffold plugins with create-plugin (#58462)
* Replace command to scaffold plugin with create-plugin

* Change link text
2022-11-09 08:15:23 -06:00
Esteban Beltran 4abf4d90b4 Toolkit: Deprecate plugin:github-publish command (#57726)
* Toolkit: Deprecate `plugin:github-publish` command

* Remove wrong console log message

* Update link to recommended workflows
2022-10-28 19:44:59 +02:00
Esteban Beltran 91ee5fec14 Toolkit: Deprecate plugin:update-circleci command (#57743) 2022-10-27 15:05:32 +02:00
Esteban Beltran b4633fc516 Toolkit: Deprecate plugin:bundle-managed command and move its functionality to a bash script. (#57719)
* Toolkit: Deprecate `plugin:bundle-managed` command

* Replace yarn script with bash command
2022-10-27 13:15:45 +02:00
Esteban Beltran 987d4fd459 Toolkit: Deprecate and replace toolkit:build with plain yarn scripts (#57620)
* Toolkit: Deprecate and replace toolkit:build with plain yarn scripts

* Remove "generated" from copied files in the script
2022-10-26 10:11:15 +02:00
Esteban Beltran cbe7fe3d8d Toolkit: Deprecate searchTestData command (#57589) 2022-10-26 08:54:51 +02:00
Esteban Beltran 8d42e1b169 Toolkit: Deprecate node-version-check command (#57591)
* Toolkit: Deprecate node-version-check command

* Do not check for nodejs version on frontend-test
2022-10-25 14:53:53 +02:00
Esteban Beltran 0abf04a20f Toolkit: Remove unused close-milestone command (#57062)
* Toolkit: Remove unused close-milestone command

* Remove import line
2022-10-17 11:27:27 +02:00
Esteban BeltranandJack Westbrook 25bb926a0a Toolkit: Deprecate component:create command (#56086)
* Mark component:create as deprecated

* Update message

* Update packages/grafana-toolkit/src/cli/index.ts

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Add alternative message

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-10-04 09:43:24 +02:00
Esteban Beltran 29ca8de6c0 Toolkit: Remove unused legacy cherrypick command (#56114) 2022-10-03 09:04:11 +02:00
Esteban Beltran 4bba3223a0 Grafana/toolkit: Update README.md to include an alternative way to run local grafana/toolkit (#54203)
* Update README.md

* Run prettier
2022-09-02 17:49:39 +02:00
Esteban Beltran fc348e6279 Plugins Catalog: Use appSubUrl to generate plugins catalog urls (#54426)
* Plugins Catalog: us appSubUrl to generate plugins catalog urls

* add tests for PluginList with app sub url

* remove unnecessary comments
2022-08-30 12:34:41 +02:00
Esteban Beltran 56bceacfb1 Navigation Bar: Remove plugins link under Server Admin (#54386)
* Navigation Bar: Remove plugins link under Server Admin

* Modify frontend to handle admin plugins as just plugins

* update assets and documentation mentioned path

* Fix copy to remove redundant text
2022-08-30 03:40:04 -04:00
Esteban Beltran 6200c6d70f Build: Force a specific nodejs version for levitate detect breaking changes pipeline (#54207) 2022-08-25 04:35:13 -04:00
Esteban Beltran 6fe7a1f034 Icons: Move unicons icons to the repository and generate the iconsBundle.js with nodejs (#53766) 2022-08-23 15:47:14 +02: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
Esteban Beltran 81957732ab Chore: Replace react-inlinesvg usage for the Icon component (#53736) 2022-08-17 09:09:58 +02:00
Esteban Beltran 112f69177b Build: Replace the file-loader loader with asset module in webpack config (#53088) 2022-08-04 10:29:42 +02:00
Esteban Beltran 6395d6d6f3 Grafana/toolkit: Fix incorrect image and font generation for plugin builds (#52927) 2022-07-28 14:54:29 +02:00
Esteban Beltran 8f4d924531 Grafana/toolkit: Fix incorrect image and font generation for plugin builds (#52661) 2022-07-26 10:36:18 +02:00