Commit Graph
100 Commits
Author SHA1 Message Date
Jack WestbrookandMarcus Efraimsson 5ce68c50e3 Docs: add decoupled plugin commands to developer guide (#88286)
* docs(developer-guide): add development commands for building decoupled plugins

* docs(developer-guide): add subheading, tidy up tone

* Apply suggestions from code review

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* docs(developer-guide): plugins section to identify which plugins need additional cmds

---------

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-05-28 14:28:18 +02:00
Jack Westbrook cd3c10d905 Chore: Sync sass with theme (#88340)
chore(sass): run theme:generate to sync sass with theme
2024-05-28 11:49:02 +02:00
Jack Westbrook a079343fe3 Chore: bump Nx to 19 (#88298)
* chore(npm): bump nx to v19

* build(icons): make sure icons are generated before attempting typecheck
2024-05-24 17:57:12 +02:00
Jack Westbrook 10f600a6e9 Build: Set Nx inputs for theme-generate (#84761)
build(nx): set inputs for theme-generate to reduce reruns of task
2024-05-22 17:07:50 +02:00
Jack Westbrook 7c5c62f617 Fix: Plugin dev command should watch all decoupled plugins (#88160)
fix(frontend): update plugin scripts to watch all plugins and remove ignore flags
2024-05-22 10:15:09 +02:00
Jack WestbrookandAshley Harrison 65b2834420 Grafana UI: Bump to Storybook 8 (#87722)
* chore(storybook): run yarn dlx storybook@latest upgrade

* chore(storybook): remove storybook/blocks patch

* chore(yarn): clean up storybook dependencies

* feat(storybook): migrate to v8 config via migration codemods

* refactor(storybook): update stories to use v8 types via codemod

* refactor(storybook): update stories to use preview-api instead of client-api

* refactor(storybook): replace mdx usage of ArgsTable with PureArgsTable

* refactor(storybook): migrate remaining mdx files to v8 storybook/blocks api

* refactor(storybook): clean up mdx imports and blocks component names

* chore(storybook): clean up typescript configuration

* fix(frontend): align types/react versions across monorepo so grafana ui can be built

* fix(storybook): pub back react-docgen-typescript and use ArgTypes so props tables work

* chore(storybook): patch blocks package to expose Preview component

* revert(storybook): revert changes related to using Canvas component in mdx files

* Storybook upgrade: Fix icon typing (#87793)

fix iconOptions typing

* refactor(storybook): prefer as const over asserting types

* revert(storybook): put back correct case in box.mdx

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-05-15 15:49:00 +02:00
Jack Westbrook 58e554b67f Chore: Bump ejs to 3.10.0 (#87701)
chore(npm): bump ejs to 3.1.10 for dependabot
2024-05-13 13:29:56 +03:00
Jack Westbrook f785a71aae Fix: Angular detection in plugin loader (#87323)
fix(plugins): make sure angular detection is passed to loader
2024-05-13 09:55:26 +02:00
Jack Westbrook 6380a01543 Frontend: Improve barrel file detection in codemod (#87389) 2024-05-09 10:49:47 +02:00
Jack Westbrook b5a084611f Fix: Always fetch plugin css with Systemjs (#87211)
* fix(plugins): fetch strategy should always be used for css/json/wasm/html

* refactor(plugins): prefer checking for js file type rather than list of other file types
2024-05-02 11:55:20 +02:00
Jack Westbrook a6b7fc51a8 Chore: Add back node-forge npm package (#87136) 2024-05-02 08:39:02 +02:00
Jack Westbrook 0f4db3f5ad Fix: yarn build in DockerFile (#86858) 2024-04-30 07:58:25 +02:00
Jack WestbrookandLevente Balogh fd1bf66d86 Plugins: Selectively load plugins using script tags (#85750)
* feat(plugins): introduce logic to selectively load fe plugins via script tags

* feat(plugins): extend cache to store isAngular flag. use isAngular in shouldFetch

* revert(plugins): remove unused prepareImport from SystemJSWithLoaderHooks type

* fix(plugins): cache[path] maybe undefined if not registered or invalidated

* Update public/app/features/plugins/plugin_loader.ts

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

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-04-24 12:27:28 +02:00
Jack Westbrook e6799be13c Chore: Bump webpack-dev-middleware to 6.1.3 (#86482)
chore(npm): bump version of webpack-dev-middleware to 6.1.3
2024-04-23 12:32:17 +02:00
Jack Westbrook d10303fb05 Chore: Bump ip to 2.0.1 (#86486)
chore(npm): bump ip to 2.0.1
2024-04-23 12:31:27 +02:00
Jack Westbrook c1f70219b5 Chore: Bump express to 4.19.2 (#86487)
chore(npm): bump express to 4.19.2
2024-04-23 12:31:10 +02:00
Jack WestbrookandLeventeBalogh 1dfd34ee79 Chore: Add codemod and betterer config to make barrel imports explicit (#80913)
* chore: add codemod for highlighting barrel imports

* style(frontend): add no-barrel-files plugin to betterer

* chore(betterer): update betterer file

* ci(frontend-metrics): track occurrences of barrel files being imported

* chore: clean up explicit barrel imports codemod script

* chore(codeowners): add explicit barrel imports script

* Add no-barrel-files plugin to betterer configuration

Co-Authored-By: LeventeBalogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: LeventeBalogh <balogh.levente.hu@gmail.com>
2024-04-15 16:36:19 +02:00
Jack Westbrook c6a489cfd8 Chore: Bump Nx to 18.1.x (#85185)
* chore: bump nx to latest version

* build(plugin-configs): reduce wonky webpack output when logged via nx

* revert(plugin-configs): remove infrastructureLogging property
2024-03-28 09:36:35 +01:00
Jack Westbrook 1ba4d525a2 Chore: Bump follow-redirects to latest (#84920)
chore(npm): bump follow-redirects to latest 1.15.6
2024-03-21 19:03:32 +02:00
Jack Westbrook 47421febf8 Chore: Bump ip to latest (#84921)
chore(npm): bump ip to latest
2024-03-21 19:03:02 +02:00
Jack Westbrook f67e56939a Tests: Isolate script tests to prevent jest errors locally (#84881)
* test(jest): isolate script tests to prevent jest errors in grafana-server/tmp tests

* chore(codeowners): update so generate-transformations matches in docs and tests directory
2024-03-21 12:36:37 +02:00
Jack Westbrook 3c359376e1 Grafana/Runtime: Remove SystemJS export (#84561)
* feat(systemjs): move systemjs to grafana core and stop exporting from runtime

* feat(plugins): move systemjs to own file, update imports

* chore(plugins): call systemjs directly from window as ref can be undefined

* chore(plugins): make sure systemjs is imported before its shared dependencies

* chore(systemjs): move dependency to root package.json
2024-03-21 09:22:35 +01:00
Jack Westbrook 421ef641d0 Azure Monitor: Externalise kusto (#84749)
fix(azuremonitor): externalise kusto so it loads via core
2024-03-20 10:16:54 +01:00
Jack Westbrook 4ca68925a1 Backend: Delete bundled plugin tests (#84646) 2024-03-18 13:28:24 +01:00
Jack Westbrook 1de4187a6e Chore: Delete Input Datasource (#83163)
* chore(input-datasource): delete bundled plugin for grafana 11

* chore(betterer): refresh results file

* chore(yarn): run dedupe to clean up deps

* chore(yarn): pin playwright to 1.41.2 to see if CI passes

* chore(yarn): pin playwright to 1.42.1
2024-03-18 09:48:19 +01:00
Jack Westbrook 06723b9647 Chore: Pin version of playwright (#84558)
chore(playwright): pin version of playwright to prevent CI failures
2024-03-15 15:14:25 +02:00
Jack Westbrook 0acb400248 Chore: Remove unused rollup plugin dependencies (#84492)
* chore(runtime): remove unused rollup-plugin-terser dependency

* chore(packages): remove more unused rollup plugins
2024-03-15 12:02:27 +01:00
Jack WestbrookandAndres Martinez 6599fa805d Plugins: Always load decoupled frontend assets from builds (#81873)
* Wip

* Wip

* Adapt to load external module

* build: remove cloudmonitoring from built_in_plugins, clean up webpack output

* chore(plugins): remove decoupled plugins from package.json deps

* chore(codeowners): update file for nx.json

* revert(webpack): put back path in config

* build(frontend): use nx to run prod builds of decoupled plugins with yarn build

* style(prometheus): run prettier-write to fix tsconfig.json

* style(backend): remove unused subFile.isDistDir

* revert(locales): remove formatting changes adding new line at end of files

* chore(webpack): clean up dev output

* build(nx): make grafana an nx project, bump lerna and nx

* build(plugin-configs): move cache directory to node_modules

* style(datasource-plugins): add eslint ignore for .gen.ts files

* chore(codeowners): add frontend-ops as owner of project.json

* build(webpack): add getDecoupledPlugins to automatically ignore when watching

* ci(drone): skip nx cache when building frontend packages

* style(ci): fix missing trailing comma

* Revert "style(ci): fix missing trailing comma"

This reverts commit 7520d41576.

* Revert "ci(drone): skip nx cache when building frontend packages"

This reverts commit 46938883ac.

* feat(zipkin): remove from grafana core bundle

* chore(npm): bump nx package to latest 18.0.8

* docs(dev-guide): add a note about what yarn start now builds

---------

Co-authored-by: Andres Martinez <andres.martinez@grafana.com>
2024-03-13 12:40:09 +01:00
Jack Westbrook d4b43640f3 Revert "Update dependency @swc/core to v1.4.6" (#84186)
* Revert "Update dependency @swc/core to v1.4.6"

This reverts commit 4d7220dbdf.

* chore(renovate): ignore swc/core for time being due to bugs in versions ~1.4.5
2024-03-11 16:33:37 +02:00
Jack Westbrook c59ebfc60f Fix: Cache busting of plugins module.js file (#83763)
fix(plugins): make sure extractPath regex matches with and without leading slash
2024-03-01 18:29:39 +01:00
Jack Westbrook 0ad8c215aa Build: Update plugin-config webpack config (#83256)
build(plugin-configs): update webpack config to match latest create-plugin config
2024-02-27 17:12:53 +01:00
Jack Westbrook 5f89c69b66 Chore: Bump Lerna 8.x.x (#83233)
* chore(lerna): bump lerna to 8.x.x

* chore(lerna): run lerna repair command to update lerna.json

* ci(drone): use raw output (no quotes) when updating package.json version

* ci(drone): update config file
2024-02-22 16:22:23 +01:00
Jack Westbrook 15d83960ec Chore: Align usage of tsconfig in yarn workspaces to 1.3.0-rc1 (#83160)
chore(tsconfig): align all usage in workspaces to 1.3.0-rc1
2024-02-22 15:30:20 +01:00
Jack Westbrook 0dcdfc261b Monaco Editor: Load via ESM (#78261)
* chore(monaco): bump monaco-editor to latest version

* feat(codeeditor): use esm to load monaco editor

* revert(monaco): put back previous version

* feat(monaco): setup MonacoEnvironment when bootstrapping app

* feat(monaco): load monaco languages from registry as workers

* feat(webpack): clean up warnings, remove need to copy monaco into lib

* fix(plugins): wip - remove amd loader workaround in systemjs hooks

* chore(azure): clean up so QueryField passes typecheck

* test(jest): update config to fix failing tests due to missing monaco-editor

* test(jest): update config to work with monaco-editor and kusto

* test(jest): prevent message eventlistener in nodeGraph/layout.worker tripping up monaco tests

* test(plugins): wip - remove amd related tests from systemjs hooks

* test(alerting): prefer clearAllMocks to prevent monaco editor failing due to missing matchMedia

* test(parca): fix failing test due to undefined backendSrv

* chore: move monacoEnv to app/core

* test: increase testing-lib timeout to 2secs, fix parca test to assert dom element

* feat(plugins): share kusto via systemjs

* test(e2e): increase timeout for checking monaco editor in exemplars spec

* test(e2e): assert monaco has loaded by checking the spinner is gone and window.monaco exists

* test(e2e): check for monaco editor textarea

* test(e2e): check monaco editor is loaded before assertions

* test(e2e): add waitForMonacoToLoad util to reduce duplication

* test(e2e): fix failing mysql spec

* chore(jest): add comment to setupTests explaining need to incresae default timeout

* chore(nodegraph): improve comment in layout.worker.utils to better explain the need for file
2024-02-22 12:31:40 +01:00
Jack Westbrook 778d80f922 Chore: Remove React from o11y dependencies and align zipkin and tempo dependencies (#83143)
chore(zipkin): remove react from o11y dependencies, tidy tempo and zipkin dependencies
2024-02-21 11:02:16 +01:00
Jack Westbrook 3ca01f5486 Yarn: Fix workspace refs (#83117)
* Wip

* chore(yarn): refresh lock file
2024-02-20 18:03:07 +01:00
Jack Westbrook 6009425035 Chore: Bump follow-redirects to latest (#81806)
chore(yarn): bump follow-redirects to please dependabot
2024-02-05 14:21:50 +01:00
Jack Westbrook aaada8efcf Chore: Refresh yarn lock file (#81803)
chore(yarn): refresh lock file
2024-02-02 17:07:05 +02:00
Jack Westbrookandjoshhunt 6d582858f7 Webpack: Allow watching workspaces (#81569)
* build(webpack): remove symlinks:false to enable watching packages with yarn start

* build(webpack): add resolve node_modules for enterprise to resolve packages

* add comment

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-01-30 16:59:18 +01:00
Jack Westbrook dff0e33c30 Webpack: Update bundled plugins SWC baseUrl (#80882)
build(webpack): update config for swc.baseUrl
2024-01-19 14:18:14 +01:00
Jack Westbrook de01e1db18 Chore: Remove unused babel dependencies and references (#76791)
* build(babel): remove unused babel dependenices and references from project

* chore: put back ts-loader

* chore(yarn): refresh lock file

* revert: remove ts-loader
2024-01-16 14:26:43 +01:00
Jack Westbrook 1112e9006b Bug: Fix broken ui components when angular is disabled (#78208)
fix(frontend): move bootstrap import to app so disabling angular doesnt break ui
2023-11-27 10:43:55 +01:00
Jack Westbrook eedc19f9f0 Chore: Refresh lock file with correct scenes version info (#78605)
chore(yarn): refresh lock file with correct scenes version info
2023-11-23 18:08:15 +02:00
Jack Westbrook 22a7e5b3e8 DevEnv: Fix missing commas in dashboards (#77359)
fix(devenv): fix missing commas in dashboards
2023-10-30 14:18:33 +01:00
Jack Westbrook 8e8731edc5 Chore: Bump Lerna to v7 (again) (#77190)
* chore(lerna): update to latest version 7.4.1 and run lerna repair to update configs

* Wip

* chore(lerna): remove lerna specific packages field which prevents versioning packages

* chore: remove nx from dependencies

* chore(yarn): refresh lock file
2023-10-27 12:57:09 +02:00
Jack Westbrook 69af9f9ad7 Chore: Update to node 20 (#76097)
* chore(node): update node version to 20

* chore(node): bump to 20.8.0, update drone variables

* chore(drone): update yaml config

* chore(yarn): bump yarn to latest to fix building binaries ERR_IMPORT_ASSERTION_TYPE_MISSING errors

* test(grafana-data): update whitespace in time formats for node 20 (18.13+)

* chore(node): move to LTS 20.8.1

* chore(node): bump to LTS 20.9.0
2023-10-26 09:34:50 +02:00
Jack Westbrook 0e2fb5649f Revert "Chore: Bump Lerna to v7" (#77046)
Revert "Chore: Bump Lerna to v7 (#76851)"

This reverts commit c89b49bacb.
2023-10-24 17:09:19 +03:00
Jack Westbrook afa697f954 Build: Faster external plugin builds (#76974)
* build(plugin-configs): move swc-loader to configs and use require.resolve for less duplicate deps

* build(plugins): move cacheLocation to ESLintPlugin, run lint and tscheck plugins in dev

* revert(plugins): remove obsolete stats setting
2023-10-24 09:28:23 +02:00
Jack Westbrook c89b49bacb Chore: Bump Lerna to v7 (#76851)
* chore(lerna): update to latest version 7.4.1 and run lerna repair to update configs

* Wip

* chore(lerna): remove lerna specific packages field which prevents versioning packages

* chore: remove nx from dependencies
2023-10-23 14:15:12 +02:00
Jack Westbrook 964c011822 Chore: Replace ts-loader in e2e and input-datasource (#76872)
* build(npm): remove ts-loader from core and input-datasource

* build(input-datasource): update webpack config to use swc-loader

* chore(e2e): replace ts-loader with esbuild-loader
2023-10-23 10:45:22 +02:00
Jack Westbrook fc488bb6a3 Chore: Update babel dependencies to 7.23.2 (#76746)
chore(npm): update babel dependencies to 7.23.2
2023-10-18 17:01:22 +02:00
Jack WestbrookandMarcus Andersson d282b7a6f8 Grafana UI: Make it possible to bundle package with plugins (#76191)
* moved themecontext to data

* chore(grafana-ui): re-export ThemeContext from grafana/data for backwards compatibility

* Moved icon bundling to core.

* feat(plugins): share react-inlinesvg with plugins for grafana/ui bundling

* chore(codeowners): add generate-icon-bundle.js to file

* chore(storybook): update path to iconBundle file for theme

* feat(plugins): share i18n dependency via systemjs

* Make sure that icon bundle is initialized for tests.

* Removed comment.

* added tests for icon root.

* Removing the need of having an init variable.

* feat(grafana-ui): add icon svgs to bundle for projects that don't rely on grafana

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-10-13 14:11:41 +02:00
Jack Westbrook 55c72c4ea7 Chore: Update zod dependency to latest (#75954)
build(npm): update zod dependency to latest
2023-10-05 17:00:31 +02:00
Jack Westbrook cc590599de Chore: Bump storybook 7.4.5 (#75652)
* Wip

* chore(grafana-ui): bump storybook to 7.4.5 and patch blocks
2023-10-03 16:35:29 +02:00
Jack Westbrook 5108430aec Datasources: Filter plugin errors to only show datasource plugins (#74339)
* feat(plugins): allow filtering of plugin errors by plugin type

* refactor(plugins): migrate PluginsErrorsInfo component to use Alert component

* chore(plugins): remove redundant d3 import

* feat(datasources): filter plugin errors by plugin type

* refactor(plugins): pass plugin.type from selector rather than guess from pluginId

* refactor(plugins): move filtering to selector
2023-10-03 15:54:49 +02:00
Jack Westbrook 30584dbd8b Chore: Remove systemjs from renovate ignore (#75646)
chore(renovate): remove systemjs from ignore list and fix storybook patterns
2023-10-03 12:32:37 +02:00
Jack Westbrook 353df04779 Chore: Update Graphql to 16.8.1 (#75636)
chore(npm): update graphql to 16.8.1
2023-10-03 11:04:34 +02:00
Jack Westbrook 8affc84d13 Fix: Provide default angular export for plugins (#75424)
fix(plugins): provide default export of angular for old system.register plugins
2023-09-26 13:24:09 +03:00
Jack Westbrook 9052c2477d Style: Add emotion/syntax-preference to betterer (#75266)
* style(betterer): add emotion/syntax-preference to betterer rules

* chore(betterer): refresh betterer.results for addition of emotion/syntax-preference
2023-09-22 12:41:09 +03:00
Jack Westbrook 7e4ae5fdb6 Chore: Bump systemjs-cjs-extra to latest (#75214)
chore(plugins): bump systemjs-cjs-extra to fix dependency extraction in minified plugin code
2023-09-21 17:28:05 +02:00
Jack Westbrook 1c0797f559 Chore: Bump systemjs-cjs-extra to 0.1.1 (#74540)
chore(npm): bump systemjs-cjs-extra to 0.1.1
2023-09-07 15:40:57 +02:00
Jack Westbrook 0d1845f857 Plugins: Fix applying default extension and AMD detection (#74471)
* fix(plugins): support edge cases where default extension was not added

* fix(plugins): only apply AMD wrapper to AMD format plugins

* refactor(plugins): update regex for codeql warnings

* refactor(plugins): remove check for commented out dependency strings in AMD regex

* test(plugins): add tests for systemjs hook amd detection
2023-09-07 14:30:35 +02:00
Jack Westbrook 4a4f759b2a Chore: Update adobe/css-tools to 4.3.1 (#74442)
chore(npm): update adobe/css-tools to 4.3.1
2023-09-06 16:37:08 +03:00
62821c69b3 Plugins: Bump SystemJS to 6.14.2 (#70068)
* chore(plugins): bump systemjs to latest version

* refactor(plugins): switch runtime over to use latest systemjs, add typings

* refactor(plugins): use latest systemjs APIs for runtime dependency resolution

* refactor(plugins): return valid urls from backend for latest systemjs import to work

* revert(plugins): remove cfg from assetpath in favour of relative paths

* fix(plugins): useDefault for systemjs deps to solve undefined errors

* feat(plugins): add basic support for loading plugins via CDN

* fix(plugins): load nested plugins with latest systemjs

* feat(plugins): add back ability to transform plugin src for cdns

* feat(plugins): get caching for module.js working, clean up

* refactor(plugin_loader): create buildImportMap fn and more clean up

* refactor(angularapp): use buildImportMap for dependencies and clean up

* test(plugin_loader): fix failing test due to systemjs update

* test(jest): mock systemjs amd extra in tests to prevent it breaking tests

* chore(plugins): remove systemjs module-types extra, already included with system

* fix(plugins): update key for invalidating cached plugins

* fix: move systemjs amd define to another global so monaco can load

* refactor(plugins): clean up cache buster and tests

* chore(plugins): remove debug

* refactor(plugins): move systemjs define to keep global cleaner

* fix(plugins): set useDefault so system modules lodash references dont fail

* feat(plugins): hook systemjs onload so stylesheets are applied to the dom

* refactor(plugins): wrap amd formatted plugins in iife to prevent define collision

* feat(plugins): support system module format for legacy plugins

* test(plugincachebuster): update tests to match latest implementation

* test(plugins-loader): fix up tests post module property change

* fix test

* Update pkg/plugins/manager/loader/assetpath/assetpath.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* chore(plugin_loader): remove stray import from merge conflict

* Revert "Update pkg/plugins/manager/loader/assetpath/assetpath.go"

This reverts commit 0df57d1cf20f49c22c93369001c70aae46a97c42.

* fix(plugin_loader): set use default for shared plugin dependencies

* refactor(plugins): use leading slash for Module and BaseUrl

* fix(plugins): fix resolve appending extension to cache query param

* refactor(plugins): align baseurl and module paths

* refactor(plugins): update builtInPlugins keys to match naming convention

* refactor(plugins): minor loader clean up, fix up types

* test(plugins): fix failing tests

* refactor(plugins): rename cache buster systemjs plugin to cache

* refactor(plugins): separate plugin_loader into smaller files

* chore(plugins): clean up plugin_loader types

* chore(plugin_sandbox): fix typescript error

* chore(npm): remove unplug debug and pin systemjs to 6.14.1

* refactor(plugins-cdn): update loaders to use absolute module url from backend

* fix(plugins): escape period in systemjs  module regex

* chore(plugins): delete redundant systemjs plugins

* refactor(plugin_loader): move hooks into own file, add types

* test(plugins): add tests for systemjs loader hooks

* chore(plugins): rename systemjshooks file

* chore(plugins): remove redundant systemjs cdn backend code

* fix(plugins): handle loading with config.appSubUrl

* chore(plugins): delete redundant plugin-cdn angular code

* test(plugins): fix failing systemjs test missing pluginsCDNBaseUrl

* refactor(plugins): backend provides base and module properties with AppSubUrl

* fix(plugins): consider AppSubUrl for plugin logos

* fix(plugins): use isHostedOnCDN util when checking for cdn hosted plugins

* add new appSubURL field to config

* refactor relative URL func

* fix path for core app

* refactor asset path input

* fix(plugins): catch errors in loadPluginCss

* feat(plugins-cdn): selectively transform sourceMapURL

* re-add deleted test case

* chore(plugins): bump to latest systemjs@6.14.2

* feat(plugins): add systemjs-cjs-extra for loading commonjs plugins

---------

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-08-31 15:45:44 +02:00
Jack Westbrook 2d13af04c6 Chore: Bump semver npm package to latest (#72983)
build(npm): bump semver
2023-08-08 09:58:02 +02:00
Jack Westbrook 00f0ff038e Chore: Introduce yarn start:noLint (#64430)
chore(webpack): introduce start:noLint to bypass typecheck and lint plugins during dev
2023-08-01 11:58:39 +02:00
Jack Westbrook 99f81331fa Chore: Bump word-wrap to 1.2.4 (#72099)
chore(npm): bump word-wrap to 1.2.4
2023-07-28 15:17:31 +03:00
Jack Westbrook 6ac664ecf7 Chore: Update Semver to latest versions (#72086)
chore(npm): bump all versions of semver to their latest respective version
2023-07-21 12:40:45 +02:00
Jack Westbrook 1c3606cebe Kusto: Move loading @kusto/language-service off the main thread (#72006)
fix(kusto): move kusto off the main thread to prevent conflict with window.System
2023-07-20 12:36:39 +02:00
Jack Westbrook 82f353c696 Grafana UI: Fix plugin unit test errors (#69210)
* fix(grafana-ui): import from package to prevent import errors occurring in plugin tests

* style(grafana-ui): add e2e-selectors path to restricted imports rule
2023-05-30 15:34:13 +02:00
Jack WestbrookandJoao Silva 33ba5310ab Chore: Upgrade Storybook to v7 (#65943)
* chore(grafana-ui): begin migration to storybook7

* refactor(storybook): begin cleanup of storybook and addon configs

* chore(storybook): add storybook/blocks to keep yarn berry happy

* chore(storybook): rename intro story for storybook 7

* chore(stories): rename internal stories to support SB7 story name mapper

* chore(betterer): update glob to support internal story renaming

* chore(stories): silence TS errors for subcomponents in SB7

* fix(clickoutsidewrapper): window | document can be undefined not null

* chore(storybook): remove patch for 6.5.16

* revert(storybook): put back story globs

* docs(storybook): replace removed <Props /> with <ArgsTypes /> in mdx files

* docs(storybook): use ArgTypes instead of ArgsTable

* chore(storybook): use correct ArgTypes import name in mdx files

* chore(storybook): patch blocks to expose Preview component for docs

* chore(storybook): rename deprecated ComponentStory and ComponentMeta for v7

* feat(storybook): add STORY env var to customise which stories storybook should load

* chore(storybook): bump to 7.0.4

* fix(storybook): set esbuild minify target to fix erroring docs in production builds

* fix(toolbarbuttonrow): fix import path to prevent error in storybook doc

* docs(storybook): fix up some more stories

* chore(storybook): more config updates to match storybook documentation

* chore(storybook): bump to 7.0.5

* Apply suggestions from code review

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>

* chore(storybook): fix broken merge causing types issues

* chore(storybook): mimic broken alphabetical storySort and docs overview ordering

* docs(storybook): fix button docs adding p tags due to mdx2

* chore(storybook): bump to 7.0.10

* chore(storybook): apply patch on yarn install

* chore(text): update stories for storybook 7

* fix(storybook): make sure globs don't include internal stories in production

---------

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2023-05-11 14:26:12 +02:00
Jack Westbrook 8a33e18d2e Chore: Bump yaml package >=2.0.0 to 2.2.2 (#67812)
chore(npm): bump yaml package >=2.0.0 to 2.2.2
2023-05-09 10:40:06 +02:00
Jack Westbrook 8ca9a89cf1 Connections: Fix create new datasource route (#67802)
fix(connections): prevent datasources details route matching new route
2023-05-04 12:37:14 +02:00
Jack Westbrook 7bceab4ad4 Grafana Toolkit: Fix broken build directory structure (#67544)
fix(grafana-toolkit): make sure to build into cli directory so relative paths work
2023-04-28 19:57:02 +03:00
Jack Westbrook 7be23e7384 Grafana Toolkit: Prevent MODULE_NOT_FOUND errors (#67518)
fix(grafana-toolkit): put back ts-node to prevent MODULE_NOT_FOUND errors
2023-04-28 17:10:59 +02:00
Jack Westbrook 5d4bf19efb Fix: Canary NPM publishing (#66734)
fix(npm-publishing): strip protocol from registry so npm can auth correctly
2023-04-18 12:00:05 +02:00
Jack Westbrook e97befa221 Fix: NPM canary releases (#66727)
* fix(packages): remove double trailing slash from npmrc credentials

* chore(packages): add new line to storybook config to trigger an npm canary release
2023-04-18 11:02:37 +02:00
Jack Westbrook efa641040d Build: Improve NPM publishing (#65171)
* chore(packages): remove redundant npm scripts for publishing packages

* feat(packages): rewrite npm publishing script to work for manual and ci publishes

* ci(drone): update release-canary-npm-packages step to use new script

* docs(packages): update manual release instructions

* wip(packages): attempt to validate packed npm package

* fix(packages): release-canary-npm-packages should provide canary dist-tag

* ci(packages): clean up npm package validation script

* chore(devenv): add verdaccio config to allow anon publishing for easier dev npm testing

* ci(packages): clean up publishing script

* ci(drone): during build-frontend-packages, pack and validate packed tarballs

* chore(codeowners): update for publish/validate npm packages scripts

* ci(packages): fix esm loop bug matching e2e package

* ci(npm-packages): fix failing regex

* style(lib.star): run make format-drone

* style(npm-packages): shellcheck fixes for validate-npm-packages script

* docs(packages): update readme instructions for publishing locally and manually

* refactor(npm-publish): use drone when to trigger canary releases

* chore(drone): remove redundant trigger_npm_publish var

* chore(npm-publish): remove redundant echo
2023-04-18 10:19:37 +02:00
Jack Westbrook c96d5d6c7e Grafana UI: Ignore internal stories when compiling (#65983)
Grafana UI: Ignore internal stories when compiling
2023-04-05 11:47:37 +02:00
44ccd73d46 Docs: Introduce plugin extensions (#64747)
* docs(pluginextensions): initial commit detailing how to add menu items to grafana

* docs(pluginextensions): initial commit detailing how to do cross plugin linking

* Update cross-plugin-linking.md

* Update extend-the-grafana-ui-with-links-and-commands.md

* style(pluginextensions): prettier fix for extend the grafana ui with links and commands

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links-and-commands.md

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* docs(pluginextensions): add info for placements and link to metadata

* docs(plugin-extensions): update metadata for new docs pages

* docs(plugin-extensions): pr feedback

* Update docs/sources/developers/plugins/cross-plugin-linking.md

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

* docs(plugin-extensions): remove all mention of commands

* chore(plugin-extensions): rename extension doc to remove reference to commands

* docs(plugin-extensions): replace usage of placement with extension point

* docs(plugin-extensions): lowercase ID

---------

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-04-03 17:45:59 +02:00
Jack Westbrook 30b5b8d984 Plugins: Hide extensions menu when editing a panel (#65840)
Plugins: Hide extensions menu when editing a panel
2023-04-03 18:00:21 +03:00
Jack Westbrook 489500b5a7 Toolkit: Minor bump Webpack (#64957)
chore(toolkit): bump webpack to silence dependabot
2023-03-20 15:37:55 +01:00
Jack Westbrook 46cba5f993 Fix: Grafana/e2e openPanelMenuExtension flow (#64974)
fix(e2e): update openPanelMenuExtension to open extensions menu
2023-03-20 10:18:05 +01:00
Jack WestbrookandLevente Balogh 595518ec12 Plugin Extensions: Move PanelMenu links into extensions submenu (#64599)
* feat(pluginextensions): move panel menu links into an extensions submenu

* refactor(pluginextensions): move extensions submenu above more... submenu

* test(panelmenu): fix failing tests after moving extensions out of more

* fix: fix rebase issues

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-03-17 11:09:23 +01:00
Jack Westbrook a317e48de8 Bug: Fix support for Node 18 in grafana/e2e package (#63446)
* fix(e2e): replace resolve-as-bin for node 18 support

* chore(yarn): refresh lock file
2023-03-08 10:17:26 +01:00
Jack Westbrook f82c57f281 Fix: Prevent freezing dashboard time range (#64212)
fix(extensions): create new object to prevent freezing dashboard time range
2023-03-06 13:43:03 +01:00
8c8f584b41 Plugins: Extend panel menu with links from plugins (#63089)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

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

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

* Update packages/grafana-runtime/src/services/pluginExtensions/extensions.test.ts

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

* refactor(extensions): rename limiter -> pluginPlacementCount

* refactor(getpanelmenu): remove redundant continue statement

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-03-02 15:42:00 +01:00
Jack Westbrook 9079de068e Revert "Update dependency rollup to v3 (#58252)" (#63790)
This reverts commit a97e9a1e17.
2023-02-27 07:01:24 -05:00
Jack Westbrook 2281abaf37 Revert: Babel removal and runtime update (#63641)
* Revert "Update babel monorepo to v7.21.0 (#63532)"

This reverts commit 3d974fc716.

* Revert "Chore: Remove babel deps and config (#62461)"

This reverts commit 21a988a659.
2023-02-23 09:22:35 -05:00
Jack Westbrook 21a988a659 Chore: Remove babel deps and config (#62461)
* chore: remove unused frontend build deps babel and ts-loader

* chore(babel): delete redundant config file and remove ref in pr-commands

* chore: clean up references to babel.config.js
2023-02-23 11:59:05 +01:00
Jack Westbrook 685afdef37 Chore: Update nanoid to >= 3.1.31 (#63215)
* chore(npm): update nanoid to >= 3.1.31

* empty commit
2023-02-10 11:58:05 +01:00
Jack Westbrook a4898fdac4 Chore: Update Terser 5 to >= 5.14.2 (#63214)
chore(npm): update terser 5 to >= 5.14.2
2023-02-10 11:57:39 +01:00
Jack Westbrook 17f6b1f95c Chore: Bump grunt to 1.5.3 (#63209)
chore(emails): bump grunt to stop dependabot complaining
2023-02-10 11:18:20 +01:00
Jack Westbrook 55c74e326c Chore: Bump sideway/formula module to 3.0.1 (#63189)
chore(npm): bump sideway/formula module to 3.0.1
2023-02-10 11:13:53 +01:00
Jack Westbrook d3bc39be8f Chore: Bump minimatch to >3.0.4 (#63191)
chore(npm): bump minimatch to >3.0.4
2023-02-09 17:29:53 +01:00
Jack Westbrook 3716d9841d Chore: Resolve trim to 0.0.3 (#63015)
chore(npm): add resolution for trim to squash dependabot alert
2023-02-08 16:30:22 +01:00
Jack Westbrook 06dc965610 Chore: Bump decode-uri-component to latest (#63014)
chore(npm): bump decode-uri-component to latest
2023-02-07 15:38:38 +01:00
Jack Westbrook c3af43ae1f Chore: Update json5 to 2.2.3 (#63033)
chore(npm): update more json5 deps to latest
2023-02-07 15:22:22 +01:00
Jack Westbrook 1e68273609 Chore: Update ua-parser-js to latest (#63016)
chore(npm): update ua-parser-js to latest
2023-02-07 15:08:18 +01:00
Jack Westbrook b9f6976950 Chore: Bump JSON5 to latest versions (#63009)
chore(npm): bump json5 to latest versions
2023-02-07 15:05:26 +01:00