* Removed Datadog-specific fields from config for annotation creation
* Added a custom form config option for annotation creation
* Added regex support to `selectOption`
* Minor changes
* Changed default panel screenshot name
* Removed default visualization type from `addPanel` config
... which, unless defined, will use the app's default (graph). This is the new approach for plugins which supports annotations.
* Select timezone from dashboard toolbar instead of settings
... and refactored `setDashboardTimeRange` for reuse on other pages via a now more generalized `setTimeRange`
* Added optional annotations to `addDashboard` config
* Added `explore` flow
… which reuses `configurePanel` which is very similar
* Minor changes
* Added an `editPanel` flow function
... and moved the internals of `addPanel` to a common function for use by both
* Added optional template variables to `addDashboard` config
* Use latest Cypress 4.x version
* Updated lockfile
* Minor changes
* Only expect login “change password” notification for default passwords
* Optionally populate basic auth when adding a datasource
* Optionally match screenshot when adding a panel
... it's logically better, but the real reason is to appease Cypress which was cause a consistent request error for a single plugin (datadog-datasource). An error which could not be reproduced manually.
* Set time range when creating a dashboard
* Optionally set time range when opening a dashboard
* Default time range to 6 hours instead of 1 hour
* Minor changes
* Set time range when opening a dashboard
* Set UTC timezone when creating a dashboard
* Added flow for selecting options in custom select fields
* Fix flaky test
* Minor changes
* Fixed data source selection issue
… where it appeared as though the wrong one was selected
* Fixed “executing a canceled action” issue
... thrown from RxJS
* Minor changes
* Use UI for removing dashboards and datasources
… with an optional “quick” mode that instead does so via a request
* Improved URL helpers
* Simplified test teardown
* Added support for multiple tests
... instead of being forced to cram everything into a single test because the session was cleared
* Minor changes
* Remove console.* logger plugin
... as it doesn't work in Electron
* Only open/close panel editor options and groups when state is inverted
... meaning, only open when closed and only close when open. This avoids unpredictable states, causing inconsistent results.
* Support for adding multiple datasources and dashboards
... and having them all auto-removed when tests are completed
* Avoid page errors when removing dashboards and datasources [keep?]
* Wait for chart data before saving panel
... so that everything is ready when returning to the dashboard
* Cleanup
* addPanel now supports (optional) custom dashboardUid
* addPanel now supports (optional) visualization name
* Added CLI option for updating screenshot fixtures
* Added support for console.* functions within tests
* Refactored screenshot command for greater simplicity
* addPanel now sets a unique title
* Updated lockfile
* Resolve Cypress bin path
... instead of expecting it to be in a place that it may not be, depending on de-duping/flattening of nested dependencies
* Remove dashboard before removing datasource
... it makes more sense and it fixes random issues, perhaps something to do with how the backend is implemented.
* Updated lockfile
* Minor changes
* Fixtures path is now relative to the project directory
* URL support module now has individual exports
* Scenario context timing issues resolved
... caused by being ran synchronously, instead of as part of Cypress' asynchronous queue.
* Scenario context API now supports multiple keys per function call
* addDataSource flow accepts a config argument
… and optionally checks datasource health status
* Added readProvisions command
* Added addPanel flow
* Minor changes
* Only exclude installed packages that are not @grafana/e2e itself
* Explicitly load Cypress tsconfig for clarity
* Fix Cypress tsconfig
* it was trying to extend a config that is not published
* it needs to be commonjs
* Minor changes
* Revert CLI to JavaScript
... as Rollup is only accepts ESM modules and TypeScript would need to use the new incremental builds feature which causes weird Redux module errors.
* Minor changes
* Include Cypress support files in published package
* Added CLI
… with support for custom configurations (which Cypress does not currently support by default):
* Loads cypress.json from @grafana/e2e as a base config (via a custom Cypress plugin)
* Sets default values for project-level Cypress files (tests, etc)
* Optionally loads a cypress.json from the current working directory as overrides
* Updated lockfile
* Alphabetized tslint and tsconfig files
* Optimized tsconfig files
* Optimized editorconfig & prettier config files
… to reduce redundancy
* Switched to @grafana/tsconfig
… and:
* de-duped options
* removed options with default values
* Fixed nasty issue with types for nested slate-react
* Replaced TSLint with ESLint
* TSLint disables → ESLint disables
… also JSHint removals, which haven’t had an affect since it was replaced with TSLint.
* Compliances for ESLint, Prettier and TypeScript
* Updated lockfile
* Applied prettier to relevant webpack configs
* Replaced ng-annotate with babel-plugin-angularjs-annotate
… and replaced ts-loader with @preset/typescript
* Removed redundant import
… that is problematic with Babel's module resolver
* Updated lockfile
* Traspile debug package to es5 for PhantomJS support
* Update babel to latest version
* Remove @babel/poolyfill and url search params polyfill
* Add ts-loader to grafana-ui dependencies
* Update prod webpack build to use cor-js 3
* Applied prettier to relevant webpack configs
* Replaced ng-annotate with babel-plugin-angularjs-annotate
… and replaced ts-loader with @preset/typescript
* Updated lockfile
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Applied prettier to some webpack configs
* Removed ng-annotate
… and used same annotation approach as webpack.hot.js
* Removed redundant import
… that is problematic with Babel's module resolver
* Updated lockfile
* Replace ts-loader with babel-loader in webpack.dev
* Change tslint-loade order in dev webpack config
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Clarify readme for extended webpack config
* Add support for ES2019 features
* Build task: path.resolve → resolvePath
* Build task: avoid fs race conditions
* Build task: use async fs functions
* Build task: use rimraf directly
... because depending on the workspace parent to have it installed is fragile, and a child process is always slower.
* Build task: misc