* 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>
* 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
* 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
* don't prepend app sub url to paths
* simplify logo path
* fix(plugins): dynamically prepend appSubUrl for System module resolving to work
* fix(sandbox): support dynamic appSuburl prepend when loading plugin module.js
* fix tests
* update test name
* fix tests
* update fe + add some tests
* refactor(plugins): move wrangleurl to utils, rename to resolveModulePath, update usage
* chore: fix a typo
* test(plugins): add missing name to utils test
* reset test flag
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* 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>
* 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
* 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>